diff --git a/addons/cdr_mysql.c b/addons/cdr_mysql.c index 9336f3f5e9..c05b86a25f 100644 --- a/addons/cdr_mysql.c +++ b/addons/cdr_mysql.c @@ -173,9 +173,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 @@ -470,9 +470,9 @@ static int my_connect_db(struct ast_config *cfg) 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 92143a47b5..e182dbcbe0 100755 --- a/configure +++ b/configure @@ -1350,6 +1350,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -1538,6 +1539,7 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1790,6 +1792,15 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1927,7 +1938,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -2080,6 +2091,7 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -14946,7 +14958,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -14992,7 +15004,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -15016,7 +15028,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -15061,7 +15073,7 @@ else We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -15085,7 +15097,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) +#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; @@ -16385,6 +16397,8 @@ main () if (*(data + i) != *(data3 + i)) return 14; close (fd); + free (data); + free (data3); return 0; } _ACEOF @@ -22958,6 +22972,7 @@ fi fi + if test "x${PBX_MYSQLCLIENT}" != "x1" -a "${USE_MYSQLCLIENT}" != "no"; then PBX_MYSQLCLIENT=0 if test -n "$ac_tool_prefix"; then @@ -23077,6 +23092,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 b2fcb85308..ed26d699e8 100644 --- a/configure.ac +++ b/configure.ac @@ -2279,8 +2279,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 8f7aaa1360..0da0770acb 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -537,6 +537,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