: $Workfile:   kixpl1.sh  $ $Revision:   1.0  $
#**********************************************************************#
#*                                                                    *#
#* Copyright (c) 2001 by Sun Microsystems, Inc.                       *#
#* All rights reserved.                                               *#
#*                                                                    *#
#**********************************************************************#


# kixpl1
# call pl1 compiler
# params: y	Terminal device	used
#	  9	temporary output listing file name
#	  o	output file name (.int/.gnt)
#	  VAXCLONEintut7	miscellaneous pl1 options
#	  <filename> file name to process


FOUTPUT=OFF
PP_FLAGS=""
PPLFLAGS=""
PLTFLAGS=""
PLIFLAGS=""


set -- `getopt WVAXCLONEinTo:ut7y:9:c:e: $*`

# while	options	to process
while test "$1"	!= "--"
do
    case $1 in
    -y)
	shift
	TTYNAME=$1
	;;
    -c)
	shift
	if test "$INCPATH" = ""
	then
	   INCPATH=$1
	   PPLFLAGS="include=$1"
        else
	   INCPATH="$1:$INCPATH"
	   PPLFLAGS="include=$1 $PPLFLAGS"
        fi
        ;;
    -9)
	shift
	FLOG=$1
	FOUTPUT=YES
	;;
    -o)
	shift
	NWO=$1
	;;
    -e)
	shift
	EXT=$1
	;;
    -C)
	;;
    -L)
	PP_FLAGS="-nodebuginfo $PP_FLAGS"
	;;
    -n)
	PLIFLAGS="-exp $PLIFLAGS"
	;;
    -O)
	PLIFLAGS="-opt 2 $PLIFLAGS"
	;;
    -N)
	PLIFLAGS="-map $PLIFLAGS"
	;;
    -7)
	PLIFLAGS="-debug $PLIFLAGS"
	;;
    -A)
	PLIFLAGS="-pic $PLIFLAGS"
	;;
    -E)
	PLTFLAGS="-cicsdebug"
	;;
    -i)
	;;
    -u)
	;;
    -T)
	;;
    -t)
	;;
    -X)
	PLIFLAGS="-zp1 $PLIFLAGS"
	;;
    -V)
	;;
    -W)
	;;
    *)
	exit 1
	# illegal option encountered
	;;
    esac
    shift
done

PLIFLAGS="$PLIFLAGS -ipath $INCPATH"
PP_FLAGS="$PP_FLAGS -isuffix .inc -margins 2,72 -ipath $INCPATH"

export INCPATH PP_FLAGS PPLFLAGS PLIFLAGS PLTFLAGS

UNAM=`uname`
if test "$UNAM" = "SunOS"
	then LDOPT="-G"
fi
if test "$UNAM" = "HP-UX"
	then  LDOPT="-b"
fi

XXT=`echo $2 | sed -e "s/....$//"`

if test "$FLOG" != ""
then
    trap "/bin/rm -f $FLOG*; exit 1"  1 2 3
fi
echo "Processing $2, please wait..." >$FLOG

PP=$LPI_PRODUCT_DIR/bin/lpipp
PPL=$LPI_PRODUCT_DIR/bin/propli
PLT=$UNIKIX/bin/kixplt
PLI=$LPI_PRODUCT_DIR/bin/lpipl1
PLX=$LPI_PRODUCT_DIR/bin/lpiplx
export PP PPL PLT PLI PLX

