#**********************************************************************#
#*                                                                    *#
#* Copyright (c) 2001 by Sun Microsystems, Inc.                       *#
#* All rights reserved.                                               *#
#*                                                                    *#
#**********************************************************************#


rm -f /tmp/infobj.sh /tmp/inflnk.sh
echo "Determining Informix libraries and flags... Please wait"
echo "s%RDBMSFLAG=%RDBMSFLAG= -DINFORMIX %" >>/tmp/config.current
#---------------------------------------------------------------------#
#            Check  for Release number
#---------------------------------------------------------------------#
RelNo=`esqlcobol -V | grep Version | cut -f 3 -d' ' | cut -c3`
CHECK=$RelNo+
if test $CHECK = +
then
   echo "Informix Precompiler is not in the PATH.  Correct your PATH variable."
   sleep 10
fi

#---------------------------------------------------------------------#
#            Check for Shared libraries existence
#---------------------------------------------------------------------#
SHARELIB=NO
if test -f ${INFORMIXDIR}/lib/*.sl;then
   SHARELIB=TRUE
   SOBJ=sl
fi
if test -f ${INFORMIXDIR}/lib/*.so;then
   SHARELIB=TRUE
   SOBJ=so
fi
while  test  "$SHARELIB" = "TRUE" 
do
   $KIXCLS
   echo "                  Informix Database Configuration           $DATEVAR"
   echo " "
   echo " "
   echo "--------------------------------------------------------------------------------"
   echo " "
   echo "Your database has shared libraries.  Do you want the executable to be "
   echo "Configured with shared libraries where found.   Enter [Yes] or [No]"
   read SHARELIB
done
if [ $SHARELIB != "Yes" ]
then
     SOBJ=a
fi

#---------------------------------------------------------------------#
#            Check INFORMIXDIR for esql/lib and INFORMIXOBJECTS 
#---------------------------------------------------------------------#
#            This is to check if it is older version of Informix 4.0<
#---------------------------------------------------------------------#
if test -d ${INFORMIXDIR}/lib/esql; then
#---------------------------------------------------------------------#
#            Informix 6.0+ May have netlib if not that's OK
#---------------------------------------------------------------------#
   if test -f ${INFORMIXDIR}/lib/netlib.${SOBJ}; 
   then
         echo "	\$(INFORMIXDIR)/lib/netlib.${SOBJ} \\" \
               >>/tmp/infobj.sh
   else
      if test -f  ${INFORMIXDIR}/lib/netlib.a;
      then
         echo "	\$(INFORMIXDIR)/lib/netlib.a \\" >>/tmp/infobj.sh
      fi
   fi
#---------------------------------------------------------------------#
#            Informix 7.0+ does not use iqcs0
#---------------------------------------------------------------------#
   if test -f  ${INFORMIXDIR}/lib/esql/iqcs0.o;
   then
       echo "	\$(INFORMIXDIR)/lib/esql/iqcs0.o \\" >>/tmp/infobj.sh
   fi
#---------------------------------------------------------------------#
#            Informix 5.0+
#---------------------------------------------------------------------#
   echo "	\$(INFORMIXDIR)/lib/esql/libecob_mf2.o " >>/tmp/infobj.sh
   esqlcobol -V | grep 'Version 7.2' >/dev/null
   COND=$?
   if test $COND = 0; then
      case `uname -s` in
           RM600|AIX)
	 	echo "		-ltli \\" >>/tmp/inflnk.sh
		;;
           HP-UX)
	       echo "		-lnsl_s -lV3 -lm -lsec \\" >>/tmp/inflnk.sh
	       ;;
           SINIX-[A-Z]|OSF1)
               if test -f ${INFORMIXDIR}/lib/netstub.a; then
	          echo "		\$(INFORMIXDIR)/lib/netstub.a \\" >>/tmp/inflnk.sh
               else
	 	  echo "		-lsocket -lnsl -lm \\" >>/tmp/inflnk.sh
               fi
	       ;;
	   *)
      		if test -f $INFORMIXDIR/lib/netstub.a; then
	     		echo "		\$(INFORMIXDIR)/lib/netstub.a \\" >>/tmp/inflnk.sh
      		fi
		;;
      esac
# -------------------------------------------------------------------
# By default every body gets the following libraries 
# -------------------------------------------------------------------
      if test -f ${INFORMIXDIR}/lib/esql/libixglx.${SOBJ}; then
         if test -f ${INFORMIXDIR}/lib/libixgls.${SOBJ}; then
            echo "		\$(INFORMIXDIR)/lib/libixgls.a \\" >>/tmp/inflnk.sh
            echo "		\$(INFORMIXDIR)/lib/esqli/libixglx.a " >>/tmp/inflnk.sh
         else
            echo "		\$(INFORMIXDIR)/lib/esql/libixgls.${SOBJ} \\" >>/tmp/inflnk.sh
            echo "		\$(INFORMIXDIR)/lib/esql/libixglx.${SOBJ} " >>/tmp/inflnk.sh
         fi
      else
       if test -f ${INFORMIXDIR}/lib/libixgls.${SOBJ}; then
         echo "		\$(INFORMIXDIR)/lib/libixgls.a" >>/tmp/inflnk.sh
       else
         echo "		\$(INFORMIXDIR)/lib/esql/libixgls.${SOBJ}" >>/tmp/inflnk.sh
       fi
      fi
   fi
   esqlcobol -V | grep 'Version 7.1' >/dev/null
   COND=$?
   if test $COND = 0; then
      case `uname -s` in
           RM600|AIX)
	 	echo "		-ltli" >>/tmp/inflnk.sh
		;;
           HP-UX)
	        echo "		-lnsl_s -lstr -lV3 -lm" >>/tmp/inflnk.sh
		;;
           SINIX-[A-Z]|OSF1)
	 	echo "		-lsocket -lnsl -lm" >>/tmp/inflnk.sh
		;;
	   *)
      		if test -f $INFORMIXDIR/lib/netstub.a; then
	     		echo "		\$(INFORMIXDIR)/lib/netstub.a" >>/tmp/inflnk.sh
      		fi
      esac
   fi
   esqlcobol -V | grep 'Version 6.0' >/dev/null
   COND=$?
   if test $COND = 0; then
      uname -a | grep AIX >/dev/null
      COND=$?
      if test $COND = 0; then
	 echo "		-ltli " >>/tmp/inflnk.sh
      fi
      uname -a | grep 'HP-UX' >/dev/null
      COND=$?
      if test $COND = 0; then
	 echo "		-lnsl_s -lstr " >>/tmp/inflnk.sh
      fi
   fi
#---------------------------------------------------------------------#
#            Informix 5.0+
#---------------------------------------------------------------------#
else
#---------------------------------------------------------------------#
#            Informix 4.0+
#---------------------------------------------------------------------#
   if test -f ${INFORMIXDIR}/lib/libecob_mf2.o; then
      echo "	\$(INFORMIXDIR)/lib/libecob_mf2.o" >>/tmp/infobj.sh
   else
      echo "Valid INFORMIX libraries not found. Configuration cannot be completed."
      sleep 10
   fi
fi
#
# check if running in $PACK/RTSFS or in $UNIKIX/src
#
if [ -f ./rdbms/KXINFSRV.eco ]
then
  echo "s%USERSOURCES=%USERSOURCES=	\${USERSRCDIR}/rdbms/KXINFSRV.eco%" >>/tmp/config.current
  echo "s%USEROBJECTS=%USEROBJECTS=	\${USERSRCDIR}/rdbms/KXINFSRV.o%" >>/tmp/config.current
else
  echo "s%USERSOURCES=%USERSOURCES=	\${USERSRCDIR}/KXINFSRV.eco%" >>/tmp/config.current
  echo "s%USEROBJECTS=%USEROBJECTS=	\${USERSRCDIR}/KXINFSRV.o%" >>/tmp/config.current
fi

if test $BSD = YES
then
   echo "s%INFORMIXOBJECTS=%INFORMIXOBJECTS= \\\\%" >>/tmp/config.current
else
   echo 's%INFORMIXOBJECTS=%INFORMIXOBJECTS= \\\\%' >>/tmp/config.current
fi
echo "/INFORMIXOBJECTS=/r /tmp/infobj.sh" >>/tmp/config.current
if [ -f /tmp/inflnk.sh ]
then
   if test $BSD = YES
   then
      echo "s%INFORMIX_LINKS=%INFORMIX_LINKS= \\\\%" >>/tmp/config.current
   else
      echo 's%INFORMIX_LINKS=%INFORMIX_LINKS= \\\\%' >>/tmp/config.current
   fi
   echo "/INFORMIX_LINKS=/r /tmp/inflnk.sh" >>/tmp/config.current
fi
sleep 2
echo $N ".done"
