X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcold%2Fshared.lisp;h=62299010701d0a5122b2e686d3b5b4fdad265f0a;hb=ba7659c92f2b7fac7e9532a3db9114c5bdc4ab55;hp=40f1eba7c71fe590f9feee7515c7026316dac4e0;hpb=7dd568fb64927be78556ac27f1f0dc60e79cf942;p=sbcl.git diff --git a/src/cold/shared.lisp b/src/cold/shared.lisp index 40f1eba..6229901 100644 --- a/src/cold/shared.lisp +++ b/src/cold/shared.lisp @@ -54,13 +54,14 @@ (defvar *host-obj-prefix*) (defvar *target-obj-prefix*) -;;; suffixes for filename stems when cross-compiling. Everything should work -;;; fine for any arbitrary string values here. With more work maybe we -;;; could cause these automatically to become the traditional extensions for -;;; whatever host and target architectures (e.g. ".x86f" or ".axpf") we're -;;; currently doing. That would make it easier for a human looking at the -;;; temporary files to figure out what they're for, but it's not necessary for -;;; the compilation process to work, so we haven't bothered. +;;; suffixes for filename stems when cross-compiling. Everything +;;; should work fine for any arbitrary string values here. With more +;;; work maybe we could cause these automatically to become the +;;; traditional extensions for whatever host and target architectures +;;; (e.g. ".x86f" or ".axpf") we're currently doing. That would make +;;; it easier for a human looking at the temporary files to figure out +;;; what they're for, but it's not necessary for the compilation +;;; process to work, so we haven't bothered. (defvar *host-obj-suffix* ".lisp-obj") (defvar *target-obj-suffix* ".lisp-obj") @@ -136,8 +137,6 @@ (compile-file #'compile-file) ignore-failure-p) - (format t "~&/entering COMPILE-STEM~%") ; REMOVEME - (let* (;; KLUDGE: Note that this CONCATENATE 'STRING stuff is not The Common ;; Lisp Way, although it works just fine for common UNIX environments. ;; Should it come to pass that the system is ported to environments @@ -199,8 +198,6 @@ ;; the temporary output file to the permanent object file. (rename-file-a-la-unix tmp-obj obj) - (format t "~&/nearly done with COMPILE-STEM~%") ; REMOVEME - ;; nice friendly traditional return value (pathname obj))) (compile 'compile-stem) @@ -277,7 +274,7 @@ ;; warnings and remove support for this flag. -- WHN 19990323) :ignore-failure-p)) -(defparameter *stems-and-flags* (read-from-file "stems-and-flags.lisp-expr")) +(defparameter *stems-and-flags* (read-from-file "build-order.lisp-expr")) (defmacro do-stems-and-flags ((stem flags) &body body) (let ((stem-and-flags (gensym "STEM-AND-FLAGS-"))) @@ -290,7 +287,7 @@ (let ((stems (make-hash-table :test 'equal))) (do-stems-and-flags (stem flags) (if (gethash stem stems) - (error "duplicate stem ~S in stems-and-flags data" stem) + (error "duplicate stem ~S in *STEMS-AND-FLAGS*" stem) (setf (gethash stem stems) t)) (let ((set-difference (set-difference flags *expected-stem-flags*))) (when set-difference @@ -310,21 +307,21 @@ :sb-propagate-fun-type)))) (with-additional-nickname ("SB-XC" "SB!XC") (funcall fn)))) -;;; FIXME: This COMPILE caused problems in sbcl-0.6.11.26. (bug 93) -;;;(compile 'in-host-compilation-mode) +(compile 'in-host-compilation-mode) ;;; Process a file as source code for the cross-compiler, compiling it ;;; (if necessary) in the appropriate environment, then loading it ;;; into the cross-compilation host Common lisp. (defun host-cload-stem (stem &key ignore-failure-p) - (format t "~&/entering HOST-CLOAD-STEM ~S ~S" stem ignore-failure-p) ; REMOVEME - (load (in-host-compilation-mode - (lambda () - (compile-stem stem - :obj-prefix *host-obj-prefix* - :obj-suffix *host-obj-suffix* - :compile-file #'cl:compile-file - :ignore-failure-p ignore-failure-p))))) + (let ((compiled-filename (in-host-compilation-mode + (lambda () + (compile-stem + stem + :obj-prefix *host-obj-prefix* + :obj-suffix *host-obj-suffix* + :compile-file #'cl:compile-file + :ignore-failure-p ignore-failure-p))))) + (load compiled-filename))) (compile 'host-cload-stem) ;;; Like HOST-CLOAD-STEM, except that we don't bother to compile.