xref: /php-src/ext/pdo_mysql/config.m4 (revision e1181a64)
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