move oci8 from oracle to it's own ext-directory - configure stuff needs more work - but it configures and compiles

This commit is contained in:
Thies C. Arntzen 1999-05-12 14:21:38 +00:00
parent f04567b09e
commit dc8d4f89c7
8 changed files with 181 additions and 5 deletions

6
ext/oci8/Makefile.am Normal file
View File

@ -0,0 +1,6 @@
# $Id$
INCLUDES=@INCLUDES@ -I@top_srcdir@ -I@top_srcdir@/libzend
noinst_LIBRARIES=libphpext_oci8.a
libphpext_oci8_a_SOURCES=oci8.c

4
ext/oci8/config.h.stub Normal file
View File

@ -0,0 +1,4 @@
/* define if you want to use the oci8 extension */
/* #undef HAVE_LIBOCI8 */
#define HAVE_OCI8 0

163
ext/oci8/config.m4 Normal file
View File

@ -0,0 +1,163 @@
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
else
ORACLE_VERSION=8.0
fi
AC_MSG_RESULT($ORACLE_VERSION)
])
AC_MSG_CHECKING(for Oracle-OCI8 support)
AC_ARG_WITH(oci8,
[ --with-oci8[=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(oci8)
;;
no)
ORACLEINST_TOP=
AC_MSG_RESULT(no)
;;
*)
ORACLEINST_TOP=$withval
AC_MSG_RESULT(yes)
PHP_EXTENSION(oci8)
;;
esac
if test "$ORACLEINST_TOP" != ""
then
# Oracle include files
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 -d "$ORACLEINST_TOP/network/public"
then
# V8
ORACLE_INCLUDE="$ORACLE_INCLUDE -I$ORACLEINST_TOP/network/public"
fi
if test -d "$ORACLEINST_TOP/plsql/public"
then
# V8
ORACLE_INCLUDE="$ORACLE_INCLUDE -I$ORACLEINST_TOP/plsql/public"
fi
# Need to know the version, otherwhise we will mixup nlsrtl
AC_ORACLE_VERSION($ORACLEINST_TOP)
# Oracle libs - nightmare :-)
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
# 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
AC_DEFINE(HAVE_OCI8)
;;
*)
ORACLE_SHLIBS=
;;
esac
# only using shared libs right now
ORACLE_LIBS=$ORACLE_SHLIBS
AC_DEFINE(HAVE_ORACLE)
fi
],[AC_MSG_RESULT(no)])
#EXTRA_LIBS="$EXTRA_LIBS $ORACLE_SHLIBS $ORACLE_STLIBS $ORACLE_LIBS $ORACLE_LFLAGS"
EXTRA_LIBS="$EXTRA_LIBS $ORACLE_LIBS $ORACLE_LFLAGS"
INCLUDES="$INCLUDES $ORACLE_INCLUDE"
AC_SUBST(ORACLE_HOME)
AC_SUBST(ORACLE_VERSION)

View File

@ -175,6 +175,7 @@ typedef struct {
extern php3_module_entry oci8_module_entry;
#define oci8_module_ptr &oci8_module_entry
#define phpext_oci8_ptr &oci8_module_entry
#define OCI8_MAX_NAME_LEN 64
#define OCI8_MAX_DATA_SIZE 2097152 /* two megs */

6
ext/oci8/setup.stub Normal file
View File

@ -0,0 +1,6 @@
# $Source$
# $Id$
define_option with-oci8 'oci8 support?' yesnodir no \
' Whether to build the oci8 extension.'

View File

@ -2,4 +2,4 @@
INCLUDES=@INCLUDES@ -I@top_srcdir@ -I@top_srcdir@/libzend
noinst_LIBRARIES=libphpext_oracle.a
libphpext_oracle_a_SOURCES=oracle.c oci8.c
libphpext_oracle_a_SOURCES=oracle.c

View File

@ -1,6 +1,2 @@
/* Define if you have the Oracle database client libraries */
#define HAVE_ORACLE 0
/* Define if you have the Oracle version 8 database client libraries */
#define HAVE_OCI8 0