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