config.m4 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. dnl ext/pdo_mysql/config.m4 also depends on this macro.
  2. AC_DEFUN([PHP_MYSQL_SOCKET_SEARCH], [
  3. for i in \
  4. /var/run/mysqld/mysqld.sock \
  5. /var/tmp/mysql.sock \
  6. /var/run/mysql/mysql.sock \
  7. /var/lib/mysql/mysql.sock \
  8. /var/mysql/mysql.sock \
  9. /usr/local/mysql/var/mysql.sock \
  10. /Private/tmp/mysql.sock \
  11. /private/tmp/mysql.sock \
  12. /tmp/mysql.sock \
  13. ; do
  14. if test -r $i; then
  15. MYSQL_SOCK=$i
  16. break 2
  17. fi
  18. done
  19. if test -n "$MYSQL_SOCK"; then
  20. AC_DEFINE_UNQUOTED(PHP_MYSQL_UNIX_SOCK_ADDR, "$MYSQL_SOCK", [ ])
  21. AC_MSG_RESULT([$MYSQL_SOCK])
  22. else
  23. AC_MSG_RESULT([no])
  24. fi
  25. ])
  26. PHP_ARG_WITH([mysqli],
  27. [for MySQLi support],
  28. [AS_HELP_STRING([[--with-mysqli[=FILE]]],
  29. [Include MySQLi support. FILE is the path to mysql_config. If no value or
  30. mysqlnd is passed as FILE, the MySQL native driver will be used])])
  31. dnl ext/pdo_mysql/config.m4 also depends on this configure option.
  32. PHP_ARG_WITH([mysql-sock],
  33. [for specified location of the MySQL UNIX socket],
  34. [AS_HELP_STRING([[--with-mysql-sock[=SOCKPATH]]],
  35. [MySQLi/PDO_MYSQL: Location of the MySQL unix socket pointer. If unspecified,
  36. the default locations are searched])],
  37. [no],
  38. [no])
  39. if test "$PHP_MYSQLI" = "yes" || test "$PHP_MYSQLI" = "mysqlnd"; then
  40. dnl This needs to be set in any extension which wishes to use mysqlnd
  41. PHP_MYSQLND_ENABLED=yes
  42. elif test "$PHP_MYSQLI" != "no"; then
  43. MYSQL_CONFIG=$PHP_MYSQLI
  44. if test -x "$MYSQL_CONFIG" && $MYSQL_CONFIG --libs > /dev/null 2>&1; then
  45. MYSQLI_INCLINE=`$MYSQL_CONFIG --cflags | $SED -e "s/'//g"`
  46. MYSQLI_LIBLINE=`$MYSQL_CONFIG --libs | $SED -e "s/'//g"`
  47. else
  48. AC_MSG_RESULT([mysql_config not found])
  49. AC_MSG_ERROR([Please reinstall the mysql distribution])
  50. fi
  51. PHP_EVAL_INCLINE($MYSQLI_INCLINE)
  52. PHP_EVAL_LIBLINE($MYSQLI_LIBLINE, MYSQLI_SHARED_LIBADD)
  53. AC_DEFINE(HAVE_MYSQLILIB, 1, [ ])
  54. fi
  55. dnl Build extension
  56. if test "$PHP_MYSQLI" != "no"; then
  57. AC_MSG_CHECKING([for MySQL UNIX socket location])
  58. if test "$PHP_MYSQL_SOCK" != "no" && test "$PHP_MYSQL_SOCK" != "yes"; then
  59. MYSQL_SOCK=$PHP_MYSQL_SOCK
  60. AC_DEFINE_UNQUOTED(PHP_MYSQL_UNIX_SOCK_ADDR, "$MYSQL_SOCK", [ ])
  61. AC_MSG_RESULT([$MYSQL_SOCK])
  62. elif test "$PHP_MYSQL_SOCK" = "yes"; then
  63. PHP_MYSQL_SOCKET_SEARCH
  64. else
  65. AC_MSG_RESULT([no])
  66. fi
  67. mysqli_sources="mysqli.c mysqli_api.c mysqli_prop.c mysqli_nonapi.c \
  68. mysqli_report.c mysqli_driver.c mysqli_warning.c \
  69. mysqli_exception.c mysqli_result_iterator.c"
  70. PHP_NEW_EXTENSION(mysqli, $mysqli_sources, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
  71. PHP_SUBST(MYSQLI_SHARED_LIBADD)
  72. PHP_INSTALL_HEADERS([ext/mysqli/php_mysqli_structs.h])
  73. if test "$PHP_MYSQLI" = "yes" || test "$PHP_MYSQLI" = "mysqlnd"; then
  74. PHP_ADD_EXTENSION_DEP(mysqli, mysqlnd)
  75. AC_DEFINE([MYSQLI_USE_MYSQLND], 1, [Whether mysqlnd is enabled])
  76. PHP_INSTALL_HEADERS([ext/mysqli/mysqli_mysqlnd.h])
  77. else
  78. PHP_INSTALL_HEADERS([ext/mysqli/mysqli_libmysql.h])
  79. fi
  80. fi