X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=slam.sh;h=202c8aa29d827e71695efed5e52ceb28108e8a48;hb=HEAD;hp=8b1030103f7d8093a4d445bb9ab19958f63118b5;hpb=78164d7ec6e90551208719b0445286eccf35c451;p=sbcl.git diff --git a/slam.sh b/slam.sh index 8b10301..202c8aa 100644 --- 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 @@ -56,10 +57,10 @@ # 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,30 +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", "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 @@ -111,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