X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcold%2Fwarm.lisp;h=f6892a95cc736c8dd38bca4143939786404b239a;hb=4ed3f0d08c3a57a6762018d9622f253ab9d0f2b6;hp=1528544b0ce49e49141226c0acb46a937cae2e6e;hpb=5579e97941f14d5f13a7090054a2a4f419e04252;p=sbcl.git diff --git a/src/cold/warm.lisp b/src/cold/warm.lisp index 1528544..f6892a9 100644 --- a/src/cold/warm.lisp +++ b/src/cold/warm.lisp @@ -62,6 +62,21 @@ ;;;; compiling and loading more of the system +(let* ((sys *default-pathname-defaults*) + (src + (merge-pathnames + (make-pathname :directory '(:relative "src" :wild-inferiors) + :name :wild :type :wild) + sys)) + (contrib + (merge-pathnames + (make-pathname :directory '(:relative "contrib" :wild-inferiors) + :name :wild :type :wild) + sys))) + (setf (logical-pathname-translations "SYS") + `(("SYS:SRC;**;*.*.*" ,src) + ("SYS:CONTRIB;**;*.*.*" ,contrib)))) + ;;; FIXME: CMU CL's pclcom.lisp had extra optional stuff wrapped around ;;; COMPILE-PCL, at least some of which we should probably have too: ;;; @@ -99,73 +114,76 @@ ;; order dependencies from the old PCL defsys.lisp ;; dependency database. #+nil "src/pcl/walk" ; #+NIL = moved to build-order.lisp-expr - "src/pcl/early-low" - "src/pcl/macros" - "src/pcl/compiler-support" - "src/pcl/low" - "src/pcl/slot-name" - "src/pcl/defclass" - "src/pcl/defs" - "src/pcl/fngen" - "src/pcl/cache" - "src/pcl/dlisp" - "src/pcl/dlisp2" - "src/pcl/boot" - "src/pcl/vector" - "src/pcl/slots-boot" - "src/pcl/combin" - "src/pcl/dfun" - "src/pcl/ctor" - "src/pcl/braid" - "src/pcl/dlisp3" - "src/pcl/generic-functions" - "src/pcl/slots" - "src/pcl/init" - "src/pcl/std-class" - "src/pcl/cpl" - "src/pcl/fsc" - "src/pcl/methods" - "src/pcl/fixup" - "src/pcl/defcombin" - "src/pcl/ctypes" - "src/pcl/env" - "src/pcl/documentation" - "src/pcl/print-object" - "src/pcl/precom1" - "src/pcl/precom2" + "SRC;PCL;EARLY-LOW" + "SRC;PCL;MACROS" + "SRC;PCL;COMPILER-SUPPORT" + "SRC;PCL;LOW" + "SRC;PCL;SLOT-NAME" + "SRC;PCL;DEFCLASS" + "SRC;PCL;DEFS" + "SRC;PCL;FNGEN" + "SRC;PCL;CACHE" + "SRC;PCL;DLISP" + "SRC;PCL;DLISP2" + "SRC;PCL;BOOT" + "SRC;PCL;VECTOR" + "SRC;PCL;SLOTS-BOOT" + "SRC;PCL;COMBIN" + "SRC;PCL;DFUN" + "SRC;PCL;CTOR" + "SRC;PCL;BRAID" + "SRC;PCL;DLISP3" + "SRC;PCL;GENERIC-FUNCTIONS" + "SRC;PCL;SLOTS" + "SRC;PCL;INIT" + "SRC;PCL;STD-CLASS" + "SRC;PCL;CPL" + "SRC;PCL;FSC" + "SRC;PCL;METHODS" + "SRC;PCL;FIXUP" + "SRC;PCL;DEFCOMBIN" + "SRC;PCL;CTYPES" + "SRC;PCL;ENV" + "SRC;PCL;DOCUMENTATION" + "SRC;PCL;PRINT-OBJECT" + "SRC;PCL;PRECOM1" + "SRC;PCL;PRECOM2" ;; miscellaneous functionality which depends on CLOS - "src/code/force-delayed-defbangmethods" + "SRC;CODE;FORCE-DELAYED-DEFBANGMETHODS" + "SRC;CODE;LATE-CONDITION" ;; CLOS-level support for the Gray OO streams ;; extension (which is also supported by various ;; lower-level hooks elsewhere in the code) - "src/pcl/gray-streams-class" - "src/pcl/gray-streams" + "SRC;PCL;GRAY-STREAMS-CLASS" + "SRC;PCL;GRAY-STREAMS" ;; other functionality not needed for cold init, moved ;; to warm init to reduce peak memory requirement in ;; cold init - "src/code/describe" - "src/code/describe-policy" - "src/code/inspect" - "src/code/profile" - "src/code/ntrace" - "src/code/foreign" - "src/code/run-program" + "SRC;CODE;DESCRIBE" + "SRC;CODE;DESCRIBE-POLICY" + "SRC;CODE;INSPECT" + "SRC;CODE;PROFILE" + "SRC;CODE;NTRACE" + "SRC;CODE;FOREIGN" + "SRC;CODE;RUN-PROGRAM" ;; Code derived from PCL's pre-ANSI DESCRIBE-OBJECT ;; facility is still used in our ANSI DESCRIBE ;; facility, and should be compiled and loaded after ;; our DESCRIBE facility is compiled and loaded. - "src/pcl/describe")) + "SRC;PCL;DESCRIBE")) - (let ((fullname (concatenate 'string stem ".lisp"))) + (let ((fullname (concatenate 'string "SYS:" stem ".LISP"))) (sb-int:/show "about to compile" fullname) (flet ((report-recompile-restart (stream) - (format stream "Recompile file ~S" src)) + (format stream "Recompile file ~S" fullname)) (report-continue-restart (stream) - (format stream "Continue, using possibly bogus file ~S" obj))) + (format stream + "Continue, using possibly bogus file ~S" + (compile-file-pathname fullname)))) (tagbody retry-compile-file (multiple-value-bind (output-truename warnings-p failure-p) @@ -173,12 +191,12 @@ (declare (ignore warnings-p)) (sb-int:/show "done compiling" fullname) (cond ((not output-truename) - (error "COMPILE-FILE of ~S failed." src)) + (error "COMPILE-FILE of ~S failed." fullname)) (failure-p (unwind-protect (restart-case (error "FAILURE-P was set when creating ~S." - obj) + output-truename) (recompile () :report report-recompile-restart (go retry-compile-file)) @@ -208,13 +226,3 @@ "public: the default package for user code and data") #+sb-doc (setf (documentation (find-package "KEYWORD") t) "public: home of keywords") - -;;; KLUDGE: It'd be nicer to do this in the table with the other -;;; non-standard packages. -- WHN 19991206 -#+sb-doc (setf (documentation (find-package "SB-SLOT-ACCESSOR-NAME") t) - "private: home of CLOS slot accessor internal names") - -;;; FIXME: There doesn't seem to be any easy way to get package doc strings -;;; through the cold boot process. They need to be set somewhere. Maybe the -;;; easiest thing to do is to read them out of package-data-list.lisp-expr -;;; now?