(proclaim '(optimize (compilation-speed 1)
(debug #+sb-show 2 #-sb-show 1)
(inhibit-warnings 2)
- (safety 1)
+ (safety 2)
(space 1)
(speed 2)))
\f
;;;; do belong in cold load and will hopefully make it back there reasonably
;;;; soon). -- WHN 19991207
-(dolist (stem '(;; FIXME: The files here from outside the src/pcl directory
- ;; probably belong in cold load instead of warm load. They
- ;; ended up here as a quick hack to work around the
- ;; consequences of my misunderstanding how ASSEMBLE-FILE works
- ;; when I wrote the cold build code. The cold build code
- ;; expects only one FASL filename per source file, when it
- ;; turns out we really need one FASL file for ASSEMBLE-FILE
- ;; output and another for COMPILE-FILE output. It would
- ;; probably be good to redo the cold build code so that the
- ;; COMPILE-FILE stuff generated here can be loaded at the same
- ;; time as the ASSEMBLE-FILE stuff generated there.
+(dolist (stem '(;; FIXME: The assembly files here probably belong in
+ ;; cold load instead of warm load. They ended up here
+ ;; as a quick hack to work around the consequences of
+ ;; my misunderstanding how ASSEMBLE-FILE works when I
+ ;; wrote the cold build code. The cold build code
+ ;; expects only one FASL filename per source file,
+ ;; when it turns out we really need one FASL file for
+ ;; ASSEMBLE-FILE output and another for COMPILE-FILE
+ ;; output. It would probably be good to redo the cold
+ ;; build code so that the COMPILE-FILE stuff generated
+ ;; here can be loaded at the same time as the
+ ;; ASSEMBLE-FILE stuff generated there.
"src/assembly/target/assem-rtns"
"src/assembly/target/array"
"src/assembly/target/arith"
;; (Hopefully this will go away as we move the files above into cold load.)
;; -- WHN 19991214
(let ((fullname (concatenate 'string stem ".lisp")))
- (sb!int:/show "about to compile" fullname)
+ ;; (Now that we use byte compiler for interpretation, /SHOW
+ ;; doesn't get compiled properly until the src/assembly files have
+ ;; been loaded, so we use PRINT instead.)
+ #+sb-show (print "/about to compile src/assembly file")
+ #+sb-show (print fullname)
(multiple-value-bind
(compiled-truename compilation-warnings-p compilation-failure-p)
(compile-file fullname)
(declare (ignore compilation-warnings-p))
- (sb!int:/show "done compiling" fullname)
+ #+sb-show (print "/done compiling src/assembly file")
(if compilation-failure-p
(error "COMPILE-FILE of ~S failed." fullname)
(unless (load compiled-truename)
\f
;;;; package hacking
-;;; Our cross-compilation host is out of the picture now, so we no longer need
-;;; to worry about collisions between our package names and cross-compilation
-;;; host package names, so now is a good time to rename any package with a
-;;; bootstrap-only name SB!FOO to its permanent name SB-FOO.
+;;; Our cross-compilation host is out of the picture now, so we no
+;;; longer need to worry about collisions between our package names
+;;; and cross-compilation host package names, so now is a good time to
+;;; rename any package with a bootstrap-only name SB!FOO to its
+;;; permanent name SB-FOO.
;;;
-;;; (In principle it might be tidier to do this when dumping the cold image in
-;;; genesis, but in practice the logic might be a little messier because
-;;; genesis dumps both symbols and packages, and we'd need to make that dumped
-;;; symbols were renamed in the same way as dumped packages. Or we could do it
-;;; in cold init, but it's easier to experiment with and debug things here in
-;;; warm init than in cold init, so we do it here instead.)
+;;; (In principle it might be tidier to do this when dumping the cold
+;;; image in genesis, but in practice the logic might be a little
+;;; messier because genesis dumps both symbols and packages, and we'd
+;;; need to make sure that dumped symbols were renamed in the same way
+;;; as dumped packages. Or we could do it in cold init, but it's
+;;; easier to experiment with and debug things here in warm init than
+;;; in cold init, so we do it here instead.)
(let ((boot-prefix "SB!")
(perm-prefix "SB-"))
(dolist (package (list-all-packages))
new-package-name
(package-nicknames package)))))))
+;;; FIXME: This nickname is a deprecated hack for backwards
+;;; compatibility with code which assumed the CMU-CL-style
+;;; SB-ALIEN/SB-C-CALL split. That split went away and was deprecated
+;;; in 0.7.0, so we should get rid of this nickname after a while.
+(let ((package (find-package "SB-ALIEN")))
+ (rename-package package
+ (package-name package)
+ (cons "SB-C-CALL" (package-nicknames package))))
+
;;; KLUDGE: This is created here (instead of in package-data-list.lisp-expr)
;;; because it doesn't have any symbols in it, so even if it's
;;; present at cold load time, genesis thinks it's unimportant
;;;
;;; FIXME: This has mutated into a hack which crudely duplicates
;;; functionality from the existing mechanism to load files from
-;;; stems-and-flags.lisp-expr, without being quite parallel. (E.g.
-;;; object files end up alongside the source files instead of ending
-;;; up in parallel directory trees.) Maybe we could merge the
-;;; filenames here into stems-and-flags.lisp-expr with some new flag
-;;; (perhaps :WARM) to indicate that the files should be handled not
-;;; in cold load but afterwards. Alternatively, we could call
-(dolist (stem '(
- ;; CLOS, derived from the PCL reference implementation
+;;; build-order.lisp-expr, without being quite parallel. (E.g. object
+;;; files end up alongside the source files instead of ending up in
+;;; parallel directory trees.) Maybe we could merge the filenames here
+;;; into build-order.lisp-expr with some new flag (perhaps :WARM) to
+;;; indicate that the files should be handled not in cold load but
+;;; afterwards.
+(dolist (stem '(;; CLOS, derived from the PCL reference implementation
;;
;; This PCL build order is based on a particular
- ;; linearization of the declared build order
- ;; dependencies from the old PCL defsys.lisp
+ ;; (arbitrary) linearization of the declared build
+ ;; order dependencies from the old PCL defsys.lisp
;; dependency database.
"src/pcl/walk"
- "src/pcl/iterate"
"src/pcl/early-low"
"src/pcl/macros"
"src/pcl/compiler-support"
"src/pcl/low"
- ;; "src/pcl/fin" merged into "src/pcl/low" in 0.6.11.43
"src/pcl/defclass"
"src/pcl/defs"
"src/pcl/fngen"
"src/pcl/fixup"
"src/pcl/defcombin"
"src/pcl/ctypes"
- "src/pcl/construct"
"src/pcl/env"
"src/pcl/documentation"
"src/pcl/print-object"
;;; easiest thing to do is to read them out of package-data-list.lisp-expr
;;; now?
\f
-;;;; restoring compilation policy to neutral values in preparation for
+;;;; resetting compilation policy to neutral values in preparation for
;;;; SAVE-LISP-AND-DIE as final SBCL core
(sb-int:/show "setting compilation policy to neutral values")
(safety 1)
(space 1)
(speed 1)))
-\f
-;;; FIXME: It would be good to unintern stuff we will no longer need
-;;; before we go on to PURIFY. E.g.
-;;; * various PCL stuff like INITIAL-CLASSES-AND-WRAPPERS; and
-;;; * *BUILT-IN-CLASSES* (which can't actually be freed by UNINTERN at
-;;; this point, since it passed through another PURIFY earlier
-;;; at cold init time).