Changeset 9444


Ignore:
Timestamp:
May 9, 2008, 10:30:32 AM (11 years ago)
Author:
gb
Message:

Changes from trunk: minimize the set of packages copied into the bootstrapping
image. This had the unfortunate side-effect of keeping things like
(defconstant *COMMON-LISP-USER-PACKAGE*) from working (it presumably
didn't work in the trunk), but we generaly have ways of referring to
the package without runtime lookup.

Also propagate the change that put the SVN tree in the version, so that
we can see it in the Welcome banner.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0711-perf/ccl/xdump/xfasload.lisp

    r8836 r9444  
    848848                                            )))
    849849                        packages)))
    850     (flet ((lookup-clone (p) (or (cdr (assq p alist)) (error "Package ~S not cloned ." p))))
     850    (flet ((lookup-clone (p) (let* ((clone (cdr (assq p alist))))
     851                               (when clone (list clone)))))
    851852      (dolist (pair alist alist)
    852853        (let* ((orig (car pair))
    853854               (dup (cdr pair)))
    854           (setf (pkg.used dup) (mapcar #'lookup-clone (pkg.used orig))
    855                 (pkg.used-by dup) (mapcar #'lookup-clone (pkg.used-by orig))))))))
     855          (setf (pkg.used dup) (mapcan #'lookup-clone (pkg.used orig))
     856                (pkg.used-by dup) (mapcan #'lookup-clone (pkg.used-by orig))))))))
    856857
    857858;;; Dump each cloned package into dynamic-space; return an alist
     
    985986    (format t ")")))
    986987
     988(defun xload-initial-packages ()
     989  (mapcar #'find-package '("CL" "CCL"  "KEYWORD" "TARGET" "OS")))
     990
    987991
    988992(defun xfasload (output-file &rest pathnames)
     
    995999         (*xload-managed-static-space* (init-xload-space *xload-managed-static-space-address* *xload-managed-static-space-size* area-managed-static))
    9961000                                                 
    997          (*xload-package-alist* (xload-clone-packages %all-packages%))
     1001         (*xload-package-alist* (xload-clone-packages (xload-initial-packages)))
    9981002         (*xload-cold-load-functions* nil)
    9991003         (*xload-cold-load-documentation* nil)
     
    10671071          (xload-save-list (setq *xload-cold-load-functions*
    10681072                                 (nreverse *xload-cold-load-functions*))))
    1069     (let* ((svnrev (local-svn-revision)))
     1073    (let* ((svnrev (local-svn-revision))
     1074           (tree (svn-tree)))
    10701075      (setf (xload-symbol-value (xload-copy-symbol '*openmcl-svn-revision*))
    10711076            (typecase svnrev
    10721077              (fixnum (ash svnrev *xload-target-fixnumshift*))
    1073               (string (xload-save-string svnrev))
     1078              (string (xload-save-string (if tree (format nil "~a-~a" svnrev tree) svnrev)))
    10741079              (t *xload-target-nil*))))
    10751080    (let* ((experimental-features *build-time-optional-features*))
     
    17401745         (*xload-startup-file* (backend-xload-info-default-startup-file-name
    17411746                                *xload-target-backend*)))
    1742     ;; This just undoes the CLtL1 compatability stuff in
    1743     ;; "ccl:library;lisp-package".  If someone's created LISP and/or
    1744     ;; USER packages, nuke 'em.
    1745     (let* ((user-pkg (find-package "USER"))
    1746            (lisp-pkg (find-package "LISP")))
    1747       (when (and user-pkg (not (eq user-pkg (find-package "CL-USER"))))
    1748         (delete-package user-pkg))
    1749       (when (and lisp-pkg (not (eq lisp-pkg (find-package "CL"))))
    1750         (delete-package lisp-pkg)))
    17511747    (in-development-mode
    17521748     (when recompile
Note: See TracChangeset for help on using the changeset viewer.