if test	$FOUTPUT = "YES"
then
case $EXT in
    ppl)
       echo "rm  -f $NWO.list $NWO.stb $NWO.temppli $NWO.o" >> $FLOG 2>> $FLOG
       rm  -f $NWO.list $NWO.stb $NWO.temppli $NWO.o >> $FLOG 2>> $FLOG
       
       echo "$PP  $PP_FLAGS $2 -o temp.ppl" >> $FLOG 2>> $FLOG
       $PP  $PP_FLAGS $2 -o temp.ppl >> $FLOG 2>> $FLOG
       
       echo "$PPL iname=temp.ppl oname=tempplt ireclen=256 lmargin=2 rmargin=72 maxliteral=160 mode=ansi $PPLFLAGS" >>$FLOG 2>> $FLOG
       $PPL iname=temp.ppl oname=tempplt ireclen=256 \
            lmargin=2 rmargin=72 maxliteral=160 mode=ansi \
            $PPLFLAGS >> $FLOG 2>> $FLOG
       
       echo "$PLT $PLTFLAGS -i tempplt -o $NWO.temppli" >> $FLOG 2>> $FLOG
       $PLT $PLTFLAGS -i tempplt -o $NWO.temppli >> $FLOG 2>> $FLOG
       
       echo "$PLI $PLIFLAGS $NWO.temppli -o $NWO.o" >> $FLOG 2>> $FLOG
       $PLI $PLIFLAGS $NWO.temppli -o $NWO.o >> $FLOG 2>> $FLOG
       
       echo "rm temp.ppl tempplt" >> $FLOG 2>> $FLOG
       rm temp.ppl tempplt temp.lis
       ;;
    
    plt)
       echo "rm  -f $NWO.list $NWO.stb $NWO.temppli $NWO.o" >> $FLOG 2>> $FLOG
       rm  -f $NWO.list $NWO.stb $NWO.temppli $NWO.o >> $FLOG 2>> $FLOG
       
       echo "$PP  $PP_FLAGS $2 -o tempplt" >> $FLOG 2>> $FLOG
       $PP  $PP_FLAGS $2 -o tempplt >> $FLOG 2>> $FLOG
       
       echo "$PLT $PLTFLAGS -i tempplt -o $NWO.temppli" >> $FLOG 2>> $FLOG
       $PLT $PLTFLAGS -i tempplt -o $NWO.temppli >> $FLOG 2>> $FLOG
       
       echo "$PLI $PLIFLAGS $NWO.temppli -o $NWO.o" >> $FLOG 2>> $FLOG
       $PLI $PLIFLAGS $NWO.temppli -o $NWO.o >> $FLOG 2>> $FLOG
       
       echo "rm tempplt" >> $FLOG 2>> $FLOG
       rm tempplt
       ;;
    
    pli)
       echo "rm  -f $NWO.list $NWO.stb $NWO.temppli $NWO.o" >> $FLOG 2>> $FLOG
       rm  -f $NWO.list $NWO.stb $NWO.temppli $NWO.o >> $FLOG 2>> $FLOG
       
       echo "$PP  $PP_FLAGS $2 -o $NWO.temppli" >> $FLOG 2>> $FLOG
       $PP  $PP_FLAGS $2 -o $NWO.temppli >> $FLOG 2>> $FLOG
       
       echo "$PLI $PLIFLAGS $NWO.temppli -o $NWO.o" >> $FLOG 2>> $FLOG
       $PLI $PLIFLAGS $NWO.temppli -o $NWO.o >> $FLOG 2>> $FLOG
       ;;
       
       pl1)
       echo "rm  -f $NWO.list $NWO.stb $NWO.temppli $NWO.o" >> $FLOG 2>> $FLOG
       rm  -f $NWO.list $NWO.stb $NWO.temppli $NWO.o >> $FLOG 2>> $FLOG
       
       echo "$PP  $PP_FLAGS $2 -o $NWO.temppli" >> $FLOG 2>> $FLOG
       $PP  $PP_FLAGS $2 -o $NWO.temppli >> $FLOG 2>> $FLOG
       
       echo "$PLI $PLIFLAGS $NWO.temppli -o $NWO.o" >> $FLOG 2>> $FLOG
       $PLI $PLIFLAGS $NWO.temppli -o $NWO.o >> $FLOG 2>> $FLOG
       ;;
    
    *)
       exit 1
# illegal PL1 suffix encountered
       ;;
    esac

    echo "ld $LDOPT  -o $NWO.so $NWO.o" >> $FLOG 2>> $FLOG
    ld $LDOPT -o $NWO.so $NWO.o >> $FLOG 2>> $FLOG

#    cat $FLOG > aa.$FLOG
    if test "$FLOG" != ""
    then 
	/bin/rm -f $FLOG.*
    fi
    
    exit 0
fi
