mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
Moved flag processing as far "inward" as possible when dealing with compile-stem, reducing the amount of redundant code for parsing out and passing along boolean keywords based on the presence or absence of a flag and eliminating some of the keyword arguments to compile-stem. Added a "mode" parameter to compile-stem to enable determining the correct compile-file function based on the combination of mode and flags, further simplifying the interface. Added new functions for determining the source and object pathnames for a stem, fixing a longstanding KLUDGE in host-load-stem, consolidating the three instances of code to compute an object pathname and the two instances of code to compute a source pathname and eliminating the rest of the keyword arguments to compile-stem.
24 lines
1,006 B
Common Lisp
24 lines
1,006 B
Common Lisp
(setf *print-level* 5 *print-length* 5)
|
|
(load "src/cold/shared.lisp")
|
|
(in-package "SB-COLD")
|
|
(setf *host-obj-prefix* "obj/from-host/"
|
|
*target-obj-prefix* "obj/from-xc/")
|
|
(load "src/cold/set-up-cold-packages.lisp")
|
|
(load "src/cold/defun-load-or-cload-xcompiler.lisp")
|
|
(load-or-cload-xcompiler #'host-load-stem)
|
|
(defparameter *target-object-file-names*
|
|
(with-open-file (s "output/object-filenames-for-genesis.lisp-expr"
|
|
:direction :input)
|
|
(read s)))
|
|
(host-load-stem "src/compiler/generic/genesis" nil)
|
|
(sb!vm:genesis :object-file-names *target-object-file-names*
|
|
:c-header-dir-name "output/genesis-2"
|
|
:symbol-table-file-name "src/runtime/sbcl.nm"
|
|
:core-file-name "output/cold-sbcl.core"
|
|
;; The map file is not needed by the system, but can be
|
|
;; very handy when debugging cold init problems.
|
|
:map-file-name "output/cold-sbcl.map")
|
|
#+cmu (ext:quit)
|
|
#+clisp (ext:quit)
|
|
#+abcl (ext:quit)
|