From: Joshua C. Colp Date: Mon, 16 Dec 2019 12:35:31 +0000 (-0400) Subject: configure: Add check for MySQL client bool and my_bool type usage. X-Git-Tag: 13.30.0-rc2~2^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dc07f6577721701e301bced9f4dc83c5560d15d1;p=thirdparty%2Fasterisk.git configure: Add check for MySQL client bool and my_bool type usage. Instead of trying to use the defined MySQL client version from the header use a configure check to determine whether the bool or my_bool type should be used for defining a boolean. ASTERISK-28604 Change-Id: Id2225b3785115de074c50c123ff1a68005b4a9c7 --- diff --git a/addons/cdr_mysql.c b/addons/cdr_mysql.c index b613844f8f..268ce53e92 100644 --- a/addons/cdr_mysql.c +++ b/addons/cdr_mysql.c @@ -180,9 +180,9 @@ static int mysql_log(struct ast_cdr *cdr) { struct ast_str *sql1 = ast_str_thread_get(&sql1_buf, 1024), *sql2 = ast_str_thread_get(&sql2_buf, 1024); int retries = 5; -#if MYSQL_VERSION_ID >= 80001 +#ifdef HAVE_MYSQLCLIENT_BOOL bool my_bool_true = 1; -#elif MYSQL_VERSION_ID >= 50013 +#elif HAVE_MYSQLCLIENT_MY_BOOL my_bool my_bool_true = 1; #endif @@ -480,9 +480,9 @@ static int my_load_module(int reload) MYSQL_ROW row; MYSQL_RES *result; char sqldesc[128]; -#if MYSQL_VERSION_ID >= 80001 +#ifdef HAVE_MYSQLCLIENT_BOOL bool my_bool_true = 1; -#elif MYSQL_VERSION_ID >= 50013 +#elif HAVE_MYSQLCLIENT_MY_BOOL my_bool my_bool_true = 1; #endif diff --git a/configure b/configure index bb7baa399a..f26d03cd68 100755 --- a/configure +++ b/configure @@ -23149,6 +23149,7 @@ fi fi + if test "x${PBX_MYSQLCLIENT}" != "x1" -a "${USE_MYSQLCLIENT}" != "no"; then PBX_MYSQLCLIENT=0 if test -n "$ac_tool_prefix"; then @@ -23268,6 +23269,61 @@ $as_echo "#define HAVE_MYSQLCLIENT 1" >>confdefs.h fi +if test "${PBX_MYSQLCLIENT}" = 1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MySQL client bool support" >&5 +$as_echo_n "checking for MySQL client bool support... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +bool test = 1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define HAVE_MYSQLCLIENT_BOOL 1" >>confdefs.h + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MySQL client my_bool support" >&5 +$as_echo_n "checking for MySQL client my_bool support... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +my_bool test = 1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define HAVE_MYSQLCLIENT_MY_BOOL 1" >>confdefs.h + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + if test "x${PBX_NBS}" != "x1" -a "${USE_NBS}" != "no"; then pbxlibdir="" diff --git a/configure.ac b/configure.ac index 9b7451715d..ad8a679fb3 100644 --- a/configure.ac +++ b/configure.ac @@ -2264,8 +2264,28 @@ if test "${PBX_MISDN}" = 1; then AC_CHECK_MEMBER([Q931_info_t.redirect_dn], [], [PBX_MISDN=0], [#include ]) fi + AST_EXT_TOOL_CHECK([MYSQLCLIENT], [mysql_config]) +if test "${PBX_MYSQLCLIENT}" = 1; then + AC_MSG_CHECKING(for MySQL client bool support) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([#include ], + [bool test = 1;])], + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_MYSQLCLIENT_BOOL, 1, [Define to 1 if mysql/mysql.h has bool defined.]), + AC_MSG_RESULT(no) + ) + AC_MSG_CHECKING(for MySQL client my_bool support) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([#include ], + [my_bool test = 1;])], + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_MYSQLCLIENT_MY_BOOL, 1, [Define to 1 if mysql/mysql.h has my_bool defined.]), + AC_MSG_RESULT(no) + ) +fi + AST_EXT_LIB_CHECK([NBS], [nbs], [nbs_connect], [nbs.h]) AST_EXT_TOOL_CHECK([NEON], [neon-config]) diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in index 1d036d7216..5cf7a10d50 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -510,6 +510,12 @@ /* Define if your system has the MYSQLCLIENT libraries. */ #undef HAVE_MYSQLCLIENT +/* Define to 1 if mysql/mysql.h has bool defined. */ +#undef HAVE_MYSQLCLIENT_BOOL + +/* Define to 1 if mysql/mysql.h has my_bool defined. */ +#undef HAVE_MYSQLCLIENT_MY_BOOL + /* Define to 1 if you have the Network Broadcast Sound library. */ #undef HAVE_NBS