php-src/ext/mysqli/config.m4
Peter Kokot 9df6a1e4dd Add AS_HELP_STRING to *nix build configure options
The Autoconf's default AS_HELP_STRING macro can properly format help
strings [1] so watching out if columns are aligned manually is not
anymore.

[1] https://www.gnu.org/software/autoconf/manual/autoconf.html#Pretty-Help-Strings
2019-03-07 20:36:59 +01:00

126 lines
3.9 KiB
Plaintext

dnl config.m4 for extension mysqli
dnl ext/pdo_mysql/config.m4 also depends on this macro.
AC_DEFUN([PHP_MYSQL_SOCKET_SEARCH], [
for i in \
/var/run/mysqld/mysqld.sock \
/var/tmp/mysql.sock \
/var/run/mysql/mysql.sock \
/var/lib/mysql/mysql.sock \
/var/mysql/mysql.sock \
/usr/local/mysql/var/mysql.sock \
/Private/tmp/mysql.sock \
/private/tmp/mysql.sock \
/tmp/mysql.sock \
; do
if test -r $i; then
MYSQL_SOCK=$i
break 2
fi
done
if test -n "$MYSQL_SOCK"; then
AC_DEFINE_UNQUOTED(PHP_MYSQL_UNIX_SOCK_ADDR, "$MYSQL_SOCK", [ ])
AC_MSG_RESULT([$MYSQL_SOCK])
else
AC_MSG_RESULT([no])
fi
])
PHP_ARG_WITH([mysqli],
[for MySQLi support],
[AS_HELP_STRING([[--with-mysqli[=FILE]]],
[Include MySQLi support. FILE is the path to mysql_config. If no value or
mysqlnd is passed as FILE, the MySQL native driver will be used])])
dnl ext/pdo_mysql/config.m4 also depends on this configure option.
PHP_ARG_WITH([mysql-sock],
[for specified location of the MySQL UNIX socket],
[AS_HELP_STRING([[--with-mysql-sock[=SOCKPATH]]],
[MySQLi/PDO_MYSQL: Location of the MySQL unix socket pointer. If unspecified,
the default locations are searched])],
[no],
[no])
if test "$PHP_MYSQLI" = "yes" || test "$PHP_MYSQLI" = "mysqlnd"; then
dnl This needs to be set in any extension which wishes to use mysqlnd
PHP_MYSQLND_ENABLED=yes
elif test "$PHP_MYSQLI" != "no"; then
MYSQL_CONFIG=$PHP_MYSQLI
MYSQL_LIB_NAME='mysqlclient'
if test "$enable_maintainer_zts" = "yes"; then
MYSQL_LIB_CFG='--libs_r'
MYSQL_LIB_NAME='mysqlclient_r'
else
MYSQL_LIB_CFG='--libs'
fi
if test -x "$MYSQL_CONFIG" && $MYSQL_CONFIG $MYSQL_LIB_CFG > /dev/null 2>&1; then
MYSQLI_INCLINE=`$MYSQL_CONFIG --cflags | $SED -e "s/'//g"`
MYSQLI_LIBLINE=`$MYSQL_CONFIG $MYSQL_LIB_CFG | $SED -e "s/'//g"`
else
AC_MSG_RESULT([mysql_config not found])
AC_MSG_ERROR([Please reinstall the mysql distribution])
fi
dnl
dnl Check the library
dnl
PHP_CHECK_LIBRARY($MYSQL_LIB_NAME, mysql_set_server_option,
[
PHP_EVAL_INCLINE($MYSQLI_INCLINE)
PHP_EVAL_LIBLINE($MYSQLI_LIBLINE, MYSQLI_SHARED_LIBADD)
AC_DEFINE(HAVE_MYSQLILIB, 1, [ ])
PHP_CHECK_LIBRARY($MYSQL_LIB_NAME, mysql_set_character_set,
[ ],[
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.])
],[$MYSQLI_LIBLINE])
],[
AC_MSG_ERROR([wrong mysql library version or lib not found. Check config.log for more information.])
],[
$MYSQLI_LIBLINE
])
dnl
dnl Check the library for mysql_stmt_next_result
dnl
PHP_CHECK_LIBRARY($MYSQL_LIB_NAME, mysql_stmt_next_result,
[
AC_DEFINE(HAVE_STMT_NEXT_RESULT, 1, [ ])
],[
],[
$MYSQLI_LIBLINE
])
fi
dnl Build extension
if test "$PHP_MYSQLI" != "no"; then
AC_MSG_CHECKING([for MySQL UNIX socket location])
if test "$PHP_MYSQL_SOCK" != "no" && test "$PHP_MYSQL_SOCK" != "yes"; then
MYSQL_SOCK=$PHP_MYSQL_SOCK
AC_DEFINE_UNQUOTED(PHP_MYSQL_UNIX_SOCK_ADDR, "$MYSQL_SOCK", [ ])
AC_MSG_RESULT([$MYSQL_SOCK])
elif test "$PHP_MYSQL_SOCK" = "yes"; then
PHP_MYSQL_SOCKET_SEARCH
else
AC_MSG_RESULT([no])
fi
mysqli_sources="mysqli.c mysqli_api.c mysqli_prop.c mysqli_nonapi.c \
mysqli_fe.c mysqli_report.c mysqli_driver.c mysqli_warning.c \
mysqli_exception.c mysqli_result_iterator.c"
PHP_NEW_EXTENSION(mysqli, $mysqli_sources, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
PHP_SUBST(MYSQLI_SHARED_LIBADD)
PHP_INSTALL_HEADERS([ext/mysqli/php_mysqli_structs.h])
if test "$PHP_MYSQLI" = "yes" || test "$PHP_MYSQLI" = "mysqlnd"; then
PHP_ADD_EXTENSION_DEP(mysqli, mysqlnd)
AC_DEFINE([MYSQLI_USE_MYSQLND], 1, [Whether mysqlnd is enabled])
PHP_INSTALL_HEADERS([ext/mysqli/mysqli_mysqlnd.h])
else
PHP_INSTALL_HEADERS([ext/mysqli/mysqli_libmysql.h])
fi
fi