diff options
Diffstat (limited to 'bin/info2head')
-rwxr-xr-x | bin/info2head | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/bin/info2head b/bin/info2head new file mode 100755 index 00000000000..de8efa99c14 --- /dev/null +++ b/bin/info2head @@ -0,0 +1,166 @@ +#! /bin/sh +# ============================================================================= +# +# = DESCRIPTION +# Front end to awk script for generating manual pages from classinfo +# files. +# +# = AUTHOR(S) +# Graham Dumpleton +# K. Dorn +# +# = COPYRIGHT +# Copyright 1991 OTC LIMITED +# Copyright 1994 DUMPLETON SOFTWARE CONSULTING PTY LIMITED +# +# ============================================================================= + +OSE_HOST= + +OSE_RELEASE_NAME= +export OSE_RELEASE_NAME + +OSE_ROOT=${OSE_ROOT-$WRAPPER_ROOT} +export OSE_ROOT + +OSE_VERSION_ROOT=$OSE_ROOT +export OSE_VERSION_ROOT + +BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin" +LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/bin"} + +AWK="${AWK-nawk}" + + +if test "$AWK" = "nawk" +then + VARG="-v" +fi + +EXT="3" + +# +# Error. +# +ERROR() +{ + echo "`basename $0`: $1" >&2 + shift + while test $# != "0" + do + echo $1 >&2 + shift + done + exit 1 +} + +# +# Usage message. +# +USAGE() +{ + ERROR "Usage: `basename $0` file.ci" +} + +# +# Check usage. +# +if test $# != "1" -o "'basename $1 .ci'" = "$1" +then + USAGE +fi + +# +# Check for awk file etc. +# +INFO2DOC=$LIBDIR/info2doc.awk +MANFMT=$LIBDIR/info2head.fmt +HIDINGFMT=$LIBDIR/hiding.fmt + +if test ! -f $HIDINGFMT +then + ERROR "Can't find $HIDINGFMT" +fi + +if test ! -f $INFO2DOC +then + ERROR "Can't find $INFO2DOC" +fi + +if test ! -f $MANFMT +then + ERROR "Can't find $MANFMT" +fi + + + +ADTS=`$AWK ' +BEGIN { + FS="\n"; RS="" +} +$1 ~ "^(CLASS|STRUCT|UNION)$" && $2 !~ "(::|<)" { + printf( "%s\n", $2 ) +} +$1 ~ "^TEMPLATE$" && $3 !~ "::" { + printf( "%s\n", $3 ) +}' $1` + + +VPUBL=`$AWK ' +BEGIN { + FS="\n"; RS="" +} +$1 ~ "^PUBLIC$" { + if ( $2 ~ "on" ) + printf("%s","publ=on"); + else + printf("%s","publ="); +}' $HIDINGFMT` + +VPROT=`$AWK ' +BEGIN { + FS="\n"; RS="" +} +$1 ~ "^PROTECTED$" { + if ( $2 ~ "on" ) + printf("%s","prot=on"); + else + printf("%s","prot="); +}' $HIDINGFMT` + +VPRIV=`$AWK ' +BEGIN { + FS="\n"; RS="" +} +$1 ~ "^PRIVATE$" { + if ( $2 ~ "on" ) + printf("%s","priv=on"); + else + printf("%s","priv="); +}' $HIDINGFMT` + +echo " $VPUBL $VPROT $VPRIV " + + +# $VARG publ=on $VARG prot= $VARG priv= \ +# $VARG $VPUBL $VARG $VPROT $VARG $VPRIV \ +if test ! -z "$ADTS" +then + for ADT in $ADTS + do + echo "$ADT" + + echo "making $ADTS.hxx file ..." + $AWK -f $INFO2DOC \ + $VARG $VPUBL $VARG $VPROT $VARG $VPRIV \ + $VARG pass=0 $VARG device=text $VARG infile=$1 \ + $VARG class=$ADT \ + $MANFMT $MANFMT > $ADT.$EXT +# troff -a $ADT.$EXT > $ADT.hxx + cp $ADT.$EXT $ADT.hxx + echo "$ADTS.hxx file done!" +# echo "removing $ADTS.$EXT file ..." + \rm $ADT.$EXT +# echo "file $ADTS.$EXT file removed!" + done +fi |