1.0.13.20: added SB-EXT:*EXIT-HOOKS*
[sbcl.git] / doc / manual / make-tempfiles.sh
index baa7f65..2f7fc38 100644 (file)
@@ -1,7 +1,6 @@
 #!/bin/sh
 
 # Create Texinfo snippets from the documentation of exported symbols.
-# Also create contrib-docs.texi-temp to include documentation in contrib/.
 
 # This software is part of the SBCL system. See the README file for
 # more information.
 
 # We create the documentation from the in-tree sbcl if it is found,
 # else an installed sbcl is used.
-sbclsystem=`pwd`/../../src/runtime/sbcl
-sbclcore=`pwd`/../../output/sbcl.core
-if [ -e $sbclsystem ] && [ -e $sbclcore ] 
+
+if [ -z "$1" ]
 then
-    SBCLRUNTIME="${1:-$sbclsystem --core $sbclcore}"
-    export SBCL_HOME=`pwd`/../../contrib
+    . ../../sbcl-pwd.sh
+    sbcl_pwd
+
+    sbclsystem=$SBCL_PWD/../../src/runtime/sbcl
+    sbclcore=$SBCL_PWD/../../output/sbcl.core
+    if [ -e $sbclsystem ] && [ -e $sbclcore ]
+    then
+        SBCLRUNTIME="$sbclsystem --core $sbclcore"
+        SBCL_HOME=$SBCL_PWD/../../contrib/; export SBCL_HOME
+        SBCL_BUILDING_CONTRIB="please asdf install your hook"; export SBCL_BUILDING_CONTRIB
+    else
+        SBCLRUNTIME="`which sbcl`"
+    fi
 else
-    SBCLRUNTIME="${1:-`which sbcl`}"
+    SBCLRUNTIME="$1"
 fi
 
-SBCL="$SBCLRUNTIME --noinform --sysinit /dev/null --userinit /dev/null --noprint --disable-debugger"
+SBCL="$SBCLRUNTIME --noinform --no-sysinit --no-userinit --noprint --disable-debugger"
+
+# extract version and date
+VERSION=`$SBCL --eval '(write-line (lisp-implementation-version))' --eval '(sb-ext:quit)'`
+MONTH=`date "+%Y-%m"`
+
+sed -e "s/@VERSION@/$VERSION/" \
+    -e "s/@MONTH@/$MONTH/" < variables.template > variables.texinfo || exit 1
 
 # Output directory.  This has to end with a slash (it's interpreted by
 # Lisp's `pathname' function) or you lose.  This is normally set from
@@ -40,10 +56,14 @@ DOCSTRINGDIR="${DOCSTRINGDIR:-docstrings/}"
 #PACKAGES="${PACKAGES:-:COMMON-LISP :SB-ALIEN :SB-DEBUG :SB-EXT :SB-GRAY :SB-MOP :SB-PROFILE :SB-THREAD}"
 
 echo /creating docstring snippets from SBCL=\'$SBCLRUNTIME\' for packages \'$PACKAGES\'
-echo "(progn (load \"docstrings.lisp\") (dolist (module (quote ($MODULES))) (require module)) (docstrings-to-texinfo \"$DOCSTRINGDIR\" $PACKAGES) (sb-ext:quit))" | $SBCL
-
-echo /creating contrib-docs.texi-temp
-echo "(load \"create-contrib-doc-list.lisp\")" | $SBCL
+$SBCL <<EOF
+(load "docstrings.lisp")
+(require :asdf)
+(dolist (module (quote ($MODULES)))
+  (require module))
+(sb-texinfo:generate-includes "$DOCSTRINGDIR" $PACKAGES)
+(sb-ext:quit))
+EOF
 
 echo /creating package-locks.texi-temp
 if $SBCL --eval "(let ((plp (find-symbol \"PACKAGE-LOCKED-P\" :sb-ext))) (quit :unix-status (if (and plp (fboundp plp)) 0 1)))";