config.m4 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417
  1. if test -z "$SED"; then
  2. PHP_OCI8_SED="sed";
  3. else
  4. PHP_OCI8_SED="$SED";
  5. fi
  6. PHP_OCI8_TAIL1=`echo a | tail -n1 2>/dev/null`
  7. if test "$PHP_OCI8_TAIL1" = "a"; then
  8. PHP_OCI8_TAIL1="tail -n1"
  9. else
  10. PHP_OCI8_TAIL1="tail -1"
  11. fi
  12. AC_DEFUN([AC_OCI8_CHECK_LIB_DIR],[
  13. AC_MSG_CHECKING([ORACLE_HOME library validity])
  14. if test ! -d "$OCI8_DIR"; then
  15. AC_MSG_ERROR([${OCI8_DIR} is not a directory])
  16. fi
  17. if test -d "$OCI8_DIR/lib" && test ! -d "$OCI8_DIR/lib32"; then
  18. OCI8_LIB_DIR=lib
  19. elif test ! -d "$OCI8_DIR/lib" && test -d "$OCI8_DIR/lib32"; then
  20. OCI8_LIB_DIR=lib32
  21. elif test -d "$OCI8_DIR/lib" && test -d "$OCI8_DIR/lib32"; then
  22. OCI8_LIB_DIR=$PHP_OCI8_OH_LIBDIR
  23. else
  24. dnl This isn't an ORACLE_HOME. Try heuristic examination of the dir to help the user
  25. if test -f "$OCI8_DIR/libociei.$SHLIB_SUFFIX_NAME"; then
  26. AC_MSG_ERROR([Expected an ORACLE_HOME top level directory but ${OCI8_DIR} appears to be an Instant Client directory. Try --with-oci8=instantclient,${OCI8_DIR}])
  27. else
  28. AC_MSG_ERROR([Oracle library directory not found in ${OCI8_DIR}])
  29. fi
  30. fi
  31. AC_MSG_RESULT($OCI8_LIB_DIR)
  32. ])
  33. AC_DEFUN([AC_OCI8IC_VERSION],[
  34. AC_MSG_CHECKING([Oracle Instant Client library version compatibility])
  35. OCI8_LCS_BASE=$PHP_OCI8_INSTANT_CLIENT/libclntsh.$SHLIB_SUFFIX_NAME
  36. OCI8_LCS=`ls $OCI8_LCS_BASE.*.1 2> /dev/null | $PHP_OCI8_TAIL1` # Oracle 10g, 11g etc
  37. OCI8_NNZ=`ls $PHP_OCI8_INSTANT_CLIENT/libnnz*.$SHLIB_SUFFIX_NAME 2> /dev/null | $PHP_OCI8_TAIL1`
  38. if test -f "$OCI8_NNZ" && test -f "$OCI8_LCS"; then
  39. if test ! -f "$OCI8_LCS_BASE"; then
  40. AC_MSG_ERROR([Link from $OCI8_LCS_BASE to $OCI8_LCS_BASE.*.1 not found])
  41. fi
  42. OCI8_ORACLE_VERSION=`echo $OCI8_LCS | $PHP_OCI8_SED -e 's/.*\.\(.*\)\.1$/\1.1/'`
  43. else
  44. AC_MSG_ERROR([Oracle Instant Client libraries libnnz.$SHLIB_SUFFIX_NAME and libclntsh.$SHLIB_SUFFIX_NAME not found])
  45. fi
  46. AC_MSG_RESULT([$OCI8_ORACLE_VERSION])
  47. ])
  48. AC_DEFUN([AC_OCI8_ORACLE_VERSION],[
  49. AC_MSG_CHECKING([Oracle library version compatibility])
  50. OCI8_LCS_BASE=$OCI8_DIR/$OCI8_LIB_DIR/libclntsh.$SHLIB_SUFFIX_NAME
  51. OCI8_LCS=`ls $OCI8_LCS_BASE.*.1 2> /dev/null | $PHP_OCI8_TAIL1` # Oracle 10g, 11g etc
  52. if test -s "$OCI8_DIR/orainst/unix.rgs"; then
  53. OCI8_ORACLE_VERSION=`grep '"ocommon"' $OCI8_DIR/orainst/unix.rgs | $PHP_OCI8_SED 's/[ ][ ]*/:/g' | cut -d: -f 6 | cut -c 2-4`
  54. test -z "$OCI8_ORACLE_VERSION" && OCI8_ORACLE_VERSION=7.3
  55. elif test -f "$OCI8_LCS"; then
  56. dnl Oracle 10g, 11g etc. The x.2 version libraries are named x.1 for drop in compatibility
  57. OCI8_ORACLE_VERSION=`echo $OCI8_LCS | $PHP_OCI8_SED -e 's/.*\.\(.*\)\.1$/\1.1/'`
  58. elif test -f $OCI8_LCS_BASE.9.0; then
  59. dnl There is no case for Oracle 9.2. Oracle 9.2 libraries have a 9.0 suffix for drop-in compatibility with Oracle 9.0
  60. OCI8_ORACLE_VERSION=9.0
  61. elif test -f $OCI8_LCS_BASE.8.0; then
  62. OCI8_ORACLE_VERSION=8.1
  63. elif test -f $OCI8_LCS_BASE.1.0; then
  64. OCI8_ORACLE_VERSION=8.0
  65. elif test -f $OCI8_DIR/$OCI8_LIB_DIR/libclntsh.a; then
  66. if test -f $OCI8_DIR/$OCI8_LIB_DIR/libcore4.a; then
  67. OCI8_ORACLE_VERSION=8.0
  68. else
  69. OCI8_ORACLE_VERSION=8.1
  70. fi
  71. else
  72. AC_MSG_ERROR(Oracle libclntsh.$SHLIB_SUFFIX_NAME client library not found)
  73. fi
  74. AC_MSG_RESULT($OCI8_ORACLE_VERSION)
  75. ])
  76. dnl
  77. dnl OCI8_INIT_DTRACE(providerdesc, header-file, sources)
  78. dnl This mimics PHP_INIT_DTRACE from PHP 5.4's acinclude.m4. It is
  79. dnl necessarily different from PHP_INIT_DTRACE which doesn't currently
  80. dnl support DTrace for extensions. Creating OCI8_INIT_DTRACE
  81. dnl independently instead of using a refactored PHP_INIT_DTRACE allows
  82. dnl OCI8 to be DTraced on versions of PHP where core PHP DTrace support
  83. dnl isn't available.
  84. dnl
  85. AC_DEFUN([OCI8_INIT_DTRACE],[
  86. ac_srcdir=[]PHP_EXT_SRCDIR([oci8])/
  87. ac_bdir=[]PHP_EXT_BUILDDIR([oci8])/
  88. dnl providerdesc
  89. ac_provsrc=$1
  90. dnl header-file
  91. ac_hdrobj=$2
  92. dnl DTrace objects
  93. old_IFS=[$]IFS
  94. for ac_src in $3; do
  95. IFS=.
  96. set $ac_src
  97. ac_obj=[$]1
  98. IFS=$old_IFS
  99. OCI8_DTRACE_OBJS="[$]OCI8_DTRACE_OBJS [$]ac_bdir[$]ac_obj.lo"
  100. done;
  101. for ac_lo in $OCI8_DTRACE_OBJS; do
  102. dtrace_oci8_objs="[$]dtrace_oci8_objs `echo $ac_lo | $SED -e 's,\.lo$,.o,' -e 's#\(.*\)\/#\1\/.libs\/#'`"
  103. done;
  104. dnl Generate Makefile.objects entry
  105. dnl The empty $ac_provsrc command stops an implicit circular dependency
  106. dnl in GNU Make which causes the .d file to be overwritten (Bug 61268)
  107. cat>>Makefile.objects<<EOF
  108. PHP_EXT_SRCDIR([oci8])/$ac_provsrc:;
  109. $ac_bdir[$]ac_hdrobj: $ac_srcdir[$]ac_provsrc
  110. CFLAGS="\$(CFLAGS_CLEAN)" dtrace -h -C -s $ac_srcdir[$]ac_provsrc -o \$[]@.bak && \$(SED) -e 's,PHPOCI_,DTRACE_,g' \$[]@.bak > \$[]@
  111. \$(OCI8_DTRACE_OBJS): $ac_bdir[$]ac_hdrobj
  112. EOF
  113. case $host_alias in
  114. *solaris*|*linux*)
  115. dtrace_prov_name="`echo $ac_provsrc | $SED -e 's#\(.*\)\/##'`.o"
  116. dtrace_lib_dir="`echo $ac_bdir[$]ac_provsrc | $SED -e 's#\(.*\)/[^/]*#\1#'`/.libs"
  117. dtrace_d_obj="`echo $ac_bdir[$]ac_provsrc | $SED -e 's#\(.*\)/\([^/]*\)#\1/.libs/\2#'`.o"
  118. dtrace_nolib_objs='$(OCI8_DTRACE_OBJS:.lo=.o)'
  119. for ac_lo in $OCI8_DTRACE_OBJS; do
  120. dtrace_oci8_lib_objs="[$]dtrace_oci8_lib_objs `echo $ac_lo | $SED -e 's,\.lo$,.o,' -e 's#\(.*\)\/#\1\/.libs\/#'`"
  121. done;
  122. dnl Always attempt to create both PIC and non-PIC DTrace objects (Bug 63692)
  123. cat>>Makefile.objects<<EOF
  124. $ac_bdir[$]ac_provsrc.lo: \$(OCI8_DTRACE_OBJS)
  125. echo "[#] Generated by Makefile for libtool" > \$[]@
  126. @test -d "$dtrace_lib_dir" || mkdir $dtrace_lib_dir
  127. if CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $dtrace_d_obj -s $ac_srcdir[$]ac_provsrc $dtrace_oci8_lib_objs 2> /dev/null && test -f "$dtrace_d_obj"; then [\\]
  128. echo "pic_object=['].libs/$dtrace_prov_name[']" >> \$[]@ [;\\]
  129. else [\\]
  130. echo "pic_object='none'" >> \$[]@ [;\\]
  131. fi
  132. if CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $ac_bdir[$]ac_provsrc.o -s $ac_srcdir[$]ac_provsrc $dtrace_nolib_objs 2> /dev/null && test -f "$ac_bdir[$]ac_provsrc.o"; then [\\]
  133. echo "non_pic_object=[']$dtrace_prov_name[']" >> \$[]@ [;\\]
  134. else [\\]
  135. echo "non_pic_object='none'" >> \$[]@ [;\\]
  136. fi
  137. EOF
  138. ;;
  139. *)
  140. AC_MSG_WARN([OCI8 extension: OCI8 DTrace support is not confirmed on this platform])
  141. cat>>Makefile.objects<<EOF
  142. $ac_bdir[$]ac_provsrc.o: \$(OCI8_DTRACE_OBJS)
  143. CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o \$[]@ -s $ac_srcdir[$]ac_provsrc $dtrace_oci8_objs
  144. EOF
  145. ;;
  146. esac
  147. ])
  148. dnl --with-oci8=shared,instantclient,/path/to/client/dir/lib
  149. dnl or
  150. dnl --with-oci8=shared,/path/to/oracle/home
  151. PHP_ARG_WITH(oci8, for Oracle Database OCI8 support,
  152. [ --with-oci8[=DIR] Include Oracle Database OCI8 support. DIR defaults to [$]ORACLE_HOME.
  153. Use --with-oci8=instantclient,/path/to/instant/client/lib
  154. to use an Oracle Instant Client installation])
  155. if test "$PHP_OCI8" != "no"; then
  156. if test -z "$PHP_OCI8"; then
  157. dnl --with-oci8=$ORACLE_HOME where ORACLE_HOME isn't set (or is mistyped) will match this case
  158. AC_MSG_ERROR([Empty parameter value passed to --with-oci8])
  159. fi
  160. dnl Check PHP version is compatible with this extension
  161. AC_MSG_CHECKING([PHP version])
  162. tmp_version=$PHP_VERSION
  163. if test -z "$tmp_version"; then
  164. if test -z "$PHP_CONFIG"; then
  165. AC_MSG_ERROR([php-config not found])
  166. fi
  167. php_version=`$PHP_CONFIG --version 2>/dev/null|head -n 1|$PHP_OCI8_SED -e 's#\([0-9]\.[0-9]*\.[0-9]*\)\(.*\)#\1#'`
  168. else
  169. php_version=`echo "$tmp_version"|$PHP_OCI8_SED -e 's#\([0-9]\.[0-9]*\.[0-9]*\)\(.*\)#\1#'`
  170. fi
  171. if test -z "$php_version"; then
  172. AC_MSG_ERROR([failed to detect PHP version, please report])
  173. fi
  174. ac_IFS=$IFS
  175. IFS="."
  176. set $php_version
  177. IFS=$ac_IFS
  178. oci8_php_version=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3`
  179. if test "$oci8_php_version" -lt "5002000"; then
  180. AC_MSG_ERROR([You need at least PHP 5.2.0 to be able to use this version of OCI8. PHP $php_version found])
  181. else
  182. AC_MSG_RESULT([$php_version, ok])
  183. fi
  184. dnl Check whether --enable-dtrace was set.
  185. dnl To use DTrace with a PECL install, extract the OCI8 archive, phpize it, and set
  186. dnl PHP_DTRACE=yes before running configure
  187. AC_MSG_CHECKING([OCI8 DTrace support])
  188. oci8_do_dtrace="`echo $PHP_OCI8 | cut -d, -f3`"
  189. if test "$PHP_DTRACE" = "yes" -o "$oci8_do_dtrace" = "dtrace" ; then
  190. AC_MSG_RESULT([yes])
  191. if test "$ext_shared" = "no"; then
  192. AC_MSG_ERROR([For DTrace support OCI8 must be configured as a shared extension])
  193. else
  194. AC_CHECK_HEADERS([sys/sdt.h], [
  195. OCI8_INIT_DTRACE([oci8_dtrace.d],[oci8_dtrace_gen.h],[oci8.c oci8_statement.c])
  196. ], [
  197. AC_MSG_ERROR(
  198. [Cannot find sys/sdt.h which is required for DTrace support])
  199. ])
  200. PHP_SUBST(OCI8_DTRACE_OBJS)
  201. AC_DEFINE(HAVE_OCI8_DTRACE,1,[Defined to 1 if PHP OCI8 DTrace support was enabled during configuration])
  202. dnl Developer warning: hard coded extension is OK for the known supported environments
  203. shared_objects_oci8="$shared_objects_oci8 PHP_EXT_BUILDDIR(oci8)/oci8_dtrace.d.lo"
  204. fi
  205. else
  206. AC_MSG_RESULT([no])
  207. fi
  208. dnl Set some port specific directory components for use later
  209. AC_CHECK_SIZEOF(long int, 4)
  210. AC_MSG_CHECKING([checking if we're on a 64-bit platform])
  211. if test "$ac_cv_sizeof_long_int" = "4"; then
  212. AC_MSG_RESULT([no])
  213. PHP_OCI8_OH_LIBDIR=lib32
  214. PHP_OCI8_IC_LIBDIR_SUFFIX=""
  215. else
  216. AC_MSG_RESULT([yes])
  217. PHP_OCI8_OH_LIBDIR=lib
  218. PHP_OCI8_IC_LIBDIR_SUFFIX=64
  219. fi
  220. dnl Determine if the user wants to use Oracle Instant Client libraries
  221. PHP_OCI8_INSTANT_CLIENT="no"
  222. dnl PECL Bug 14268 (Allow "pecl install oci8" command to "autodetect"
  223. dnl an Instant Client RPM install). This also has a benefit for non
  224. dnl "pecl install" builds: if the user does --with-oci8 or
  225. dnl --with-oci8=shared but the ORACLE_HOME environment variable is not
  226. dnl actually set, the install tries to locate the Instant Client RPM
  227. if test "$PHP_OCI8" = "yes" && test -z "$ORACLE_HOME"; then
  228. AC_MSG_WARN([OCI8 extension: ORACLE_HOME is not set, looking for default Oracle Instant Client instead])
  229. PHP_OCI8=instantclient
  230. fi
  231. if test "`echo $PHP_OCI8`" = "instantclient"; then
  232. PHP_OCI8_INSTANT_CLIENT="yes"
  233. elif test "`echo $PHP_OCI8 | cut -d, -f2`" = "instantclient"; then
  234. PHP_OCI8_INSTANT_CLIENT="`echo $PHP_OCI8 | cut -d, -f3`"
  235. PHP_OCI8="`echo $PHP_OCI8 | cut -d, -f1,4`"
  236. if test "$PHP_OCI8_INSTANT_CLIENT" = ""; then
  237. PHP_OCI8_INSTANT_CLIENT="yes"
  238. fi
  239. if test -z "$PHP_OCI8"; then
  240. PHP_OCI8=yes
  241. fi
  242. elif test "`echo $PHP_OCI8 | cut -d, -f1`" = "instantclient"; then
  243. PHP_OCI8_INSTANT_CLIENT="`echo $PHP_OCI8 | cut -d, -f2`"
  244. PHP_OCI8="`echo $PHP_OCI8 | cut -d, -f3,4`"
  245. if test "$PHP_OCI8_INSTANT_CLIENT" = ""; then
  246. PHP_OCI8_INSTANT_CLIENT="yes"
  247. fi
  248. if test -z "$PHP_OCI8"; then
  249. PHP_OCI8=yes
  250. fi
  251. fi
  252. if test "$PHP_OCI8_INSTANT_CLIENT" = "no"; then
  253. dnl ***************************************
  254. dnl Branch for using an ORACLE_HOME install
  255. dnl ***************************************
  256. AC_MSG_CHECKING([Oracle ORACLE_HOME install directory])
  257. if test "$PHP_OCI8" = "yes"; then
  258. OCI8_DIR=$ORACLE_HOME
  259. else
  260. OCI8_DIR=$PHP_OCI8
  261. fi
  262. AC_MSG_RESULT($OCI8_DIR)
  263. AC_OCI8_CHECK_LIB_DIR($OCI8_DIR)
  264. if test -d "$OCI8_DIR/rdbms/public"; then
  265. PHP_ADD_INCLUDE($OCI8_DIR/rdbms/public)
  266. OCI8_INCLUDES="$OCI8_INCLUDES -I$OCI8_DIR/rdbms/public"
  267. fi
  268. if test -d "$OCI8_DIR/rdbms/demo"; then
  269. PHP_ADD_INCLUDE($OCI8_DIR/rdbms/demo)
  270. OCI8_INCLUDES="$OCI8_INCLUDES -I$OCI8_DIR/rdbms/demo"
  271. fi
  272. if test -d "$OCI8_DIR/network/public"; then
  273. PHP_ADD_INCLUDE($OCI8_DIR/network/public)
  274. OCI8_INCLUDES="$OCI8_INCLUDES -I$OCI8_DIR/network/public"
  275. fi
  276. if test -d "$OCI8_DIR/plsql/public"; then
  277. PHP_ADD_INCLUDE($OCI8_DIR/plsql/public)
  278. OCI8_INCLUDES="$OCI8_INCLUDES -I$OCI8_DIR/plsql/public"
  279. fi
  280. if test -f "$OCI8_DIR/$OCI8_LIB_DIR/sysliblist"; then
  281. PHP_EVAL_LIBLINE(`cat $OCI8_DIR/$OCI8_LIB_DIR/sysliblist`, OCI8_SYSLIB)
  282. elif test -f "$OCI8_DIR/rdbms/$OCI8_LIB_DIR/sysliblist"; then
  283. PHP_EVAL_LIBLINE(`cat $OCI8_DIR/rdbms/$OCI8_LIB_DIR/sysliblist`, OCI8_SYSLIB)
  284. fi
  285. AC_OCI8_ORACLE_VERSION($OCI8_DIR)
  286. case $OCI8_ORACLE_VERSION in
  287. 7.3|8.0|8.1|9.0)
  288. AC_MSG_ERROR([Oracle client libraries < 10 are not supported])
  289. ;;
  290. esac
  291. PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
  292. PHP_ADD_LIBPATH($OCI8_DIR/$OCI8_LIB_DIR, OCI8_SHARED_LIBADD)
  293. PHP_NEW_EXTENSION(oci8, oci8.c oci8_lob.c oci8_statement.c oci8_collection.c oci8_interface.c oci8_failover.c, $ext_shared)
  294. AC_DEFINE(HAVE_OCI8,1,[Defined to 1 if the PHP OCI8 extension for Oracle Database is configured])
  295. PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
  296. PHP_SUBST_OLD(OCI8_DIR)
  297. PHP_SUBST_OLD(OCI8_ORACLE_VERSION)
  298. dnl Fix Bug #46623
  299. AC_DEFINE_UNQUOTED(PHP_OCI8_DEF_DIR, "$OCI8_DIR", [ ])
  300. AC_DEFINE_UNQUOTED(PHP_OCI8_DEF_SHARED_LIBADD, "$OCI8_SHARED_LIBADD", [ ])
  301. else
  302. dnl ***************************************************
  303. dnl Branch for using an Oracle Instant Client directory
  304. dnl ***************************************************
  305. AC_MSG_CHECKING([Oracle Instant Client directory])
  306. if test "$PHP_OCI8_INSTANT_CLIENT" = "yes"; then
  307. dnl Find the directory if user specified "instantclient" but did not
  308. dnl give a dir. Generally the Instant Client can be anywhere so the
  309. dnl user must pass in the library directory. But on Linux we default
  310. dnl to the most recent version in /usr/lib which is where the Oracle
  311. dnl Instant Client RPM gets installed.
  312. PHP_OCI8_INSTANT_CLIENT=`ls -d /usr/lib/oracle/*/client${PHP_OCI8_IC_LIBDIR_SUFFIX}/lib/libclntsh.* 2> /dev/null | $PHP_OCI8_TAIL1 | $PHP_OCI8_SED -e 's#/libclntsh[^/]*##'`
  313. if test -z "$PHP_OCI8_INSTANT_CLIENT"; then
  314. AC_MSG_ERROR([Oracle Instant Client directory /usr/lib/oracle/.../client${PHP_OCI8_IC_LIBDIR_SUFFIX}/lib libraries not found. Try --with-oci8=instantclient,DIR])
  315. fi
  316. fi
  317. AC_MSG_RESULT($PHP_OCI8_INSTANT_CLIENT)
  318. OCI8_DIR=$PHP_OCI8_INSTANT_CLIENT
  319. AC_MSG_CHECKING([Oracle Instant Client SDK header directory])
  320. dnl Header directory for Instant Client SDK RPM install
  321. OCISDKRPMINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | $PHP_OCI8_SED -e 's!^/usr/lib/oracle/\(.*\)/client\('${PHP_OCI8_IC_LIBDIR_SUFFIX}'\)*/lib[/]*$!/usr/include/oracle/\1/client\2!'`
  322. dnl Header directory for Instant Client SDK zip file install
  323. OCISDKZIPINC=$PHP_OCI8_INSTANT_CLIENT/sdk/include
  324. dnl Header directory for manual installation
  325. OCISDKMANINC=`echo "$PHP_OCI8_INSTANT_CLIENT" | $PHP_OCI8_SED -e 's!\(.*\)/lib[/]*$!\1/include!'`
  326. if test -f "$OCISDKRPMINC/oci.h"; then
  327. AC_MSG_RESULT($OCISDKRPMINC)
  328. PHP_ADD_INCLUDE($OCISDKRPMINC)
  329. OCI8INCDIR=$OCISDKRPMINC
  330. elif test -f "$OCISDKZIPINC/oci.h"; then
  331. AC_MSG_RESULT($OCISDKZIPINC)
  332. PHP_ADD_INCLUDE($OCISDKZIPINC)
  333. OCI8INCDIR=$OCISDKZIPINC
  334. elif test -f "$OCISDKMANINC/oci.h"; then
  335. AC_MSG_RESULT($OCISDKMANINC)
  336. PHP_ADD_INCLUDE($OCISDKMANINC)
  337. OCI8INCDIR=$OCISDKMANINC
  338. else
  339. AC_MSG_ERROR([Oracle Instant Client SDK header files not found])
  340. fi
  341. OCISYSLIBLIST=`echo "$OCI8INCDIR" | $PHP_OCI8_SED -e 's!\(.*\)/include$!\1/demo/sysliblist!'`
  342. if test -f "$OCISYSLIBLIST"; then
  343. PHP_EVAL_LIBLINE(`cat $OCISYSLIBLIST`, OCI8_SYSLIB)
  344. fi
  345. AC_OCI8IC_VERSION($PHP_OCI8_INSTANT_CLIENT)
  346. PHP_ADD_LIBRARY(clntsh, 1, OCI8_SHARED_LIBADD)
  347. PHP_ADD_LIBPATH($PHP_OCI8_INSTANT_CLIENT, OCI8_SHARED_LIBADD)
  348. AC_DEFINE(HAVE_OCI_INSTANT_CLIENT,1,[Defined to 1 if OCI8 configuration located Oracle's Instant Client libraries])
  349. PHP_NEW_EXTENSION(oci8, oci8.c oci8_lob.c oci8_statement.c oci8_collection.c oci8_interface.c oci8_failover.c, $ext_shared)
  350. AC_DEFINE(HAVE_OCI8,1,[Defined to 1 if the PHP OCI8 extension for Oracle Database is configured])
  351. PHP_SUBST_OLD(OCI8_SHARED_LIBADD)
  352. PHP_SUBST_OLD(OCI8_DIR)
  353. PHP_SUBST_OLD(OCI8_ORACLE_VERSION)
  354. fi
  355. fi