0.9.4.72:
authorThiemo Seufer <ths@networkno.de>
Fri, 16 Sep 2005 13:26:39 +0000 (13:26 +0000)
committerThiemo Seufer <ths@networkno.de>
Fri, 16 Sep 2005 13:26:39 +0000 (13:26 +0000)
Robustify the build system scripts.

30 files changed:
binary-distribution.sh
clean.sh
distclean.sh
find-gnumake.sh
html-distribution.sh
install.sh
make-config.sh
make-genesis-2.sh
make-host-1.sh
make-host-2.sh
make-target-1.sh
make-target-2.sh
make-target-contrib.sh
make.sh
slam.sh
source-distribution.sh
src/runtime/Config.alpha-linux
src/runtime/Config.alpha-osf1
src/runtime/Config.hppa-linux
src/runtime/Config.mips-linux
src/runtime/Config.ppc-linux
src/runtime/Config.sparc-linux
src/runtime/Config.sparc-sunos
src/runtime/Config.x86-bsd
src/runtime/Config.x86-linux
src/runtime/Config.x86-sunos
src/runtime/Config.x86_64-linux
tagify.sh
version.lisp-expr
wc.sh

index 6054554..8266154 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/sh
+set -e
 
 # Create a binary distribution. (make.sh should be run first to create
 # the various binary files, and make-doc.sh should also be run to
index 0868e80..e09790d 100755 (executable)
--- a/clean.sh
+++ b/clean.sh
@@ -1,4 +1,5 @@
 #!/bin/sh
+set -e
 
 # Remove everything in directories which are only used for output.
 # In most cases, we can remove the directories, too.
index 5d46a9f..861996f 100644 (file)
@@ -1,4 +1,5 @@
 #!/bin/sh
+set -e
 
 # a superset of clean.sh, cleaning up not only automatically 
 # generated files but other things (e.g. customization files)
index e32c3a1..df76c7e 100644 (file)
@@ -1,3 +1,4 @@
+#!/bin/false
 # Not a shell script, but something intended to be sourced from shell scripts
 find_gnumake() {
   # the GNU dialect of "make" -- easier to find or port it than to
index 7f38f0f..b52ae9a 100644 (file)
@@ -1,4 +1,5 @@
 #!/bin/sh
+set -e
 
 # Create a distribution containing the HTML versions of system
 # documentation. (make-doc.sh needs to be run first, in order to
index 8773aa0..31b8c9f 100644 (file)
@@ -1,4 +1,5 @@
 #!/bin/sh
+set -e
 
 # Install SBCL files into the usual places.
 
index a330f88..131f6fe 100644 (file)
@@ -1,4 +1,5 @@
 #!/bin/sh
+set -e
 
 # The make-config.sh script uses information about the target machine
 # to set things up for compilation. It's vaguely like a stripped-down
@@ -267,4 +268,3 @@ if [ `uname` = "SunOS" ] ; then
   PATH=/usr/xpg4/bin:$PATH
 fi
 echo '"'`hostname`-`id -un`-`date +%Y-%m-%d-%H-%M-%S`'"' > output/build-id.tmp
-
index a76ea79..908ce95 100644 (file)
@@ -1,4 +1,5 @@
 #!/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
@@ -29,7 +30,7 @@ echo //entering make-genesis-2.sh
 # 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")
index 34598a0..3719026 100644 (file)
@@ -1,4 +1,5 @@
 #!/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
@@ -16,7 +17,8 @@
 echo //entering make-host-1.sh
 
 LANG=C
-export LANG
+LC_ALL=C
+export LANG LC_ALL
 
 # Compile and load the cross-compiler. (We load it here not because we're
 # about to use it, but because it's written under the assumption that each
index 580af2f..0321ad3 100644 (file)
@@ -1,4 +1,5 @@
 #!/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
@@ -16,7 +17,8 @@
 echo //entering make-host-2.sh
 
 LANG=C
-export LANG
+LC_ALL=C
+export LANG LC_ALL
 
 # In some cases, a debugging build of the system will creates a core
 # file output/after-xc.core in the next step. In cases where it
@@ -43,7 +45,7 @@ rm -f output/after-xc.core
 # the fasl files into the new host Lisp, and that doesn't seem to be
 # an enormously important disadvantage, either.)
 echo //running cross-compiler to create target object files
-$SBCL_XC_HOST <<-'EOF' || exit 1
+$SBCL_XC_HOST <<-'EOF'
 
         ;;;
         ;;; Set up the cross-compiler.
index 7fbf974..4952416 100644 (file)
@@ -1,4 +1,5 @@
 #!/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
@@ -16,7 +17,8 @@
 echo //entering make-target-1.sh
 
 LANG=C
-export LANG
+LC_ALL=C
+export LANG LC_ALL
 
 # Build the runtime system and symbol table (.nm) file.
 #
@@ -26,21 +28,15 @@ export LANG
 # could come either before or after running the cross compiler; that
 # doesn't matter.)
 echo //building runtime system and symbol table file
-cd ./src/runtime
-$GNUMAKE clean  || exit 1
-$GNUMAKE depend || exit 1
-$GNUMAKE all    || exit 1
-cd ../..
+
+# The clean is needed for Darwin's readonlyspace hack.
+$GNUMAKE -C src/runtime clean
+# $GNUMAKE -C src/runtime depend
+$GNUMAKE -C src/runtime all
 
 # Use a little C program to grab stuff from the C header files and
 # smash it into Lisp source code.
-cd ./tools-for-build
-$GNUMAKE -I../src/runtime grovel-headers || exit 1
-cd ..
+$GNUMAKE -C tools-for-build -I../src/runtime grovel-headers
 tools-for-build/grovel-headers > output/stuff-groveled-from-headers.lisp
 
-# after-grovel-headers may not exist for all platforms (used for
-# Darwin hacks)
-cd ./src/runtime
-$GNUMAKE after-grovel-headers || true
-cd ..
+$GNUMAKE -C src/runtime after-grovel-headers
index 0155ac7..ceacef7 100644 (file)
@@ -1,4 +1,5 @@
 #!/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
@@ -16,7 +17,8 @@
 echo //entering make-target-2.sh
 
 LANG=C
-export LANG
+LC_ALL=C
+export LANG LC_ALL
 
 # Do warm init stuff, e.g. building and loading CLOS, and stuff which
 # can't be done until CLOS is running.
@@ -30,7 +32,7 @@ export LANG
 echo //doing warm init
 ./src/runtime/sbcl \
 --core output/cold-sbcl.core \
---sysinit /dev/null --userinit /dev/null <<-'EOF' || exit 1
+--sysinit /dev/null --userinit /dev/null <<-'EOF'
        ;; Now that we use the compiler for macros, interpreted
        ;; /SHOW doesn't work until later in init.
         #+sb-show (print "/hello, world!")
index af56892..3646a5c 100644 (file)
@@ -1,4 +1,5 @@
 #!/bin/sh
+set -e
 
 # This is a script to be run as part of make.sh. The only time you'd
 # probably want to run it by itself is if you're cross-compiling the
@@ -14,7 +15,8 @@
 # files for more information.
 
 LANG=C
-export LANG
+LC_ALL=C
+export LANG LC_ALL
 
 . ./find-gnumake.sh
 find_gnumake
diff --git a/make.sh b/make.sh
index 8826ede..cb83c37 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -1,4 +1,5 @@
 #!/bin/sh
+set -e
 
 # "When we build software, it's a good idea to have a reliable method
 # for getting an executable from it. We want any two reconstructions
@@ -54,8 +55,7 @@
 
 LANG=C
 LC_ALL=C
-export LANG
-export LC_ALL
+export LANG LC_ALL
 
 build_started=`date`
 echo "//starting build: $build_started"
@@ -70,10 +70,10 @@ find_gnumake
 # If you're cross-compiling, you should probably just walk through the
 # make-config.sh script by hand doing the right thing on both the host
 # and target machines.
-sh make-config.sh || exit 1
+sh make-config.sh
 
 # Enforce the source policy for no bogus whitespace
-tools-for-build/canonicalize-whitespace || exit 1
+tools-for-build/canonicalize-whitespace
 
 # The make-host-*.sh scripts are run on the cross-compilation host,
 # and the make-target-*.sh scripts are run on the target machine. In
@@ -102,11 +102,11 @@ tools-for-build/canonicalize-whitespace || exit 1
 # Or, if you can set up the files somewhere shared (with NFS, AFS, or
 # whatever) between the host machine and the target machine, the basic
 # procedure above should still work, but you can skip the "copy" steps.
-time sh make-host-1.sh   || exit 1
-time sh make-target-1.sh || exit 1
-time sh make-host-2.sh   || exit 1
-time sh make-target-2.sh || exit 1
-time sh make-target-contrib.sh || exit 1
+time sh make-host-1.sh
+time sh make-target-1.sh
+time sh make-host-2.sh
+time sh make-target-2.sh
+time sh make-target-contrib.sh
 
 NCONTRIBS=`find contrib -name Makefile -print | wc -l`
 NPASSED=`find contrib -name test-passed -print | wc -l`
diff --git a/slam.sh b/slam.sh
index 95a3194..cb86e73 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
@@ -105,12 +106,12 @@ export SBCL_XC_HOST
 . ./find-gnumake.sh
 find_gnumake
 
-sh make-target-1.sh || exit 1
+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
@@ -120,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
index 748c082..62efe12 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/sh
+set -e
 
 # Create a source distribution. (You should run clean.sh first.)
 
index a72b7f1..42df1fc 100644 (file)
@@ -20,3 +20,7 @@ OS_SRC = linux-os.c alpha-linux-os.c
 OS_LIBS = -ldl
 
 GC_SRC = cheneygc.c
+
+# Nothing to do for after-grovel-headers.
+.PHONY: after-grovel-headers
+after-grovel-headers:
index 7ad95d6..0553f48 100644 (file)
@@ -39,3 +39,7 @@ OS_SRC = osf1-os.c alpha-osf1-os.c
 OS_LIBS = #-ldl
 
 GC_SRC = cheneygc.c
+
+# Nothing to do for after-grovel-headers.
+.PHONY: after-grovel-headers
+after-grovel-headers:
index 23adcd4..72449bd 100644 (file)
@@ -19,3 +19,7 @@ OS_SRC = linux-os.c hppa-linux-os.c
 OS_LIBS = -ldl
 
 GC_SRC = cheneygc.c
+
+# Nothing to do for after-grovel-headers.
+.PHONY: after-grovel-headers
+after-grovel-headers:
index 3f1c112..ac11f32 100644 (file)
@@ -19,3 +19,7 @@ OS_SRC = linux-os.c mips-linux-os.c
 OS_LIBS = -ldl
 
 GC_SRC = cheneygc.c
+
+# Nothing to do for after-grovel-headers.
+.PHONY: after-grovel-headers
+after-grovel-headers:
index 97fc869..a2c5a17 100644 (file)
@@ -20,3 +20,7 @@ OS_SRC = linux-os.c ppc-linux-os.c
 OS_LIBS = -ldl
 
 GC_SRC = cheneygc.c
+
+# Nothing to do for after-grovel-headers.
+.PHONY: after-grovel-headers
+after-grovel-headers:
index 2a2c075..1ad0213 100644 (file)
@@ -20,3 +20,7 @@ OS_SRC = linux-os.c sparc-linux-os.c
 OS_LIBS = -ldl
 
 GC_SRC = cheneygc.c
+
+# Nothing to do for after-grovel-headers.
+.PHONY: after-grovel-headers
+after-grovel-headers:
index 62a00df..4a29086 100644 (file)
@@ -22,3 +22,7 @@ OS_SRC = sunos-os.c sparc-sunos-os.c
 OS_LIBS = -ldl -lsocket -lnsl -lrt
 
 GC_SRC = cheneygc.c
+
+# Nothing to do for after-grovel-headers.
+.PHONY: after-grovel-headers
+after-grovel-headers:
index a8f20c0..8f1960c 100644 (file)
@@ -17,3 +17,7 @@ OS_SRC = bsd-os.c undefineds.c x86-bsd-os.c
 OS_LIBS = # -ldl
 
 GC_SRC = gencgc.c
+
+# Nothing to do for after-grovel-headers.
+.PHONY: after-grovel-headers
+after-grovel-headers:
index c9b9781..693cd74 100644 (file)
@@ -36,3 +36,6 @@ OS_LIBS += $(shell if grep LISP_FEATURE_SB_THREAD genesis/config.h \
 
 GC_SRC = gencgc.c
 
+# Nothing to do for after-grovel-headers.
+.PHONY: after-grovel-headers
+after-grovel-headers:
index b364aca..5a3ee1b 100644 (file)
@@ -13,3 +13,6 @@ OS_LIBS= -ldl -lsocket -lnsl -lrt
 
 GC_SRC= gencgc.c
 
+# Nothing to do for after-grovel-headers.
+.PHONY: after-grovel-headers
+after-grovel-headers:
index b607996..a615c96 100644 (file)
@@ -37,3 +37,7 @@ OS_LIBS += $(shell if grep LISP_FEATURE_SB_THREAD genesis/config.h \
 CFLAGS += -fno-omit-frame-pointer
 
 GC_SRC = gencgc.c
+
+# Nothing to do for after-grovel-headers.
+.PHONY: after-grovel-headers
+after-grovel-headers:
index 386bbb6..02ddf3a 100755 (executable)
--- a/tagify.sh
+++ b/tagify.sh
@@ -1,3 +1,4 @@
 #!/bin/sh
+set -e
 
 etags `find $PWD/src -name '*.lisp' -o -name '*.c' -o -name '*.h'`
index 6cd77ea..79890fd 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.4.71"
+"0.9.4.72"
diff --git a/wc.sh b/wc.sh
index 1cc99c7..1189408 100755 (executable)
--- a/wc.sh
+++ b/wc.sh
@@ -1,4 +1,5 @@
 #!/bin/sh
+set -e
 
 # How big is this project anyway? Crudely estimate non-comment source lines..