From: Peter van Dijk Date: Wed, 2 Jan 2013 10:37:03 +0000 (+0000) Subject: try to use mysql_config if it is avaiable, thanks Aki Tuomi. Closes #458 X-Git-Tag: auth-3.2-rc4~13 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6ef61776eeaaf0178c6e902c49aafde091c57b61;p=thirdparty%2Fpdns.git try to use mysql_config if it is avaiable, thanks Aki Tuomi. Closes #458 git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@3015 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- diff --git a/configure.ac b/configure.ac index cd2316533b..47196fc557 100644 --- a/configure.ac +++ b/configure.ac @@ -383,20 +383,60 @@ then AC_ARG_WITH(mysql, [ --with-mysql= 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= file path to mysql_config],[MYSQL_config_check=$withval]) + AC_ARG_WITH(mysql-lib, [ --with-mysql-lib= 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= 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 diff --git a/modules/gmysqlbackend/Makefile.am b/modules/gmysqlbackend/Makefile.am index 54a8f4e52c..918ad650e7 100644 --- a/modules/gmysqlbackend/Makefile.am +++ b/modules/gmysqlbackend/Makefile.am @@ -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 diff --git a/modules/mydnsbackend/Makefile.am b/modules/mydnsbackend/Makefile.am index 5988bf1e1d..427d60d992 100644 --- a/modules/mydnsbackend/Makefile.am +++ b/modules/mydnsbackend/Makefile.am @@ -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