1.0.13.29: run-sbcl.sh script
authorNikodemus Siivola <nikodemus@random-state.net>
Mon, 14 Jan 2008 12:05:32 +0000 (12:05 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Mon, 14 Jan 2008 12:05:32 +0000 (12:05 +0000)
 * I'm tired of typing the mantra, and it's probably good to make
   it easy for users too to run SBCL before installation.

 * Add to binary tarball, and mention in INSTALL.

INSTALL
binary-distribution.sh
run-sbcl.sh [new file with mode: 0644]
version.lisp-expr

diff --git a/INSTALL b/INSTALL
index 25150ff..bfc16af 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -19,6 +19,11 @@ INSTALLING SBCL
 
 1.1. Quick start:
 
+  To run SBCL without installing it, from the top of binary distribution
+  directory:
+
+    $ sh run-sbcl.sh
+
   The following command installs SBCL and related documentation under
   the "/usr/local" directory:
   
index 6bb1768..e0f3438 100755 (executable)
@@ -13,7 +13,7 @@ b=${1:?"missing base directory name argument"}
 tar -cf $b-binary.tar \
     $b/output/sbcl.core $b/src/runtime/sbcl \
     $b/BUGS $b/COPYING $b/CREDITS $b/INSTALL $b/NEWS $b/README $b/SUPPORT \
-    $b/install.sh $b/find-gnumake.sh $b/sbcl-pwd.sh \
+    $b/install.sh $b/find-gnumake.sh $b/sbcl-pwd.sh $b/run-sbcl.sh \
     $b/doc/sbcl.1 \
     $b/pubring.pgp \
     $b/contrib/asdf-module.mk \
diff --git a/run-sbcl.sh b/run-sbcl.sh
new file mode 100644 (file)
index 0000000..1fa7146
--- /dev/null
@@ -0,0 +1,43 @@
+# A simple shell-script to run the freshly build SBCL without
+# installing it. Expects to be run from the top of the SBCL source
+# tree.
+
+# This software is part of the SBCL system. See the README file for
+# more information.
+#
+# This software is derived from the CMU CL system, which was
+# written at Carnegie Mellon University and released into the
+# public domain. The software is in the public domain and is
+# provided with absolutely no warranty. See the COPYING and CREDITS
+# files for more information.
+
+set -e
+
+if [ "$1" = "--help" ]; then
+    echo "usage: run-sbcl.sh sbcl-options*"
+    echo
+    echo "Runs SBCL from the build directory or binary tarball without need for"
+    echo "installation. Except for --help and --core, accepts all the same"
+    echo "command-line options as SBCL does."
+    echo
+    echo "Expects the current directory to be the topmost directory of the SBCL"
+    echo "source tree or binary tarball."
+    echo
+    exit 1
+fi
+
+if [ -f sbcl-pwd.sh -a -x src/runtime/sbcl -a -f output/sbcl.core ]; then
+    . sbcl-pwd.sh
+    sbcl_pwd
+    echo "(running SBCL from: $SBCL_PWD)"
+    SBCL_HOME=$SBCL_PWD/contrib src/runtime/sbcl --core output/sbcl.core $@
+elif [ -f run-sbcl.sh -a -f version.lisp-expr ]; then
+    echo "No built SBCL here ($(pwd)): run 'sh make.sh' first!"
+    exit 1
+else
+    echo "No SBCL here ($(pwd))!"
+    echo
+    echo "run-sbcl.sh needs to be run from the top of the SBCL source tree or"
+    echo "binary tarball."
+    exit 1
+fi
index 7d1d1f9..6948b0d 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".)
-"1.0.13.28"
+"1.0.13.29"