--- b/apr-util-1.6.1/dbd/apr_dbd_mysql.c 2014-09-16 11:45:15.000000000 +0000 +++ b/apr-util-1.6.1/dbd/apr_dbd_mysql.c 2018-08-11 20:25:13.202562000 +0000 @@ -47,6 +47,13 @@ #include "apr_strings.h" #include "apr_lib.h" #include "apr_buckets.h" +/* MySQL 8.0 replaces my_bool with C99 bool. Earlier versions of MySQL had +* a typedef to char. Gem users reported failures on big endian systems when +* using C99 bool types with older MySQLs due to mismatched behavior. */ +#ifndef HAVE_TYPE_MY_BOOL +#include +typedef bool my_bool; +#endif #include "apr_dbd_internal.h" --- b/apr-util-1.6.1/build/dbd.m4 2017-04-02 17:57:23.000000000 +0000 +++ b/apr-util-1.6.1/build/dbd.m4 2018-08-11 20:06:37.036429000 +0000 @@ -176,15 +176,15 @@ APR_ADDTO(LIBS, [$mysql_LIBS]) fi - AC_CHECK_HEADERS([mysql.h my_global.h my_sys.h], + AC_CHECK_HEADERS([mysql.h], AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]), [apu_have_mysql=0; break], - [#include ]) + [#include ]) if test "$apu_have_mysql" = "0"; then - AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h], + AC_CHECK_HEADERS([mysql/mysql.h], AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]), [apu_have_mysql=0; break], - [#include ]) + [#include ]) fi if test "$apu_have_mysql" != "0" && test "x$MYSQL_CONFIG" != 'x'; then APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS]) @@ -207,16 +207,16 @@ 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_HEADERS([mysql.h], AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]), [apu_have_mysql=0; break], - [#include ]) + [#include ]) if test "$apu_have_mysql" != "1"; then - AC_CHECK_HEADERS([mysql/mysql.h mysql/my_global.h mysql/my_sys.h], + AC_CHECK_HEADERS([mysql/mysql.h], AC_CHECK_LIB(mysqlclient, mysql_init, [apu_have_mysql=1]), [apu_have_mysql=0; break], - [#include ]) + [#include ]) fi if test "$apu_have_mysql" != "0"; then APR_ADDTO(APRUTIL_PRIV_INCLUDES, [$mysql_CPPFLAGS])