]> git.ipfire.org Git - thirdparty/pdns.git/blob - m4/pdns_with_mysql.m4
Merge pull request #7599 from mnordhoff/patch-2
[thirdparty/pdns.git] / m4 / pdns_with_mysql.m4
1 AC_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