1. Make sure that you have enough RAM+swap to build SBCL, as
per the CAUTION note above. (As of version 0.6.0, the most
memory-intensive operation in make.sh is the second call to
- GENESIS, which makes the Lisp image grow to nearly 128 Mb RAM+swap.
- 2. If the GNU make command is not available under the name "gmake",
- then define the environment variable GNUMAKE to a name where it can
- be found.
+ GENESIS, which makes the Lisp image grow to around 128 Mb RAM+swap.
+ 2. If the GNU make command is not available under the names "gmake"
+ or "make", then define the environment variable GNUMAKE to a name
+ where it can be found.
3. If you like, you can tweak the *FEATURES* set for the resulting
Lisp system, enabling or disabling features like documentation
strings or extra debugging code. The preferred way to do this is
echo //entering make-target-1.sh
# the GNU dialect of "make" -- easier to find or port it than to
-# try to figure out how to port to the local dialect..
-gnumake=${GNUMAKE:-gmake}
+# try to figure out how to port to the local dialect...
+if [ "$GNUMAKE" != "" ] ; then
+ # The user is evidently trying to tell us something.
+ gnumake="$GNUMAKE"
+elif [ -x `which gmake` ] ; then
+ # "gmake" is the preferred name in *BSD.
+ gnumake=gmake
+else
+ # All the world's a Linux, and all its users weary of cautious
+ # BSDish worries that "make" might not be GNU make; and at this
+ # point we've already spent quite a while in make-host-1.sh, so
+ # they're naturally unamused when we bail out complaining we don't
+ # know where GNU make is. So since it's not really any worse to guess
+ # wrong here than to fail by not trying, just guess that "make" is
+ # GNU make and hope for the best.
+ gnumake=make
+fi
# Build the runtime system and symbol table (.nm) file.
#
# 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 grovel_headers
+$gnumake grovel_headers || exit 1
cd ..
tools-for-build/grovel_headers > output/stuff-groveled-from-headers.lisp
(nicknames (package-nicknames package))
(warm-name-prefix "SB-")
(cold-name-prefix "SB!"))
- (when (string= name warm-name-prefix :end1 (length warm-name-prefix))
+ (when (and (> (length name) (length warm-name-prefix))
+ (string= name warm-name-prefix :end1 (length warm-name-prefix)))
(let* ((stem (subseq name (length cold-name-prefix)))
(cold-name (concatenate 'simple-string cold-name-prefix stem)))
(rename-package package name (cons cold-name nicknames))))))
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.7.11.3"
+"0.7.11.4"