0.6.12.7.flaky1.2:
[sbcl.git] / slam.sh
1 #!/bin/sh
2
3 # a quick and dirty way of partially rebuilding the system after a
4 # change
5 #
6 # This script is not a reliable way to build the system, but it is
7 # fast.:-| It can be useful if you are trying to debug a low-level
8 # problem, e.g. a problem in src/runtime/*.c or in src/code/unix.lisp,
9 # and you find yourself wanting to make a small change and test it
10 # without going through the entire build-the-system-from-scratch
11 # cycle.
12 #
13 # You probably don't want to be using this script unless you
14 # understand the system build process to be able to guess when it
15 # won't work.
16
17
18 # This software is part of the SBCL system. See the README file for
19 # more information.
20 #
21 # This software is derived from the CMU CL system, which was
22 # written at Carnegie Mellon University and released into the
23 # public domain. The software is in the public domain and is
24 # provided with absolutely no warranty. See the COPYING and CREDITS
25 # files for more information.
26
27
28 # We don't try to be general about this in this script the way we are
29 # in make.sh, since (1) we use our command line args as names of files
30 # to recompile, and (2) the idiosyncrasies of SBCL command line
31 # argument order dependence, the meaninglessness of duplicate --core
32 # arguments, and the SBCL-vs-CMUCL dependence of --core/-core argument
33 # syntax make it too messy to try deal with arbitrary SBCL commands.
34 # So you have no choice:
35 export SBCL_XC_HOST='sbcl --noprogrammer'
36
37 # (We don't do make-host-1.sh at all. Hopefully nothing relevant has
38 # changed.)
39
40 sh make-target-1.sh || exit 1
41
42 # Instead of doing the full make-host-2.sh, we (1) use after-xc.core
43 # to rebuild only the specifically-requested Lisp files (or skip
44 # after-xc.core completely if no Lisp files are specifically
45 # requested), then (2) run GENESIS.
46 #
47 # Our command line arguments are the stems that we'll use
48 # after-xc.core to recompile. If there are no command line arguments,
49 # though, make a point of not calling after-xc.core, since it might
50 # not exist, and there's no point in causing a fatal failure (by
51 # unsuccessfully trying to execute it) unnecessarily.
52 for f in $*; do echo "(target-compile-stem \"$f\")"; done \
53   | sbcl --core output/after-xc.core || exit 1
54 sh make-genesis-2.sh || exit 1 
55
56 sh make-target-2.sh || exit 1
57
58 echo /ordinary termination of slam.sh