1dnl ext/pdo_mysql/config.m4 also depends on this macro. 2AC_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 20 if test -n "$MYSQL_SOCK"; then 21 AC_DEFINE_UNQUOTED(PHP_MYSQL_UNIX_SOCK_ADDR, "$MYSQL_SOCK", [ ]) 22 AC_MSG_RESULT([$MYSQL_SOCK]) 23 else 24 AC_MSG_RESULT([no]) 25 fi 26]) 27 28PHP_ARG_WITH([mysqli], 29 [for MySQLi support], 30 [AS_HELP_STRING([[--with-mysqli[=FILE]]], 31 [Include MySQLi support. FILE is the path to mysql_config. If no value or 32 mysqlnd is passed as FILE, the MySQL native driver will be used])]) 33 34dnl ext/pdo_mysql/config.m4 also depends on this configure option. 35PHP_ARG_WITH([mysql-sock], 36 [for specified location of the MySQL UNIX socket], 37 [AS_HELP_STRING([[--with-mysql-sock[=SOCKPATH]]], 38 [MySQLi/PDO_MYSQL: Location of the MySQL unix socket pointer. If unspecified, 39 the default locations are searched])], 40 [no], 41 [no]) 42 43if test "$PHP_MYSQLI" = "yes" || test "$PHP_MYSQLI" = "mysqlnd"; then 44 dnl This needs to be set in any extension which wishes to use mysqlnd 45 PHP_MYSQLND_ENABLED=yes 46 47elif test "$PHP_MYSQLI" != "no"; then 48 49 MYSQL_CONFIG=$PHP_MYSQLI 50 MYSQL_LIB_NAME='mysqlclient' 51 MYSQL_LIB_CFG='--libs' 52 53 if test -x "$MYSQL_CONFIG" && $MYSQL_CONFIG $MYSQL_LIB_CFG > /dev/null 2>&1; then 54 MYSQLI_INCLINE=`$MYSQL_CONFIG --cflags | $SED -e "s/'//g"` 55 MYSQLI_LIBLINE=`$MYSQL_CONFIG $MYSQL_LIB_CFG | $SED -e "s/'//g"` 56 else 57 AC_MSG_RESULT([mysql_config not found]) 58 AC_MSG_ERROR([Please reinstall the mysql distribution]) 59 fi 60 61 dnl 62 dnl Check the library 63 dnl 64 PHP_CHECK_LIBRARY($MYSQL_LIB_NAME, mysql_set_server_option, 65 [ 66 PHP_EVAL_INCLINE($MYSQLI_INCLINE) 67 PHP_EVAL_LIBLINE($MYSQLI_LIBLINE, MYSQLI_SHARED_LIBADD) 68 AC_DEFINE(HAVE_MYSQLILIB, 1, [ ]) 69 PHP_CHECK_LIBRARY($MYSQL_LIB_NAME, mysql_set_character_set, 70 [ ],[ 71 AC_MSG_ERROR([MySQLI doesn't support versions < 4.1.13 (for MySQL 4.1.x) and < 5.0.7 for (MySQL 5.0.x) anymore. Please update your libraries.]) 72 ],[$MYSQLI_LIBLINE]) 73 ],[ 74 AC_MSG_ERROR([wrong mysql library version or lib not found. Check config.log for more information.]) 75 ],[ 76 $MYSQLI_LIBLINE 77 ]) 78 dnl 79 dnl Check the library for mysql_stmt_next_result 80 dnl 81 PHP_CHECK_LIBRARY($MYSQL_LIB_NAME, mysql_stmt_next_result, 82 [ 83 AC_DEFINE(HAVE_STMT_NEXT_RESULT, 1, [ ]) 84 ],[ 85 ],[ 86 $MYSQLI_LIBLINE 87 ]) 88fi 89 90dnl Build extension 91if test "$PHP_MYSQLI" != "no"; then 92 AC_MSG_CHECKING([for MySQL UNIX socket location]) 93 if test "$PHP_MYSQL_SOCK" != "no" && test "$PHP_MYSQL_SOCK" != "yes"; then 94 MYSQL_SOCK=$PHP_MYSQL_SOCK 95 AC_DEFINE_UNQUOTED(PHP_MYSQL_UNIX_SOCK_ADDR, "$MYSQL_SOCK", [ ]) 96 AC_MSG_RESULT([$MYSQL_SOCK]) 97 elif test "$PHP_MYSQL_SOCK" = "yes"; then 98 PHP_MYSQL_SOCKET_SEARCH 99 else 100 AC_MSG_RESULT([no]) 101 fi 102 103 mysqli_sources="mysqli.c mysqli_api.c mysqli_prop.c mysqli_nonapi.c \ 104 mysqli_fe.c mysqli_report.c mysqli_driver.c mysqli_warning.c \ 105 mysqli_exception.c mysqli_result_iterator.c" 106 PHP_NEW_EXTENSION(mysqli, $mysqli_sources, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) 107 PHP_SUBST(MYSQLI_SHARED_LIBADD) 108 PHP_INSTALL_HEADERS([ext/mysqli/php_mysqli_structs.h]) 109 110 if test "$PHP_MYSQLI" = "yes" || test "$PHP_MYSQLI" = "mysqlnd"; then 111 PHP_ADD_EXTENSION_DEP(mysqli, mysqlnd) 112 AC_DEFINE([MYSQLI_USE_MYSQLND], 1, [Whether mysqlnd is enabled]) 113 PHP_INSTALL_HEADERS([ext/mysqli/mysqli_mysqlnd.h]) 114 else 115 PHP_INSTALL_HEADERS([ext/mysqli/mysqli_libmysql.h]) 116 fi 117fi 118