2001-12-01 03:00:13 +08:00
|
|
|
dnl
|
1999-05-12 22:21:38 +08:00
|
|
|
dnl $Id$
|
2001-12-01 03:00:13 +08:00
|
|
|
dnl
|
1999-05-12 22:21:38 +08:00
|
|
|
|
2005-12-01 21:39:48 +08:00
|
|
|
if test -z "$SED"; then
|
|
|
|
PHP_OCI8_SED="sed";
|
|
|
|
else
|
|
|
|
PHP_OCI8_SED="$SED";
|
|
|
|
fi
|
|
|
|
|
2004-12-30 15:08:39 +08:00
|
|
|
AC_DEFUN([PHP_OCI_IF_DEFINED],[
|
2003-01-25 01:51:19 +08:00
|
|
|
old_CPPFLAGS=$CPPFLAGS
|
|
|
|
CPPFLAGS=$3
|
|
|
|
AC_EGREP_CPP(yes,[
|
|
|
|
#include <oci.h>
|
|
|
|
#if defined($1)
|
|
|
|
yes
|
|
|
|
#endif
|
|
|
|
],[
|
|
|
|
CPPFLAGS=$old_CPPFLAGS
|
|
|
|
$2
|
|
|
|
],[
|
|
|
|
CPPFLAGS=$old_CPPFLAGS
|
|
|
|
])
|
|
|
|
])
|
|
|
|
|
2004-12-30 15:08:39 +08:00
|
|
|
AC_DEFUN([AC_OCI8_CHECK_LIB_DIR],[
|
2005-12-01 21:39:48 +08:00
|
|
|
AC_CHECK_SIZEOF(long int, 4)
|
2007-05-04 19:30:37 +08:00
|
|
|
AC_MSG_CHECKING([if we're on a 64-bit platform])
|
2005-12-01 21:39:48 +08:00
|
|
|
if test "$ac_cv_sizeof_long_int" = "4" ; then
|
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
TMP_OCI8_LIB_DIR=lib32
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
TMP_OCI8_LIB_DIR=lib
|
|
|
|
fi
|
|
|
|
|
2004-09-12 14:38:31 +08:00
|
|
|
AC_MSG_CHECKING([OCI8 libraries dir])
|
2007-08-14 20:15:04 +08:00
|
|
|
if test -d "$OCI8_DIR/lib" && test ! -d "$OCI8_DIR/lib32"; then
|
2007-07-12 06:16:11 +08:00
|
|
|
OCI8_LIB_DIR=lib
|
2007-08-14 20:15:04 +08:00
|
|
|
elif test ! -d "$OCI8_DIR/lib" && test -d "$OCI8_DIR/lib32"; then
|
2007-07-12 06:16:11 +08:00
|
|
|
OCI8_LIB_DIR=lib32
|
2007-08-14 20:15:04 +08:00
|
|
|
elif test -d "$OCI8_DIR/lib" && test -d "$OCI8_DIR/lib32"; then
|
2004-09-12 14:38:31 +08:00
|
|
|
OCI8_LIB_DIR=$TMP_OCI8_LIB_DIR
|
|
|
|
else
|
2004-12-24 00:20:09 +08:00
|
|
|
AC_MSG_ERROR([Oracle (OCI8) required libraries not found])
|
2004-09-12 14:38:31 +08:00
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($OCI8_LIB_DIR)
|
|
|
|
])
|
|
|
|
|
2004-12-30 15:08:39 +08:00
|
|
|
AC_DEFUN([AC_OCI8IC_VERSION],[
|
2004-12-24 00:20:09 +08:00
|
|
|
AC_MSG_CHECKING([Oracle Instant Client version])
|
2007-08-10 15:02:33 +08:00
|
|
|
if test -f $PHP_OCI8_INSTANT_CLIENT/libnnz11.$SHLIB_SUFFIX_NAME; then
|
|
|
|
if test -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME.11.1; then
|
|
|
|
if test ! -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME; then
|
|
|
|
AC_MSG_ERROR([Link from $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME to libclntsh.$SHLIB_SUFFIX_NAME.11.1 not found])
|
|
|
|
fi
|
|
|
|
OCI8_VERSION=11.1
|
|
|
|
else
|
|
|
|
AC_MSG_ERROR([Oracle Instant Client library version not supported])
|
|
|
|
fi
|
|
|
|
elif test -f $PHP_OCI8_INSTANT_CLIENT/libnnz10.$SHLIB_SUFFIX_NAME; then
|
2004-12-24 00:20:09 +08:00
|
|
|
if test -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then
|
|
|
|
if test ! -f $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME; then
|
|
|
|
AC_MSG_ERROR([Link from $PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME to libclntsh.$SHLIB_SUFFIX_NAME.10.1 not found])
|
|
|
|
fi
|
|
|
|
OCI8_VERSION=10.1
|
|
|
|
else
|
|
|
|
AC_MSG_ERROR([Oracle Instant Client library version not supported])
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
AC_MSG_ERROR([Oracle Instant Client libraries not found])
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT([$OCI8_VERSION])
|
|
|
|
])
|
|
|
|
|
|
|
|
|
2004-12-30 15:08:39 +08:00
|
|
|
AC_DEFUN([AC_OCI8_VERSION],[
|
1999-05-12 22:21:38 +08:00
|
|
|
AC_MSG_CHECKING([Oracle version])
|
2000-10-29 12:36:33 +08:00
|
|
|
if test -s "$OCI8_DIR/orainst/unix.rgs"; then
|
2006-01-21 00:58:48 +08:00
|
|
|
OCI8_VERSION=`grep '"ocommon"' $OCI8_DIR/orainst/unix.rgs | $PHP_OCI8_SED 's/[ ][ ]*/:/g' | cut -d: -f 6 | cut -c 2-4`
|
2002-08-20 20:01:24 +08:00
|
|
|
test -z "$OCI8_VERSION" && OCI8_VERSION=7.3
|
2007-08-10 15:02:33 +08:00
|
|
|
elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.11.1; then
|
|
|
|
OCI8_VERSION=11.1
|
2004-09-12 14:38:31 +08:00
|
|
|
elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then
|
2004-02-03 22:21:09 +08:00
|
|
|
OCI8_VERSION=10.1
|
2004-09-12 14:38:31 +08:00
|
|
|
elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.9.0; then
|
2002-08-20 20:01:24 +08:00
|
|
|
OCI8_VERSION=9.0
|
2004-09-12 14:38:31 +08:00
|
|
|
elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.8.0; then
|
2002-08-20 20:01:24 +08:00
|
|
|
OCI8_VERSION=8.1
|
2004-09-12 14:38:31 +08:00
|
|
|
elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.1.0; then
|
2002-08-20 20:01:24 +08:00
|
|
|
OCI8_VERSION=8.0
|
2004-09-12 14:38:31 +08:00
|
|
|
elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.a; then
|
|
|
|
if test -f $OCI8_DIR/$OCI8_LIB_DIR/libcore4.a; then
|
2001-02-15 05:41:40 +08:00
|
|
|
OCI8_VERSION=8.0
|
|
|
|
else
|
|
|
|
OCI8_VERSION=8.1
|
|
|
|
fi
|
1999-05-12 22:21:38 +08:00
|
|
|
else
|
2000-05-08 17:41:37 +08:00
|
|
|
AC_MSG_ERROR(Oracle-OCI8 needed libraries not found)
|
1999-05-12 22:21:38 +08:00
|
|
|
fi
|
2000-04-27 22:29:11 +08:00
|
|
|
AC_MSG_RESULT($OCI8_VERSION)
|
2004-09-12 14:38:31 +08:00
|
|
|
])
|
1999-05-12 22:21:38 +08:00
|
|
|
|
2005-12-01 21:39:48 +08:00
|
|
|
|
|
|
|
dnl --with-oci8=shared,instantclient,/path/to/client/dir/lib
|
|
|
|
dnl or
|
|
|
|
dnl --with-oci8=shared,/path/to/oracle/home
|
|
|
|
PHP_ARG_WITH(oci8, for Oracle (OCI8) support,
|
2007-07-04 01:25:43 +08:00
|
|
|
[ --with-oci8[=DIR] Include Oracle (OCI8) support. DIR defaults to \$ORACLE_HOME.
|
|
|
|
Use --with-oci8=instantclient,/path/to/oic/lib
|
|
|
|
for an Oracle Instant Client installation])
|
2005-12-01 21:39:48 +08:00
|
|
|
|
2007-07-12 06:16:11 +08:00
|
|
|
if test "$PHP_OCI8" != "no"; then
|
2007-05-04 17:05:32 +08:00
|
|
|
AC_MSG_CHECKING([PHP version])
|
2006-09-19 05:23:42 +08:00
|
|
|
|
|
|
|
tmp_version=$PHP_VERSION
|
|
|
|
if test -z "$tmp_version"; then
|
|
|
|
if test -z "$PHP_CONFIG"; then
|
|
|
|
AC_MSG_ERROR([php-config not found])
|
|
|
|
fi
|
|
|
|
php_version=`$PHP_CONFIG --version 2>/dev/null|head -n 1|sed -e 's#\([0-9]\.[0-9]*\.[0-9]*\)\(.*\)#\1#'`
|
|
|
|
else
|
|
|
|
php_version=`echo "$tmp_version"|sed -e 's#\([0-9]\.[0-9]*\.[0-9]*\)\(.*\)#\1#'`
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test -z "$php_version"; then
|
|
|
|
AC_MSG_ERROR([failed to detect PHP version, please report])
|
|
|
|
fi
|
|
|
|
|
|
|
|
ac_IFS=$IFS
|
|
|
|
IFS="."
|
|
|
|
set $php_version
|
|
|
|
IFS=$ac_IFS
|
|
|
|
oci8_php_version=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3`
|
|
|
|
|
|
|
|
if test "$oci8_php_version" -le "4003010"; then
|
|
|
|
AC_MSG_ERROR([You need at least PHP 4.3.10 to be able to use this version of OCI8. PHP $php_version found])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([$php_version, ok])
|
|
|
|
fi
|
2007-07-12 06:16:11 +08:00
|
|
|
fi
|
2006-09-19 05:23:42 +08:00
|
|
|
|
2005-12-01 21:39:48 +08:00
|
|
|
PHP_OCI8_INSTANT_CLIENT="no"
|
|
|
|
|
|
|
|
if test "`echo $PHP_OCI8 | cut -d, -f2`" = "instantclient"; then
|
2007-07-12 06:16:11 +08:00
|
|
|
PHP_OCI8_INSTANT_CLIENT="`echo $PHP_OCI8 | cut -d, -f3`"
|
2005-12-01 21:39:48 +08:00
|
|
|
PHP_OCI8="`echo $PHP_OCI8 | cut -d, -f1,4`"
|
2007-07-12 06:16:11 +08:00
|
|
|
if test "$PHP_OCI8_INSTANT_CLIENT" = ""; then
|
|
|
|
PHP_OCI8_INSTANT_CLIENT="yes"
|
|
|
|
fi
|
2007-07-13 17:24:30 +08:00
|
|
|
if test -z "$PHP_OCI8"; then
|
|
|
|
PHP_OCI8=yes
|
|
|
|
fi
|
2005-12-01 21:39:48 +08:00
|
|
|
elif test "`echo $PHP_OCI8 | cut -d, -f1`" = "instantclient"; then
|
2007-07-12 06:16:11 +08:00
|
|
|
PHP_OCI8_INSTANT_CLIENT="`echo $PHP_OCI8 | cut -d, -f2`"
|
2005-12-01 21:39:48 +08:00
|
|
|
PHP_OCI8="`echo $PHP_OCI8 | cut -d, -f3,4`"
|
2007-07-12 06:16:11 +08:00
|
|
|
if test "$PHP_OCI8_INSTANT_CLIENT" = ""; then
|
|
|
|
PHP_OCI8_INSTANT_CLIENT="yes"
|
|
|
|
fi
|
2007-07-13 17:24:30 +08:00
|
|
|
if test -z "$PHP_OCI8"; then
|
|
|
|
PHP_OCI8=yes
|
|
|
|
fi
|
2005-02-25 19:31:10 +08:00
|
|
|
fi
|
1999-05-12 22:21:38 +08:00
|
|
|
|
2005-12-01 21:39:48 +08:00
|
|
|
if test "$PHP_OCI8" != "no" && test "$PHP_OCI8_INSTANT_CLIENT" = "no"; then
|
2004-12-24 00:20:09 +08:00
|
|
|
|
|
|
|
AC_MSG_CHECKING([Oracle Install Directory])
|
2000-05-08 17:06:48 +08:00
|
|
|
if test "$PHP_OCI8" = "yes"; then
|
2002-08-20 20:01:24 +08:00
|
|
|
OCI8_DIR=$ORACLE_HOME
|
2000-05-08 17:06:48 +08:00
|
|
|
else
|
2002-08-20 20:01:24 +08:00
|
|
|
OCI8_DIR=$PHP_OCI8
|
2000-05-08 17:06:48 +08:00
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($OCI8_DIR)
|
1999-05-12 22:21:38 +08:00
|
|
|
|
2004-09-12 14:38:31 +08:00
|
|
|
AC_OCI8_CHECK_LIB_DIR($OCI8_DIR)
|
|
|
|
|
2000-05-08 17:06:48 +08:00
|
|
|
if test -d "$OCI8_DIR/rdbms/public"; then
|
2002-08-20 20:01:24 +08:00
|
|
|
PHP_ADD_INCLUDE($OCI8_DIR/rdbms/public)
|
2003-01-25 01:51:19 +08:00
|
|
|
OCI8_INCLUDES="$OCI8_INCLUDES -I$OCI8_DIR/rdbms/public"
|
2000-05-08 17:06:48 +08:00
|
|
|
fi
|
|
|
|
if test -d "$OCI8_DIR/rdbms/demo"; then
|
2002-08-20 20:01:24 +08:00
|
|
|
PHP_ADD_INCLUDE($OCI8_DIR/rdbms/demo)
|
2003-01-25 01:51:19 +08:00
|
|
|
OCI8_INCLUDES="$OCI8_INCLUDES -I$OCI8_DIR/rdbms/demo"
|
2000-05-08 17:06:48 +08:00
|
|
|
fi
|
|
|
|
if test -d "$OCI8_DIR/network/public"; then
|
2002-08-20 20:01:24 +08:00
|
|
|
PHP_ADD_INCLUDE($OCI8_DIR/network/public)
|
2003-01-25 01:51:19 +08:00
|
|
|
OCI8_INCLUDES="$OCI8_INCLUDES -I$OCI8_DIR/network/public"
|
2000-05-08 17:06:48 +08:00
|
|
|
fi
|
|
|
|
if test -d "$OCI8_DIR/plsql/public"; then
|
2002-08-20 20:01:24 +08:00
|
|
|
PHP_ADD_INCLUDE($OCI8_DIR/plsql/public)
|
2003-01-25 01:51:19 +08:00
|
|
|
OCI8_INCLUDES="$OCI8_INCLUDES -I$OCI8_DIR/plsql/public"
|
2000-05-08 17:06:48 +08:00
|
|
|
fi
|
1999-05-12 22:21:38 +08:00
|
|
|
|
2004-09-12 14:38:31 +08:00
|
|
|
if test -f "$OCI8_DIR/$OCI8_LIB_DIR/sysliblist"; then
|
|
|
|
PHP_EVAL_LIBLINE(`cat $OCI8_DIR/$OCI8_LIB_DIR/sysliblist`, OCI8_SYSLIB)
|
|
|
|
elif test -f "$OCI8_DIR/rdbms/$OCI8_LIB_DIR/sysliblist"; then
|
|
|
|
PHP_EVAL_LIBLINE(`cat $OCI8_DIR/rdbms/$OCI8_LIB_DIR/sysliblist`, OCI8_SYSLIB)
|
2000-05-08 17:06:48 +08:00
|
|
|
fi
|
2000-04-27 22:29:11 +08:00
|
|
|
|
2000-05-08 17:06:48 +08:00
|
|
|
AC_OCI8_VERSION($OCI8_DIR)
|
2004-09-12 14:38:31 +08:00
|
|
|
|
2000-05-08 17:06:48 +08:00
|
|
|
case $OCI8_VERSION in
|
2002-08-20 20:01:24 +08:00
|
|
|
8.0)
|
2007-11-13 19:09:42 +08:00
|
|
|
AC_MSG_ERROR([Oracle client libraries < 9.0 are not supported any more. Please consider upgrading.])
|
2002-08-20 20:01:24 +08:00
|
|
|
;;
|
2000-04-27 22:29:11 +08:00
|
|
|
|
2002-12-06 21:44:35 +08:00
|
|
|
8.1)
|
2007-11-13 19:09:42 +08:00
|
|
|
AC_MSG_ERROR([Oracle client libraries < 9.0 are not supported any more. Please consider upgrading.])
|
2002-08-20 20:01:24 +08:00
|
|
|
;;
|
2001-07-27 07:07:45 +08:00
|
|
|
|
2002-12-06 21:44:35 +08:00
|
|
|
9.0)
|
|
|
|
PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
|
2004-09-12 14:38:31 +08:00
|
|
|
PHP_ADD_LIBPATH($OCI8_DIR/$OCI8_LIB_DIR, OCI8_SHARED_LIBADD)
|
2002-12-06 21:44:35 +08:00
|
|
|
AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
|
2003-04-30 18:17:25 +08:00
|
|
|
|
|
|
|
dnl These functions are only available in version >= 9.2
|
|
|
|
PHP_CHECK_LIBRARY(clntsh, OCIEnvNlsCreate,
|
|
|
|
[
|
|
|
|
PHP_CHECK_LIBRARY(clntsh, OCINlsCharSetNameToId,
|
|
|
|
[
|
2005-12-01 21:39:48 +08:00
|
|
|
AC_DEFINE(HAVE_OCI_ENV_NLS_CREATE,1,[ ])
|
2003-04-30 18:17:25 +08:00
|
|
|
OCI8_VERSION=9.2
|
|
|
|
], [], [
|
2004-09-12 14:38:31 +08:00
|
|
|
-L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD
|
2003-04-30 18:17:25 +08:00
|
|
|
])
|
|
|
|
], [], [
|
2004-09-12 14:38:31 +08:00
|
|
|
-L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD
|
2003-04-30 18:17:25 +08:00
|
|
|
])
|
2005-12-01 21:39:48 +08:00
|
|
|
|
|
|
|
PHP_CHECK_LIBRARY(clntsh, OCIEnvCreate,
|
|
|
|
[
|
|
|
|
AC_DEFINE(HAVE_OCI_ENV_CREATE,1,[ ])
|
|
|
|
], [], [
|
|
|
|
-L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD
|
|
|
|
])
|
|
|
|
|
|
|
|
PHP_CHECK_LIBRARY(clntsh, OCIStmtPrepare2,
|
|
|
|
[
|
|
|
|
AC_DEFINE(HAVE_OCI_STMT_PREPARE2,1,[ ])
|
|
|
|
], [], [
|
|
|
|
-L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD
|
|
|
|
])
|
2006-04-05 22:06:00 +08:00
|
|
|
|
|
|
|
PHP_CHECK_LIBRARY(clntsh, OCILobRead2,
|
|
|
|
[
|
|
|
|
AC_DEFINE(HAVE_OCI_LOB_READ2,1,[ ])
|
|
|
|
], [], [
|
|
|
|
-L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD
|
|
|
|
])
|
2005-12-01 21:39:48 +08:00
|
|
|
|
2002-12-06 21:44:35 +08:00
|
|
|
;;
|
2004-02-03 22:21:09 +08:00
|
|
|
|
2007-08-10 15:02:33 +08:00
|
|
|
11.1|10.1)
|
2004-02-03 22:21:09 +08:00
|
|
|
PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
|
2004-09-12 14:38:31 +08:00
|
|
|
PHP_ADD_LIBPATH($OCI8_DIR/$OCI8_LIB_DIR, OCI8_SHARED_LIBADD)
|
2004-02-03 22:21:09 +08:00
|
|
|
AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
|
2005-12-01 21:39:48 +08:00
|
|
|
AC_DEFINE(HAVE_OCI_ENV_NLS_CREATE,1,[ ])
|
|
|
|
AC_DEFINE(HAVE_OCI_ENV_CREATE,1,[ ])
|
|
|
|
AC_DEFINE(HAVE_OCI_STMT_PREPARE2,1,[ ])
|
2006-04-05 22:06:00 +08:00
|
|
|
AC_DEFINE(HAVE_OCI_LOB_READ2,1,[ ])
|
2004-12-24 00:20:09 +08:00
|
|
|
AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
|
|
|
|
AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
|
2004-02-03 22:21:09 +08:00
|
|
|
;;
|
2002-08-20 20:01:24 +08:00
|
|
|
*)
|
2007-11-13 19:09:42 +08:00
|
|
|
AC_MSG_ERROR([Oracle version $OCI8_VERSION is not supported])
|
2002-08-20 20:01:24 +08:00
|
|
|
;;
|
2000-05-08 17:06:48 +08:00
|
|
|
esac
|
2000-04-27 22:29:11 +08:00
|
|
|
|
2003-03-24 18:18:00 +08:00
|
|
|
dnl
|
|
|
|
dnl Check if we need to add -locijdbc8
|
|
|
|
dnl
|
|
|
|
PHP_CHECK_LIBRARY(clntsh, OCILobIsTemporary,
|
|
|
|
[
|
|
|
|
AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
|
|
|
|
], [
|
|
|
|
PHP_CHECK_LIBRARY(ocijdbc8, OCILobIsTemporary,
|
|
|
|
[
|
|
|
|
PHP_ADD_LIBRARY(ocijdbc8, 1, OCI8_SHARED_LIBADD)
|
|
|
|
AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
|
|
|
|
], [], [
|
2004-09-12 14:38:31 +08:00
|
|
|
-L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD
|
2003-03-24 18:18:00 +08:00
|
|
|
])
|
|
|
|
], [
|
2004-09-12 14:38:31 +08:00
|
|
|
-L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD
|
2003-03-24 18:18:00 +08:00
|
|
|
])
|
|
|
|
|
2003-12-16 23:58:10 +08:00
|
|
|
dnl
|
|
|
|
dnl Check if we have collections
|
|
|
|
dnl
|
|
|
|
PHP_CHECK_LIBRARY(clntsh, OCICollAssign,
|
|
|
|
[
|
2004-01-15 14:30:23 +08:00
|
|
|
AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
|
2005-12-01 21:39:48 +08:00
|
|
|
PHP_NEW_EXTENSION(oci8, oci8.c oci8_lob.c oci8_statement.c oci8_collection.c oci8_interface.c, $ext_shared)
|
|
|
|
],
|
|
|
|
[
|
|
|
|
PHP_NEW_EXTENSION(oci8, oci8.c oci8_lob.c oci8_statement.c oci8_interface.c, $ext_shared)
|
|
|
|
],
|
|
|
|
[
|
2004-09-12 14:38:31 +08:00
|
|
|
-L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD
|
2003-12-16 23:58:10 +08:00
|
|
|
])
|
|
|
|
|
2000-05-08 17:06:48 +08:00
|
|
|
AC_DEFINE(HAVE_OCI8,1,[ ])
|
2000-04-27 22:29:11 +08:00
|
|
|
|
2001-02-15 05:41:40 +08:00
|
|
|
PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
|
|
|
|
PHP_SUBST_OLD(OCI8_DIR)
|
2000-12-21 01:21:37 +08:00
|
|
|
PHP_SUBST_OLD(OCI8_VERSION)
|
2003-12-16 23:58:10 +08:00
|
|
|
|
2005-12-01 21:39:48 +08:00
|
|
|
elif test "$PHP_OCI8" != "no" && test "$PHP_OCI8_INSTANT_CLIENT" != "no"; then
|
2004-12-24 00:20:09 +08:00
|
|
|
|
|
|
|
AC_MSG_CHECKING([Oracle Instant Client directory])
|
|
|
|
if test "$PHP_OCI8_INSTANT_CLIENT" = "yes"; then
|
|
|
|
dnl Generally the Instant Client can be anywhere so the user must pass in the
|
|
|
|
dnl directory to the libraries. But on Linux we default to the most recent
|
|
|
|
dnl version in /usr/lib
|
|
|
|
PHP_OCI8_INSTANT_CLIENT=`ls -d /usr/lib/oracle/*/client/lib 2> /dev/null | tail -1`
|
|
|
|
if test -z "$PHP_OCI8_INSTANT_CLIENT"; then
|
2005-12-01 21:39:48 +08:00
|
|
|
AC_MSG_ERROR([Oracle Instant Client directory not found. Try --with-oci8=instantclient,DIR])
|
2004-12-24 00:20:09 +08:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($PHP_OCI8_INSTANT_CLIENT)
|
|
|
|
|
|
|
|
OCI8_DIR=$PHP_OCI8_INSTANT_CLIENT
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([Oracle Instant Client SDK header directory])
|
|
|
|
|
|
|
|
dnl Header directory for Instant Client SDK RPM install
|
2006-05-30 02:12:55 +08:00
|
|
|
OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | $PHP_OCI8_SED -e 's!^/usr/lib/oracle/\(.*\)/client/lib[/]*$!/usr/include/oracle/\1/client!'`
|
2004-12-24 00:20:09 +08:00
|
|
|
|
|
|
|
dnl Header directory for Instant Client SDK zip file install
|
|
|
|
OCISDKZIPINC=$PHP_OCI8_INSTANT_CLIENT/sdk/include
|
|
|
|
|
2005-12-01 21:39:48 +08:00
|
|
|
dnl Header directory for manual installation
|
2006-05-30 02:12:55 +08:00
|
|
|
OCISDKMANINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | $PHP_OCI8_SED -e 's!\(.*\)/lib[/]*$!\1/include!'`
|
2005-12-01 21:39:48 +08:00
|
|
|
|
2004-12-24 00:20:09 +08:00
|
|
|
if test -f "$OCISDKRPMINC/oci.h"; then
|
|
|
|
AC_MSG_RESULT($OCISDKRPMINC)
|
|
|
|
PHP_ADD_INCLUDE($OCISDKRPMINC)
|
|
|
|
OCI8INCDIR=$OCISDKRPMINC
|
|
|
|
elif test -f "$OCISDKZIPINC/oci.h"; then
|
|
|
|
AC_MSG_RESULT($OCISDKZIPINC)
|
|
|
|
PHP_ADD_INCLUDE($OCISDKZIPINC)
|
|
|
|
OCI8INCDIR=$OCISDKZIPINC
|
2005-12-01 21:39:48 +08:00
|
|
|
elif test -f "$OCISDKMANINC/oci.h"; then
|
|
|
|
AC_MSG_RESULT($OCISDKMANINC)
|
|
|
|
PHP_ADD_INCLUDE($OCISDKMANINC)
|
|
|
|
OCI8INCDIR=$OCISDKMANINC
|
2004-12-24 00:20:09 +08:00
|
|
|
else
|
|
|
|
AC_MSG_ERROR([Oracle Instant Client SDK header files not found])
|
|
|
|
fi
|
|
|
|
|
2006-01-21 00:58:48 +08:00
|
|
|
OCISYSLIBLIST=`echo "$OCI8INCDIR" | $PHP_OCI8_SED -e 's!\(.*\)/include$!\1/demo/sysliblist!'`
|
2004-12-24 00:20:09 +08:00
|
|
|
if test -f "$OCISYSLIBLIST"; then
|
|
|
|
PHP_EVAL_LIBLINE(`cat $OCISYSLIBLIST`, OCI8_SYSLIB)
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_OCI8IC_VERSION($PHP_OCI8_INSTANT_CLIENT)
|
|
|
|
case $OCI8_VERSION in
|
2007-08-10 15:02:33 +08:00
|
|
|
11.1|10.1)
|
2004-12-24 00:20:09 +08:00
|
|
|
PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
|
|
|
|
PHP_ADD_LIBPATH($PHP_OCI8_INSTANT_CLIENT, OCI8_SHARED_LIBADD)
|
|
|
|
;;
|
|
|
|
|
|
|
|
*)
|
2007-11-13 19:09:42 +08:00
|
|
|
AC_MSG_ERROR([Oracle Instant CLient version $PHP_OCI8_INSTANT_CLIENT is not supported])
|
2004-12-24 00:20:09 +08:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2005-12-01 21:39:48 +08:00
|
|
|
AC_DEFINE(HAVE_OCI_INSTANT_CLIENT,1,[ ])
|
2004-12-24 00:20:09 +08:00
|
|
|
AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ])
|
2005-12-01 21:39:48 +08:00
|
|
|
AC_DEFINE(HAVE_OCI_ENV_NLS_CREATE,1,[ ])
|
|
|
|
AC_DEFINE(HAVE_OCI_ENV_CREATE,1,[ ])
|
|
|
|
AC_DEFINE(HAVE_OCI_STMT_PREPARE2,1,[ ])
|
2006-04-05 22:06:00 +08:00
|
|
|
AC_DEFINE(HAVE_OCI_LOB_READ2,1,[ ])
|
2004-12-24 00:20:09 +08:00
|
|
|
AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ])
|
|
|
|
AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ])
|
|
|
|
|
2005-12-01 21:39:48 +08:00
|
|
|
PHP_NEW_EXTENSION(oci8, oci8.c oci8_lob.c oci8_statement.c oci8_collection.c oci8_interface.c, $ext_shared)
|
2004-12-24 00:20:09 +08:00
|
|
|
AC_DEFINE(HAVE_OCI8,1,[ ])
|
|
|
|
|
|
|
|
PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
|
|
|
|
PHP_SUBST_OLD(OCI8_DIR)
|
|
|
|
PHP_SUBST_OLD(OCI8_VERSION)
|
|
|
|
|
2000-05-08 17:06:48 +08:00
|
|
|
fi
|