0.8.1.5:
[sbcl.git] / install.sh
index 9a02a51..4f93837 100644 (file)
@@ -22,12 +22,14 @@ 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
+    $SBCL_HOME $SBCL_HOME/systems $SBCL_HOME/site-systems
 
-test -e $INSTALL_ROOT/bin/sbcl && \
-    cp $INSTALL_ROOT/bin/sbcl $INSTALL_ROOT/bin/sbcl.old
-test -e $SBCL_HOME/sbcl.core && \
-    cp $SBCL_HOME/sbcl.core $SBCL_HOME/sbcl.core.old
+# move old versions out of the way.  Safer than copying: don't want to
+# break any running instances that have these files mapped
+test -f $INSTALL_ROOT/bin/sbcl && \
+    mv $INSTALL_ROOT/bin/sbcl $INSTALL_ROOT/bin/sbcl.old
+test -f $SBCL_HOME/sbcl.core && \
+    mv $SBCL_HOME/sbcl.core $SBCL_HOME/sbcl.core.old
 
 cp src/runtime/sbcl $INSTALL_ROOT/bin/
 cp output/sbcl.core $SBCL_HOME/sbcl.core
@@ -39,9 +41,10 @@ SBCL="`pwd`/src/runtime/sbcl --noinform --core `pwd`/output/sbcl.core --userinit
 SBCL_BUILDING_CONTRIB=1
 export SBCL SBCL_BUILDING_CONTRIB
 
-gnumake=$(GNUMAKE:-gmake}
+gnumake=${GNUMAKE:-gmake}
 for i in contrib/*; do
-    test -d $i || continue;
-    export INSTALL_DIR=$SBCL_HOME/`basename $i `
-    $gnumake -C $i test && ensure_dirs $INSTALL_DIR && make -C $i install
+    test -d $i && test -f $i/test-passed || continue;
+    INSTALL_DIR=$SBCL_HOME/`basename $i `
+    export INSTALL_DIR
+    ensure_dirs $INSTALL_DIR && $gnumake -C $i install
 done