#!/bin/sh
# This script generates the odbc.ini file for the platform supporting
# odbc. This is used as part of the IDL install process.
#
#
# $Id: //depot/idl/IDL_70/idldir/bin/unix/gen_odbc_ini#1 $

# Parameter 1 is $IDL_DIR
if [ "$1" != "" ]; then
IDL_DIR=$1
else
exit 1
fi

# Parameter 2 is OS_NAME
if [ "$2" = "" ]; then
exit 1
else
  case $2 in

# 	Drivers were upgraded to DataDirect 5.00 from Merant 3.7

      "SOLARIS2")
       OS_NAME=solaris2.sparc
       SO_EXT="so"
       HAS_DB2="Y"
       HAS_DBASE="Y"
       HAS_SYBASEASE="Y"
       HAS_OR8="Y"
       HAS_ORWP="Y"
       HAS_PRO10="Y"
       HAS_PRO9="Y"
       HAS_INFX="Y"
       HAS_INFXWP="Y"
       HAS_MSSQL="Y"
       HAS_TEXT="Y"
      ;;


      "LINUX")
       OS_NAME=linux.x86
       SO_EXT="so"
       HAS_DB2="Y"
       HAS_DBASE="Y"
       HAS_SYBASEASE="Y"
       HAS_OR8="Y"
       HAS_ORWP="Y"
       HAS_PRO10="Y"
       HAS_PRO9="Y"
       HAS_INFX="Y"
       HAS_INFXWP="Y"
       HAS_MSSQL="Y"
       HAS_TEXT="Y"
      ;;

    *)
        echo "$2: Not supported"
        exit 1
        ;;
  esac

fi

# This script is called blindly by the installer. Make
# sure that the bin directory is there. If not ,exit normally
#
if [ ! -x $IDL_DIR/bin/bin.$OS_NAME ]; then
  exit 0
fi

# Set the ini filename. This is platform specific
INI_FILENAME=$IDL_DIR/resource/dm/$OS_NAME/odbc.ini

echo "[ODBC Data Sources]" >$INI_FILENAME

# Write the header section of the odbc.ini file. This section is for
# intersolve 3.11 drivers.
if [ "$HAS_IN_SYBASE" != "" ]; then
  echo "Sybase=INTERSOLV 3.11 Sybase Driver">>$INI_FILENAME
fi
if [ "$HAS_IN_SYBASE11" != "" ]; then
  echo "Sybase11=INTERSOLV 3.11 Sybase 11 Driver" >>$INI_FILENAME
fi
if [ "$HAS_IN_OR7" != "" ]; then
  echo "Oracle7=INTERSOLV 3.11 Oracle 7 Driver">>$INI_FILENAME
fi
if [ "$HAS_IN_OR8" != "" ]; then
  echo "Oracle8=INTERSOLV 3.11 Oracle 8 Driver">>$INI_FILENAME
fi
if [ "$HAS_IN_INFX" != "" ]; then 
  echo "Informix=INTERSOLV 3.11 Informix Driver">>$INI_FILENAME
fi
if [ "$HAS_IN_INFX9" != "" ]; then 
  echo "Informix9=INTERSOLV 3.11 Informix 9 Driver">>$INI_FILENAME
fi

# Now start the section for the DataDirect 5.00 Drivers

if [ "$HAS_DB2" != "" ]; then
  echo "DB2=DataDirect 5.00 DB2 Driver">>$INI_FILENAME
fi
if [ "$HAS_DBASE" != "" ]; then
  echo "dBASEfile=DataDirect 5.00 dBASEfile Driver (*.DBF)">>$INI_FILENAME
fi
if [ "$HAS_SYBASEASE" != "" ]; then
  echo "Sybase=DataDirect 5.00 Sybase ASE Driver">>$INI_FILENAME
fi
if [ "$HAS_OR8" != "" ]; then
  echo "Oracle8=DataDirect 5.00 Oracle 8 Driver">>$INI_FILENAME
fi
if [ "$HAS_ORWP" != "" ]; then
  echo "OracleWP=DataDirect 5.00 Oracle Wire Protocol Driver">>$INI_FILENAME
fi
if [ "$HAS_PRO9" != "" ]; then
  echo "Progress9=DataDirect 5.00 Progress 9 Driver">>$INI_FILENAME
fi
if [ "$HAS_PRO10" != "" ]; then
  echo "Progress10=DataDirect 5.00 Progress 10 Driver">>$INI_FILENAME
