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


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

checkpgm_cbl()
{
if test -f ${SYBASE}/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
#---------------------------------------------------------------------#
#             Check SQLCA directory and set INCDIR 
#---------------------------------------------------------------------#
if test -d ${SYBASE}/include; then
   echo "s%INCDIR=%INCDIR=\${SYBASE}/include%" >>/tmp/config.current
else
      echo "Sybase SQLCA.INC not found. Configuration cannot be completed."
      sleep 10
fi
}

checkpgm()
{
if test -f ${SYBASE}/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
#---------------------------------------------------------------------#
#             Check SQLCA directory and set INCDIR 
#---------------------------------------------------------------------#
if test -d ${SYBASE}/include; then
   echo "s%INCDIR=%INCDIR=\${SYBASE}/include%" >>/tmp/config.current
else
      echo "Sybase SQLCA.INC not found. Configuration cannot be completed."
      sleep 10
fi
}

#---------------------------------------------------------------------#
#            Check for Shared libraries existence
#---------------------------------------------------------------------#
checkshared()
{
SHARELIB=NO
if test -f ${SYBASE}/lib/*.sl;then
   SHARELIB=TRUE
   SOBJ=sl
fi
if test -f ${SYBASE}/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 $CBLTEST in
        Yes|YES|yes|yES|yeS|Y|y)
                SHARELIB=Yes
                ;;
        *)
                SHARELIB=No
                ;;
    esac

if [ $SHARELIB != "Yes" ]
then
     SOBJ=a
fi
}

#-----------------------------------------------------------------------
#  makefile specific changes for Cobol
#-----------------------------------------------------------------------
makefile_change_cbl()
{
#---------------------------------------------------------------------#
#            Check SYBASE for libraries and set SYBASEOBJECTS 
#---------------------------------------------------------------------#
if test -d ${SYBASE}/lib; then
   if test -f ${SYBASE}/bin/cobpre; then
       echo "s%SYBASELIB=%SYBASELIB=\${SYBASE}/lib%" >>/tmp/config.current
#-------------- Check for libcobct ----------------------------------#
       if  test -f ${SYBASE}/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}/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}/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}/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}/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}/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}/lib/libinsck.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libinsck.${SOBJ} \\" >>/tmp/sybobj.sh
       else
         if  test -f ${SYBASE}/lib/libinsck.a;
	 then
           echo "	\$(SYBASELIB)/libinsck.a \\" >>/tmp/sybobj.sh
         fi
       fi
#-------------- Check for libtli ----------------------------------#
       if  test -f ${SYBASE}/lib/libtli.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libtli.${SOBJ} \\" >>/tmp/sybobj.sh
       else
         if  test -f ${SYBASE}/lib/libtli.a;
	 then
           echo "	\$(SYBASELIB)/libtli.a \\" >>/tmp/sybobj.sh
         fi
       fi
#-------------- Check for libsybdb ----------------------------------#
       if  test -f ${SYBASE}/lib/libsybdb.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libsybdb.${SOBJ} " >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libsybdb.a " >>/tmp/sybobj.sh
       fi
       echo "	-lm" >>/tmp/syblnk.sh
   else
       echo "s%SYBASELIB=%SYBASELIB=\${SYBASE}/lib%" >>/tmp/config.current
       echo "	\$(SYBASELIB)/libsybesql.a \\" >>/tmp/sybobj.sh
       echo "	\$(SYBASELIB)/libsybdb.a " >>/tmp/sybobj.sh
       echo "	-lm" >>/tmp/syblnk.sh
   fi
else
      echo "Valid SYBASE libraries not found. Configuration cannot be completed."
      sleep 10
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}/lib; then
       echo "s%SYBASELIB=%SYBASELIB=\${SYBASE}/lib%" >>/tmp/config.current
#-------------- Check for libct ----------------------------------#
       if  test -f ${SYBASE}/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}/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}/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}/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}/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}/lib/libinsck.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libinsck.${SOBJ} \\" >>/tmp/sybobj.sh
       else
         if  test -f ${SYBASE}/lib/libinsck.a;
	 then
           echo "	\$(SYBASELIB)/libinsck.a \\" >>/tmp/sybobj.sh
         fi
       fi
#-------------- Check for libtli ----------------------------------#
       if  test -f ${SYBASE}/lib/libtli.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libtli.${SOBJ} \\" >>/tmp/sybobj.sh
       else
         if  test -f ${SYBASE}/lib/libtli.a;
	 then
           echo "	\$(SYBASELIB)/libtli.a \\" >>/tmp/sybobj.sh
         fi
       fi
#-------------- Check for libsybdb ----------------------------------#
       if  test -f ${SYBASE}/lib/libsybdb.${SOBJ};
       then
           echo "	\$(SYBASELIB)/libsybdb.${SOBJ} " >>/tmp/sybobj.sh
       else
           echo "	\$(SYBASELIB)/libsybdb.a " >>/tmp/sybobj.sh
       fi
       echo "	-lm" >>/tmp/syblnk.sh
else
      echo "Valid SYBASE libraries not found. Configuration cannot be completed."
      sleep 10
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
#----------------------------------------------------------------------
checklang
checkshared
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"
