]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
try to use mysql_config if it is avaiable, thanks Aki Tuomi. Closes #458
authorPeter van Dijk <peter.van.dijk@netherlabs.nl>
Wed, 2 Jan 2013 10:37:03 +0000 (10:37 +0000)
committerPeter van Dijk <peter.van.dijk@netherlabs.nl>
Wed, 2 Jan 2013 10:37:03 +0000 (10:37 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@3015 d19b8d6e-7fed-0310-83ef-9ca221ded41b

configure.ac
modules/gmysqlbackend/Makefile.am
modules/mydnsbackend/Makefile.am

index cd2316533b32887c29b4a3925e941e1547c77f5c..47196fc557eab9bdfba439811f48abc2f21d5669 100644 (file)
@@ -383,20 +383,60 @@ then
        AC_ARG_WITH(mysql,
            [  --with-mysql=<path>     root directory path of MySQL installation],
            [MYSQL_lib_check="$withval/lib/mysql $with_mysql/lib"
-       MYSQL_inc_check="$withval/include/mysql"],
+             MYSQL_inc_check="$withval/include/mysql"
+             MYSQL_config_check="$withval/bin/mysql_config"],
            [MYSQL_lib_check="/usr/local/mysql/lib/mysql /usr/local/lib/mysql /opt/mysql/lib/mysql \
                /usr/lib/mysql /usr/lib64/mysql /usr/local/mysql/lib /usr/local/lib /opt/mysql/lib /usr/lib \
                /usr/sfw/lib/ /usr/lib/x86_64-linux-gnu/"
-       MYSQL_inc_check="/usr/local/mysql/include/mysql /usr/local/include/mysql \
+            MYSQL_inc_check="/usr/local/mysql/include/mysql /usr/local/include/mysql \
                /opt/mysql/include/mysql /opt/mysql/include /usr/include/mysql /usr/sfw/include/mysql"])
-               AC_ARG_WITH(mysql-lib,
+        AC_ARG_WITH(mysql-config,
+            [ --with-mysql-config=<path> file path to mysql_config],[MYSQL_config_check=$withval])
+       AC_ARG_WITH(mysql-lib,
            [  --with-mysql-lib=<path> directory path of MySQL library installation],
-           [MYSQL_lib_check="$withval/lib/mysql $withval/mysql $withval"])
-               AC_ARG_WITH(mysql-includes,
+           [MYSQL_lib_check="$withval/lib/mysql $withval/mysql $withval"
+             MYSQL_config_check="skip"])
+       AC_ARG_WITH(mysql-includes,
            [  --with-mysql-includes=<path>
                          directory path of MySQL header installation],
-           [MYSQL_inc_check="$withval/include/mysql $withval/mysql $withval"])
-               AC_MSG_CHECKING([for MySQL library directory])
+           [MYSQL_inc_check="$withval/include/mysql $withval/mysql $withval"
+             MYSQL_config_check="skip"])
+
+        MYSQL_config=""
+
+        if test "x$MYSQL_config_check" != "xskip"; then
+           AC_MSG_CHECKING([for mysql_config])
+           if test "x$MYSQL_config_check" == "x"; then
+             # check if it's in path
+             for m in /bin /usr/bin /usr/local/bin /opt/csw/bin; do
+               if test -x $m/mysql_config; then
+                 MYSQL_config=$m/mysql_config
+                 break
+               fi
+             done
+
+             if test "x$MYSQL_config" == "x"; then 
+                AC_MSG_RESULT([not found])
+             else
+                AC_MSG_RESULT([$MYSQL_config])
+             fi 
+           else
+             if test -x $MYSQL_config_check; then
+               MYSQL_config="$MYSQL_config_check"
+               AC_MSG_RESULT([$MYSQL_config])
+             else
+               MYSQL_config=""
+               AC_MSG_ERROR([not found])
+             fi
+           fi
+        fi            
+
+     if test "x$MYSQL_config" != "x"; then
+        # use this to configure everything
+        MYSQL_lib=`$MYSQL_config --libs`
+        MYSQL_inc=`$MYSQL_config --include`
+     else
+        AC_MSG_CHECKING([for MySQL library directory])
        MYSQL_libdir=
        for m in $MYSQL_lib_check; do
                if test -d "$m" && \
@@ -407,7 +447,7 @@ then
                fi
        done
                if test -z "$MYSQL_libdir"; then
-               AC_MSG_ERROR([Didn't find the mysql library dir in '$MYSQL_lib_check'])
+               AC_MSG_ERROR([Did not find the mysql library dir in '$MYSQL_lib_check'])
        fi
        case "$MYSQL_libdir" in
                  /usr/lib ) MYSQL_lib="" ;;
@@ -419,25 +459,26 @@ then
        
        AC_MSG_RESULT([$MYSQL_libdir])
                AC_MSG_CHECKING([for MySQL include directory])
-       MYSQL_incdir=
+       MYSQL_inc=
        for m in $MYSQL_inc_check; do
                if test -d "$m" && test -f "$m/mysql.h"
                then
-                       MYSQL_incdir=$m
+                       MYSQL_inc=-I$m
                        break
                fi
        done
-               if test -z "$MYSQL_incdir"; then
-               AC_MSG_ERROR([Didn't find the mysql include dir in '$MYSQL_inc_check'])
+               if test -z "$MYSQL_inc"; then
+               AC_MSG_ERROR([Did not find the mysql include dir in '$MYSQL_inc_check'])
        fi
        
-       case "$MYSQL_incdir" in
+       case "$MYSQL_inc" in
          /* ) ;;
-         * )  AC_MSG_ERROR([The MySQL include directory ($MYSQL_incdir) must be an absolute path.]) ;;
+         * )  AC_MSG_ERROR([The MySQL include directory ($MYSQL_inc) must be an absolute path.]) ;;
        esac
-       
-       AC_SUBST(MYSQL_incdir)
-       AC_MSG_RESULT([$MYSQL_incdir])
+        AC_MSG_RESULT([$MYSQL_inc])
+     fi
+       AC_SUBST(MYSQL_lib)
+       AC_SUBST(MYSQL_inc)
 #      LIBS="$LIBS -lmysqlclient"
 fi
 
index 54a8f4e52ca4e0803d3c643e69238111e4c2dcaf..918ad650e72b94648a13a707f2f02dfc56fe7e70 100644 (file)
@@ -3,7 +3,7 @@ lib_LTLIBRARIES = libgmysqlbackend.la
 
 EXTRA_DIST=OBJECTFILES OBJECTLIBS
 
-INCLUDES=-I@MYSQL_incdir@
+INCLUDES=@MYSQL_inc@
 
 libgmysqlbackend_la_SOURCES=gmysqlbackend.cc gmysqlbackend.hh \
                smysql.hh smysql.cc
index 5988bf1e1d458fc04a5ec5c6dd23b240f7215f14..427d60d9926c1da1d75ed38a95c5c8c239fa7172 100644 (file)
@@ -1,5 +1,5 @@
 AM_CPPFLAGS=@THREADFLAGS@
-INCLUDES=-I@MYSQL_incdir@ 
+INCLUDES=@MYSQL_inc@
 lib_LTLIBRARIES = libmydnsbackend.la 
 EXTRA_DIST=OBJECTFILES OBJECTLIBS
 libmydnsbackend_la_SOURCES=mydnsbackend.cc mydnsbackend.hh