config.m4 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. dnl
  2. dnl $Id$
  3. dnl
  4. AC_DEFUN([MYSQL_LIB_CHK], [
  5. str="$MYSQL_DIR/$1/lib$MYSQL_LIBNAME.*"
  6. for j in `echo $str`; do
  7. if test -r $j; then
  8. MYSQL_LIB_DIR=$MYSQL_DIR/$1
  9. break 2
  10. fi
  11. done
  12. ])
  13. AC_DEFUN([PHP_MYSQL_SOCKET_SEARCH], [
  14. for i in \
  15. /var/run/mysqld/mysqld.sock \
  16. /var/tmp/mysql.sock \
  17. /var/run/mysql/mysql.sock \
  18. /var/lib/mysql/mysql.sock \
  19. /var/mysql/mysql.sock \
  20. /usr/local/mysql/var/mysql.sock \
  21. /Private/tmp/mysql.sock \
  22. /private/tmp/mysql.sock \
  23. /tmp/mysql.sock \
  24. ; do
  25. if test -r $i; then
  26. MYSQL_SOCK=$i
  27. break 2
  28. fi
  29. done
  30. if test -n "$MYSQL_SOCK"; then
  31. AC_DEFINE_UNQUOTED(PHP_MYSQL_UNIX_SOCK_ADDR, "$MYSQL_SOCK", [ ])
  32. AC_MSG_RESULT([$MYSQL_SOCK])
  33. else
  34. AC_MSG_RESULT([no])
  35. fi
  36. ])
  37. PHP_ARG_WITH(mysql, for MySQL support,
  38. [ --with-mysql[=DIR] Include MySQL support. DIR is the MySQL base
  39. directory, if no DIR is passed or the value is
  40. mysqlnd the MySQL native driver will be used])
  41. PHP_ARG_WITH(mysql-sock, for specified location of the MySQL UNIX socket,
  42. [ --with-mysql-sock[=SOCKPATH]
  43. MySQL/MySQLi/PDO_MYSQL: Location of the MySQL unix socket pointer.
  44. If unspecified, the default locations are searched], no, no)
  45. if test -z "$PHP_ZLIB_DIR"; then
  46. PHP_ARG_WITH(zlib-dir, for the location of libz,
  47. [ --with-zlib-dir[=DIR] MySQL: Set the path to libz install prefix], no, no)
  48. fi
  49. if test "$PHP_MYSQL" = "yes" || test "$PHP_MYSQL" = "mysqlnd"; then
  50. dnl enables build of mysqnd library
  51. PHP_MYSQLND_ENABLED=yes
  52. elif test "$PHP_MYSQL" != "no"; then
  53. MYSQL_DIR=
  54. MYSQL_INC_DIR=
  55. if test -r $PHP_MYSQL/include/mysql/mysql.h; then
  56. MYSQL_DIR=$PHP_MYSQL
  57. MYSQL_INC_DIR=$PHP_MYSQL/include/mysql
  58. break
  59. elif test -r $PHP_MYSQL/include/mysql.h; then
  60. MYSQL_DIR=$PHP_MYSQL
  61. MYSQL_INC_DIR=$PHP_MYSQL/include
  62. break
  63. fi
  64. if test -z "$MYSQL_DIR"; then
  65. AC_MSG_ERROR([Cannot find MySQL header files under $PHP_MYSQL.
  66. Note that the MySQL client library is not bundled anymore!])
  67. fi
  68. if test "$enable_maintainer_zts" = "yes"; then
  69. MYSQL_LIBNAME=mysqlclient_r
  70. else
  71. MYSQL_LIBNAME=mysqlclient
  72. fi
  73. case $host_alias in
  74. *netware*[)]
  75. MYSQL_LIBNAME=mysql
  76. ;;
  77. esac
  78. dnl for compat with PHP 4 build system
  79. if test -z "$PHP_LIBDIR"; then
  80. PHP_LIBDIR=lib
  81. fi
  82. for i in $PHP_LIBDIR $PHP_LIBDIR/mysql; do
  83. MYSQL_LIB_CHK($i)
  84. done
  85. if test -z "$MYSQL_LIB_DIR"; then
  86. MYSQL_LIB_CHK(lib/x86_64-linux-gnu)
  87. fi
  88. if test -z "$MYSQL_LIB_DIR"; then
  89. MYSQL_LIB_CHK(lib/i386-linux-gnu)
  90. fi
  91. if test -z "$MYSQL_LIB_DIR"; then
  92. AC_MSG_ERROR([Cannot find lib$MYSQL_LIBNAME under $MYSQL_DIR.
  93. Note that the MySQL client library is not bundled anymore!])
  94. fi
  95. PHP_CHECK_LIBRARY($MYSQL_LIBNAME, mysql_close, [ ],
  96. [
  97. if test "$PHP_ZLIB_DIR" != "no"; then
  98. PHP_ADD_LIBRARY_WITH_PATH(z, $PHP_ZLIB_DIR, MYSQL_SHARED_LIBADD)
  99. PHP_CHECK_LIBRARY($MYSQL_LIBNAME, mysql_error, [], [
  100. AC_MSG_ERROR([mysql configure failed. Please check config.log for more information.])
  101. ], [
  102. -L$PHP_ZLIB_DIR/$PHP_LIBDIR -L$MYSQL_LIB_DIR
  103. ])
  104. MYSQL_LIBS="-L$PHP_ZLIB_DIR/$PHP_LIBDIR -lz"
  105. else
  106. PHP_ADD_LIBRARY(z,, MYSQL_SHARED_LIBADD)
  107. PHP_CHECK_LIBRARY($MYSQL_LIBNAME, mysql_errno, [], [
  108. AC_MSG_ERROR([Try adding --with-zlib-dir=<DIR>. Please check config.log for more information.])
  109. ], [
  110. -L$MYSQL_LIB_DIR
  111. ])
  112. MYSQL_LIBS="-lz"
  113. fi
  114. ], [
  115. -L$MYSQL_LIB_DIR
  116. ])
  117. PHP_ADD_LIBRARY_WITH_PATH($MYSQL_LIBNAME, $MYSQL_LIB_DIR, MYSQL_SHARED_LIBADD)
  118. PHP_ADD_INCLUDE($MYSQL_INC_DIR)
  119. MYSQL_MODULE_TYPE=external
  120. MYSQL_LIBS="-L$MYSQL_LIB_DIR -l$MYSQL_LIBNAME $MYSQL_LIBS"
  121. MYSQL_INCLUDE=-I$MYSQL_INC_DIR
  122. PHP_SUBST_OLD(MYSQL_MODULE_TYPE)
  123. PHP_SUBST_OLD(MYSQL_LIBS)
  124. PHP_SUBST_OLD(MYSQL_INCLUDE)
  125. fi
  126. dnl Enable extension
  127. if test "$PHP_MYSQL" != "no"; then
  128. AC_MSG_CHECKING([for MySQL UNIX socket location])
  129. if test "$PHP_MYSQL_SOCK" != "no" && test "$PHP_MYSQL_SOCK" != "yes"; then
  130. MYSQL_SOCK=$PHP_MYSQL_SOCK
  131. AC_DEFINE_UNQUOTED(PHP_MYSQL_UNIX_SOCK_ADDR, "$MYSQL_SOCK", [ ])
  132. AC_MSG_RESULT([$MYSQL_SOCK])
  133. elif test "$PHP_MYSQL" = "yes" || test "$PHP_MYSQL_SOCK" = "yes"; then
  134. PHP_MYSQL_SOCKET_SEARCH
  135. else
  136. AC_MSG_RESULT([no])
  137. fi
  138. AC_DEFINE(HAVE_MYSQL, 1, [Whether you have MySQL])
  139. PHP_NEW_EXTENSION(mysql, php_mysql.c, $ext_shared)
  140. PHP_SUBST(MYSQL_SHARED_LIBADD)
  141. if test "$PHP_MYSQL" = "yes" || test "$PHP_MYSQL" = "mysqlnd"; then
  142. PHP_ADD_EXTENSION_DEP(mysql, mysqlnd)
  143. AC_DEFINE([MYSQL_USE_MYSQLND], 1, [Whether mysqlnd is enabled])
  144. fi
  145. fi