From: Daniel B. <da...@us...> - 2003-02-07 02:11:13
|
Update of /cvsroot/sbcl/sbcl In directory sc8-pr-cvs1:/tmp/cvs-serv26492 Modified Files: INSTALL install.sh package-data-list.lisp-expr version.lisp-expr Log Message: 0.7.12.24 Changes to PROVIDE/REQUIRE to make them (a) conform to ANSI, (b) any use... ... cease nonstandardly downcasing elements in *MODULES* ... add a list of *MODULE-PROVIDER-FUNCTIONS* which the user can hang functions off to make REQUIRE do whatever he wants it to do. ... its default member knows how to load files in $SBCL_ROOT/modulename/modulename First pass at a contrib infrastructure... ... change install.sh to do new and exciting things, and as a side benefit, able to install other than into /usr/local ... amend INSTALL instructions to match Two contrib modules... ... asdf here is a direct copy of the one in cclan, but despite being portable and therefore not really qualifying, will be v. useful for loading the others ... bsd-sockets (db-sockets by any other name) is a fairly low-level interface to the BSD socket API: high-level interfaces (e.g. ACL-compatible, or CLOCC PORT) could be built on top of it without getting dirty with ALIEN Index: INSTALL =================================================================== RCS file: /cvsroot/sbcl/sbcl/INSTALL,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- INSTALL 4 Jan 2003 15:51:02 -0000 1.10 +++ INSTALL 7 Feb 2003 02:11:09 -0000 1.11 @@ -1,6 +1,6 @@ IF YOU HAVE A BINARY DISTRIBUTION: -The two files that SBCL needs to run are sbcl and sbcl.core. +The two files that SBCL needs to run, at minimum, are sbcl and sbcl.core. They are in src/runtime/sbcl and @@ -17,7 +17,8 @@ In order to get a usable system, you need to run sbcl in a way that it can find sbcl.core. There are three ways for it to find sbcl.core: - 1. by default, in /usr/lib/sbcl.core or /usr/local/lib/sbcl.core + + 1. by default, in /usr/lib/sbcl/sbcl.core or /usr/local/lib/sbcl/sbcl.core 2. by environment variable: $ export SBCL_HOME=/foo/bar/ $ sbcl @@ -31,10 +32,21 @@ So: the standard installation procedure is 1. Copy sbcl.core to /usr/lib or /usr/local/lib. 2. Copy sbcl to /usr/bin or /usr/local/bin. - 3. Optionally copy sbcl.1 to /usr/man/man1 or /usr/local/man/man1. -The script install.sh does these for you (choosing the /usr/local -subdirectory in each case). + 3. Copy the contrib modules that you're using (if any) to the same place + as sbcl.core + 4. Optionally copy sbcl.1 to /usr/man/man1 or /usr/local/man/man1. +The script install.sh does all of this for you, including compilation +of all contrib modules it can find, and installation of all those that +pass their tests. You should set the INSTALL_ROOT environment +variable to /usr or /usr/local as appropriate before starting +install.sh: e.g. + + # INSTALL_ROOT=/usr/local sh install.sh + +or + + $ INSTALL_ROOT=/home/me/sbcl sh install.sh IF YOU HAVE A SOURCE DISTRIBUTION: Index: install.sh =================================================================== RCS file: /cvsroot/sbcl/sbcl/install.sh,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- install.sh 21 Sep 2002 05:43:20 -0000 1.2 +++ install.sh 7 Feb 2003 02:11:10 -0000 1.3 @@ -2,9 +2,44 @@ # Install SBCL files into the usual places. -cp /usr/local/bin/sbcl /usr/local/bin/sbcl.old -cp /usr/local/lib/sbcl.core /usr/local/lib/sbcl.core.old +function ensure_dirs () +{ + for j in $*; do + test -d $j || mkdir $j + done; +} -cp src/runtime/sbcl /usr/local/bin/ -cp output/sbcl.core /usr/local/lib/ -cp doc/sbcl.1 /usr/local/man/man1/ +INSTALL_ROOT=${INSTALL_ROOT-/usr/local} +SBCL_SOURCE=`pwd` +if [ -n "$SBCL_HOME" -a "$INSTALL_ROOT/lib/sbcl" != "$SBCL_HOME" ];then + echo SBCL_HOME environment variable is set, and conflicts with INSTALL_ROOT. + echo Aborting installation. Unset one or reset the other, then try again + echo INSTALL_ROOT="$INSTALL_ROOT" + echo SBCL_HOME="$SBCL_HOME" + exit 1 +fi +SBCL_HOME=$INSTALL_ROOT/lib/sbcl +export SBCL_HOME +ensure_dirs $INSTALL_ROOT $INSTALL_ROOT/bin $INSTALL_ROOT/lib \ + $INSTALL_ROOT/man $INSTALL_ROOT/man/man1 \ + $SBCL_HOME $SBCL_HOME/systems + +test -a $INSTALL_ROOT/bin/sbcl && \ + cp $INSTALL_ROOT/bin/sbcl $INSTALL_ROOT/bin/sbcl.old +test -a $SBCL_HOME/sbcl.core && \ + cp $SBCL_HOME/sbcl.core $SBCL_HOME/sbcl.core.old + +cp src/runtime/sbcl $INSTALL_ROOT/bin/ +cp output/sbcl.core $SBCL_HOME/sbcl.core +cp doc/sbcl.1 $INSTALL_ROOT/man/man1/ + +# installing contrib + +SBCL="`pwd`/src/runtime/sbcl --noinform --core `pwd`/output/sbcl.core --userinit /dev/null --sysinit /dev/null --disable-debugger" +SBCL_BUILDING_CONTRIB=1 +export SBCL SBCL_BUILDING_CONTRIB +for i in contrib/*; do + test -d $i || continue; + export INSTALL_DIR=$SBCL_HOME/`basename $i ` + make -C $i test && ensure_dirs $INSTALL_DIR && make -C $i install +done Index: package-data-list.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/package-data-list.lisp-expr,v retrieving revision 1.197 retrieving revision 1.198 diff -u -d -r1.197 -r1.198 --- package-data-list.lisp-expr 4 Feb 2003 17:11:31 -0000 1.197 +++ package-data-list.lisp-expr 7 Feb 2003 02:11:10 -0000 1.198 @@ -615,7 +615,8 @@ ;; miscellaneous useful supported extensions "QUIT" - + "*MODULE-PROVIDER-FUNCTIONS*" + ;; RUN-PROGRAM is not only useful for users, but also ;; useful to implement parts of SBCL itself, so we're ;; going to have to implement it anyway, so we might Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.753 retrieving revision 1.754 diff -u -d -r1.753 -r1.754 --- version.lisp-expr 6 Feb 2003 01:27:10 -0000 1.753 +++ version.lisp-expr 7 Feb 2003 02:11:10 -0000 1.754 @@ -18,4 +18,4 @@ ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.7.12.23" +"0.7.12.24" |