0.9.15.19:
[sbcl.git] / install.sh
index 4d26e68..be85573 100644 (file)
@@ -10,13 +10,21 @@ ensure_dirs ()
     done;
 }
 
-INSTALL_ROOT=${INSTALL_ROOT-/usr/local}
+if [ "$OSTYPE" = "cygwin" -o "$OSTYPE" = "msys" ] ; then
+    DEFAULT_INSTALL_ROOT="$PROGRAMFILES/sbcl"
+    RUNTIME=sbcl.exe
+    OLD_RUNTIME=sbcl.exe.old
+else
+    DEFAULT_INSTALL_ROOT=/usr/local
+    RUNTIME=sbcl
+    OLD_RUNTIME=sbcl.old
+fi
+INSTALL_ROOT=${INSTALL_ROOT-$DEFAULT_INSTALL_ROOT}
 MAN_DIR=${MAN_DIR-$INSTALL_ROOT/share/man}
 INFO_DIR=${INFO_DIR-$INSTALL_ROOT/share/info}
 DOC_DIR=${DOC_DIR-$INSTALL_ROOT/share/doc/sbcl}
 
 # Does the environment look sane?
-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
@@ -26,7 +34,7 @@ if [ -n "$SBCL_HOME" -a "$INSTALL_ROOT/lib/sbcl" != "$SBCL_HOME" ];then
 fi
 
 # Before doing anything else, make sure we have an SBCL to install
-if [ -f src/runtime/sbcl ]; then
+if [ -f src/runtime/$RUNTIME ]; then
     if [ -f output/sbcl.core ]; then
         true
     else
@@ -34,7 +42,7 @@ if [ -f src/runtime/sbcl ]; then
         exit 1
     fi
 else
-    echo "src/runtime/sbcl not found, aborting installation."
+    echo "src/runtime/$RUNTIME not found, aborting installation."
     exit 1
 fi
 
@@ -45,22 +53,26 @@ ensure_dirs $BUILD_ROOT$INSTALL_ROOT $BUILD_ROOT$INSTALL_ROOT/bin \
     $BUILD_ROOT$MAN_DIR $BUILD_ROOT$MAN_DIR/man1 \
     $BUILD_ROOT$INFO_DIR $BUILD_ROOT$DOC_DIR \
     $BUILD_ROOT$DOC_DIR/html \
-    $BUILD_ROOT$SBCL_HOME $BUILD_ROOT$SBCL_HOME/systems \
+    $BUILD_ROOT$SBCL_HOME \
     $BUILD_ROOT$SBCL_HOME/site-systems
 
 # 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 $BUILD_ROOT$INSTALL_ROOT/bin/sbcl && \
-    mv $BUILD_ROOT$INSTALL_ROOT/bin/sbcl $BUILD_ROOT$INSTALL_ROOT/bin/sbcl.old
+test -f $BUILD_ROOT$INSTALL_ROOT/bin/$RUNTIME && \
+ mv $BUILD_ROOT$INSTALL_ROOT/bin/$RUNTIME \
+    $BUILD_ROOT$INSTALL_ROOT/bin/$OLD_RUNTIME
 test -f $BUILD_ROOT$SBCL_HOME/sbcl.core && \
     mv $BUILD_ROOT$SBCL_HOME/sbcl.core $BUILD_ROOT$SBCL_HOME/sbcl.core.old
 
-cp src/runtime/sbcl $BUILD_ROOT$INSTALL_ROOT/bin/
+cp src/runtime/$RUNTIME $BUILD_ROOT$INSTALL_ROOT/bin/
 cp output/sbcl.core $BUILD_ROOT$SBCL_HOME/sbcl.core
 
 # installing contrib
 
-SBCL="`pwd`/src/runtime/sbcl --noinform --core `pwd`/output/sbcl.core --userinit /dev/null --sysinit /dev/null --disable-debugger"
+. ./sbcl-pwd.sh
+sbcl_pwd
+
+SBCL="$SBCL_PWD/src/runtime/sbcl --noinform --core $SBCL_PWD/output/sbcl.core --no-userinit --no-sysinit --disable-debugger"
 SBCL_BUILDING_CONTRIB=1
 export SBCL SBCL_BUILDING_CONTRIB
 
@@ -76,7 +88,7 @@ done
 
 echo
 echo "SBCL has been installed:"
-echo " binary $BUILD_ROOT$INSTALL_ROOT/bin/sbcl"
+echo " binary $BUILD_ROOT$INSTALL_ROOT/bin/$RUNTIME"
 echo " core and contribs in $BUILD_ROOT$INSTALL_ROOT/lib/sbcl/"
 
 # Installing manual & misc bits of documentation
@@ -96,7 +108,7 @@ echo "Documentation:"
 cp doc/sbcl.1 $BUILD_ROOT$MAN_DIR/man1/ && echo " man $BUILD_ROOT$MAN_DIR/man1/sbcl.1"
 
 # info
-for info in doc/manual/*.info
+for info in doc/manual/*.info doc/manual/*.info-*
 do
   cp $info $BUILD_ROOT$INFO_DIR/ \
       && echo -n " info $BUILD_ROOT$INFO_DIR/`basename $info` $BUILD_ROOT$INFO_DIR/dir" \