mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-09 23:16:41 -04:00
0.9.4.72:
Robustify the build system scripts.
This commit is contained in:
parent
85483d976c
commit
babd45f778
|
|
@ -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
|
||||
|
|
|
|||
1
clean.sh
1
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.
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Install SBCL files into the usual places.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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!")
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
18
make.sh
18
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`
|
||||
|
|
|
|||
9
slam.sh
9
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
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Create a source distribution. (You should run clean.sh first.)
|
||||
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
etags `find $PWD/src -name '*.lisp' -o -name '*.c' -o -name '*.h'`
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
Loading…
Reference in a new issue