Changeset 8414


Ignore:
Timestamp:
Feb 4, 2008, 1:22:31 AM (17 years ago)
Author:
Gary Byers
Message:

xload-level-0: copy a minimal set of packages (cl, ccl, keyword, target)
to the image.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/xdump/xfasload.lisp

    r7908 r8414  
    847847                                            )))
    848848                        packages)))
    849     (flet ((lookup-clone (p) (or (cdr (assq p alist)) (error "Package ~S not cloned ." p))))
     849    (flet ((lookup-clone (p) (let* ((clone (cdr (assq p alist))))
     850                               (when clone (list clone)))))
    850851      (dolist (pair alist alist)
    851852        (let* ((orig (car pair))
    852853               (dup (cdr pair)))
    853           (setf (pkg.used dup) (mapcar #'lookup-clone (pkg.used orig))
    854                 (pkg.used-by dup) (mapcar #'lookup-clone (pkg.used-by orig))))))))
     854          (setf (pkg.used dup) (mapcan #'lookup-clone (pkg.used orig))
     855                (pkg.used-by dup) (mapcan #'lookup-clone (pkg.used-by orig))))))))
    855856
    856857;;; Dump each cloned package into dynamic-space; return an alist
     
    983984    (format t ")")))
    984985
     986(defun xload-initial-packages ()
     987  (mapcar #'find-package '("CL" "CCL"  "KEYWORD" "TARGET")))
     988
    985989
    986990(defun xfasload (output-file &rest pathnames)
     
    993997         (*xload-managed-static-space* (init-xload-space *xload-managed-static-space-address* *xload-managed-static-space-size* area-managed-static))
    994998                                                 
    995          (*xload-package-alist* (xload-clone-packages %all-packages%))
     999         (*xload-package-alist* (xload-clone-packages (xload-initial-packages)))
    9961000         (*xload-cold-load-functions* nil)
    9971001         (*xload-cold-load-documentation* nil)
     
    17311735         (*xload-startup-file* (backend-xload-info-default-startup-file-name
    17321736                                *xload-target-backend*)))
    1733     ;; This just undoes the CLtL1 compatability stuff in
    1734     ;; "ccl:library;lisp-package".  If someone's created LISP and/or
    1735     ;; USER packages, nuke 'em.
    1736     (let* ((user-pkg (find-package "USER"))
    1737            (lisp-pkg (find-package "LISP")))
    1738       (when (and user-pkg (not (eq user-pkg (find-package "CL-USER"))))
    1739         (delete-package user-pkg))
    1740       (when (and lisp-pkg (not (eq lisp-pkg (find-package "CL"))))
    1741         (delete-package lisp-pkg)))
    17421737    (in-development-mode
    17431738     (when recompile
Note: See TracChangeset for help on using the changeset viewer.