1PHP_ARG_WITH([pdo-mysql], 2 [for MySQL support for PDO], 3 [AS_HELP_STRING([[--with-pdo-mysql[=DIR]]], 4 [PDO: MySQL support. DIR is the MySQL base directory. If no value or mysqlnd 5 is passed as DIR, the MySQL native driver will be used])]) 6 7if test "$PHP_PDO_MYSQL" != "no"; then 8 dnl This depends on ext/mysqli/config.m4 providing the PHP_MYSQL_SOCKET_SEARCH 9 dnl macro and --with-mysql-sock configure option. 10 AC_MSG_CHECKING([for MySQL UNIX socket location]) 11 if test "$PHP_MYSQL_SOCK" != "no" && test "$PHP_MYSQL_SOCK" != "yes"; then 12 MYSQL_SOCK=$PHP_MYSQL_SOCK 13 AC_DEFINE_UNQUOTED(PHP_MYSQL_UNIX_SOCK_ADDR, "$MYSQL_SOCK", [ ]) 14 AC_MSG_RESULT([$MYSQL_SOCK]) 15 elif test "$PHP_MYSQL_SOCK" = "yes"; then 16 PHP_MYSQL_SOCKET_SEARCH 17 else 18 AC_MSG_RESULT([no]) 19 fi 20 21 if test "$PHP_PDO" = "no" && test "$ext_shared" = "no"; then 22 AC_MSG_ERROR([PDO is not enabled! Add --enable-pdo to your configure line.]) 23 fi 24 25 if test "$PHP_PDO_MYSQL" != "yes" && test "$PHP_PDO_MYSQL" != "mysqlnd"; then 26 if test -f $PHP_PDO_MYSQL && test -x $PHP_PDO_MYSQL ; then 27 PDO_MYSQL_CONFIG=$PHP_PDO_MYSQL 28 else 29 if test -d "$PHP_PDO_MYSQL" ; then 30 if test -x "$PHP_PDO_MYSQL/bin/mysql_config" ; then 31 PDO_MYSQL_CONFIG="$PHP_PDO_MYSQL/bin/mysql_config" 32 else 33 PDO_MYSQL_DIR="$PHP_PDO_MYSQL" 34 fi 35 fi 36 fi 37 fi 38 39 if test "$PHP_PDO_MYSQL" = "yes" || test "$PHP_PDO_MYSQL" = "mysqlnd"; then 40 dnl enables build of mysqnd library 41 PHP_MYSQLND_ENABLED=yes 42 AC_DEFINE([PDO_USE_MYSQLND], 1, [Whether pdo_mysql uses mysqlnd]) 43 else 44 AC_MSG_CHECKING([for mysql_config]) 45 if test -n "$PDO_MYSQL_CONFIG"; then 46 AC_MSG_RESULT($PDO_MYSQL_CONFIG) 47 PDO_MYSQL_LIBS=`$PDO_MYSQL_CONFIG --libs | $SED -e "s/'//g"` 48 PDO_MYSQL_INCLUDE=`$PDO_MYSQL_CONFIG --cflags | $SED -e "s/'//g"` 49 elif test -n "$PDO_MYSQL_DIR"; then 50 AC_MSG_RESULT([not found]) 51 AC_MSG_CHECKING([for mysql install under $PDO_MYSQL_DIR]) 52 if test -r $PDO_MYSQL_DIR/include/mysql; then 53 PDO_MYSQL_INC_DIR=$PDO_MYSQL_DIR/include/mysql 54 else 55 PDO_MYSQL_INC_DIR=$PDO_MYSQL_DIR/include 56 fi 57 if test -r $PDO_MYSQL_DIR/$PHP_LIBDIR/mysql; then 58 PDO_MYSQL_LIB_DIR=$PDO_MYSQL_DIR/$PHP_LIBDIR/mysql 59 else 60 PDO_MYSQL_LIB_DIR=$PDO_MYSQL_DIR/$PHP_LIBDIR 61 fi 62 63 if test -r "$PDO_MYSQL_LIB_DIR"; then 64 AC_MSG_RESULT([libs under $PDO_MYSQL_LIB_DIR; seems promising]) 65 else 66 AC_MSG_RESULT([can not find it]) 67 AC_MSG_ERROR([Unable to find your mysql installation]) 68 fi 69 70 PHP_ADD_INCLUDE($PDO_MYSQL_INC_DIR) 71 PDO_MYSQL_INCLUDE=-I$PDO_MYSQL_INC_DIR 72 else 73 AC_MSG_RESULT([not found]) 74 AC_MSG_ERROR([Unable to find your mysql installation]) 75 fi 76 77 PHP_EVAL_INCLINE($PDO_MYSQL_INCLUDE) 78 PHP_EVAL_LIBLINE($PDO_MYSQL_LIBS, PDO_MYSQL_SHARED_LIBADD) 79 fi 80 81 PHP_CHECK_PDO_INCLUDES 82 83 if test -n "$PDO_MYSQL_CONFIG"; then 84 PDO_MYSQL_SOCKET=`$PDO_MYSQL_CONFIG --socket` 85 AC_DEFINE_UNQUOTED(PDO_MYSQL_UNIX_ADDR, "$PDO_MYSQL_SOCKET", [ ]) 86 fi 87 88 PHP_NEW_EXTENSION(pdo_mysql, pdo_mysql.c mysql_driver.c mysql_statement.c, $ext_shared,,-I$pdo_cv_inc_path -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) 89 90 PHP_ADD_EXTENSION_DEP(pdo_mysql, pdo) 91 92 if test "$PHP_PDO_MYSQL" = "yes" || test "$PHP_PDO_MYSQL" = "mysqlnd"; then 93 PHP_ADD_EXTENSION_DEP(pdo_mysql, mysqlnd) 94 fi 95 96 PHP_SUBST(PDO_MYSQL_SHARED_LIBADD) 97fi 98