#! /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