summaryrefslogtreecommitdiffstats
path: root/Doc/tools
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>1999-03-03 20:28:17 (GMT)
committerFred Drake <fdrake@acm.org>1999-03-03 20:28:17 (GMT)
commitb1d839866c3c3a4924891137b8ea58ba3cb6d3da (patch)
tree184c6829e89e9d4ad80c5963bdc89a711159c83b /Doc/tools
parent6b12b1ec1d7d1b07784bb0973fc5de39a11a6f74 (diff)
downloadcpython-b1d839866c3c3a4924891137b8ea58ba3cb6d3da.zip
cpython-b1d839866c3c3a4924891137b8ea58ba3cb6d3da.tar.gz
cpython-b1d839866c3c3a4924891137b8ea58ba3cb6d3da.tar.bz2
Obsolete; use the Python version instead.
Diffstat (limited to 'Doc/tools')
-rwxr-xr-xDoc/tools/mkhowto.sh411
1 files changed, 0 insertions, 411 deletions
diff --git a/Doc/tools/mkhowto.sh b/Doc/tools/mkhowto.sh
deleted file mode 100755
index 76bbda6..0000000
--- a/Doc/tools/mkhowto.sh
+++ /dev/null
@@ -1,411 +0,0 @@
-#! /usr/bin/env ksh
-
-# This script may be invoked by naming it directly or via a shell alias,
-# but NOT through a symbolic link. Perhaps a future version will allow
-# the use of a symbolic link.
-#
-# Using a symbolic link will cause the script to not be able to locate
-# its support files.
-
-MYDIR=`dirname $0`
-WORKDIR=`pwd`
-cd $MYDIR
-MYDIR=`pwd`
-cd ..
-TOPDIR=`pwd`
-cd $WORKDIR
-
-# DEFAULT_FORMAT must be upper case...
-DEFAULT_FORMAT=PDF
-USE_DEFAULT_FORMAT=true
-DISCARD_TEMPS=true
-
-CONFIG_FILES=''
-ICONSERVER=''
-
-TEMPBASE=mkhowto-$LOGNAME-$$
-
-L2H_INIT_FILE=$TOPDIR/perl/l2hinit.perl
-L2H_AUX_INIT_FILE=/usr/tmp/$TEMPBASE.perl
-
-LOGFILE=/usr/tmp/$TEMPBASE.how
-LOGGING=''
-
-usage() {
- MYNAME=`basename $0`
- cat <<EOF
-usage: $MYNAME [options...] file ...
-
-Options specifying formats to build:
- --html HyperText Markup Language
- --pdf Portable Document Format (default)
- --ps PostScript
- --dvi "DeVice Indepentent" format from TeX
- --text ASCII text (requires lynx)
-
- More than one output format may be specified, or --all.
-
-HTML options:
- --address, -a Specify an address for page footers.
- --link Specify the number of levels to include on each page.
- --split, -s Specify a section level for page splitting, default: $MAX_SPLIT_DEPTH.
- --iconserver, -i Specify location of icons (default: ../).
-
-Other options:
- --a4 Format for A4 paper.
- --letter Format for US letter paper (the default).
- --help, -H Show this text.
- --logging, -l Log stdout and stderr to a file (*.how).
- --debugging, -D Echo commands as they are executed.
- --keep, -k Keep temporary files around.
- --quiet, -q Do not print command output to stdout.
- (stderr is also lost, sorry; see *.how for errors)
-
-EOF
- if [ "$2" ] ; then
- echo "$2"
- echo
- fi
- exit $1
-}
-
-# These are LaTeX2HTML controls; they reflect l2h variables of the same name.
-# The values here are the defaults after modification by perl/l2hinit.perl.
-#
-ADDRESS=''
-MAX_LINK_DEPTH=3
-MAX_SPLIT_DEPTH=6
-
-build_html() {
- TEXFILE=`kpsewhich $1.tex`
- TEXFILE="${TEXFILE#./}"
- BUILDDIR=${2:-$1}
- latex2html \
- -init_file $L2H_INIT_FILE \
- -init_file $L2H_AUX_INIT_FILE \
- -dir $BUILDDIR $TEXFILE || exit $?
- cp $TOPDIR/html/style.css $BUILDDIR/$1.css
- if [ "$MAX_SPLIT_DEPTH" -ne 1 ] ; then
- (cd $BUILDDIR; $MYDIR/node2label.pl *.html) || exit $?
- fi
-}
-
-use_latex() {
- # two args: <file> <latextype>
- MYFILE=$1
- MYLATEX=$2
- #
- # We really have to do it three times to get all the page numbers right,
- # since the length of the ToC makes a real difference.
- #
- $MYDIR/newind.py >$MYFILE.ind
- $MYDIR/newind.py modindex >mod$MYFILE.ind
- $MYLATEX $MYFILE || exit $?
- if [ -f mod$MYFILE.idx ] ; then
- makeindex mod$MYFILE.idx
- fi
- if [ -f $MYFILE.idx ] ; then
- $MYDIR/fix_hack $MYFILE.idx
- makeindex $MYFILE.idx
- $MYDIR/indfix.py $MYFILE.ind
- fi
- if [ `grep -c '^\\\\bibdata{' $MYFILE.aux` -ne 0 ] ; then
- USE_BIBTEX=true
- bibtex $MYFILE
- else
- USE_BIBTEX=''
- fi
- if [ -f $MYFILE.syn ] ; then
- # This hack is due to a bug with the module synopsis support that
- # causes the last module synopsis to be written out twice in
- # howto documents (not present for manuals). Repeated below.
- uniq $MYFILE.syn >TEMP.syn && mv TEMP.syn $MYFILE.syn || exit $?
- fi
- $MYLATEX $MYFILE || exit $?
- if [ -f mod$MYFILE.idx ] ; then
- makeindex mod$MYFILE.idx
- fi
- if [ -f $MYFILE.idx ] ; then
- $MYDIR/fix_hack $MYFILE.idx || exit $?
- makeindex -s $TOPDIR/texinputs/python.ist $MYFILE.idx || exit $?
- fi
- if [ -f $MYFILE.toc -a $MYLATEX = pdflatex ] ; then
- $MYDIR/toc2bkm.py -c section $MYFILE
- fi
- if [ -f $MYFILE.syn ] ; then
- uniq $MYFILE.syn >TEMP.syn && mv TEMP.syn $MYFILE.syn || exit $?
- fi
- if [ "$USE_BIBTEX" ] ; then
- bibtex $MYFILE
- fi
- $MYLATEX $MYFILE || exit $?
-}
-
-build_dvi() {
- use_latex $1 latex
-}
-
-build_pdf() {
- use_latex $1 pdflatex
-}
-
-build_ps() {
- dvips -N0 -o $1.ps $1 || exit $?
-}
-
-build_text() {
- lynx -nolist -dump $2/index.html >$1.txt
-}
-
-l2hoption() {
- if [ "$2" ] ; then
- VALUE=`echo "$2" | sed 's/[$"@]/\\\\&/g'`
- echo "\$$1 = \"$VALUE\";" >>$L2H_AUX_INIT_FILE
- fi
-}
-
-cleanup() {
- rm -f $1.aux $1.log $1.out $1.toc $1.bkm $1.idx $1.ilg $1.ind $1.syn $1.pla
- rm -f mod$1.idx mod$1.ilg mod$1.ind
- if [ ! "$BUILD_DVI" ] ; then
- rm -f $1.dvi
- fi
- rm -rf $1.temp-html
- rm -f $1/IMG* $1/*.pl $1/WARNINGS $1/index.dat $1/modindex.dat
- # bibtex stuff
- rm -f $1.bbl $1.blg
-}
-
-parse_option() {
- # When using a long option with a parameter separated by '=',
- # generalize the parsing of the two:
- OPTION="$1"
- unset VALUE
- STUFF=`echo "$1" | grep '^--[-a-zA-Z0-9]*='`
- if [ "$STUFF" ] ; then
- # This leaves OPTION=--option= and VALUE=value
- OPTION=`echo "$STUFF" | sed 's/^\(--[-a-zA-Z0-9]*=\)\(.*\)$/\1/'`
- VALUE=`echo "$STUFF" | sed 's/^\(--[-a-zA-Z0-9]*=\)\(.*\)$/\2/'`
- fi
-}
-
-# figure out what our targets are:
-while [ "$1" ] ; do
- parse_option "$1"
- case "$OPTION" in
- --all|--al)
- BUILD_PDF=true
- BUILD_PS=true
- BUILD_DVI=true
- BUILD_HTML=true
- BUILD_TEXT=true
- USE_DEFAULT_FORMAT=false
- shift 1
- ;;
- --pdf|--pd)
- BUILD_PDF=true
- USE_DEFAULT_FORMAT=false
- shift 1
- ;;
- --ps|--postscript|--postscrip|--postscri|--postscr|--postsc|--posts|--post|--pos|--po)
- BUILD_PS=true
- USE_DEFAULT_FORMAT=false
- shift 1
- ;;
- --dvi|--dv|--d)
- BUILD_DVI=true
- USE_DEFAULT_FORMAT=false
- shift 1
- ;;
- --html|--htm|--ht)
- BUILD_HTML=true
- USE_DEFAULT_FORMAT=false
- shift 1
- ;;
- --text|--tex|--te|--t)
- BUILD_TEXT=true
- USE_DEFAULT_FORMAT=false
- shift 1
- ;;
- -H|--help|--hel|--he)
- usage 0
- ;;
- -i|--iconserver|--iconserve|--iconserv|--iconser|--iconse|--icons|--icon|--ico|--ic|--i)
- ICONSERVER="$2"
- shift 2
- ;;
- --iconserver=*|--iconserve=*|--iconserv=*|--iconser=*|--iconse=*|--icons=*|--icon=*|--ico=*|--ic=*|--i=*)
- ICONSERVER="$VALUE"
- shift 1
- ;;
- -a|--address|--addres|--addre|-addr|--add|--ad)
- ADDRESS="$2"
- shift 2
- ;;
- --address=*|--addres=*|--addre=*|-addr=*|--add=*|--ad=*)
- ADDRESS="$VALUE"
- shift 1
- ;;
- --a4)
- TEXINPUTS=$TOPDIR/paper-a4:$TEXINPUTS
- shift 1
- ;;
- --l2h-config|--l2h-confi|--l2h-conf|--l2h-con|--l2h-co|--l2h-c|--l2h-|--l2h|--l2)
- CONFIG_FILES="$CONFIG_FILES $2"
- shift 2
- ;;
- --letter|--lette|--lett|--let|--le)
- shift 1
- ;;
- --link|--lin|--li)
- LINK="$2"
- shift 2
- ;;
- --link=*|--lin=*|--li=*)
- LINK="$VALUE"
- shift 1
- ;;
- -s|--split|--spli|--spl|--sp|--s)
- MAX_SPLIT_DEPTH="$2"
- shift 2
- ;;
- --split=|--spli=|--spl=|--sp=|--s=)
- MAX_SPLIT_DEPTH="$VALUE"
- shift 1
- ;;
- -l|--logging|--loggin|--loggi|--logg|--log|--lo)
- LOGGING=true
- shift 1
- ;;
- -D|--debugging|--debuggin|--debuggi|--debugg|--debug|--debu|--deb|--de)
- DEBUGGING=true
- shift 1
- ;;
- -k|--keep|--kee|--ke|--k)
- DISCARD_TEMPS=''
- shift 1
- ;;
- -q|--quiet|--quie|--qui|--qu|--q)
- QUIET=true
- shift 1
- ;;
- --)
- shift 1
- break
- ;;
- -*)
- usage 2 "Unknown option: ${VALUE%=}"
- ;;
- *)
- break;;
- esac
-done
-
-if [ $# = 0 ] ; then
- # check for a single .tex file in .
- COUNT=`ls -1 *.tex | wc -l | sed 's/[ ]//g'`
- if [ "$COUNT" -eq 1 ] ; then
- set -- `ls -1 *.tex`
- elif [ "$COUNT" -gt 1 ] ; then
- usage 2 "Could not deduce which file(s) to process as HOWTO documents."
- else
- usage 2 "No file to process."
- fi
-fi
-
-if [ $USE_DEFAULT_FORMAT = true ] ; then
- eval "BUILD_$DEFAULT_FORMAT=true"
-fi
-
-if [ "$QUIET" ] ; then
- exec >/dev/null
-fi
-
-if [ "$DEBUGGING" ] ; then
- set -x
-fi
-
-echo '# auxillary init file for latex2html' >$L2H_AUX_INIT_FILE
-echo '# generated by mkhowto.sh -- do not edit' >>$L2H_AUX_INIT_FILE
-for FILE in XXX $CONFIG_FILES ; do
- if [ ! "$FILE" = XXX ] ; then
- cat >>$L2H_AUX_INIT_FILE $FILE
- cat >>$L2H_AUX_INIT_FILE <<EOF
-
-print "\\ninitializing from file: $FILE";
-EOF
- fi
-done
-if [ "$ICONSERVER" ] ; then
- ICONSERVER="${ICONSERVER%/}"
-fi
-l2hoption ICONSERVER "$ICONSERVER"
-l2hoption ADDRESS "$ADDRESS"
-l2hoption MAX_LINK_DEPTH "$MAX_LINK_DEPTH"
-l2hoption MAX_SPLIT_DEPTH "$MAX_SPLIT_DEPTH"
-echo '1;' >>$L2H_AUX_INIT_FILE
-
-for FILE in $@ ; do
- FILEDIR=`dirname $FILE`
- FILE=`basename $FILE .tex`
- #
- # Put the directory the .tex file is in is also the first directory in
- # TEXINPUTS, to allow files there to override files in the common area.
- #
- TEXINPUTS=$FILEDIR:$TOPDIR/texinputs:$TEXINPUTS
- export TEXINPUTS
- #
- if [ "$BUILD_DVI" -o "$BUILD_PS" ] ; then
- build_dvi $FILE 2>&1 | tee -a $LOGFILE
- HAVE_TEMPS=true
- fi
- if [ "$BUILD_PDF" ] ; then
- build_pdf $FILE 2>&1 | tee -a $LOGFILE
- HAVE_TEMPS=true
- fi
- if [ "$BUILD_PS" ] ; then
- build_ps $FILE 2>&1 | tee -a $LOGFILE
- fi
- if [ "$BUILD_HTML" ] ; then
- if [ ! "$HAVE_TEMPS" ] ; then
- # need to get aux file
- build_dvi $FILE 2>&1 | tee -a $LOGFILE
- HAVE_TEMPS=true
- fi
- build_html $FILE $FILE 2>&1 | tee -a $LOGFILE
- if [ "$ICONSERVER" = "." ] ; then
- cp $TOPDIR/icons/*.gif $FILE/
- fi
- fi
- if [ "$BUILD_TEXT" ] ; then
- if [ ! "$HAVE_TEMPS" ] ; then
- # need to get aux file
- build_dvi $FILE 2>&1 | tee -a $LOGFILE
- HAVE_TEMPS=true
- fi
- # this is why building text really has to be last:
- if [ "$MAX_SPLIT_DEPTH" -ne 1 ] ; then
- echo '# re-hack this file for --text:' >>$L2H_AUX_INIT_FILE
- l2hoption MAX_SPLIT_DEPTH 1
- echo '1;' >>$L2H_AUX_INIT_FILE
- TEMPDIR=$FILE.temp-html
- build_html $FILE $TEMPDIR 2>&1 | tee -a $LOGFILE
- else
- TEMPDIR=$FILE
- fi
- build_text $FILE $TEMPDIR 2>&1 | tee -a $LOGFILE
- fi
-
- if [ "$DISCARD_TEMPS" ] ; then
- cleanup $FILE 2>&1 | tee -a $LOGFILE
- fi
- # keep the logfile around
- if [ "$LOGGING" ] ; then
- cp $LOGFILE $FILE.how
- fi
- rm -f $LOGFILE
-done
-
-if [ ! "$DEBUGGING" ] ; then
- rm -f $L2H_AUX_INIT_FILE
-fi