#**********************************************************************#
#*                                                                    *#
#* Copyright (c) 2001 by Sun Microsystems, Inc.                       *#
#* All rights reserved.                                               *#
#*                                                                    *#
#**********************************************************************#
#BT=4726889 Eliminate the usage of if test for cobpre/cpre and send
#           message to $LOGFILE as well, Message is clearer if cobpre/
#           cpre is not found, especially when called by MBM

rm -f /tmp/sybobj.sh /tmp/syblnk.sh
echo "Determining Sybase libraries and flags.... wait...."

checkpgm_cbl()
{
#BT=4726889 Start of change
#if test -f ${SYBASE}/${SYBASE_OCS}/bin/cobpre; then
      echo "s%SYBCC=%SYBCC=cobpre%" >>/tmp/config.current
      echo "s%SYBFLAGS=%SYBFLAGS= -C mf_word%" >>/tmp/config.current
      echo "s%RDBMSFLAG=%RDBMSFLAG= -DSYBASE -DSYBASE10 %" >>/tmp/config.current
#fi BT=4726889
#---------------------------------------------------------------------#
#             Check SQLCA directory and set INCDIR 
#---------------------------------------------------------------------#
if test -d ${SYBASE}/${SYBASE_OCS}/include; then
   echo "s%INCDIR=%INCDIR=\${SYBASE}/${SYBASE_OCS}/include%" >>/tmp/config.current
else
      echo "Sybase SQLCA.INC not found. Configuration cannot be completed."
      echo "kixsybase: Sybase SQLCA.INC not found. Configuration cannot be completed." >> $LOGFILE
      echo "Issue Ctrl-C to exit"
      sleep 12
fi
}

checkpgm()
{
#if test -f ${SYBASE}/${SYBASE_OCS}/bin/cpre; then
      echo "s%SYBCC=%SYBCC=cpre%" >>/tmp/config.current
      echo "s%SYBFLAGS=%SYBFLAGS= -C KR_C%" >>/tmp/config.current
      echo "s%RDBMSFLAG=%RDBMSFLAG= -DSYBASE -DSYBASE10 %" >>/tmp/config.current
#fi BT=4726889
#---------------------------------------------------------------------#
#             Check SQLCA directory and set INCDIR 
#---------------------------------------------------------------------#
if test -d ${SYBASE}/${SYBASE_OCS}/include; then
   echo "s%INCDIR=%INCDIR=\${SYBASE}/${SYBASE_OCS}/include%" >>/tmp/config.current
else
      echo "Sybase SQLCA.INC not found. Configuration cannot be completed."
      echo "kixsybase: Sybase SQLCA.INC not found. Configuration cannot be completed." >> $LOGFILE
      echo "Issue Ctrl-C to exit"
      sleep 12
#BT=4726889 End   of change
fi
}

