#!/bin/sh
:	'(c) Copyright	Empress Software Inc.	1983, 2003'

USAGE="*** Usage ***  $0  [-LOCAL] [-NOSHLIB | -USEMALLOC | -NOSBRK] [module ...]"

if test "$EMPRESSPATH" = "" 
then
	echo "EMPRESSPATH not set"
	exit 1

elif test ! -d $EMPRESSPATH
then
	echo "invalid EMPRESSPATH"
	exit 1
else
	RDBMSPATH=$EMPRESSPATH/rdbms
	export RDBMSPATH
fi

. $RDBMSPATH/util_bin/banner

. $EMPRESSPATH/config/options

EXIT_FLAG=1

OPTLIST=
LOCAL=true
CC=$EMPRESSPATH/bin/empcc
SHLIBDIR=$EMPRESSPATH/shlib

if test ! -d $SHLIBDIR
then
	SHLIB=no
else
	SHLIB=yes
fi

if test -d $RDBMSPATH/lib
then
	LOCAL=false
fi

TRY=true
ESQLOPT=
MAIN=capimain.o
USEAUDIOSTUB=false
USESRCLIB=false

while test "$TRY" = true
do
	case "$1" in
	   -LOCAL)	LOCAL=true
			shift ;;
  	   -NOSHLIB | -noshlib)	
			OPTLIST="$OPTLIST -NOSHLIB"
			SHLIB=no
	    		shift ;;
	   -COMPILER | -compiler)	
	    		shift
			CC=$1
	    		shift ;;
	   -USEMALLOC | -usemalloc)	
			OPTLIST="$OPTLIST -USEMALLOC"
			SHLIB=no
	    		shift ;;
	   -NOSBRK | -nosbrk)	
			OPTLIST="$OPTLIST -NOSBRK"
			SHLIB=no
	    		shift ;;
	   -ESQL | -esql)
			ESQLOPT=-ESQL
			shift ;;
	   -SYSMAIN | -sysmain)
			MAIN=guimain.o
			shift ;;	
	   -SYSUTIL | -sysutil)
			MAIN=utilmain.o
			shift ;;
	   -EMPMAIN | -empmain)
			MAIN=empmain.o
			shift ;;
	   -USEAUDIOSTUB | -useaudiostub)
			USEAUDIOSTUB=true
			shift ;;
	   -echoline)
			OPTLIST="$OPTLIST -echoline"
			shift
			;;
	   -listline | -listlines)
			OPTLIST="$OPTLIST -listlines"
			shift
			;;
	   -src_lib | -srclib)
			OPTLIST="$OPTLIST -src_lib"
			USESRCLIB=true
			shift
			;;
	   *)		TRY=false
			break ;;		
	esac
done

ARGS=
COUNT=0

ARGS="$@"

case "$SHLIB" in
 "no" )
	LIBSHARED=
	GUISHLIB=no
	;;
 * )
	case "$MSFEATURE_SHLIB" in
 	 hp | sun | s5r4 | sgi | maxon | linux)
		LIBSHARED="-L$SHLIBDIR -lmsgui" 
		GUISHLIB=yes
		;;

	 "")
		LIBSHARED=
		GUISHLIB=no
		;;
	 *)
		LIBSHARED=
		GUISHLIB=no
		;;
        esac
	;;
esac

if test "$LOCAL" = "true" || test "$USESRCLIB" = true
then
	LIB=$RDBMSPATH/src_lib

	case $MSSYS_DUPLICATELIB in
	  no)	
		GUIDUPLIB=
		;;
	  *)
		GUIDUPLIB="
			$LIB/guisup.a
			$LIB/guidb.a
			"
		;;
	esac

	case $GUISHLIB in
	  yes)
		GUILIB="$LIBSHARED $LIB/guiconfg.a"
		;;
	  no)
		GUILIB="
			$LIB/guimsup.a
			$LIB/guiscpt.a
			$LIB/guiintf.a

			$LIB/guisup.a
			$LIB/guidb.a
			$LIB/guigui.a
			$LIB/guidbc.a
			$LIB/guidbe.a
			$LIB/guiguie.a
			$LIB/guigutil.a
			$LIB/guihpt.a

			$GUIDUPLIB
			$LIB/guiconfg.a
		"
		;;
	esac

else
	LIB=$RDBMSPATH/lib

	case $GUISHLIB in
	  yes)
		GUILIB="$LIBSHARED $LIB/guiconfg.a"
		;;
	  no)
		GUILIB="
			$LIB/guimsup.a
			$LIB/gui.a
			$LIB/guidbc.a
			$LIB/guie.a
			$LIB/guiintf.a
			$LIB/guiconfg.a
		"
		;;
	esac
fi

EXEC=$RDBMSPATH/exec
STRIP=$EMPRESSPATH/common/sys_bin/tailroot
GUISYSLIB=`$EMPRESSPATH/common/sys_bin/liblist "$MSSYS_GUIGRAPHLIB" "$MSSYS_GUIGRAPHLIBPATH"`

MAINLIB="$LIB/guimain.a"
NOGLOBMAIN=

LIBS="$GUILIB"

case $MSFEATURE_GUIAUDIO in
  no)
	USEAUDIOSTUB=true
	;;
esac

case $USEAUDIOSTUB in
  true)
	LIBS="$LIBS $LIB/no_audio.a"
	;;
  *)
	case $MSSYS_GUIAUDIOLIB in
	   "" | builtin)  LIBS="$LIBS $LIB/audio.a"
		;;
	   *)	AUDSYSLIB=`$EMPRESSPATH/common/sys_bin/liblist "$MSSYS_GUIAUDIOLIB" "$MSSYS_GUIAUDIOLIBPATH"`
		LIBS="$LIBS $LIB/audio.a $AUDSYSLIB"
		;;
	esac
	;;
esac
	
if $EMPRESSPATH/common/sys_bin/arlib -extract $MAINLIB $MAIN
then
	# If the X and Xm libraries are in the end, there are problem
	# in AIX.

	MSCC_EXTRASYSLIBS=$GUISYSLIB
	export MSCC_EXTRASYSLIBS
	MSCC_EXTRASYSLIBS_WARNING=off
	export MSCC_EXTRASYSLIBS_WARNING

	$CC $ESQLOPT $NOGLOBMAIN $OPTLIST $MAIN $ARGS $LIBS
	EXIT_FLAG=$?
	rm $MAIN
fi

exit $EXIT_FLAG
