config.m4 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557
  1. dnl
  2. dnl $Id$
  3. dnl
  4. AC_DEFUN([PHP_ODBC_CHECK_HEADER],[
  5. if ! test -f "$ODBC_INCDIR/$1"; then
  6. AC_MSG_ERROR([ODBC header file '$ODBC_INCDIR/$1' not found!])
  7. fi
  8. ])
  9. dnl
  10. dnl Figure out which library file to link with for the Solid support.
  11. dnl
  12. AC_DEFUN([PHP_ODBC_FIND_SOLID_LIBS],[
  13. AC_MSG_CHECKING([Solid library file])
  14. ac_solid_uname_r=`uname -r 2>/dev/null`
  15. ac_solid_uname_s=`uname -s 2>/dev/null`
  16. case $ac_solid_uname_s in
  17. AIX) ac_solid_os=a3x;; # a4x for AIX4/ Solid 2.3/3.0 only
  18. HP-UX) ac_solid_os=h9x;; # h1x for hpux11, h0x for hpux10
  19. IRIX) ac_solid_os=irx;; # Solid 2.3(?)/ 3.0 only
  20. Linux)
  21. if ldd -v /bin/sh | grep GLIBC > /dev/null; then
  22. AC_DEFINE(SS_LINUX,1,[Needed in sqlunix.h ])
  23. ac_solid_os=l2x
  24. else
  25. AC_DEFINE(SS_LINUX,1,[Needed in sqlunix.h ])
  26. ac_solid_os=lux
  27. fi;;
  28. SunOS)
  29. ac_solid_os=ssx;; # should we deal with SunOS 4?
  30. FreeBSD)
  31. if test `expr $ac_solid_uname_r : '\(.\)'` -gt "2"; then
  32. AC_DEFINE(SS_FBX,1,[Needed in sqlunix.h for wchar defs ])
  33. ac_solid_os=fex
  34. else
  35. AC_DEFINE(SS_FBX,1,[Needed in sqlunix.h for wchar defs ])
  36. ac_solid_os=fbx
  37. fi;;
  38. esac
  39. if test -f $1/soc${ac_solid_os}35.a; then
  40. ac_solid_version=35
  41. ac_solid_prefix=soc
  42. elif test -f $1/scl${ac_solid_os}30.a; then
  43. ac_solid_version=30
  44. ac_solid_prefix=scl
  45. elif test -f $1/scl${ac_solid_os}23.a; then
  46. ac_solid_version=23
  47. ac_solid_prefix=scl
  48. fi
  49. #
  50. # Check for the library files, and setup the ODBC_LIBS path...
  51. #
  52. if test ! -f $1/lib${ac_solid_prefix}${ac_solid_os}${ac_solid_version}.so -a \
  53. ! -f $1/lib${ac_solid_prefix}${ac_solid_os}${ac_solid_version}.a; then
  54. #
  55. # we have an error and should bail out, as we can't find the libs!
  56. #
  57. echo ""
  58. echo "*********************************************************************"
  59. echo "* Unable to locate $1/lib${ac_solid_prefix}${ac_solid_os}${ac_solid_version}.so or $1/lib${ac_solid_prefix}${ac_solid_os}${ac_solid_version}.a"
  60. echo "* Please correct this by creating the following links and reconfiguring:"
  61. echo "* $1/lib${ac_solid_prefix}${ac_solid_os}${ac_solid_version}.a -> $1/lib${ac_solid_prefix}${ac_solid_os}${ac_solid_version}.a"
  62. echo "* $1/${ac_solid_prefix}${ac_solid_os}${ac_solid_version}.so -> $1/lib${ac_solid_prefix}${ac_solid_os}${ac_solid_version}.so"
  63. echo "*********************************************************************"
  64. else
  65. ODBC_LFLAGS=-L$1
  66. ODBC_LIBS=-l${ac_solid_prefix}${ac_solid_os}${ac_solid_version}
  67. fi
  68. AC_MSG_RESULT(`echo $ODBC_LIBS | sed -e 's!.*/!!'`)
  69. ])
  70. dnl
  71. dnl Figure out which library file to link with for the Empress support.
  72. dnl
  73. AC_DEFUN([PHP_ODBC_FIND_EMPRESS_LIBS],[
  74. AC_MSG_CHECKING([Empress library file])
  75. ODBC_LIBS=`echo $1/libempodbccl.so | cut -d' ' -f1`
  76. if test ! -f $ODBC_LIBS; then
  77. ODBC_LIBS=`echo $1/libempodbccl.so | cut -d' ' -f1`
  78. fi
  79. AC_MSG_RESULT(`echo $ODBC_LIBS | sed -e 's!.*/!!'`)
  80. ])
  81. AC_DEFUN([PHP_ODBC_FIND_EMPRESS_BCS_LIBS],[
  82. AC_MSG_CHECKING([Empress local access library file])
  83. ODBCBCS_LIBS=`echo $1/libempodbcbcs.a | cut -d' ' -f1`
  84. if test ! -f $ODBCBCS_LIBS; then
  85. ODBCBCS_LIBS=`echo $1/libempodbcbcs.a | cut -d' ' -f1`
  86. fi
  87. AC_MSG_RESULT(`echo $ODBCBCS_LIBS | sed -e 's!.*/!!'`)
  88. ])
  89. dnl
  90. dnl configure options
  91. dnl
  92. PHP_ARG_WITH(odbcver,,
  93. [ --with-odbcver[=HEX] Force support for the passed ODBC version. A hex number is expected, default 0x0300.
  94. Use the special value of 0 to prevent an explicit ODBCVER to be defined. ], 0x0300)
  95. if test -z "$ODBC_TYPE"; then
  96. PHP_ARG_WITH(adabas,,
  97. [ --with-adabas[=DIR] Include Adabas D support [/usr/local]])
  98. AC_MSG_CHECKING([for Adabas support])
  99. if test "$PHP_ADABAS" != "no"; then
  100. if test "$PHP_ADABAS" = "yes"; then
  101. PHP_ADABAS=/usr/local
  102. fi
  103. PHP_ADD_INCLUDE($PHP_ADABAS/incl)
  104. PHP_ADD_LIBPATH($PHP_ADABAS/$PHP_LIBDIR)
  105. ODBC_OBJS="$PHP_ADABAS/$PHP_LIBDIR/odbclib.a"
  106. ODBC_LIB="$abs_builddir/ext/odbc/libodbc_adabas.a"
  107. $srcdir/build/shtool mkdir -f -p ext/odbc
  108. rm -f "$ODBC_LIB"
  109. cp "$ODBC_OBJS" "$ODBC_LIB"
  110. PHP_ADD_LIBRARY(sqlptc)
  111. PHP_ADD_LIBRARY(sqlrte)
  112. PHP_ADD_LIBRARY_WITH_PATH(odbc_adabas, $abs_builddir/ext/odbc)
  113. ODBC_TYPE=adabas
  114. ODBC_INCDIR=$PHP_ADABAS/incl
  115. PHP_ODBC_CHECK_HEADER(sqlext.h)
  116. AC_DEFINE(HAVE_ADABAS,1,[ ])
  117. AC_MSG_RESULT([$ext_output])
  118. else
  119. AC_MSG_RESULT(no)
  120. fi
  121. fi
  122. if test -z "$ODBC_TYPE"; then
  123. PHP_ARG_WITH(sapdb,,
  124. [ --with-sapdb[=DIR] Include SAP DB support [/usr/local]])
  125. AC_MSG_CHECKING([for SAP DB support])
  126. if test "$PHP_SAPDB" != "no"; then
  127. if test "$PHP_SAPDB" = "yes"; then
  128. PHP_SAPDB=/usr/local
  129. fi
  130. PHP_ADD_INCLUDE($PHP_SAPDB/incl)
  131. PHP_ADD_LIBPATH($PHP_SAPDB/$PHP_LIBDIR)
  132. PHP_ADD_LIBRARY(sqlod)
  133. ODBC_TYPE=sapdb
  134. AC_DEFINE(HAVE_SAPDB,1,[ ])
  135. AC_MSG_RESULT([$ext_output])
  136. else
  137. AC_MSG_RESULT(no)
  138. fi
  139. fi
  140. if test -z "$ODBC_TYPE"; then
  141. PHP_ARG_WITH(solid,,
  142. [ --with-solid[=DIR] Include Solid support [/usr/local/solid]])
  143. AC_MSG_CHECKING(for Solid support)
  144. if test "$PHP_SOLID" != "no"; then
  145. if test "$PHP_SOLID" = "yes"; then
  146. PHP_SOLID=/usr/local/solid
  147. fi
  148. ODBC_INCDIR=$PHP_SOLID/include
  149. ODBC_LIBDIR=$PHP_SOLID/$PHP_LIBDIR
  150. ODBC_INCLUDE=-I$ODBC_INCDIR
  151. ODBC_TYPE=solid
  152. if test -f $ODBC_LIBDIR/soc*35.a; then
  153. AC_DEFINE(HAVE_SOLID_35,1,[ ])
  154. elif test -f $ODBC_LIBDIR/scl*30.a; then
  155. AC_DEFINE(HAVE_SOLID_30,1,[ ])
  156. elif test -f $ODBC_LIBDIR/scl*23.a; then
  157. AC_DEFINE(HAVE_SOLID,1,[ ])
  158. fi
  159. AC_MSG_RESULT([$ext_output])
  160. PHP_ODBC_FIND_SOLID_LIBS($ODBC_LIBDIR)
  161. else
  162. AC_MSG_RESULT(no)
  163. fi
  164. fi
  165. if test -z "$ODBC_TYPE"; then
  166. PHP_ARG_WITH(ibm-db2,,
  167. [ --with-ibm-db2[=DIR] Include IBM DB2 support [/home/db2inst1/sqllib]])
  168. AC_MSG_CHECKING(for IBM DB2 support)
  169. if test "$PHP_IBM_DB2" != "no"; then
  170. if test "$PHP_IBM_DB2" = "yes"; then
  171. ODBC_INCDIR=/home/db2inst1/sqllib/include
  172. ODBC_LIBDIR=/home/db2inst1/sqllib/lib
  173. else
  174. ODBC_INCDIR=$PHP_IBM_DB2/include
  175. ODBC_LIBDIR=$PHP_IBM_DB2/$PHP_LIBDIR
  176. fi
  177. PHP_ODBC_CHECK_HEADER(sqlcli1.h)
  178. ODBC_INCLUDE=-I$ODBC_INCDIR
  179. ODBC_LFLAGS=-L$ODBC_LIBDIR
  180. ODBC_TYPE=ibm-db2
  181. ODBC_LIBS=-ldb2
  182. PHP_TEST_BUILD(SQLExecute, [
  183. AC_DEFINE(HAVE_IBMDB2,1,[ ])
  184. AC_MSG_RESULT([$ext_output])
  185. ], [
  186. AC_MSG_RESULT(no)
  187. AC_MSG_ERROR([
  188. build test failed. Please check the config.log for details.
  189. You need to source your DB2 environment before running PHP configure:
  190. # . \$IBM_DB2/db2profile
  191. ])
  192. ], [
  193. $ODBC_LFLAGS $ODBC_LIBS
  194. ])
  195. else
  196. AC_MSG_RESULT(no)
  197. fi
  198. fi
  199. if test -z "$ODBC_TYPE"; then
  200. PHP_ARG_WITH(ODBCRouter,,
  201. [ --with-ODBCRouter[=DIR] Include ODBCRouter.com support [/usr]])
  202. AC_MSG_CHECKING(for ODBCRouter.com support)
  203. if test "$PHP_ODBCROUTER" != "no"; then
  204. if test "$PHP_ODBCROUTER" = "yes"; then
  205. PHP_ODBCROUTER=/usr
  206. fi
  207. ODBC_INCDIR=$PHP_ODBCROUTER/include
  208. ODBC_LIBDIR=$PHP_ODBCROUTER/lib
  209. ODBC_LFLAGS=-L$ODBC_LIBDIR
  210. ODBC_INCLUDE=-I$ODBC_INCDIR
  211. ODBC_LIBS=-lodbcsdk
  212. ODBC_TYPE=ODBCRouter
  213. AC_DEFINE(HAVE_ODBC_ROUTER,1,[ ])
  214. AC_MSG_RESULT([$ext_output])
  215. else
  216. AC_MSG_RESULT(no)
  217. fi
  218. fi
  219. if test -z "$ODBC_TYPE"; then
  220. PHP_ARG_WITH(empress,,
  221. [ --with-empress[=DIR] Include Empress support [\$EMPRESSPATH]
  222. (Empress Version >= 8.60 required)])
  223. AC_MSG_CHECKING(for Empress support)
  224. if test "$PHP_EMPRESS" != "no"; then
  225. if test "$PHP_EMPRESS" = "yes"; then
  226. ODBC_INCDIR=$EMPRESSPATH/include/odbc
  227. ODBC_LIBDIR=$EMPRESSPATH/shlib
  228. else
  229. ODBC_INCDIR=$PHP_EMPRESS/include/odbc
  230. ODBC_LIBDIR=$PHP_EMPRESS/shlib
  231. fi
  232. ODBC_INCLUDE=-I$ODBC_INCDIR
  233. ODBC_LFLAGS=-L$ODBC_LIBDIR
  234. ODBC_TYPE=empress
  235. AC_DEFINE(HAVE_EMPRESS,1,[ ])
  236. AC_MSG_RESULT([$ext_output])
  237. PHP_ODBC_FIND_EMPRESS_LIBS($ODBC_LIBDIR)
  238. else
  239. AC_MSG_RESULT(no)
  240. fi
  241. fi
  242. if test -z "$ODBC_TYPE"; then
  243. PHP_ARG_WITH(empress-bcs,,
  244. [ --with-empress-bcs[=DIR]
  245. Include Empress Local Access support [\$EMPRESSPATH]
  246. (Empress Version >= 8.60 required)])
  247. AC_MSG_CHECKING(for Empress local access support)
  248. if test "$PHP_EMPRESS_BCS" != "no"; then
  249. if test "$PHP_EMPRESS_BCS" = "yes"; then
  250. ODBC_INCDIR=$EMPRESSPATH/include/odbc
  251. ODBC_LIBDIR=$EMPRESSPATH/shlib
  252. else
  253. ODBC_INCDIR=$PHP_EMPRESS_BCS/include/odbc
  254. ODBC_LIBDIR=$PHP_EMPRESS_BCS/shlib
  255. fi
  256. CC="empocc -bcs";export CC;
  257. LD="empocc -bcs";export LD;
  258. ODBC_INCLUDE=-I$ODBC_INCDIR
  259. ODBC_LFLAGS=-L$ODBC_LIBDIR
  260. LIST=`empocc -listlines -bcs -o a a.c`
  261. NEWLIST=
  262. for I in $LIST
  263. do
  264. case $I in
  265. $EMPRESSPATH/odbccl/lib/* | \
  266. $EMPRESSPATH/rdbms/lib/* | \
  267. $EMPRESSPATH/common/lib/*)
  268. NEWLIST="$NEWLIST $I"
  269. ;;
  270. esac
  271. done
  272. ODBC_LIBS="-lempphpbcs -lms -lmscfg -lbasic -lbasic_os -lnlscstab -lnlsmsgtab -lm -ldl -lcrypt"
  273. ODBC_TYPE=empress-bcs
  274. AC_DEFINE(HAVE_EMPRESS,1,[ ])
  275. AC_MSG_RESULT([$ext_output])
  276. PHP_ODBC_FIND_EMPRESS_BCS_LIBS($ODBC_LIBDIR)
  277. else
  278. AC_MSG_RESULT(no)
  279. fi
  280. fi
  281. if test -z "$ODBC_TYPE"; then
  282. PHP_ARG_WITH(birdstep,,
  283. [ --with-birdstep[=DIR] Include Birdstep support [/usr/local/birdstep]])
  284. AC_MSG_CHECKING(for Birdstep support)
  285. if test "$PHP_BIRDSTEP" != "no"; then
  286. if test "$PHP_BIRDSTEP" = "yes"; then
  287. ODBC_INCDIR=/usr/local/birdstep/include
  288. ODBC_LIBDIR=/usr/local/birdstep/lib
  289. else
  290. ODBC_INCDIR=$PHP_BIRDSTEP/include
  291. ODBC_LIBDIR=$PHP_BIRDSTEP/$PHP_LIBDIR
  292. fi
  293. case $host_alias in
  294. *aix*[)]
  295. AC_DEFINE(AIX,1,[ ]);;
  296. *hpux*[)]
  297. AC_DEFINE(HPUX,1,[ ]);;
  298. *linux*[)]
  299. AC_DEFINE(LINUX,1,[ ]);;
  300. *qnx*[)]
  301. AC_DEFINE(NEUTRINO,1,[ ]);;
  302. i?86-*-solaris*[)]
  303. AC_DEFINE(ISOLARIS,1,[ ]);;
  304. sparc-*-solaris*[)]
  305. AC_DEFINE(SOLARIS,1,[ ]);;
  306. *unixware*[)]
  307. AC_DEFINE(UNIXWARE,1,[ ]);;
  308. esac
  309. ODBC_INCLUDE=-I$ODBC_INCDIR
  310. ODBC_TYPE=birdstep
  311. ODBC_LFLAGS=-L$ODBC_LIBDIR
  312. ODBC_LIBS="-lCadm -lCdict -lCenc -lCrdm -lCrpc -lCrdbc -lCrm -lCuapi -lutil"
  313. if test -f "$ODBC_LIBDIR/libCrdbc32.$SHLIB_SUFFIX_NAME"; then
  314. ODBC_LIBS="-lCrdbc32 -lCadm32 -lCncp32 -lCrm32 -lCsql32 -lCdict32 -lCrdm32 -lCrpc32 -lutil"
  315. elif test -f "$ODBC_LIBDIR/libCrdbc.$SHLIB_SUFFIX_NAME"; then
  316. ODBC_LIBS="-lCrdbc -lCadm -lCncp -lCrm -lCsql -lCdict -lCrdm -lCrpc -lutil"
  317. fi
  318. AC_DEFINE(HAVE_BIRDSTEP,1,[ ])
  319. AC_MSG_RESULT([$ext_output])
  320. else
  321. AC_MSG_RESULT(no)
  322. fi
  323. fi
  324. if test -z "$ODBC_TYPE"; then
  325. PHP_ARG_WITH(custom-odbc,,
  326. [ --with-custom-odbc[=DIR] Include user defined ODBC support. DIR is ODBC install base
  327. directory [/usr/local]. Make sure to define CUSTOM_ODBC_LIBS and
  328. have some odbc.h in your include dirs. f.e. you should define
  329. following for Sybase SQL Anywhere 5.5.00 on QNX, prior to
  330. running this configure script:
  331. CPPFLAGS=\"-DODBC_QNX -DSQLANY_BUG\"
  332. LDFLAGS=-lunix
  333. CUSTOM_ODBC_LIBS=\"-ldblib -lodbc\"])
  334. AC_MSG_CHECKING(for a custom ODBC support)
  335. if test "$PHP_CUSTOM_ODBC" != "no"; then
  336. if test "$PHP_CUSTOM_ODBC" = "yes"; then
  337. PHP_CUSTOM_ODBC=/usr/local
  338. fi
  339. ODBC_INCDIR=$PHP_CUSTOM_ODBC/include
  340. ODBC_LIBDIR=$PHP_CUSTOM_ODBC/$PHP_LIBDIR
  341. ODBC_LFLAGS=-L$ODBC_LIBDIR
  342. ODBC_INCLUDE=-I$ODBC_INCDIR
  343. ODBC_LIBS=$CUSTOM_ODBC_LIBS
  344. ODBC_TYPE=custom-odbc
  345. AC_DEFINE(HAVE_CODBC,1,[ ])
  346. AC_MSG_RESULT([$ext_output])
  347. else
  348. AC_MSG_RESULT(no)
  349. fi
  350. fi
  351. if test -z "$ODBC_TYPE"; then
  352. PHP_ARG_WITH(iodbc,,
  353. [ --with-iodbc[=DIR] Include iODBC support [/usr/local]])
  354. AC_MSG_CHECKING(for iODBC support)
  355. if test "$PHP_IODBC" != "no"; then
  356. if test -z "$PKG_CONFIG"; then
  357. AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
  358. fi
  359. if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libiodbc ; then
  360. PHP_ADD_LIBRARY_WITH_PATH(iodbc, $PHP_IODBC/$PHP_LIBDIR)
  361. ODBC_TYPE=iodbc
  362. ODBC_INCLUDE=`$PKG_CONFIG --cflags-only-I libiodbc`
  363. ODBC_LFLAGS=`$PKG_CONFIG --libs-only-L libiodbc`
  364. ODBC_LIBS=`$PKG_CONFIG --libs-only-l libiodbc`
  365. PHP_EVAL_INCLINE($ODBC_INCLUDE)
  366. AC_DEFINE(HAVE_IODBC,1,[ ])
  367. AC_DEFINE(HAVE_ODBC2,1,[ ])
  368. AC_MSG_RESULT([$ext_output])
  369. else
  370. if test "$PHP_IODBC" = "yes"; then
  371. PHP_IODBC=/usr/local
  372. fi
  373. PHP_ADD_LIBRARY_WITH_PATH(iodbc, $PHP_IODBC/$PHP_LIBDIR)
  374. PHP_ADD_INCLUDE($PHP_IODBC/include, 1)
  375. ODBC_TYPE=iodbc
  376. ODBC_INCLUDE=-I$PHP_IODBC/include
  377. ODBC_LFLAGS=-L$PHP_IODBC/$PHP_LIBDIR
  378. ODBC_LIBS=-liodbc
  379. AC_DEFINE(HAVE_IODBC,1,[ ])
  380. AC_DEFINE(HAVE_ODBC2,1,[ ])
  381. AC_MSG_RESULT([$ext_output])
  382. fi
  383. else
  384. AC_MSG_RESULT(no)
  385. fi
  386. fi
  387. if test -z "$ODBC_TYPE"; then
  388. PHP_ARG_WITH(esoob,,
  389. [ --with-esoob[=DIR] Include Easysoft OOB support [/usr/local/easysoft/oob/client]])
  390. AC_MSG_CHECKING(for Easysoft ODBC-ODBC Bridge support)
  391. if test "$PHP_ESOOB" != "no"; then
  392. if test "$PHP_ESOOB" = "yes"; then
  393. PHP_ESOOB=/usr/local/easysoft/oob/client
  394. fi
  395. ODBC_INCDIR=$PHP_ESOOB/include
  396. ODBC_LIBDIR=$PHP_ESOOB/$PHP_LIBDIR
  397. ODBC_LFLAGS=-L$ODBC_LIBDIR
  398. ODBC_INCLUDE=-I$ODBC_INCDIR
  399. ODBC_LIBS=-lesoobclient
  400. ODBC_TYPE=esoob
  401. AC_DEFINE(HAVE_ESOOB,1,[ ])
  402. AC_MSG_RESULT([$ext_output])
  403. else
  404. AC_MSG_RESULT(no)
  405. fi
  406. fi
  407. if test -z "$ODBC_TYPE"; then
  408. PHP_ARG_WITH(unixODBC,,
  409. [ --with-unixODBC[=DIR] Include unixODBC support [/usr/local]])
  410. AC_MSG_CHECKING(for unixODBC support)
  411. if test "$PHP_UNIXODBC" != "no"; then
  412. if test "$PHP_UNIXODBC" = "yes"; then
  413. PHP_UNIXODBC=/usr/local
  414. fi
  415. ODBC_INCDIR=$PHP_UNIXODBC/include
  416. ODBC_LIBDIR=$PHP_UNIXODBC/$PHP_LIBDIR
  417. ODBC_LFLAGS=-L$ODBC_LIBDIR
  418. ODBC_INCLUDE=-I$ODBC_INCDIR
  419. ODBC_LIBS=-lodbc
  420. ODBC_TYPE=unixODBC
  421. PHP_ODBC_CHECK_HEADER(sqlext.h)
  422. AC_DEFINE(HAVE_UNIXODBC,1,[ ])
  423. AC_MSG_RESULT([$ext_output])
  424. else
  425. AC_MSG_RESULT(no)
  426. fi
  427. fi
  428. if test -z "$ODBC_TYPE"; then
  429. PHP_ARG_WITH(dbmaker,,
  430. [ --with-dbmaker[=DIR] Include DBMaker support])
  431. AC_MSG_CHECKING(for DBMaker support)
  432. if test "$PHP_DBMAKER" != "no"; then
  433. if test "$PHP_DBMAKER" = "yes"; then
  434. # find dbmaker's home directory
  435. DBMAKER_HOME=`grep "^dbmaker:" /etc/passwd | $AWK -F: '{print $6}'`
  436. # check DBMaker version (from 5.0 to 2.0)
  437. DBMAKER_VERSION=5.0
  438. while test ! -d $DBMAKER_HOME/$DBMAKER_VERSION -a "$DBMAKER_VERSION" != "2.9"; do
  439. DM_VER=`echo $DBMAKER_VERSION | sed -e 's/\.//' | $AWK '{ print $1-1;}'`
  440. MAJOR_V=`echo $DM_VER | $AWK '{ print $1/10; }' | $AWK -F. '{ print $1; }'`
  441. MINOR_V=`echo $DM_VER | $AWK '{ print $1%10; }'`
  442. DBMAKER_VERSION=$MAJOR_V.$MINOR_V
  443. done
  444. if test "$DBMAKER_VERSION" = "2.9"; then
  445. PHP_DBMAKER=$DBMAKER_HOME
  446. else
  447. PHP_DBMAKER=$DBMAKER_HOME/$DBMAKER_VERSION
  448. fi
  449. fi
  450. ODBC_INCDIR=$PHP_DBMAKER/include
  451. ODBC_LIBDIR=$PHP_DBMAKER/$PHP_LIBDIR
  452. ODBC_INCLUDE=-I$ODBC_INCDIR
  453. ODBC_LFLAGS=-L$ODBC_LIBDIR
  454. ODBC_INCLUDE=-I$ODBC_INCDIR
  455. ODBC_LIBS="-ldmapic -lc"
  456. ODBC_TYPE=dbmaker
  457. AC_DEFINE(HAVE_DBMAKER,1,[Whether you want DBMaker])
  458. if test "$ext_shared" = "yes"; then
  459. AC_MSG_RESULT([yes (shared)])
  460. ODBC_LIBS="-ldmapic -lc -lm"
  461. ODBC_SHARED="odbc.la"
  462. else
  463. AC_MSG_RESULT([yes (static)])
  464. PHP_ADD_LIBRARY_WITH_PATH(dmapic, $ODBC_LIBDIR)
  465. PHP_ADD_INCLUDE($ODBC_INCDIR)
  466. ODBC_STATIC="libphpext_odbc.la"
  467. fi
  468. else
  469. AC_MSG_RESULT(no)
  470. fi
  471. fi
  472. if test "no" != "$PHP_ODBCVER"; then
  473. if test "$PHP_ODBCVER" != "0"; then
  474. AC_DEFINE_UNQUOTED(ODBCVER, $PHP_ODBCVER, [ The highest supported ODBC version ])
  475. fi
  476. else
  477. AC_DEFINE(ODBCVER, 0x0300, [ The highest supported ODBC version ])
  478. fi
  479. dnl
  480. dnl Extension setup
  481. dnl
  482. if test -n "$ODBC_TYPE"; then
  483. if test "$ODBC_TYPE" != "dbmaker"; then
  484. PHP_EVAL_LIBLINE([$ODBC_LFLAGS $ODBC_LIBS], ODBC_SHARED_LIBADD)
  485. if test "$ODBC_TYPE" != "birdstep" && test "$ODBC_TYPE" != "solid"; then
  486. AC_DEFINE(HAVE_SQLDATASOURCES,1,[ ])
  487. fi
  488. fi
  489. AC_DEFINE(HAVE_UODBC,1,[ ])
  490. PHP_SUBST(ODBC_SHARED_LIBADD)
  491. PHP_SUBST(ODBC_INCDIR)
  492. PHP_SUBST(ODBC_LIBDIR)
  493. PHP_SUBST_OLD(ODBC_INCLUDE)
  494. PHP_SUBST_OLD(ODBC_LIBS)
  495. PHP_SUBST_OLD(ODBC_LFLAGS)
  496. PHP_SUBST_OLD(ODBC_TYPE)
  497. PHP_NEW_EXTENSION(odbc, php_odbc.c, $ext_shared,, $ODBC_INCLUDE)
  498. else
  499. AC_MSG_CHECKING([for any ODBC driver support])
  500. AC_MSG_RESULT(no)
  501. fi