0.9.0.38:
[sbcl.git] / make-target-2.sh
index 0a51ab9..19baf68 100644 (file)
@@ -15,6 +15,9 @@
 
 echo //entering make-target-2.sh
 
+LANG=C
+export LANG
+
 # Do warm init stuff, e.g. building and loading CLOS, and stuff which
 # can't be done until CLOS is running.
 #
@@ -28,10 +31,10 @@ echo //doing warm init
 ./src/runtime/sbcl \
 --core output/cold-sbcl.core \
 --sysinit /dev/null --userinit /dev/null <<-'EOF' || exit 1
-
        ;; Now that we use the compiler for macros, interpreted
        ;; /SHOW doesn't work until later in init.
         #+sb-show (print "/hello, world!")
+        (sb!ext:purify)
 
         ;; Until PRINT-OBJECT and other machinery is set up,
        ;; we want limits on printing to avoid infinite output.
@@ -63,9 +66,8 @@ echo //doing warm init
        ;; GC :FULL T isn't nearly as effective as PURIFY here?
        ;; (GC :FULL T gets us down to about 38 Mbytes, but PURIFY
        ;; gets us down to about 19 Mbytes.)
-       (let ((*gc-notify-stream* *standard-output*))
-         (sb-int:/show "done with warm.lisp, about to GC :FULL T")
-         (gc :full t))
+       (sb-int:/show "done with warm.lisp, about to GC :FULL T")
+       (gc :full t)
 
         ;; resetting compilation policy to neutral values in
         ;; preparation for SAVE-LISP-AND-DIE as final SBCL core (not
@@ -78,10 +80,20 @@ echo //doing warm init
                             (space 1)
                             (speed 1)))
 
+        ;; Lock internal packages
+        #+sb-package-locks
+        (dolist (p (list-all-packages))
+          (unless (member p (mapcar #'find-package '(:keyword :cl-user)))
+             (lock-package p)))
+
         (sb-int:/show "done with warm.lisp, about to SAVE-LISP-AND-DIE")
        ;; Even if /SHOW output was wanted during build, it's probably
        ;; not wanted by default after build is complete. (And if it's
        ;; wanted, it can easily be turned back on.)
        #+sb-show (setf sb-int:*/show* nil)
+        ;; The system is complete now, all standard functions are
+        ;; defined.
+        (sb-kernel::ctype-of-cache-clear)
+        (setq sb-c::*flame-on-necessarily-undefined-function* t)
        (sb-ext:save-lisp-and-die "output/sbcl.core" :purify t)
        EOF