|
|
|
@ -2,169 +2,165 @@ dnl $Id$ |
|
|
|
|
|
|
|
AC_DEFUN(AC_ORACLE_VERSION,[ |
|
|
|
AC_MSG_CHECKING([Oracle version]) |
|
|
|
if test -f "$ORACLEINST_TOP/orainst/unix.rgs" |
|
|
|
then |
|
|
|
ORACLE_VERSION=`grep '"ocommon"' $ORACLEINST_TOP/orainst/unix.rgs | sed 's/[ ][ ]*/:/g' | cut -d: -f 6 | cut -c 2-4` |
|
|
|
test -z "$ORACLE_VERSION" && ORACLE_VERSION=7.3 |
|
|
|
if test -f "$ORACLE_DIR/orainst/unix.rgs"; then |
|
|
|
ORACLE_VERSION=`grep '"ocommon"' $ORACLE_DIR/orainst/unix.rgs | sed 's/[ ][ ]*/:/g' | cut -d: -f 6 | cut -c 2-4` |
|
|
|
test -z "$ORACLE_VERSION" && ORACLE_VERSION=7.3 |
|
|
|
elif test -f "$ORACLE_DIR/lib/libclntsh.so.8.0"; then |
|
|
|
ORACLE_VERSION=8.1 |
|
|
|
elif test -f "$ORACLE_DIR/lib/libclntsh.so.1.0"; then |
|
|
|
ORACLE_VERSION=8.0 |
|
|
|
elif test -f "$ORACLE_DIR/lib/libclntsh.a"; then # AIX - XXX is this check still right for 8.1? |
|
|
|
ORACLE_VERSION=8.0 |
|
|
|
else |
|
|
|
if test -f "$ORACLEINST_TOP/lib/libclntsh.so.8.0" |
|
|
|
then |
|
|
|
ORACLE_VERSION=8.1 |
|
|
|
else |
|
|
|
ORACLE_VERSION=8.0 |
|
|
|
fi |
|
|
|
AC_MSG_ERROR(Oracle needed libraries not found) |
|
|
|
fi |
|
|
|
AC_MSG_RESULT($ORACLE_VERSION) |
|
|
|
]) |
|
|
|
|
|
|
|
AC_MSG_CHECKING(for Oracle support) |
|
|
|
AC_ARG_WITH(oracle, |
|
|
|
[ --with-oracle[=DIR] Include Oracle database support. DIR is Oracle's |
|
|
|
home directory, defaults to \$ORACLE_HOME.], |
|
|
|
[ |
|
|
|
case "$withval" in |
|
|
|
yes) |
|
|
|
ORACLEINST_TOP=$ORACLE_HOME |
|
|
|
AC_MSG_RESULT(yes) |
|
|
|
PHP_EXTENSION(oracle) |
|
|
|
;; |
|
|
|
no) |
|
|
|
ORACLEINST_TOP= |
|
|
|
AC_MSG_RESULT(no) |
|
|
|
;; |
|
|
|
*) |
|
|
|
ORACLEINST_TOP=$withval |
|
|
|
AC_MSG_RESULT(yes) |
|
|
|
PHP_EXTENSION(oracle) |
|
|
|
;; |
|
|
|
esac |
|
|
|
PHP_ARG_WITH(oracle, for Oracle-ORACLE support, |
|
|
|
[ --with-oracle[=DIR] Include oracle support. DIR is the ORACLE_HOME.]) |
|
|
|
|
|
|
|
if test "$ORACLEINST_TOP" != "" |
|
|
|
then |
|
|
|
if test "$PHP_ORACLE" != "no"; then |
|
|
|
AC_MSG_CHECKING([Oracle Install-Dir]) |
|
|
|
if test "$PHP_ORACLE" = "yes"; then |
|
|
|
ORACLE_DIR="$ORACLE_HOME" |
|
|
|
else |
|
|
|
ORACLE_DIR="$PHP_ORACLE" |
|
|
|
fi |
|
|
|
AC_MSG_RESULT($ORACLE_DIR) |
|
|
|
|
|
|
|
# Oracle include files |
|
|
|
if test -d "$ORACLE_DIR/rdbms/public"; then |
|
|
|
AC_ADD_INCLUDE($ORACLE_DIR/rdbms/public) |
|
|
|
fi |
|
|
|
if test -d "$ORACLE_DIR/rdbms/demo"; then |
|
|
|
AC_ADD_INCLUDE($ORACLE_DIR/rdbms/demo) |
|
|
|
fi |
|
|
|
if test -d "$ORACLE_DIR/network/public"; then |
|
|
|
AC_ADD_INCLUDE($ORACLE_DIR/network/public) |
|
|
|
fi |
|
|
|
if test -d "$ORACLE_DIR/plsql/public"; then |
|
|
|
AC_ADD_INCLUDE($ORACLE_DIR/plsql/public) |
|
|
|
fi |
|
|
|
|
|
|
|
if test -f "$ORACLEINST_TOP/rdbms/public/ocidfn.h" |
|
|
|
then |
|
|
|
# V8.0.5 |
|
|
|
ORACLE_INCLUDE="$ORACLE_INCLUDE -I$ORACLEINST_TOP/rdbms/public" |
|
|
|
elif test -f "$ORACLEINST_TOP/rdbms/demo/ocidfn.h" |
|
|
|
then |
|
|
|
# V7.[0123] |
|
|
|
ORACLE_INCLUDE=-I$ORACLEINST_TOP/rdbms/demo |
|
|
|
fi |
|
|
|
if test -f "$ORACLE_DIR/lib/sysliblist"; then |
|
|
|
ORACLE_SYSLIB="`cat $ORACLE_DIR/lib/sysliblist | sed -e 's/-l//g'`" |
|
|
|
elif test -f "$ORACLE_DIR/rdbms/lib/sysliblist"; then |
|
|
|
ORACLE_SYSLIB="`cat $ORACLE_DIR/rdbms/lib/sysliblist | sed -e 's/-l//g'`" |
|
|
|
fi |
|
|
|
|
|
|
|
if test -d "$ORACLEINST_TOP/network/public" |
|
|
|
then |
|
|
|
# V8 |
|
|
|
ORACLE_INCLUDE="$ORACLE_INCLUDE -I$ORACLEINST_TOP/network/public" |
|
|
|
fi |
|
|
|
if test -n "$ORACLE_SYSLIB"; then |
|
|
|
for oracle_slib in `echo $ORACLE_SYSLIB`; do |
|
|
|
AC_ADD_LIBRARY_WITH_PATH($oracle_slib, "", ORACLE_SHARED_LIBADD) |
|
|
|
done |
|
|
|
fi |
|
|
|
|
|
|
|
if test -d "$ORACLEINST_TOP/plsql/public" |
|
|
|
then |
|
|
|
# V8 |
|
|
|
ORACLE_INCLUDE="$ORACLE_INCLUDE -I$ORACLEINST_TOP/plsql/public" |
|
|
|
fi |
|
|
|
AC_ORACLE_VERSION($ORACLE_DIR) |
|
|
|
case $ORACLE_VERSION in |
|
|
|
7.0|7.1) |
|
|
|
if test -f $ORACLE_DIR/lib/liboracle.s?; then |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(oracle, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
else |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(core, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(cv6, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(nlsrtl, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(core, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(cv6, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(nlsrtl, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(sqlnet, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(ora, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(sqlnet, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
if test "$ext_shared" = "yes"; then |
|
|
|
ORACLE_SHARED_LIBADD="$ORACLE_DIR/lib/osntab.o $ORACLE_SHARED_LIBADD"; |
|
|
|
else |
|
|
|
LIBS="$ORACLE_DIR/lib/osntab.o $LIBS"; |
|
|
|
fi |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(ocic, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
if test "`uname -s 2>/dev/null`" = "AIX"; then |
|
|
|
if test "$ext_shared" = "yes"; then |
|
|
|
ORACLE_SHARED_LIBADD="$ORACLE_SHARED_LIBADD -bI:$ORACLE_DIR/lib/mili.exp" |
|
|
|
else |
|
|
|
LIBS="$LIBS -bI:$ORACLE_DIR/lib/mili.exp" |
|
|
|
fi |
|
|
|
fi |
|
|
|
fi |
|
|
|
;; |
|
|
|
|
|
|
|
# Need to know the version, otherwhise we will mixup nlsrtl |
|
|
|
AC_ORACLE_VERSION($ORACLEINST_TOP) |
|
|
|
7.2) |
|
|
|
if test -f $ORACLE_DIR/lib/libclntsh.s?; then |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(clntsh, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
else |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(core3, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(nlsrtl3, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(c3v6, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(nlsrtl3, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(ora, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(sqlnet, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(ora, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(sqlnet, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
if test "$ext_shared" = "yes"; then |
|
|
|
ORACLE_SHARED_LIBADD="$ORACLE_DIR/lib/osntab.o $ORACLE_SHARED_LIBADD"; |
|
|
|
else |
|
|
|
LIBS="$ORACLE_DIR/lib/osntab.o $LIBS"; |
|
|
|
fi |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(ocic, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
fi |
|
|
|
;; |
|
|
|
|
|
|
|
# Oracle libs - nightmare :-) |
|
|
|
7.3) |
|
|
|
if test -f $ORACLE_DIR/lib/libclntsh.s?; then |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(clntsh, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
else |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(core3, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(nlsrtl3, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(core3, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(c3v6, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(nlsrtl3, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(epc, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(generic, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(common, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(client, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(sqlnet, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(ncr, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(sqlnet, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(generic, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(common, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(client, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(sqlnet, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(ncr, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(sqlnet, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(client, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
fi |
|
|
|
;; |
|
|
|
|
|
|
|
8.0) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(nlsrtl3, "", ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(core4, "", ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(psa, "", ORACLE_SHARED_LIBADD) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(clntsh, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
;; |
|
|
|
|
|
|
|
ORACLE_LIBDIR=lib |
|
|
|
ORACLE_LFLAGS="-L$ORACLEINST_TOP/$ORACLE_LIBDIR ${ld_runpath_switch}$ORACLEINST_TOP/$ORACLE_LIBDIR" |
|
|
|
if test -f "$ORACLEINST_TOP/rdbms/lib/sysliblist" |
|
|
|
then |
|
|
|
ORA_SYSLIB="`cat $ORACLEINST_TOP/rdbms/lib/sysliblist`" |
|
|
|
else |
|
|
|
ORA_SYSLIB="-lm" |
|
|
|
fi |
|
|
|
8.1) |
|
|
|
AC_ADD_LIBRARY_WITH_PATH(clntsh, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD) |
|
|
|
;; |
|
|
|
*) |
|
|
|
AC_MSG_ERROR(Unsupported Oracle version!) |
|
|
|
;; |
|
|
|
esac |
|
|
|
|
|
|
|
# Oracle Static libs |
|
|
|
case $ORACLE_VERSION in |
|
|
|
7.0|7.1) |
|
|
|
ORACLE_STLIBS="-locic $ORACLEINST_TOP/$ORACLE_LIBDIR/osntab.o \ |
|
|
|
-lsqlnet -lora -lsqlnet -lnlsrtl -lcv6 -lcore -lnlsrtl -lcv6 \ |
|
|
|
-lcore $ORA_SYSLIB -lcore $ORA_SYSLIB" |
|
|
|
if test "`uname -s 2>/dev/null`" = "AIX"; then |
|
|
|
ORACLE_STLIBS="$ORACLE_STLIBS -bI:$ORACLE_HOME/lib/mili.exp" |
|
|
|
fi |
|
|
|
;; |
|
|
|
7.2) |
|
|
|
ORACLE_STLIBS="-locic $ORACLEINST_TOP/$ORACLE_LIBDIR/osntab.o \ |
|
|
|
-lsqlnet -lora -lsqlnet -lora -lnlsrtl3 -lc3v6 -lcore3 -lnlsrtl3 \ |
|
|
|
-lcore3 $ORA_SYSLIB -lcore3 $ORA_SYSLIB" |
|
|
|
;; |
|
|
|
7.3) |
|
|
|
ORACLE_STLIBS="-lclient -lsqlnet -lncr -lsqlnet -lclient -lcommon \ |
|
|
|
-lgeneric -lsqlnet -lncr -lsqlnet -lclient -lcommon -lgeneric \ |
|
|
|
-lepc -lnlsrtl3 -lc3v6 -lcore3 -lnlsrtl3 -lcore3 -lnlsrtl3 \ |
|
|
|
$ORA_SYSLIB -lcore3 $ORA_SYSLIB" |
|
|
|
;; |
|
|
|
8.0) |
|
|
|
ORACLE_STLIBS="-lclient -lsqlnet -lncr -lsqlnet -lclient -lcommon \ |
|
|
|
-lgeneric -lsqlnet -lncr -lsqlnet -lclient -lcommon -lgeneric \ |
|
|
|
-lepc -lnlsrtl3 -lc3v6 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 \ |
|
|
|
$ORA_SYSLIB -lcore3 $ORA_SYSLIB" |
|
|
|
;; |
|
|
|
*) |
|
|
|
ORACLE_STLIBS= |
|
|
|
;; |
|
|
|
esac |
|
|
|
|
|
|
|
# Oracle shared libs |
|
|
|
case $ORACLE_VERSION in |
|
|
|
7.0) |
|
|
|
# shared libs not supported |
|
|
|
ORACLE_SHLIBS="$ORACLE_STLIBS" |
|
|
|
;; |
|
|
|
7.1) |
|
|
|
if test -f $ORACLEINST_TOP/$ORACLE_LIBDIR/liboracle.s? |
|
|
|
then |
|
|
|
ORACLE_SHLIBS="-loracle $ORA_SYSLIB" |
|
|
|
else |
|
|
|
ORACLE_SHLIBS="$ORACLE_STLIBS" |
|
|
|
fi |
|
|
|
;; |
|
|
|
7.2|7.3) |
|
|
|
if test -f $ORACLEINST_TOP/$ORACLE_LIBDIR/libclntsh.s? |
|
|
|
then |
|
|
|
ORACLE_SHLIBS="-lclntsh $ORA_SYSLIB" |
|
|
|
else |
|
|
|
ORACLE_SHLIBS="$ORACLE_STLIBS" |
|
|
|
fi |
|
|
|
;; |
|
|
|
8.0) |
|
|
|
if test -f $ORACLEINST_TOP/$ORACLE_LIBDIR/libclntsh.s? -o \ |
|
|
|
-f $ORACLEINST_TOP/$ORACLE_LIBDIR/libclntsh.a # AIX |
|
|
|
then |
|
|
|
if test "$CC" = "gcc" -a "`uname -sv`" = "AIX 4"; then |
|
|
|
# for Oracle 8 on AIX 4 |
|
|
|
ORA_SYSLIB="$ORA_SYSLIB -nostdlib /lib/crt0_r.o /usr/lib/libpthreads.a /usr/lib/libc_r.a -lgcc" |
|
|
|
fi |
|
|
|
ORACLE_SHLIBS="-lclntsh -lpsa -lcore4 -lnlsrtl3 -lclntsh $ORA_SYSLIB" |
|
|
|
else |
|
|
|
ORACLE_SHLIBS="$ORACLE_STLIBS" |
|
|
|
fi |
|
|
|
;; |
|
|
|
8.1) |
|
|
|
ORACLE_SHLIBS="-lclntsh $ORA_SYSLIB" |
|
|
|
;; |
|
|
|
*) |
|
|
|
ORACLE_SHLIBS= |
|
|
|
;; |
|
|
|
esac |
|
|
|
|
|
|
|
# only using shared libs right now |
|
|
|
ORACLE_LIBS=$ORACLE_SHLIBS |
|
|
|
PHP_EXTENSION(oracle, $ext_shared) |
|
|
|
AC_DEFINE(HAVE_ORACLE,1,[ ]) |
|
|
|
|
|
|
|
AC_DEFINE(HAVE_ORACLE,1,[ ]) |
|
|
|
PHP_SUBST(ORACLE_SHARED_LIBADD) |
|
|
|
PHP_SUBST(ORACLE_DIR) |
|
|
|
PHP_SUBST(ORACLE_VERSION) |
|
|
|
|
|
|
|
# i have no idea if the following will work! thies@digicol.de 20000508 |
|
|
|
if test "$CC" = "gcc" -a "`uname -sv`" = "AIX 4"; then |
|
|
|
if test "$ext_shared" = "yes"; then |
|
|
|
ORACLE_SHARED_LIBADD="$ORACLE_SHARED_LIBADD -nostdlib /lib/crt0_r.o /usr/lib/libpthreads.a /usr/lib/libc_r.a -lgcc" |
|
|
|
else |
|
|
|
LIBS="$LIBS -nostdlib /lib/crt0_r.o /usr/lib/libpthreads.a /usr/lib/libc_r.a -lgcc" |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
],[AC_MSG_RESULT(no)]) |
|
|
|
#EXTRA_LIBS="$EXTRA_LIBS $ORACLE_SHLIBS $ORACLE_STLIBS $ORACLE_LIBS $ORACLE_LFLAGS" |
|
|
|
EXTRA_LIBS="$EXTRA_LIBS $ORACLE_LFLAGS $ORACLE_LIBS" |
|
|
|
INCLUDES="$INCLUDES $ORACLE_INCLUDE" |
|
|
|
PHP_SUBST(ORACLE_HOME) |
|
|
|
PHP_SUBST(ORACLE_VERSION) |
|
|
|
fi |