(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")
(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
;; 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)
;; 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-")))
(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
: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.