#---------------------------------------------------------------------#
#            Check for Shared libraries existence
#---------------------------------------------------------------------#
checkshared()
{
SHARELIB=NO
if test -f ${SYBASE}/${SYBASE_OCS}/lib/*.sl;then
   SHARELIB=TRUE
   SOBJ=sl
fi
if test -f ${SYBASE}/${SYBASE_OCS}/lib/*.so;then
   SHARELIB=TRUE
   SOBJ=so
fi
while  test  "$SHARELIB" = "TRUE" 
do
   $KIXCLS
   echo "                  Sybase Database Configuration            $DATEVAR"
   echo " "
   echo " "
   echo "--------------------------------------------------------------------------------"
   echo " "
   echo "Your database has shared libraries.  Do you want Sun MTP to be "
   echo "Configured with shared libraries where found.   Enter [Yes] or [No]"
   read SHARELIB
done
    case $SHARELIB in
        Yes|YES|yes|yES|yeS|Y|y)
                SHARELIB=Yes
                ;;
        *)
                SHARELIB=No
                ;;
    esac

if [ $SHARELIB != "Yes" ]
then
     SOBJ=a
fi
}
#---------------------------------------------------------------------#
#         Check for bit mode - insure 32 bit client available
#---------------------------------------------------------------------#
checkbitmode()
{
   if test -f ${SYBASE}/${SYBASE_OCS}/lib/libct.${SOBJ}; then
      BITMODE=OK
   else
#BT=4726889 Start of change
      echo "Unable to locate ${SYBASE}/${SYBASE_OCS}/lib/libct.${SOBJ}"
      echo "kixsybase: Unable to locate ${SYBASE}/${SYBASE_OCS}/lib/libct.${SOBJ}" >> $LOGFILE
      echo " "
      if test -f ${SYBASE}/${SYBASE_OCS}/lib/libct64.${SOBJ}; then
         echo "Your database contains only a 64 bit client (libct64.${SOBJ}),"
         echo "kixsybase: Your database contains only a 64 bit client (libct64.${SOBJ})," >> $LOGFILE
         echo "a 32 bit client is required with Sun MTP"
         echo "kixsybase: a 32 bit client is required with Sun MTP" >> $LOGFILE
      else
         echo "Your database does not contain the required 32 bit client"
         echo "kixsybase: Your database does not contain the required 32 bit client" >> $LOGFILE
      fi
      echo "Sybase Configuration cannot be completed."
      echo "kixsybase: Sybase Configuration cannot be completed." >> $LOGFILE
      echo "Issue Ctrl-C to exit"
      sleep 17
#BT=4726889 End   of change
   fi
}

#-----------------------------------------------------------------------
#  makefile specific changes for Cobol
#-----------------------------------------------------------------------
makefile_change_cbl()
{
#---------------------------------------------------------------------#
#            Check SYBASE for libraries and set SYBASEOBJECTS 
#---------------------------------------------------------------------#
if test -d ${SYBASE}/${SYBASE_OCS}/lib; then
   if test -f ${SYBASE}/${SYBASE_OCS}/bin/cobpre; then
       echo "s%SYBASELIB=%SYBASELIB=\${SYBASE}/${SYBASE_OCS}/lib%" >>/tmp/config.current
#-------------- Check for libcobct -----------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libcobct.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libcobct.${SOBJ} \\" >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libcobct.a \\" >>/tmp/sybobj.sh
       fi
#-------------- Check for libct --------------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libct.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libct.${SOBJ} \\" >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libct.a \\" >>/tmp/sybobj.sh
       fi
#-------------- Check for libcs --------------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libcs.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libcs.${SOBJ} \\" >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libcs.a \\" >>/tmp/sybobj.sh
       fi
#-------------- Check for libcomn ------------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libcomn.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libcomn.${SOBJ} \\" >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libcomn.a \\" >>/tmp/sybobj.sh
       fi
#-------------- Check for libtcl -------------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libtcl.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libtcl.${SOBJ} \\" >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libtcl.a \\" >>/tmp/sybobj.sh
       fi
#-------------- Check for libintl ------------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libintl.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libintl.${SOBJ} \\" >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libintl.a \\" >>/tmp/sybobj.sh
       fi
#-------------- Check for libinsck -----------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libinsck.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libinsck.${SOBJ} \\" >>/tmp/sybobj.sh
       else
         if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libinsck.a;
	 then
           echo "	\$(SYBASELIB)/libinsck.a \\" >>/tmp/sybobj.sh
         fi
       fi
#-------------- Check for libtli -------------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libtli.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libtli.${SOBJ} \\" >>/tmp/sybobj.sh
       else
         if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libtli.a;
	 then
           echo "	\$(SYBASELIB)/libtli.a \\" >>/tmp/sybobj.sh
         fi
       fi
#-------------- Check for libsybdb -----------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libsybdb.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libsybdb.${SOBJ} " >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libsybdb.a " >>/tmp/sybobj.sh
       fi
       echo "	-lnsl -ldl -lm" >>/tmp/syblnk.sh
   else
       echo "s%SYBASELIB=%SYBASELIB=\${SYBASE}/${SYBASE_OCS}/lib%" >>/tmp/config.current
       echo "	\$(SYBASELIB)/libsybesql.a \\" >>/tmp/sybobj.sh
       echo "	\$(SYBASELIB)/libsybdb.a " >>/tmp/sybobj.sh
       echo "	-lnsl -ldl -lm" >>/tmp/syblnk.sh
   fi
else
      echo "Valid SYBASE libraries not found. Configuration cannot be completed."
#BT=4726889 Start of change
      echo "kixsybase: Valid SYBASE libraries not found. Configuration cannot be completed." >> $LOGFILE
      sleep 12
#BT=4726889 End   of change
fi
#
# check if running in $PACK/RTSFS or in $UNIKIX/src
#
if [ -f ./rdbms/KXSYBASE.cop ]
then
  echo "s%USERSOURCES=%USERSOURCES=	\${USERSRCDIR}/rdbms/KXSYBASE.cop%" >>/tmp/config.current
  echo "s%USEROBJECTS=%USEROBJECTS=	\${USERSRCDIR}/rdbms/KXSYBASE.o%" >>/tmp/config.current
else
  echo "s%USERSOURCES=%USERSOURCES=	\${USERSRCDIR}/KXSYBASE.cop%" >>/tmp/config.current
  echo "s%USEROBJECTS=%USEROBJECTS=	\${USERSRCDIR}/KXSYBASE.o%" >>/tmp/config.current
fi

if test $BSD = YES
then
    echo "s%SYBASEOBJECTS=%SYBASEOBJECTS= \\\\%" >>/tmp/config.current
else
    echo 's%SYBASEOBJECTS=%SYBASEOBJECTS= \\\\%' >>/tmp/config.current
fi
echo "/SYBASEOBJECTS=/r /tmp/sybobj.sh" >>/tmp/config.current
if test $BSD = YES
then
   echo "s%SYBASE_LINKS=%SYBASE_LINKS= \\\\%" >>/tmp/config.current
else
   echo 's%SYBASE_LINKS=%SYBASE_LINKS= \\\\%' >>/tmp/config.current
fi
echo "/SYBASE_LINKS=/r /tmp/syblnk.sh" >>/tmp/config.current
}

#-----------------------------------------------------------------------
#  makefile specific changes for non-Cobol
#-----------------------------------------------------------------------
makefile_change()
{
#---------------------------------------------------------------------#
#            Check SYBASE for libraries and set SYBASEOBJECTS 
#---------------------------------------------------------------------#
if test -d ${SYBASE}/${SYBASE_OCS}/lib; then
       echo "s%SYBASELIB=%SYBASELIB=\${SYBASE}/${SYBASE_OCS}/lib%" >>/tmp/config.current
#-------------- Check for libct --------------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libct.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libct.${SOBJ} \\" >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libct.a \\" >>/tmp/sybobj.sh
       fi
#-------------- Check for libcs --------------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libcs.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libcs.${SOBJ} \\" >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libcs.a \\" >>/tmp/sybobj.sh
       fi
#-------------- Check for libcomn ------------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libcomn.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libcomn.${SOBJ} \\" >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libcomn.a \\" >>/tmp/sybobj.sh
       fi
#-------------- Check for libcl --------------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libcl.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libtcl.${SOBJ} \\" >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libtcl.a \\" >>/tmp/sybobj.sh
       fi
#-------------- Check for libintl ------------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libintl.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libintl.${SOBJ} \\" >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libintl.a \\" >>/tmp/sybobj.sh
       fi
#-------------- Check for libinsck -----------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libinsck.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libinsck.${SOBJ} \\" >>/tmp/sybobj.sh
       else
         if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libinsck.a;
	 then
           echo "	\$(SYBASELIB)/libinsck.a \\" >>/tmp/sybobj.sh
         fi
       fi
#-------------- Check for libtli -------------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libtli.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libtli.${SOBJ} \\" >>/tmp/sybobj.sh
       else
         if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libtli.a;
	 then
           echo "	\$(SYBASELIB)/libtli.a \\" >>/tmp/sybobj.sh
         fi
       fi
#-------------- Check for libsybdb -----------------------------------#
       if  test -f ${SYBASE}/${SYBASE_OCS}/lib/libsybdb.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libsybdb.${SOBJ} " >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libsybdb.a " >>/tmp/sybobj.sh
       fi
       echo "	-lnsl -ldl -lm" >>/tmp/syblnk.sh
else
      echo "Valid SYBASE libraries not found. Configuration cannot be completed."
#BT=4726889 Start  of change
      echo "kixsybase: Valid SYBASE libraries not found. Configuration cannot be completed." >> $LOGFILE
      sleep 12
#BT=4726889 End   of change
fi
#
# check if running in $PACK/RTSFS or in $UNIKIX/src
#
if [ -f ./rdbms/kxsybase.cp ]
then
  echo "s%USERSOURCES=%USERSOURCES=	\${USERSRCDIR}/rdbms/kxsybase.cp%" >>/tmp/config.current
  echo "s%USEROBJECTS=%USEROBJECTS=	\${USERSRCDIR}/rdbms/kxsybase.o%" >>/tmp/config.current
else
  echo "s%USERSOURCES=%USERSOURCES=	\${USERSRCDIR}/kxsybase.cp%" >>/tmp/config.current
  echo "s%USEROBJECTS=%USEROBJECTS=	\${USERSRCDIR}/kxsybase.o%" >>/tmp/config.current
fi

if test $BSD = YES
then
    echo "s%SYBASEOBJECTS=%SYBASEOBJECTS= \\\\%" >>/tmp/config.current
else
    echo 's%SYBASEOBJECTS=%SYBASEOBJECTS= \\\\%' >>/tmp/config.current
fi
echo "/SYBASEOBJECTS=/r /tmp/sybobj.sh" >>/tmp/config.current
if test $BSD = YES
then
   echo "s%SYBASE_LINKS=%SYBASE_LINKS= \\\\%" >>/tmp/config.current
else
   echo 's%SYBASE_LINKS=%SYBASE_LINKS= \\\\%' >>/tmp/config.current
fi
echo "/SYBASE_LINKS=/r /tmp/syblnk.sh" >>/tmp/config.current
}

#---------------------------------------------------------------------#
#  check the language required
#---------------------------------------------------------------------#
checklang()
{
CBLTEST=TRUE
   while  test  "$CBLTEST" = "TRUE"
   do
        $KIXCLS
        echo "                Sybase Database Configuration              $DATEVAR"
        echo " "
        echo " "
        echo "--------------------------------------------------------------------------------"
        echo " "
        echo "Do you want to Integrate with userexits written in Cobol?"
        echo "Enter [Yes] or [No]"
        read CBLTEST
    done
    case $CBLTEST in
        Yes|YES|yes|yES|yeS|Y|y)
                CBLTEST=Yes
                ;;
        *)
                CBLTEST=No
                ;;
    esac
}

#----------------------------------------------------------------------
#   Main execution routine
#----------------------------------------------------------------------
####### Not currently used    checklang

checkshared
checkbitmode

if [ "$1" = "CBL" ]
then
    echo "Defaulting to COBOL Userexits"
    checkpgm_cbl
    makefile_change_cbl
else
    echo "Defaulting to 'C' Userexits"
    checkpgm
    makefile_change
fi

sleep 2
echo $N ".done"
