1AC_DEFUN([PDNS_WITH_MYSQL],[
2  AC_ARG_WITH([mysql],
3    [AS_HELP_STRING([--with-mysql=<path>], [root directory path of MySQL installation])],
4    [
5      if test "$withval" = "no"; then
6        modules_without_gmysql=$(echo $modules|sed -e 's/gmysql//;s/  */ /g;')
7        dynmodules_without_gmysql=$(echo $dynmodules|sed -e 's/gmysql//;s/  */ /g;')
8        AC_MSG_ERROR([instead of --without-mysql try --with-modules="$modules_without_gmysql" --with-dyn-modules="$dynmodules_without_gmysql"])
9      fi
10
11      MYSQL_LIBS_check="$withval/lib/mysql $with_mysql/lib"
12      MYSQL_CFLAGS_check="$withval/include/mysql"
13      MYSQL_config_check="$withval/bin/mysql_config"
14    ],
15    [
16      MYSQL_LIBS_check="/usr/local/mysql/lib/mysql /usr/local/lib/mysql /opt/mysql/lib/mysql \
17        /usr/lib/mysql /usr/lib64/mysql /usr/local/mysql/lib /usr/local/lib /opt/mysql/lib /usr/lib \
18        /usr/sfw/lib/ $full_libdir"
19      MYSQL_CFLAGS_check="/usr/local/mysql/include/mysql /usr/local/include/mysql \
20        /opt/mysql/include/mysql /opt/mysql/include /usr/include/mysql /usr/sfw/include/mysql"
21    ]
22  )
23
24  AC_ARG_WITH([mysql-config],
25    [AS_HELP_STRING([--with-mysql-config=<path>], [file path to mysql_config])],
26    [MYSQL_config_check=$withval]
27  )
28
29  AC_ARG_WITH([mysql-lib],
30    [AS_HELP_STRING([--with-mysql-lib=<path>], [directory path of MySQL library installation])],
31    [
32      MYSQL_LIBS_check="$withval/lib/mysql $withval/mysql $withval"
33      MYSQL_config_check="skip"
34    ]
35  )
36
37  AC_ARG_WITH([mysql-includes],
38    [AS_HELP_STRING([--with-mysql-includes=<path>], [directory path of MySQL header installation])],
39    [
40      MYSQL_CFLAGS_check="$withval/include/mysql $withval/mysql $withval"
41      MYSQL_config_check="skip"
42    ]
43  )
44
45  MYSQL_config=""
46  if test "x$MYSQL_config_check" != "xskip"; then
47    if test "x$MYSQL_config_check" = "x"; then
48      AC_PATH_PROG([MYSQL_config], [mysql_config])
49    else
50      AC_MSG_CHECKING([for $MYSQL_config_check])
51      if test -x $MYSQL_config_check; then
52        MYSQL_config="$MYSQL_config_check"
53        AC_MSG_RESULT([yes])
54      else
55        MYSQL_config=""
56        AC_MSG_ERROR([not found])
57      fi
58    fi
59  fi
60
61  if test "x$MYSQL_config" != "x"; then
62    # use this to configure everything
63    MYSQL_LIBS=`$MYSQL_config --libs`
64    MYSQL_CFLAGS=`$MYSQL_config --include`
65  else
66    AC_MSG_CHECKING([for MySQL library directory])
67    MYSQL_libdir=
68    for m in $MYSQL_LIBS_check; do
69      if test -d "$m" && \
70        (test -f "$m/libmysqlclient.so" || test -f "$m/libmysqlclient.a")
71      then
72        MYSQL_libdir=$m
73        break
74      fi
75    done
76    if test -z "$MYSQL_libdir"; then
77      AC_MSG_ERROR([Did not find the mysql library dir in '$MYSQL_LIBS_check'])
78    fi
79    case "$MYSQL_libdir" in
80      /*) MYSQL_LIBS="-L$MYSQL_libdir -lmysqlclient"
81          ;;
82      *)  AC_MSG_ERROR([The MySQL library directory ($MYSQL_libdir) must be an absolute path.])
83          ;;
84    esac
85    AC_MSG_RESULT([$MYSQL_libdir])
86    AC_SUBST(MYSQL_LIBS)
87    AC_MSG_CHECKING([for MySQL include directory])
88    MYSQL_CFLAGS=
89    for m in $MYSQL_CFLAGS_check; do
90      if test -d "$m" && test -f "$m/mysql.h"
91      then
92        MYSQL_CFLAGS="$m"
93        break
94      fi
95    done
96    if test -z "$MYSQL_CFLAGS"; then
97      AC_MSG_ERROR([Did not find the mysql include dir in '$MYSQL_CFLAGS_check'])
98    fi
99
100    case "$MYSQL_CFLAGS" in
101      /*) AC_MSG_RESULT($MYSQL_CFLAGS)
102          ;;
103      *)  AC_MSG_ERROR([The MySQL include directory ($MYSQL_CFLAGS) must be an absolute path.])
104          ;;
105    esac
106    MYSQL_CFLAGS="-I$MYSQL_CFLAGS"
107  fi
108  AC_SUBST(MYSQL_LIBS)
109  AC_SUBST(MYSQL_CFLAGS)
110])
111
112