fi
if [ "$HAS_INFX" != "" ]; then 
  echo "Informix=DataDirect 5.00 Informix Driver">>$INI_FILENAME
fi
if [ "$HAS_INFXWP" != "" ]; then 
  echo "InformixWP=DataDirect 5.00 Informix Clientless Driver">>$INI_FILENAME
fi
if [ "$HAS_MSSQL" != "" ]; then 
  echo "MS_SQLServer7=DataDirect 5.00 SQLServer driver">>$INI_FILENAME
fi
if [ "$HAS_TEXT" != "" ]; then 
  echo "Text=DataDirect 5.00 Text Driver (*.TXT)">>$INI_FILENAME
fi

# Handy constant
INST_DIR=$IDL_DIR/bin/bin.$OS_NAME/dm

# OK, the Intersolve 3.11 drivers first.

if [ "$HAS_IN_SYBASE" != "" ]; then
  echo "
[Sybase]
Driver=$INST_DIR/lib/dmsyb13.$SO_EXT
Description=Sybase
OptimizePrepare=2
SelectMethod=1
">>$INI_FILENAME
fi

if [ "$HAS_IN_SYBASE11" != "" ]; then
  echo "
[Sybase11]
Driver=$INST_DIR/lib/dmsyb1113.$SO_EXT
Description=Sybase11
OptimizePrepare=2
SelectMethod=1
">>$INI_FILENAME
fi


if [ "$HAS_IN_OR7" != "" ]; then
  echo "
[Oracle7]
Driver=$INST_DIR/lib/dmor713.$SO_EXT
Description=Oracle7
EnableScrollableCursors=1
">>$INI_FILENAME
fi

if [ "$HAS_IN_OR8" != "" ]; then
  echo "
[Oracle8]
Driver=$INST_DIR/lib/dmor813.$SO_EXT
Description=Oracle8
EnableScrollableCursors=1
">>$INI_FILENAME
fi

if [ "$HAS_IN_INFX" != "" ]; then
  echo "
[Informix]
Driver=$INST_DIR/lib/dminf13.$SO_EXT
Description=Informix7
">>$INI_FILENAME
fi

if [ "$HAS_IN_INFX9" != "" ]; then
  echo "
[Informix9]
Driver=$INST_DIR/lib/dminf913.$SO_EXT
Description=Informix9
">>$INI_FILENAME
fi

# Now the DataDirect 5.00 drivers 

if [ "$HAS_DB2" != "" ]; then
  echo "
[DB2]
Driver=$INST_DIR/lib/DMdb220.$SO_EXT
Description=DataDirect 5.0 DB2 Wire Protocol Driver
AddStringToCreateTable=
AlternateID=
Collection=OS/390 and AS/400 (leave blank for DB2 UDB)
Database=DB2 UDB (leave blank for OS/390 and AS/400)
DynamicSections=100
GrantAuthid=PUBLIC
GrantExecute=1
IpAddress=DB2 server host
IsolationLevel=CURSOR_STABILITY
Location=OS/390 and AS/400 (leave blank for DB2 UDB)
LogonID=UID
password=PWD
Package=DB2 package name
PackageOwner=
TcpPort=DB2 server port
WithHold=1
">>$INI_FILENAME
fi

if [ "$HAS_DBASE" != "" ]; then
  echo "
[dBASEFile]
Driver=$INST_DIR/lib/DMdbf20.$SO_EXT
Description=DataDirect 5.0 dBaseFile(*.dbf)
ApplicationUsingThreads=1
CacheSize=4
CreateType=dBASE5
Database=/rsi/devbuild/dfling/DataDirect50/solaris/demo
DataFileExtension=DBF
ExtensionCase=UPPER
FileOpenCache=0
IntlSort=0
LockCompatibility=dBASE
Locking=RECORD
UseLongNames=0
UseLongQualifiers=0
">>$INI_FILENAME
fi

if [ "$HAS_SYBASEASE" != "" ]; then
  echo "
[SybaseASE]
Driver=$INST_DIR/lib/DMase20.$SO_EXT
Description=DataDirect 5.0 Sybase Wire Protocol
ApplicationName=
ApplicationUsingThreads=1
ArraySize=50
Charset=
CursorCacheSize=1
Database=db
DefaultLongDataBuffLen=1024
EnableDescribeParam=0
EnableQuotedIdentifiers=0
InitializationString=
Language=
LogonID=UID
NetworkAddress=Sybase host,Sybase server port
OptimizePrepare=1
PacketSize=0
password=PWD
RaiseErrorPositionBehavior=0
SelectMethod=0
WorkStationID=
">>$INI_FILENAME
fi


