#! /bin/sh
#############################################################################
# (c) Copyright IBM Corp. 2007 All rights reserved.
# 
# The following sample of source code ("Sample") is owned by International 
# Business Machines Corporation or one of its subsidiaries ("IBM") and is 
# copyrighted and licensed, not sold. You may use, copy, modify, and 
# distribute the Sample in any form without payment to IBM, for the purpose of 
# assisting you in the development of your applications.
# 
# The Sample code is provided to you on an "AS IS" basis, without warranty of 
# any kind. IBM HEREBY EXPRESSLY DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR 
# IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Some jurisdictions do 
# not allow for the exclusion or limitation of implied warranties, so the above 
# limitations or exclusions may not apply to you. IBM shall not be liable for 
# any damages you suffer as a result of using, copying, modifying or 
# distributing the Sample, even if IBM has been advised of the possibility of 
# such damages.
#############################################################################
# SCRIPT: bldapp
# Builds Solaris CLI applications
# Usage: bldapp <prog_name> [ <db_name> [ <userid> <password> ]]

# Set DB2PATH to where DB2 will be accessed.
# The default is the standard instance path.
DB2PATH=$HOME/sqllib

bitwidth=64

# Uncomment the following line to compile 32-bit applications
#bitwidth=32

arch=`uname -p`
if [ $arch = "i386" ];
then
  if [ $bitwidth = "64" ];
  then
    CFLAG_ARCH=amd64
    LIB=lib64
  else
    CFLAG_ARCH=sse2
    LIB=lib32
  fi
else
  if [ $bitwidth = "64" ];
  then
    CFLAG_ARCH=v9
    LIB=lib64
  else
    CFLAG_ARCH=v8plusa
    LIB=lib32
  fi
fi

# Set the runtime path.
# LD_LIBRARY_PATH will be followed instead of the runtime path unless
# you unset LD_LIBRARY_PATH first to allow the runtime path to be used.
EXTRA_LFLAG="-R$DB2PATH/$LIB"

# If an embedded SQL program, precompile and bind it.
if [ -f $1".sqc" ]
then
  ./embprep $1 $2 $3 $4
fi

# Compile the error-checking utility.
cc -xarch=$CFLAG_ARCH -I$DB2PATH/include -c utilcli.c

# Compile the program.
cc -xarch=$CFLAG_ARCH -I$DB2PATH/include  -c $1.c

# Link the program.
cc -xarch=$CFLAG_ARCH -mt -o $1 $1.o utilcli.o \
  -L$DB2PATH/$LIB $EXTRA_LFLAG -ldb2