Commit 0b50f756 authored by Fred Drake's avatar Fred Drake

Support long options that take arguments of the form --option=value as well

as --option value.

Minor nits cleaned up.
parent 51f9c600
...@@ -22,10 +22,12 @@ DISCARD_TEMPS=true ...@@ -22,10 +22,12 @@ DISCARD_TEMPS=true
ICONSERVER='' ICONSERVER=''
TEMPBASE=mkhowto-$LOGNAME-$$
L2H_INIT_FILE=$TOPDIR/perl/l2hinit.perl 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='' LOGGING=''
usage() { usage() {
...@@ -160,9 +162,23 @@ cleanup() { ...@@ -160,9 +162,23 @@ cleanup() {
rm -f $1/IMG* $1/*.pl $1/WARNINGS $1/index.dat $1/modindex.dat 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: # figure out what our targets are:
while [ "$1" ] ; do while [ "$1" ] ; do
case "$1" in parse_option "$1"
case "$OPTION" in
--all|--al) --all|--al)
BUILD_PDF=true BUILD_PDF=true
BUILD_PS=true BUILD_PS=true
...@@ -204,10 +220,18 @@ while [ "$1" ] ; do ...@@ -204,10 +220,18 @@ while [ "$1" ] ; do
ICONSERVER="$2" ICONSERVER="$2"
shift 2 shift 2
;; ;;
--iconserver=*|--iconserve=*|--iconserv=*|--iconser=*|--iconse=*|--icons=*|--icon=*|--ico=*|--ic=*|--i=*)
ICONSERVER="$VALUE"
shift 1
;;
-a|--address|--addres|--addre|-addr|--add|--ad) -a|--address|--addres|--addre|-addr|--add|--ad)
ADDRESS="$2" ADDRESS="$2"
shift 2 shift 2
;; ;;
--address=*|--addres=*|--addre=*|-addr=*|--add=*|--ad=*)
ADDRESS="$VALUE"
shift 1
;;
--a4) --a4)
TEXINPUTS=$TOPDIR/paper-a4:$TEXINPUTS TEXINPUTS=$TOPDIR/paper-a4:$TEXINPUTS
shift 1 shift 1
...@@ -219,10 +243,18 @@ while [ "$1" ] ; do ...@@ -219,10 +243,18 @@ while [ "$1" ] ; do
LINK="$2" LINK="$2"
shift 2 shift 2
;; ;;
--link=*|--lin=*|--li=*)
LINK="$VALUE"
shift 1
;;
-s|--split|--spli|--spl|--sp|--s) -s|--split|--spli|--spl|--sp|--s)
MAX_SPLIT_DEPTH="$2" MAX_SPLIT_DEPTH="$2"
shift 2 shift 2
;; ;;
--split=|--spli=|--spl=|--sp=|--s=)
MAX_SPLIT_DEPTH="$VALUE"
shift 1
;;
-l|--logging|--loggin|--loggi|--logg|--log|--lo) -l|--logging|--loggin|--loggi|--logg|--log|--lo)
LOGGING=true LOGGING=true
shift 1 shift 1
...@@ -244,7 +276,7 @@ while [ "$1" ] ; do ...@@ -244,7 +276,7 @@ while [ "$1" ] ; do
break break
;; ;;
-*) -*)
usage 2 usage 2 "Unknown option: ${VALUE%=}"
;; ;;
*) *)
break;; break;;
...@@ -277,6 +309,9 @@ fi ...@@ -277,6 +309,9 @@ fi
echo '# auxillary init file for latex2html' >$L2H_AUX_INIT_FILE echo '# auxillary init file for latex2html' >$L2H_AUX_INIT_FILE
echo '# generated by mkhowto.sh -- do no edit' >>$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 ICONSERVER "$ICONSERVER"
l2hoption ADDRESS "$ADDRESS" l2hoption ADDRESS "$ADDRESS"
l2hoption MAX_LINK_DEPTH "$MAX_LINK_DEPTH" l2hoption MAX_LINK_DEPTH "$MAX_LINK_DEPTH"
...@@ -285,7 +320,7 @@ echo '1;' >>$L2H_AUX_INIT_FILE ...@@ -285,7 +320,7 @@ echo '1;' >>$L2H_AUX_INIT_FILE
for FILE in $@ ; do for FILE in $@ ; do
FILEDIR=`dirname $FILE` 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 # 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, to allow files there to override files in the common area.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment