summaryrefslogtreecommitdiff
path: root/ext/pdo_mysql/config.m4
blob: cbfe32f0164e2a758be19b20357f76f35b37cd72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
dnl
dnl $Id$
dnl

if test "$PHP_PDO" != "no"; then

AC_DEFUN([PDO_MYSQL_LIB_CHK], [
  str="$PDO_MYSQL_DIR/$1/libmysqlclient.*"
  for j in `echo $str`; do
    if test -r $j; then
      PDO_MYSQL_LIB_DIR=$MYSQL_DIR/$1
      break 2
    fi
  done
])

PHP_ARG_WITH(pdo-mysql, for MySQL support for PDO,
[  --with-pdo-mysql[=DIR]    PDO: MySQL support. DIR is the MySQL base directory])

if test "$PHP_PDO_MYSQL" != "no"; then
  AC_DEFINE(HAVE_MYSQL, 1, [Whether you have MySQL])

  for i in $PHP_PDO_MYSQL /usr/local /usr ; do
    PDO_MYSQL_DIR=$i
    PDO_MYSQL_CONFIG=$PDO_MYSQL_DIR/bin/mysql_config
    if test -r $i/include/mysql; then
      PDO_MYSQL_INC_DIR=$i/include/mysql
    else
      PDO_MYSQL_INC_DIR=$i/include
    fi      
    if test -r $i/lib/mysql; then
      PDO_MYSQL_LIB_DIR=$i/lib/mysql
    else
      PDO_MYSQL_LIB_DIR=$i/lib
    fi
    if test -x $PDO_MYSQL_CONFIG; then
      break
    fi
  done

  if test -z "$PDO_MYSQL_DIR"; then
    AC_MSG_ERROR([Cannot find MySQL header files under $PHP_MYSQL.
Note that the MySQL client library is not bundled anymore!])
  fi

  if test -x $PDO_MYSQL_CONFIG; then
	PDO_MYSQL_SOCKET=`$PDO_MYSQL_CONFIG --socket` 
  fi

  AC_DEFINE_UNQUOTED(PDO_MYSQL_UNIX_ADDR, "$PDO_MYSQL_SOCKET", [ ])

  PHP_ADD_LIBRARY_WITH_PATH(mysqlclient, $PDO_MYSQL_LIB_DIR, PDO_MYSQL_SHARED_LIBADD)
  PHP_ADD_INCLUDE($PDO_MYSQL_INC_DIR)
  if test -x $PDO_MYSQL_CONFIG; then
    PDO_MYSQL_LIBS=`$PDO_MYSQL_CONFIG --libs`
    PHP_SUBST_OLD(PDO_MYSQL_LIBS)
  fi

  _SAVE_LDFLAGS=$LDFLAGS
  LDFLAGS="$LDFLAGS $PDO_MYSQL_LIBS"
  AC_CHECK_FUNCS([mysql_commit mysql_stmt_prepare mysql_next_result mysql_sqlstate]) 
  LDFLAGS=$_SAVE_LDFLAGS

  PHP_CHECK_PDO_INCLUDES

  PHP_NEW_EXTENSION(pdo_mysql, pdo_mysql.c mysql_driver.c mysql_statement.c, $ext_shared,,-I$pdo_inc_path)
  PHP_ADD_EXTENSION_DEP(pdo_mysql, pdo)
  PDO_MYSQL_MODULE_TYPE=external
  PDO_MYSQL_INCLUDE=-I$PDO_MYSQL_INC_DIR
 
  PHP_SUBST(PDO_MYSQL_SHARED_LIBADD)
  PHP_SUBST_OLD(PDO_MYSQL_MODULE_TYPE)
  PHP_SUBST_OLD(PDO_MYSQL_LIBS)
  PHP_SUBST_OLD(PDO_MYSQL_INCLUDE)
fi

fi