Index: build/dbd.m4 =================================================================== --- build/dbd.m4 (revision 1872060) +++ build/dbd.m4 (revision 1872061) @@ -163,10 +163,15 @@ old_cppflags="$CPPFLAGS" old_ldflags="$LDFLAGS" + my_library="mysqlclient" + AC_ARG_WITH([mysql], APR_HELP_STRING([--with-mysql=DIR], [enable MySQL DBD driver]), [ if test "$withval" = "yes"; then AC_PATH_PROG([MYSQL_CONFIG],[mysql_config]) + if test "x$MYSQL_CONFIG" = "x"; then + AC_PATH_PROG([MYSQL_CONFIG],[mariadb_config]) + fi if test "x$MYSQL_CONFIG" != 'x'; then mysql_CPPFLAGS="`$MYSQL_CONFIG --include`" mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`" @@ -174,19 +179,21 @@ APR_ADDTO(CPPFLAGS, [$mysql_CPPFLAGS]) APR_ADDTO(LIBS, [$mysql_LIBS]) + + if $MYSQL_CONFIG --libs_r | grep -q mariadb; then + my_library="mariadb" + fi fi - AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h], - AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]), - [apu_have_mysql=0; break], - [#include ]) - if test "$apu_have_mysql" = "0"; then - AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h], - AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]), - [apu_have_mysql=0; break], - [#include ]) + AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break]) + if test "$apr_have_mysql" = "0"; then + AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break]) fi - if test "$apu_have_mysql" != "0" && test "x$MYSQL_CONFIG" != 'x'; then + if test "$apr_have_mysql" = "1"; then + AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h]) + AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0]) + fi + if test "$apu_have_mysql" = "1" && test "x$MYSQL_CONFIG" != 'x'; then APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS]) fi elif test "$withval" = "no"; then @@ -193,10 +200,16 @@ : else AC_PATH_PROG([MYSQL_CONFIG],[mysql_config],,[$withval/bin]) + if test "x$MYSQL_CONFIG" = "x"; then + AC_PATH_PROG([MYSQL_CONFIG],[mariadb_config],,[$withval/bin]) + fi if test "x$MYSQL_CONFIG" != 'x'; then mysql_CPPFLAGS="`$MYSQL_CONFIG --include`" mysql_LDFLAGS="`$MYSQL_CONFIG --libs_r | sed -e 's/-l[[^ ]]\+//g'`" mysql_LIBS="`$MYSQL_CONFIG --libs_r`" + if $MYSQL_CONFIG --libs_r | grep -q mariadb; then + my_library="mariadb" + fi else mysql_CPPFLAGS="-I$withval/include" mysql_LDFLAGS="-L$withval/lib " @@ -207,18 +220,15 @@ APR_ADDTO(LIBS, [$mysql_LIBS]) AC_MSG_NOTICE(checking for mysql in $withval) - AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h], - AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]), - [apu_have_mysql=0; break], - [#include ]) - - if test "$apu_have_mysql" != "1"; then - AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h], - AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]), - [apu_have_mysql=0; break], - [#include ]) + AC_CHECK_HEADERS([mysql.h errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break]) + if test "$apr_have_mysql" = "0"; then + AC_CHECK_HEADERS([mysql/mysql.h mysql/errmsg.h], [apu_have_mysql=1], [apu_have_mysql=0; break]) fi - if test "$apu_have_mysql" != "0"; then + if test "$apr_have_mysql" = "1"; then + AC_CHECK_HEADERS([my_global.h my_sys.h mysql/my_global.h mysql/my_sys.h]) + AC_CHECK_LIB($my_library, mysql_init,, [apu_have_mysql=0]) + fi + if test "$apu_have_mysql" = "1"; then APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS]) fi fi @@ -229,7 +239,7 @@ dnl Since we have already done the AC_CHECK_LIB tests, if we have it, dnl we know the library is there. if test "$apu_have_mysql" = "1"; then - APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -lmysqlclient $mysql_LIBS]) + APR_ADDTO(LDADD_dbd_mysql, [$mysql_LDFLAGS -l$my_library $mysql_LIBS]) fi AC_SUBST(LDADD_dbd_mysql) Index: dbd/apr_dbd_mysql.c =================================================================== --- dbd/apr_dbd_mysql.c (revision 1872060) +++ dbd/apr_dbd_mysql.c (revision 1872061) @@ -1262,7 +1262,9 @@ static void dbd_mysql_init(apr_pool_t *pool) { +#if MYSQL_VERSION_ID < 100000 my_init(); +#endif mysql_thread_init(); /* FIXME: this is a guess; find out what it really does */