#!/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
- SBCL="${1:-$sbclsystem --core $sbclcore}"
- export SBCL_HOME=`pwd`/../../contrib
+ sbclsystem=`pwd`/../../src/runtime/sbcl
+ sbclcore=`pwd`/../../output/sbcl.core
+ if [ -e $sbclsystem ] && [ -e $sbclcore ]
+ then
+ SBCLRUNTIME="$sbclsystem --core $sbclcore"
+ SBCL_HOME=`pwd`/../../contrib/; export SBCL_HOME
+ SBCL_BUILDING_CONTRIB="please asdf install your hook"; export SBCL_BUILDING_CONTRIB
+ else
+ SBCLRUNTIME="`which sbcl`"
+ fi
else
- SBCL="${1:-`which sbcl`}"
+ SBCLRUNTIME="$1"
fi
+SBCL="$SBCLRUNTIME --noinform --sysinit /dev/null --userinit /dev/null --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
# Makefile.
# is normally set from Makefile.
#PACKAGES="${PACKAGES:-:COMMON-LISP :SB-ALIEN :SB-DEBUG :SB-EXT :SB-GRAY :SB-MOP :SB-PROFILE :SB-THREAD}"
-echo /creating docstring snippets from SBCL=\'$SBCL\' for packages \'$PACKAGES\'
-echo "(progn (load \"docstrings.lisp\") (dolist (module (quote ($MODULES))) (require module)) (docstrings-to-texinfo \"$DOCSTRINGDIR\" $PACKAGES) (sb-ext:quit))" | $SBCL --noinform --sysinit /dev/null --userinit /dev/null --noprint --disable-debugger
-
-echo /creating contrib-docs.texi-temp
-echo "(load \"create-contrib-doc-list.lisp\")" | $SBCL --noinform --sysinit /dev/null --userinit /dev/null --noprint --disable-debugger
+echo /creating docstring snippets from SBCL=\'$SBCLRUNTIME\' for packages \'$PACKAGES\'
+$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 --noinform --sysinit /dev/null --userinit /dev/null --noprint --disable-debugger --eval '(quit :unix-status #+sb-package-locks 0 #-sb-package-locks 1)'
+if $SBCL --eval "(let ((plp (find-symbol \"PACKAGE-LOCKED-P\" :sb-ext))) (quit :unix-status (if (and plp (fboundp plp)) 0 1)))";
then
cp package-locks-extended.texinfo package-locks.texi-temp
else