From 3c395c2ebd223c43685a9fc5dcbb41aef05149b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Sun, 8 Sep 2019 20:05:18 +0200 Subject: Added detection whether the basic structure of MySQL / MariaDB client is named st_mysql or MYSQL. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This resolves FTBFS with MySQL client >= 8.0. This resolves issue #4. Signed-off-by: Slávek Banko (cherry picked from commit fa4a35fd4b069bde6cc6d924f18376096b644737) --- kexi/kexidb/drivers/configure.in.in | 37 +++++++++++++++++++++++++++ kexi/kexidb/drivers/mySQL/mysqlconnection_p.h | 6 ++++- 2 files changed, 42 insertions(+), 1 deletion(-) (limited to 'kexi') diff --git a/kexi/kexidb/drivers/configure.in.in b/kexi/kexidb/drivers/configure.in.in index 1afe3487..a5126cf4 100644 --- a/kexi/kexidb/drivers/configure.in.in +++ b/kexi/kexidb/drivers/configure.in.in @@ -90,6 +90,43 @@ dnl *** Show that we are doing as requested. *** AC_MSG_NOTICE([Not attempting to configure MySQL as requested]) fi +if test "$compile_mysql_plugin" = "yes"; then + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -I$mysql_incdir" + + AC_MSG_CHECKING([if mysql has st_mysql struct]) + AC_TRY_COMPILE( + [ + #include + typedef struct st_mysql MYSQL; + ], + [], + AC_MSG_RESULT( yes ) + mysql_struct=st_mysql, + AC_MSG_RESULT( no ) + [ + AC_MSG_CHECKING([if mysql has MYSQL struct]) + AC_TRY_COMPILE( + [ + #include + typedef struct MYSQL MYSQL; + ], + [], + AC_MSG_RESULT( yes ) + mysql_struct=MYSQL, + AC_MSG_RESULT( no ) + compile_mysql_plugin=no + ) + ] + ) + + CXXFLAGS="$save_CXXFLAGS" + AC_LANG_RESTORE +fi + +AC_DEFINE_UNQUOTED(MYSQL_STRUCT, $mysql_struct, [struct type name for MySql]) AM_CONDITIONAL(compile_mysql_plugin, test "$compile_mysql_plugin" = "yes") dnl ======================================== diff --git a/kexi/kexidb/drivers/mySQL/mysqlconnection_p.h b/kexi/kexidb/drivers/mySQL/mysqlconnection_p.h index 85d8c57b..9b1ad402 100644 --- a/kexi/kexidb/drivers/mySQL/mysqlconnection_p.h +++ b/kexi/kexidb/drivers/mySQL/mysqlconnection_p.h @@ -20,6 +20,10 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, #ifndef KEXIDB_MYSQLCLIENT_P_H #define KEXIDB_MYSQLCLIENT_P_H +#if defined(HAVE_CONFIG_H) +#include "config.h" +#endif + #include #ifdef TQ_WS_WIN @@ -28,7 +32,7 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, #include #include -typedef struct st_mysql MYSQL; +typedef struct MYSQL_STRUCT MYSQL; #undef bool class TQCString; -- cgit v1.2.1