summaryrefslogtreecommitdiff
path: root/ext/pdo_oci
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2008-09-03 19:21:11 (GMT)
committerStanislav Malyshev <stas@php.net>2008-09-03 19:21:11 (GMT)
commit74c83ca2097ef732e666846253275b1bfc9fdd6d (patch)
tree7b910b403a4e929a558a27643e882c464a96456c /ext/pdo_oci
parent47980ee785d13056e11ef2b892e781c286983839 (diff)
downloadphp-74c83ca2097ef732e666846253275b1bfc9fdd6d.tar.gz
revert last change
Diffstat (limited to 'ext/pdo_oci')
-rwxr-xr-xext/pdo_oci/config.m4131
1 files changed, 93 insertions, 38 deletions
diff --git a/ext/pdo_oci/config.m4 b/ext/pdo_oci/config.m4
index ec066da..8c2960f 100755
--- a/ext/pdo_oci/config.m4
+++ b/ext/pdo_oci/config.m4
@@ -2,52 +2,82 @@ dnl $Id$
dnl config.m4 for extension pdo_oci
dnl vim:et:sw=2:ts=2:
-if test "$PHP_PDO" != "no"; then
-SUPPORTED_VERS="1 8 9 10 11"
AC_DEFUN([AC_PDO_OCI_VERSION],[
AC_MSG_CHECKING([Oracle version])
if test -s "$PDO_OCI_DIR/orainst/unix.rgs"; then
- PDO_OCI_VERSION=`grep '"ocommon"' $PDO_OCI_DIR/orainst/unix.rgs | sed 's/ */:/g' | cut -d: -f 6 | cut -c 2-4`
+ PDO_OCI_VERSION=`grep '"ocommon"' $PDO_OCI_DIR/orainst/unix.rgs | sed 's/[ ][ ]*/:/g' | cut -d: -f 6 | cut -c 2-4`
test -z "$PDO_OCI_VERSION" && PDO_OCI_VERSION=7.3
- elif test -f $PDO_OCI_DIR/lib/libclntsh.a; then
- if test -f $PDO_OCI_DIR/lib/libcore4.a; then
- PDO_OCI_VERSION=8.x
+ elif test -f $PDO_OCI_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.11.1; then
+ PDO_OCI_VERSION=11.1
+ elif test -f $PDO_OCI_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then
+ PDO_OCI_VERSION=10.1
+ elif test -f $PDO_OCI_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.9.0; then
+ PDO_OCI_VERSION=9.0
+ elif test -f $PDO_OCI_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.8.0; then
+ PDO_OCI_VERSION=8.1
+ elif test -f $PDO_OCI_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.1.0; then
+ PDO_OCI_VERSION=8.0
+ elif test -f $PDO_OCI_LIB_DIR/libclntsh.a; then
+ if test -f $PDO_OCI_LIB_DIR/libcore4.a; then
+ PDO_OCI_VERSION=8.0
else
- PDO_OCI_VERSION=8.x
+ PDO_OCI_VERSION=8.1
fi
else
- for OCI_VER in $SUPPORTED_VERS; do
- if test -f $PDO_OCI_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.$OCI_VER.*; then
- PDO_OCI_VERSION="$OCI_VER.x"
- echo $PDO_OCI_VERSION
- fi
- done
+ AC_MSG_ERROR(Oracle OCI libraries not found under $PDO_OCI_DIR)
fi
- if [ -z "$PDO_OCI_VERSION" ] ;then
- { { echo "$as_me:$LINENO: error: Oracle-OCI needed libraries not found under $PDO_OCI_DIR" >&5
- echo "$as_me: error: Oracle-OCI needed libraries not found under $PDO_OCI_DIR" >&2;}
- { (exit 1); exit 1; }; }
+ AC_MSG_RESULT($PDO_OCI_VERSION)
+])
+
+AC_DEFUN([AC_PDO_OCI_CHECK_LIB_DIR],[
+ AC_CHECK_SIZEOF(long int, 4)
+ AC_MSG_CHECKING([if we're on a 64-bit platform])
+ if test "$ac_cv_sizeof_long_int" = "4" ; then
+ AC_MSG_RESULT([no])
+ TMP_PDO_OCI_LIB_DIR="$PDO_OCI_DIR/lib32"
+ else
+ AC_MSG_RESULT([yes])
+ TMP_PDO_OCI_LIB_DIR="$PDO_OCI_DIR/lib"
+ fi
+
+ AC_MSG_CHECKING([OCI8 libraries dir])
+ if test -d "$PDO_OCI_DIR/lib" && test ! -d "$PDO_OCI_DIR/lib32"; then
+ PDO_OCI_LIB_DIR="$PDO_OCI_DIR/lib"
+ elif test ! -d "$PDO_OCI_DIR/lib" && test -d "$PDO_OCI_DIR/lib32"; then
+ PDO_OCI_LIB_DIR="$PDO_OCI_DIR/lib32"
+ elif test -d "$PDO_OCI_DIR/lib" && test -d "$PDO_OCI_DIR/lib32"; then
+ PDO_OCI_LIB_DIR=$TMP_PDO_OCI_LIB_DIR
+ else
+ AC_MSG_ERROR([Oracle (OCI8) required libraries not found])
fi
+ AC_MSG_RESULT($PDO_OCI_LIB_DIR)
+])
PHP_ARG_WITH(pdo-oci, Oracle OCI support for PDO,
-[ --with-pdo-oci[=DIR] PDO: Oracle-OCI support. Default DIR is ORACLE_HOME.
- You may also use --with-pdo-oci=instantclient,prefix,version to use
- the InstantClient SDK. For Linux with 10.1.0.3 rpms (for example) use:
- --with-pdo-oci=instantclient,/usr,10.1.0.3])
+[ --with-pdo-oci[=DIR] PDO: Oracle OCI support. DIR defaults to \$ORACLE_HOME.
+ Use --with-pdo-oci=instantclient,prefix,version
+ for an Oracle Instant Client SDK.
+ For Linux with 10.2.0.3 RPMs (for example) use:
+ --with-pdo-oci=instantclient,/usr,10.2.0.3])
if test "$PHP_PDO_OCI" != "no"; then
+
+ if test "$PHP_PDO" = "no" && test "$ext_shared" = "no"; then
+ AC_MSG_ERROR([PDO is not enabled! Add --enable-pdo to your configure line.])
+ fi
+
AC_MSG_CHECKING([Oracle Install-Dir])
- if test "$PHP_PDO_OCI" = "yes" -o -z "$PHP_PDO_OCI"; then
+ if test "$PHP_PDO_OCI" = "yes" || test -z "$PHP_PDO_OCI"; then
PDO_OCI_DIR=$ORACLE_HOME
else
PDO_OCI_DIR=$PHP_PDO_OCI
fi
- AC_MSG_RESULT($PDO_OCI_DIR :$PHP_PDO_OCI:)
+ AC_MSG_RESULT($PHP_PDO_OCI)
AC_MSG_CHECKING([if that is sane])
if test -z "$PDO_OCI_DIR"; then
AC_MSG_ERROR([
-You need to tell me where to find your oracle SDK, or set ORACLE_HOME.
+You need to tell me where to find your Oracle Instant Client SDK, or set ORACLE_HOME.
])
else
AC_MSG_RESULT([yes])
@@ -63,12 +93,28 @@ You need to tell me where to find your oracle SDK, or set ORACLE_HOME.
elif test -f $PDO_OCI_IC_PREFIX/lib/oracle/$PDO_OCI_IC_VERS/client/include/oci.h ; then
PHP_ADD_INCLUDE($PDO_OCI_IC_PREFIX/lib/oracle/$PDO_OCI_IC_VERS/client/include)
AC_MSG_RESULT($PDO_OCI_IC_PREFIX/lib/oracle/$PDO_OCI_IC_VERS/client/include)
+ elif test -f $PDO_OCI_IC_PREFIX/sdk/include/oci.h ; then
+ PHP_ADD_INCLUDE($PDO_OCI_IC_PREFIX/sdk/include)
+ AC_MSG_RESULT($PDO_OCI_IC_PREFIX/sdk/include)
+ elif test -f $PDO_OCI_IC_PREFIX/client/include/oci.h ; then
+ PHP_ADD_INCLUDE($PDO_OCI_IC_PREFIX/client/include)
+ AC_MSG_RESULT($PDO_OCI_IC_PREFIX/client/include)
else
- AC_MSG_ERROR([I'm too dumb to figure out where the include dir is in your instant client install])
+ AC_MSG_ERROR([I'm too dumb to figure out where the include dir is in your Instant Client install])
fi
+ if test -f "$PDO_OCI_IC_PREFIX/lib/oracle/$PDO_OCI_IC_VERS/client/lib/libclntsh.so" ; then
PDO_OCI_LIB_DIR="$PDO_OCI_IC_PREFIX/lib/oracle/$PDO_OCI_IC_VERS/client/lib"
+ elif test -f "$PDO_OCI_IC_PREFIX/client/lib/libclntsh.so" ; then
+ PDO_OCI_LIB_DIR="$PDO_OCI_IC_PREFIX/client/lib"
+ elif test -f "$PDO_OCI_IC_PREFIX/libclntsh.so" ; then
+ PDO_OCI_LIB_DIR="$PDO_OCI_IC_PREFIX"
+ else
+ AC_MSG_ERROR([I'm too dumb to figure out where the libraries are in your Instant Client install])
+ fi
PDO_OCI_VERSION="`echo $PDO_OCI_IC_VERS | cut -d. -f1-2`"
else
+ AC_PDO_OCI_CHECK_LIB_DIR($PDO_OCI_DIR)
+
if test -d "$PDO_OCI_DIR/rdbms/public"; then
PHP_ADD_INCLUDE($PDO_OCI_DIR/rdbms/public)
PDO_OCI_INCLUDES="$PDO_OCI_INCLUDES -I$PDO_OCI_DIR/rdbms/public"
@@ -90,14 +136,14 @@ You need to tell me where to find your oracle SDK, or set ORACLE_HOME.
PDO_OCI_INCLUDES="$PDO_OCI_INCLUDES -I$PDO_OCI_DIR/include"
fi
- if test -f "$PDO_OCI_DIR/lib/sysliblist"; then
- PHP_EVAL_LIBLINE(`cat $PDO_OCI_DIR/lib/sysliblist`, PDO_OCI_SYSLIB)
+ if test -f "$PDO_OCI_LIB_DIR/sysliblist"; then
+ PHP_EVAL_LIBLINE(`cat $PDO_OCI_LIB_DIR/sysliblist`, PDO_OCI_SYSLIB)
elif test -f "$PDO_OCI_DIR/rdbms/lib/sysliblist"; then
PHP_EVAL_LIBLINE(`cat $PDO_OCI_DIR/rdbms/lib/sysliblist`, PDO_OCI_SYSLIB)
fi
- PDO_OCI_LIB_DIR="$PDO_OCI_DIR/lib"
AC_PDO_OCI_VERSION($PDO_OCI_DIR)
fi
+
case $PDO_OCI_VERSION in
8.0)
PHP_ADD_LIBRARY_WITH_PATH(nlsrtl3, "", PDO_OCI_SHARED_LIBADD)
@@ -106,16 +152,26 @@ You need to tell me where to find your oracle SDK, or set ORACLE_HOME.
PHP_ADD_LIBRARY_WITH_PATH(clntsh, $PDO_OCI_LIB_DIR, PDO_OCI_SHARED_LIBADD)
;;
- 9.x|10.x|11.x)
+ 8.1)
+ PHP_ADD_LIBRARY(clntsh, 1, PDO_OCI_SHARED_LIBADD)
+ ;;
+
+ 9.0)
PHP_ADD_LIBRARY(clntsh, 1, PDO_OCI_SHARED_LIBADD)
;;
-
- #11.1)
- # PHP_ADD_LIBRARY(clntsh, 1, PDO_OCI_SHARED_LIBADD)
- # ;;
- #10.2)
- # PHP_ADD_LIBRARY(clntsh, 1, PDO_OCI_SHARED_LIBADD)
- # ;;
+
+ 10.1)
+ PHP_ADD_LIBRARY(clntsh, 1, PDO_OCI_SHARED_LIBADD)
+ ;;
+
+ 10.2)
+ PHP_ADD_LIBRARY(clntsh, 1, PDO_OCI_SHARED_LIBADD)
+ ;;
+
+ 11.1)
+ PHP_ADD_LIBRARY(clntsh, 1, PDO_OCI_SHARED_LIBADD)
+ ;;
+
*)
AC_MSG_ERROR(Unsupported Oracle version! $PDO_OCI_VERSION)
;;
@@ -200,7 +256,6 @@ You need to tell me where to find your oracle SDK, or set ORACLE_HOME.
[
PHP_ADD_EXTENSION_DEP(pdo_oci, pdo)
])
-
-fi
+ AC_DEFINE_UNQUOTED(PHP_PDO_OCI_CLIENT_VERSION, "$PDO_OCI_VERSION", [ ])
fi