Index: config.m4 =================================================================== RCS file: /repository/php-src/ext/oci8/config.m4,v retrieving revision 1.50 diff -u -r1.50 config.m4 --- config.m4 3 Feb 2004 14:21:09 -0000 1.50 +++ config.m4 28 Jul 2004 08:14:05 -0000 @@ -18,21 +18,56 @@ ]) ]) +AC_DEFUN(AC_OCI8_SIZEOF_INT,[ + AC_MSG_CHECKING([size of int to detect our platform]) + AC_CACHE_VAL(OCI8_SIZE_OF_INT, + [AC_TRY_RUN([#include + main() + { + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%d\n", (int)sizeof(int)); + exit(0); + }], + OCI8_SIZE_OF_INT=`cat conftestval`, + OCI8_SIZE_OF_INT=0, + AC_MSG_ERROR(failed to compile test program))]) + AC_MSG_RESULT($OCI8_SIZE_OF_INT) +]) + +AC_DEFUN(AC_OCI8_LIB_DIR,[ + 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 + if test "$OCI8_SIZE_OF_INT" = "4" ; then + OCI8_LIB_DIR=lib32 + else + OCI8_LIB_DIR=lib + fi + 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 +76,7 @@ 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 +90,10 @@ fi AC_MSG_RESULT($OCI8_DIR) + AC_CHECK_SIZEOF(int) + AC_OCI8_SIZEOF_INT() + AC_OCI8_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 +111,25 @@ 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 +139,7 @@ 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 +150,16 @@ 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 +180,10 @@ 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 +193,7 @@ [ AC_DEFINE(PHP_OCI8_HAVE_COLLECTIONS,1,[ ]) ], [], [ - -L$OCI8_DIR/lib $OCI8_SHARED_LIBADD + -L$OCI8_DIR/$OCI8_LIB_DIR $OCI8_SHARED_LIBADD ])