Skip to content

Commit

Permalink
0.9.4.72:
Browse files Browse the repository at this point in the history
	Robustify the build system scripts.
  • Loading branch information
Thiemo Seufer committed Sep 16, 2005
1 parent 85483d9 commit babd45f
Show file tree
Hide file tree
Showing 30 changed files with 93 additions and 36 deletions.
1 change: 1 addition & 0 deletions binary-distribution.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# Create a binary distribution. (make.sh should be run first to create # 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 # the various binary files, and make-doc.sh should also be run to
Expand Down
1 change: 1 addition & 0 deletions clean.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# Remove everything in directories which are only used for output. # Remove everything in directories which are only used for output.
# In most cases, we can remove the directories, too. # In most cases, we can remove the directories, too.
Expand Down
1 change: 1 addition & 0 deletions distclean.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# a superset of clean.sh, cleaning up not only automatically # a superset of clean.sh, cleaning up not only automatically
# generated files but other things (e.g. customization files) # generated files but other things (e.g. customization files)
Expand Down
1 change: 1 addition & 0 deletions find-gnumake.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,3 +1,4 @@
#!/bin/false
# Not a shell script, but something intended to be sourced from shell scripts # Not a shell script, but something intended to be sourced from shell scripts
find_gnumake() { find_gnumake() {
# the GNU dialect of "make" -- easier to find or port it than to # the GNU dialect of "make" -- easier to find or port it than to
Expand Down
1 change: 1 addition & 0 deletions html-distribution.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# Create a distribution containing the HTML versions of system # Create a distribution containing the HTML versions of system
# documentation. (make-doc.sh needs to be run first, in order to # documentation. (make-doc.sh needs to be run first, in order to
Expand Down
1 change: 1 addition & 0 deletions install.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# Install SBCL files into the usual places. # Install SBCL files into the usual places.


Expand Down
2 changes: 1 addition & 1 deletion make-config.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# The make-config.sh script uses information about the target machine # The make-config.sh script uses information about the target machine
# to set things up for compilation. It's vaguely like a stripped-down # to set things up for compilation. It's vaguely like a stripped-down
Expand Down Expand Up @@ -267,4 +268,3 @@ if [ `uname` = "SunOS" ] ; then
PATH=/usr/xpg4/bin:$PATH PATH=/usr/xpg4/bin:$PATH
fi fi
echo '"'`hostname`-`id -un`-`date +%Y-%m-%d-%H-%M-%S`'"' > output/build-id.tmp echo '"'`hostname`-`id -un`-`date +%Y-%m-%d-%H-%M-%S`'"' > output/build-id.tmp

3 changes: 2 additions & 1 deletion make-genesis-2.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# This is a script to be run as part of make.sh. The only time you'd # 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 # want to run it by itself is if you're trying to cross-compile the
Expand Down Expand Up @@ -29,7 +30,7 @@ echo //entering make-genesis-2.sh
# file at that time; but we needed to run it earlier in order to # file at that time; but we needed to run it earlier in order to
# get to where we can write a .core file.) # get to where we can write a .core file.)
echo //loading and running GENESIS to create cold-sbcl.core 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) (setf *print-level* 5 *print-length* 5)
(load "src/cold/shared.lisp") (load "src/cold/shared.lisp")
(in-package "SB-COLD") (in-package "SB-COLD")
Expand Down
4 changes: 3 additions & 1 deletion make-host-1.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# This is a script to be run as part of make.sh. The only time you'd # 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 # want to run it by itself is if you're trying to cross-compile the
Expand All @@ -16,7 +17,8 @@
echo //entering make-host-1.sh echo //entering make-host-1.sh


LANG=C 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 # 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 # about to use it, but because it's written under the assumption that each
Expand Down
6 changes: 4 additions & 2 deletions make-host-2.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# This is a script to be run as part of make.sh. The only time you'd # 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 # want to run it by itself is if you're trying to cross-compile the
Expand All @@ -16,7 +17,8 @@
echo //entering make-host-2.sh echo //entering make-host-2.sh


LANG=C LANG=C
export LANG LC_ALL=C
export LANG LC_ALL


# In some cases, a debugging build of the system will creates a core # 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 # file output/after-xc.core in the next step. In cases where it
Expand All @@ -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 # the fasl files into the new host Lisp, and that doesn't seem to be
# an enormously important disadvantage, either.) # an enormously important disadvantage, either.)
echo //running cross-compiler to create target object files echo //running cross-compiler to create target object files
$SBCL_XC_HOST <<-'EOF' || exit 1 $SBCL_XC_HOST <<-'EOF'
;;; ;;;
;;; Set up the cross-compiler. ;;; Set up the cross-compiler.
Expand Down
24 changes: 10 additions & 14 deletions make-target-1.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# This is a script to be run as part of make.sh. The only time you'd # 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 # want to run it by itself is if you're trying to cross-compile the
Expand All @@ -16,7 +17,8 @@
echo //entering make-target-1.sh echo //entering make-target-1.sh


LANG=C LANG=C
export LANG LC_ALL=C
export LANG LC_ALL


# Build the runtime system and symbol table (.nm) file. # Build the runtime system and symbol table (.nm) file.
# #
Expand All @@ -26,21 +28,15 @@ export LANG
# could come either before or after running the cross compiler; that # could come either before or after running the cross compiler; that
# doesn't matter.) # doesn't matter.)
echo //building runtime system and symbol table file echo //building runtime system and symbol table file
cd ./src/runtime
$GNUMAKE clean || exit 1 # The clean is needed for Darwin's readonlyspace hack.
$GNUMAKE depend || exit 1 $GNUMAKE -C src/runtime clean
$GNUMAKE all || exit 1 # $GNUMAKE -C src/runtime depend
cd ../.. $GNUMAKE -C src/runtime all


# Use a little C program to grab stuff from the C header files and # Use a little C program to grab stuff from the C header files and
# smash it into Lisp source code. # smash it into Lisp source code.
cd ./tools-for-build $GNUMAKE -C tools-for-build -I../src/runtime grovel-headers
$GNUMAKE -I../src/runtime grovel-headers || exit 1
cd ..
tools-for-build/grovel-headers > output/stuff-groveled-from-headers.lisp tools-for-build/grovel-headers > output/stuff-groveled-from-headers.lisp


# after-grovel-headers may not exist for all platforms (used for $GNUMAKE -C src/runtime after-grovel-headers
# Darwin hacks)
cd ./src/runtime
$GNUMAKE after-grovel-headers || true
cd ..
6 changes: 4 additions & 2 deletions make-target-2.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# This is a script to be run as part of make.sh. The only time you'd # 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 # want to run it by itself is if you're trying to cross-compile the
Expand All @@ -16,7 +17,8 @@
echo //entering make-target-2.sh echo //entering make-target-2.sh


LANG=C LANG=C
export LANG LC_ALL=C
export LANG LC_ALL


# Do warm init stuff, e.g. building and loading CLOS, and stuff which # Do warm init stuff, e.g. building and loading CLOS, and stuff which
# can't be done until CLOS is running. # can't be done until CLOS is running.
Expand All @@ -30,7 +32,7 @@ export LANG
echo //doing warm init echo //doing warm init
./src/runtime/sbcl \ ./src/runtime/sbcl \
--core output/cold-sbcl.core \ --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 ;; Now that we use the compiler for macros, interpreted
;; /SHOW doesn't work until later in init. ;; /SHOW doesn't work until later in init.
#+sb-show (print "/hello, world!") #+sb-show (print "/hello, world!")
Expand Down
4 changes: 3 additions & 1 deletion make-target-contrib.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# This is a script to be run as part of make.sh. The only time you'd # 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 # probably want to run it by itself is if you're cross-compiling the
Expand All @@ -14,7 +15,8 @@
# files for more information. # files for more information.


LANG=C LANG=C
export LANG LC_ALL=C
export LANG LC_ALL


. ./find-gnumake.sh . ./find-gnumake.sh
find_gnumake find_gnumake
Expand Down
18 changes: 9 additions & 9 deletions make.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# "When we build software, it's a good idea to have a reliable method # "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 # for getting an executable from it. We want any two reconstructions
Expand Down Expand Up @@ -54,8 +55,7 @@


LANG=C LANG=C
LC_ALL=C LC_ALL=C
export LANG export LANG LC_ALL
export LC_ALL


build_started=`date` build_started=`date`
echo "//starting build: $build_started" echo "//starting build: $build_started"
Expand All @@ -70,10 +70,10 @@ find_gnumake
# If you're cross-compiling, you should probably just walk through the # 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 # make-config.sh script by hand doing the right thing on both the host
# and target machines. # and target machines.
sh make-config.sh || exit 1 sh make-config.sh


# Enforce the source policy for no bogus whitespace # 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, # 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 # and the make-target-*.sh scripts are run on the target machine. In
Expand Down Expand Up @@ -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 # 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 # whatever) between the host machine and the target machine, the basic
# procedure above should still work, but you can skip the "copy" steps. # procedure above should still work, but you can skip the "copy" steps.
time sh make-host-1.sh || exit 1 time sh make-host-1.sh
time sh make-target-1.sh || exit 1 time sh make-target-1.sh
time sh make-host-2.sh || exit 1 time sh make-host-2.sh
time sh make-target-2.sh || exit 1 time sh make-target-2.sh
time sh make-target-contrib.sh || exit 1 time sh make-target-contrib.sh


NCONTRIBS=`find contrib -name Makefile -print | wc -l` NCONTRIBS=`find contrib -name Makefile -print | wc -l`
NPASSED=`find contrib -name test-passed -print | wc -l` NPASSED=`find contrib -name test-passed -print | wc -l`
Expand Down
9 changes: 5 additions & 4 deletions slam.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# a quick and dirty way of partially rebuilding the system after a # a quick and dirty way of partially rebuilding the system after a
# change # change
Expand Down Expand Up @@ -105,12 +106,12 @@ export SBCL_XC_HOST
. ./find-gnumake.sh . ./find-gnumake.sh
find_gnumake 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 # 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 # to rebuild only obviously-out-of-date Lisp files, then (2) run
# GENESIS. # GENESIS.
$LISP $CORE output/after-xc.core $INIT <<'EOF' || exit 1 $LISP $CORE output/after-xc.core $INIT <<'EOF'
(load "src/cold/slam.lisp") (load "src/cold/slam.lisp")
EOF EOF
# (This ^ used to be # (This ^ used to be
Expand All @@ -120,9 +121,9 @@ EOF
# rebuild-this-stem requests on the command line to supplement # rebuild-this-stem requests on the command line to supplement
# the rebuild-obviously-outdated-stems logic above.) # 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 echo //ordinary termination of slam.sh
date date
1 change: 1 addition & 0 deletions source-distribution.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# Create a source distribution. (You should run clean.sh first.) # Create a source distribution. (You should run clean.sh first.)


Expand Down
4 changes: 4 additions & 0 deletions src/runtime/Config.alpha-linux
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -20,3 +20,7 @@ OS_SRC = linux-os.c alpha-linux-os.c
OS_LIBS = -ldl OS_LIBS = -ldl


GC_SRC = cheneygc.c GC_SRC = cheneygc.c

# Nothing to do for after-grovel-headers.
.PHONY: after-grovel-headers
after-grovel-headers:
4 changes: 4 additions & 0 deletions src/runtime/Config.alpha-osf1
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -39,3 +39,7 @@ OS_SRC = osf1-os.c alpha-osf1-os.c
OS_LIBS = #-ldl OS_LIBS = #-ldl


GC_SRC = cheneygc.c GC_SRC = cheneygc.c

# Nothing to do for after-grovel-headers.
.PHONY: after-grovel-headers
after-grovel-headers:
4 changes: 4 additions & 0 deletions src/runtime/Config.hppa-linux
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -19,3 +19,7 @@ OS_SRC = linux-os.c hppa-linux-os.c
OS_LIBS = -ldl OS_LIBS = -ldl


GC_SRC = cheneygc.c GC_SRC = cheneygc.c

# Nothing to do for after-grovel-headers.
.PHONY: after-grovel-headers
after-grovel-headers:
4 changes: 4 additions & 0 deletions src/runtime/Config.mips-linux
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -19,3 +19,7 @@ OS_SRC = linux-os.c mips-linux-os.c
OS_LIBS = -ldl OS_LIBS = -ldl


GC_SRC = cheneygc.c GC_SRC = cheneygc.c

# Nothing to do for after-grovel-headers.
.PHONY: after-grovel-headers
after-grovel-headers:
4 changes: 4 additions & 0 deletions src/runtime/Config.ppc-linux
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -20,3 +20,7 @@ OS_SRC = linux-os.c ppc-linux-os.c
OS_LIBS = -ldl OS_LIBS = -ldl


GC_SRC = cheneygc.c GC_SRC = cheneygc.c

# Nothing to do for after-grovel-headers.
.PHONY: after-grovel-headers
after-grovel-headers:
4 changes: 4 additions & 0 deletions src/runtime/Config.sparc-linux
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -20,3 +20,7 @@ OS_SRC = linux-os.c sparc-linux-os.c
OS_LIBS = -ldl OS_LIBS = -ldl


GC_SRC = cheneygc.c GC_SRC = cheneygc.c

# Nothing to do for after-grovel-headers.
.PHONY: after-grovel-headers
after-grovel-headers:
4 changes: 4 additions & 0 deletions src/runtime/Config.sparc-sunos
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -22,3 +22,7 @@ OS_SRC = sunos-os.c sparc-sunos-os.c
OS_LIBS = -ldl -lsocket -lnsl -lrt OS_LIBS = -ldl -lsocket -lnsl -lrt


GC_SRC = cheneygc.c GC_SRC = cheneygc.c

# Nothing to do for after-grovel-headers.
.PHONY: after-grovel-headers
after-grovel-headers:
4 changes: 4 additions & 0 deletions src/runtime/Config.x86-bsd
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -17,3 +17,7 @@ OS_SRC = bsd-os.c undefineds.c x86-bsd-os.c
OS_LIBS = # -ldl OS_LIBS = # -ldl


GC_SRC = gencgc.c GC_SRC = gencgc.c

# Nothing to do for after-grovel-headers.
.PHONY: after-grovel-headers
after-grovel-headers:
3 changes: 3 additions & 0 deletions src/runtime/Config.x86-linux
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -36,3 +36,6 @@ OS_LIBS += $(shell if grep LISP_FEATURE_SB_THREAD genesis/config.h \


GC_SRC = gencgc.c GC_SRC = gencgc.c


# Nothing to do for after-grovel-headers.
.PHONY: after-grovel-headers
after-grovel-headers:
3 changes: 3 additions & 0 deletions src/runtime/Config.x86-sunos
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -13,3 +13,6 @@ OS_LIBS= -ldl -lsocket -lnsl -lrt


GC_SRC= gencgc.c GC_SRC= gencgc.c


# Nothing to do for after-grovel-headers.
.PHONY: after-grovel-headers
after-grovel-headers:
4 changes: 4 additions & 0 deletions src/runtime/Config.x86_64-linux
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -37,3 +37,7 @@ OS_LIBS += $(shell if grep LISP_FEATURE_SB_THREAD genesis/config.h \
CFLAGS += -fno-omit-frame-pointer CFLAGS += -fno-omit-frame-pointer


GC_SRC = gencgc.c GC_SRC = gencgc.c

# Nothing to do for after-grovel-headers.
.PHONY: after-grovel-headers
after-grovel-headers:
1 change: 1 addition & 0 deletions tagify.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,3 +1,4 @@
#!/bin/sh #!/bin/sh
set -e


etags `find $PWD/src -name '*.lisp' -o -name '*.c' -o -name '*.h'` etags `find $PWD/src -name '*.lisp' -o -name '*.c' -o -name '*.h'`
2 changes: 1 addition & 1 deletion version.lisp-expr
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal ;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS ;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
"0.9.4.71" "0.9.4.72"
1 change: 1 addition & 0 deletions wc.sh
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/sh #!/bin/sh
set -e


# How big is this project anyway? Crudely estimate non-comment source lines.. # How big is this project anyway? Crudely estimate non-comment source lines..


Expand Down

0 comments on commit babd45f

Please sign in to comment.