]> granicus.if.org Git - python/commitdiff
Support long options that take arguments of the form --option=value as well
authorFred Drake <fdrake@acm.org>
Fri, 28 Aug 1998 20:21:04 +0000 (20:21 +0000)
committerFred Drake <fdrake@acm.org>
Fri, 28 Aug 1998 20:21:04 +0000 (20:21 +0000)
as --option value.

Minor nits cleaned up.

Doc/tools/mkhowto.sh

index 69b9b4df55daeb9dc7b0132f869daf0cfd40c1ea..6fa83b2006a833c84221894ef46c21d7063b9dcf 100755 (executable)
@@ -22,10 +22,12 @@ DISCARD_TEMPS=true
 
 ICONSERVER=''
 
+TEMPBASE=mkhowto-$LOGNAME-$$
+
 L2H_INIT_FILE=$TOPDIR/perl/l2hinit.perl
-L2H_AUX_INIT_FILE=/usr/tmp/mkhowto-$LOGNAME-$$.perl
+L2H_AUX_INIT_FILE=/usr/tmp/$TEMPBASE.perl
 
-LOGFILE=/usr/tmp/mkhowto-$LOGNAME-$$.how
+LOGFILE=/usr/tmp/$TEMPBASE.how
 LOGGING=''
 
 usage() {
@@ -160,9 +162,23 @@ cleanup() {
     rm -f $1/IMG* $1/*.pl $1/WARNINGS $1/index.dat $1/modindex.dat
 }
 
+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
-    case "$1" in
+    parse_option "$1"
+    case "$OPTION" in
        --all|--al)
            BUILD_PDF=true
            BUILD_PS=true
@@ -204,10 +220,18 @@ while [ "$1" ] ; do
            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
@@ -219,10 +243,18 @@ while [ "$1" ] ; do
            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
@@ -244,7 +276,7 @@ while [ "$1" ] ; do
            break
            ;;
        -*)
-           usage 2
+           usage 2 "Unknown option: ${VALUE%=}"
            ;;
        *)
            break;;
@@ -277,6 +309,9 @@ fi
 
 echo '# auxillary init file for latex2html' >$L2H_AUX_INIT_FILE
 echo '# generated by mkhowto.sh -- do no edit' >>$L2H_AUX_INIT_FILE
+if [ "$ICONSERVER" ] ; then
+    ICONSERVER="${ICONSERVER%/}"
+fi
 l2hoption ICONSERVER "$ICONSERVER"
 l2hoption ADDRESS "$ADDRESS"
 l2hoption MAX_LINK_DEPTH "$MAX_LINK_DEPTH"
@@ -285,7 +320,7 @@ echo '1;' >>$L2H_AUX_INIT_FILE
 
 for FILE in $@ ; do
     FILEDIR=`dirname $FILE`
-    FILE=`basename ${FILE%.tex}`
+    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.