From: Antony Dovgal Date: Sun, 12 Sep 2004 06:38:31 +0000 (+0000) Subject: 64-bit related changes X-Git-Tag: PRE_NEW_VM_GEN_PATCH~323 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e2568f0a4fd51bcc933dcf7f1bf4db5d8ba89490;p=php 64-bit related changes ./configure will now behave differently if $ORACLE_HOME/lib32 exists (this mostly happens at Solaris AFAIK) --- diff --git a/ext/oci8/config.m4 b/ext/oci8/config.m4 index adb60f587c..d2873a7969 100644 --- a/ext/oci8/config.m4 +++ b/ext/oci8/config.m4 @@ -18,21 +18,36 @@ AC_DEFUN(PHP_OCI_IF_DEFINED,[ ]) ]) +AC_DEFUN(AC_OCI8_CHECK_LIB_DIR,[ + PHP_CHECK_64BIT([ TMP_OCI8_LIB_DIR=lib32 ], [ TMP_OCI8_LIB_DIR=lib ]) + AC_MSG_CHECKING([OCI8 libraries dir]) + if test -d "$OCI8_DIR/lib" -a ! -d "$OCI8_DIR/lib32"; then + OCI8_LIB_DIR=lib + elif ! test -d "$OCI8_DIR/lib" -a -d "$OCI8_DIR/lib32"; then + OCI8_LIB_DIR=lib32 + elif test -d "$OCI8_DIR/lib" -a -d "$OCI8_DIR/lib32"; then + OCI8_LIB_DIR=$TMP_OCI8_LIB_DIR + else + AC_MSG_ERROR(Oracle-OCI8 libraries directory not found) + fi + AC_MSG_RESULT($OCI8_LIB_DIR) +]) + AC_DEFUN(AC_OCI8_VERSION,[ AC_MSG_CHECKING([Oracle version]) if test -s "$OCI8_DIR/orainst/unix.rgs"; then OCI8_VERSION=`grep '"ocommon"' $OCI8_DIR/orainst/unix.rgs | sed 's/[ ][ ]*/:/g' | cut -d: -f 6 | cut -c 2-4` test -z "$OCI8_VERSION" && OCI8_VERSION=7.3 - elif test -f $OCI8_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then + elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then OCI8_VERSION=10.1 - elif test -f $OCI8_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.9.0; then + elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.9.0; then OCI8_VERSION=9.0 - elif test -f $OCI8_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.8.0; then + elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.8.0; then OCI8_VERSION=8.1 - elif test -f $OCI8_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.1.0; then + elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME.1.0; then OCI8_VERSION=8.0 - elif test -f $OCI8_DIR/lib/libclntsh.a; then - if test -f $OCI8_DIR/lib/libcore4.a; then + elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.a; then + if test -f $OCI8_DIR/$OCI8_LIB_DIR/libcore4.a; then OCI8_VERSION=8.0 else OCI8_VERSION=8.1 @@ -41,7 +56,7 @@ AC_DEFUN(AC_OCI8_VERSION,[ AC_MSG_ERROR(Oracle-OCI8 needed libraries not found) fi AC_MSG_RESULT($OCI8_VERSION) -]) +]) PHP_ARG_WITH(oci8, for Oracle-OCI8 support, [ --with-oci8[=DIR] Include Oracle-oci8 support. Default DIR is ORACLE_HOME.]) @@ -55,6 +70,8 @@ if test "$PHP_OCI8" != "no"; then fi AC_MSG_RESULT($OCI8_DIR) + AC_OCI8_CHECK_LIB_DIR($OCI8_DIR) + if test -d "$OCI8_DIR/rdbms/public"; then PHP_ADD_INCLUDE($OCI8_DIR/rdbms/public) OCI8_INCLUDES="$OCI8_INCLUDES -I$OCI8_DIR/rdbms/public" @@ -72,24 +89,25 @@ if test "$PHP_OCI8" != "no"; then OCI8_INCLUDES="$OCI8_INCLUDES -I$OCI8_DIR/plsql/public" fi - if test -f "$OCI8_DIR/lib/sysliblist"; then - PHP_EVAL_LIBLINE(`cat $OCI8_DIR/lib/sysliblist`, OCI8_SYSLIB) - elif test -f "$OCI8_DIR/rdbms/lib/sysliblist"; then - PHP_EVAL_LIBLINE(`cat $OCI8_DIR/rdbms/lib/sysliblist`, OCI8_SYSLIB) + 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) fi AC_OCI8_VERSION($OCI8_DIR) + case $OCI8_VERSION in 8.0) PHP_ADD_LIBRARY_WITH_PATH(nlsrtl3, "", OCI8_SHARED_LIBADD) PHP_ADD_LIBRARY_WITH_PATH(core4, "", OCI8_SHARED_LIBADD) PHP_ADD_LIBRARY_WITH_PATH(psa, "", OCI8_SHARED_LIBADD) - PHP_ADD_LIBRARY_WITH_PATH(clntsh, $OCI8_DIR/lib, OCI8_SHARED_LIBADD) + PHP_ADD_LIBRARY_WITH_PATH(clntsh, $OCI8_DIR/$OCI8_LIB_DIR, OCI8_SHARED_LIBADD) ;; 8.1) PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD) - PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD) + PHP_ADD_LIBPATH($OCI8_DIR/$OCI8_LIB_DIR, OCI8_SHARED_LIBADD) dnl dnl OCI_ATTR_STATEMENT is not available in all 8.1.x versions @@ -99,7 +117,7 @@ if test "$PHP_OCI8" != "no"; then 9.0) PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD) - PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD) + PHP_ADD_LIBPATH($OCI8_DIR/$OCI8_LIB_DIR, OCI8_SHARED_LIBADD) AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ]) dnl These functions are only available in version >= 9.2 @@ -110,16 +128,16 @@ if test "$PHP_OCI8" != "no"; then AC_DEFINE(HAVE_OCI_9_2,1,[ ]) OCI8_VERSION=9.2 ], [], [ - -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD + -L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD ]) ], [], [ - -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD + -L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD ]) ;; 10.1) PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD) - PHP_ADD_LIBPATH($OCI8_DIR/lib, OCI8_SHARED_LIBADD) + PHP_ADD_LIBPATH($OCI8_DIR/$OCI8_LIB_DIR, OCI8_SHARED_LIBADD) AC_DEFINE(HAVE_OCI8_ATTR_STATEMENT,1,[ ]) AC_DEFINE(HAVE_OCI_9_2,1,[ ]) ;; @@ -140,10 +158,10 @@ if test "$PHP_OCI8" != "no"; then PHP_ADD_LIBRARY(ocijdbc8, 1, OCI8_SHARED_LIBADD) AC_DEFINE(HAVE_OCI8_TEMP_LOB,1,[ ]) ], [], [ - -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD + -L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD ]) ], [ - -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD + -L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD ]) dnl @@ -153,7 +171,7 @@ if test "$PHP_OCI8" != "no"; then [ AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ]) ], [], [ - -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD + -L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD ])