Fix make-array transforms.
[sbcl.git] / slam.sh
diff --git a/slam.sh b/slam.sh
index 457ebf8..202c8aa 100644 (file)
--- a/slam.sh
+++ b/slam.sh
@@ -1,4 +1,5 @@
 #!/bin/sh
+set -e
 
 # a quick and dirty way of partially rebuilding the system after a
 # change
@@ -21,7 +22,7 @@
 # This script is not a reliable way to build the system, but it is
 # fast.:-| It can be useful if you are trying to debug a low-level
 # problem, e.g. a problem in src/runtime/*.c or in
-# src/code/cold-init.lisp. Soon, you'll find yourself wanting to 
+# src/code/cold-init.lisp. Soon, you'll find yourself wanting to
 # test a small change in a file compiled into cold-sbcl.core without
 # redoing the entire rebuild-the-system-from-scratch process. You may be
 # able to avoid a complete make-host-2.sh by just letting this script
 #    Mostly it looks as though such limitations aren't fixable without
 #    the aforementioned rearchitecting or solving the halting problem.
 #
-# To make this work, you need an after-xc.core file. To cause the 
+# To make this work, you need an after-xc.core file. To cause the
 # system to generate an after-xc.core file, you need
 # :SB-AFTER-XC-CORE in target features during an ordinary build.
-# See the comments in base-target-features.lisp-expr for the 
+# See the comments in base-target-features.lisp-expr for the
 # recommended way to make that happen.
 #######################################################################
 
@@ -78,26 +79,39 @@ case "$HOST_TYPE" in
            INIT="-noinit"
            CORE="-core"
            ;;
-    sbcl)  LISP="sbcl"
-           INIT="--sysinit /dev/null --userinit /dev/null"
+    sbcl)  LISP="${XC_LISP:-sbcl}"
+           INIT="--no-sysinit --no-userinit"
            CORE="--core"
            ;;
+    clisp) LISP="clisp"
+           INIT="-norc"
+           CORE="-M"
+           ;;
+    openmcl)
+           LISP="openmcl"
+           INIT="-b"
+           CORE="-I"
+           ;;
     *)     echo unknown host type: "$HOST_TYPE"
-           echo should be one of "sbcl" or "cmucl"
+           echo should be one of "sbcl", "cmucl", or "clisp"
            exit 1
 esac
 
-export SBCL_XC_HOST="$LISP $INIT"
+SBCL_XC_HOST="$LISP ${XC_CORE:+$CORE $XC_CORE} $INIT"
+export SBCL_XC_HOST
 
 # (We don't do make-host-1.sh at all. Hopefully nothing relevant has
 # changed.)
 
-sh make-target-1.sh || exit 1
+. ./find-gnumake.sh
+find_gnumake
+
+sh make-target-1.sh
 
 # Instead of doing the full make-host-2.sh, we (1) use after-xc.core
 # to rebuild only obviously-out-of-date Lisp files, then (2) run
 # GENESIS.
-$LISP $CORE output/after-xc.core $INIT <<'EOF' || exit 1
+$LISP $CORE output/after-xc.core $INIT <<'EOF'
   (load "src/cold/slam.lisp")
 EOF
 # (This ^ used to be
@@ -107,9 +121,9 @@ EOF
 # rebuild-this-stem requests on the command line to supplement
 # the rebuild-obviously-outdated-stems logic above.)
 #
-sh make-genesis-2.sh || exit 1 
+sh make-genesis-2.sh
 
-sh make-target-2.sh || exit 1
+sh make-target-2.sh
 
 echo //ordinary termination of slam.sh
 date