#! /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-$WRAPPER_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!"