#!/bin/sh
+set -e
# This is a script to be run as part of make.sh. The only time you'd
# want to run it by itself is if you're trying to cross-compile the
# file at that time; but we needed to run it earlier in order to
# get to where we can write a .core file.)
echo //loading and running GENESIS to create cold-sbcl.core
-$SBCL_XC_HOST <<-'EOF' || exit 1
+$SBCL_XC_HOST <<-'EOF'
(setf *print-level* 5 *print-length* 5)
(load "src/cold/shared.lisp")
(in-package "SB-COLD")
(read s)))
(host-load-stem "src/compiler/generic/genesis")
(sb!vm:genesis :object-file-names *target-object-file-names*
- :c-header-file-name "output/sbcl2.h"
+ :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)
EOF
echo //testing for consistency of first and second GENESIS passes
-if cmp src/runtime/sbcl.h output/sbcl2.h; then
- echo //sbcl2.h matches sbcl.h -- good.
+if diff -r src/runtime/genesis output/genesis-2; then
+ echo //header files match between first and second GENESIS -- good
else
- echo error: sbcl2.h does not match sbcl.h.
+ echo error: header files do not match between first and second GENESIS
exit 1
fi