#! /bin/sh # ============================================================================= # # = DESCRIPTION # Script to combine class2info and info2src. # # = AUTHOR(S) # Graham Dumpleton # K. Dorn # # = COPYRIGHT # Copyright 1991 OTC LIMITED # # ============================================================================= OSE_HOST= OSE_RELEASE_NAME= export OSE_RELEASE_NAME OSE_ROOT=${OSE_ROOT-$ACE_ROOT} export OSE_ROOT OSE_VERSION_ROOT=$OSE_ROOT/$OSE_RELEASE_NAME export OSE_VERSION_ROOT BINDIR="$OSE_VERSION_ROOT/$OSE_HOST/bin" LIBDIR=${CLASSINFOLIBDIR-"$OSE_VERSION_ROOT/bin"} AWK="nawk" # # 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" } if test $# != "1" -o "'basename $1 .ci'" = "$1" then USAGE fi # # Check for awk file. # INFO2SRC=$BINDIR/info2src.awk HIDINGFMT=$LIBDIR/hiding.fmt file=`basename $1` base="`echo $file | sed -e 's/\..*$//'`" if test ! -f $INFO2SRC then ERROR "Can't find $INFO2SRC" fi if test ! -f $HIDINGFMT then ERROR "Can't find $HIDINGFMT" fi VCSA=`$AWK ' BEGIN { FS="\n"; RS="" } $1 ~ "^CSAHEADER$" { if ( $2 ~ "on" ) printf("%s","csaprintheader=on"); else printf("%s","csaprintheader="); }' $HIDINGFMT` 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 $VCSA " # $VARG publ=on $VARG prot=on $VARG priv=on \ echo "making $base.cxx file ..." $AWK -f $INFO2SRC \ $VARG $VPUBL $VARG $VPROT $VARG $VPRIV $VARG $VCSA \ $VARG infile=$1 $VARG classext= $VARG mode=multiple \ $1 > $base.cxx echo "$base.cxx file done!"