if [ "$HAS_OR8" != "" ]; then
  echo "
[Oracle8]
Driver=$INST_DIR/lib/DMor820.$SO_EXT
Description=Oracle8
EnableScrollableCursors=1
">>$INI_FILENAME
fi

if [ "$HAS_ORWP" != "" ]; then
  echo "
[OracleWP]
Driver=$INST_DIR/lib/DMora20.$SO_EXT
Description=DataDirect 5.0 Oracle Wire Protocol
ApplicationUsingThreads=1
ArraySize=60000
CachedCursorLimit=32
CachedDescLimit=0
CatalogIncludesSynonyms=1
CatalogOptions=0
DefaultLongDataBuffLen=1024
DescribeAtPrepare=0
EnableDescribeParam=0
EnableNcharSupport=0
EnableScrollableCursors=1
EnableStaticCursorsForLongData=0
EnableTimestampWithTimeZone=0
HostName=Oracle server
LocalTimeZoneOffset=
LockTimeOut=-1
LogonID=UID
password=PWD
PortNumber=1521
ProcedureRetResults=0
SID=Oracle SID
UseCurrentSchema=1
">>$INI_FILENAME
fi

if [ "$HAS_PRO9" != "" ]; then
  echo "
[Progress9]
Driver=$INST_DIR/lib/DMpro920.$SO_EXT
Description=DataDirect 5.0 Progress SQL92
DatabaseName=db
HostName=Progress9 host
LogonID=UID
password=PWD
PortNumber=Progress9 server port
">>$INI_FILENAME
fi

if [ "$HAS_PRO10" != "" ]; then
  echo "
[Progress10]
Driver=$INST_DIR/lib/DMpro1020.$SO_EXT
Description=DataDirect 5.0 Progress OpenEdge
DatabaseName=db
HostName=Progress10 host
LogonID=UID
password=PWD
PortNumber=Progress10 server port
">>$INI_FILENAME
fi

if [ "$HAS_INFX" != "" ]; then
  echo "
[Informix]
Driver=$INST_DIR/lib/DMinf20.$SO_EXT
Description=DataDirect 5.0 Informix
ApplicationUsingThreads=1
CancelDetectInterval=0
CursorBehavior=0
Database=db
EnableInsertCursors=0
GetDBListFromInformix=1
HostName=Informix host
LogonID=UID
password=PWD
Protocol=onsoctcp
ServerName=Informix server
Service=Informix service name
TrimBlankFromIndexName=1
">>$INI_FILENAME
fi

if [ "$HAS_INFXWP" != "" ]; then
  echo "
[InformixWP]
Driver=$INST_DIR/lib/DMifcl20.$SO_EXT
Description=DataDirect 5.0 Informix Wire Protocol
ApplicationUsingThreads=1
CancelDetectInterval=0
Database=db
HostName=Informix host
LogonID=UID
password=PWD
PortNumber=Informix server port
ServerName=Informix server
TrimBlankFromIndexName=1
">>$INI_FILENAME
fi


if [ "$HAS_MSSQL" != "" ]; then
  echo "
[MS_SQLServer7]
Driver=$INST_DIR/lib/DMmsss20.$SO_EXT
Description=DataDirect 5.0 SQL Server Wire Protocol
Address=SQLServer host,SQLServer server port
AnsiNPW=Yes
Database=db
LogonID=UID
password=PWD
QuotedId=No
">>$INI_FILENAME
fi


if [ "$HAS_TEXT" != "" ]; then
  echo "
[Text]
Driver=$INST_DIR/lib/DMtxt20.$SO_EXT
Database=$INST_DIR/demo
AllowUpdateAndDelete=1
Description=DataDirect 5.0 TextFile(*.*)
ApplicationUsingThreads=1
CacheSize=4
CenturyBoundary=20
DataFileExtension=TXT
DecimalSymbol=.
Delimiter=
FileOpenCache=0
FirstLineNames=0
IntlSort=0
ScanRows=25
TableType=Comma
UndefinedTable=GUESS
">>$INI_FILENAME
fi

echo "

[ODBC]
Trace=0
TraceFile=odbctrace.out
TraceDll=$INST_DIR/lib/odbctrac.$SO_EXT
InstallDir=$INST_DIR
">>$INI_FILENAME

exit 0
