diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2019-09-08 19:26:24 +0200 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2019-09-08 19:26:24 +0200 |
commit | 7b0045aa6b827715b1e8e4efc28278ebdabb55f5 (patch) | |
tree | 48cf89c1e95788611f53c416631c6988b2ed1a08 | |
parent | 33c6b8103156e62f73504c1176101d52b0b82efd (diff) | |
download | amarok-7b0045aa6b827715b1e8e4efc28278ebdabb55f5.tar.gz amarok-7b0045aa6b827715b1e8e4efc28278ebdabb55f5.zip |
Added detection whether the basic structure of MySQL / MariaDB
client is named st_mysql or MYSQL.
This resolves FTBFS with MySQL client >= 8.0.
This resolves issue #9.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r-- | amarok/configure.in.in | 35 | ||||
-rw-r--r-- | amarok/src/collectiondb.h | 2 | ||||
-rw-r--r-- | config.h.in | 3 |
3 files changed, 39 insertions, 1 deletions
diff --git a/amarok/configure.in.in b/amarok/configure.in.in index efc35c45..897bac90 100644 --- a/amarok/configure.in.in +++ b/amarok/configure.in.in @@ -496,6 +496,40 @@ if test "$enable_mysql" = "yes"; then mysql_includes=`mysql_config --cflags` mysql_libs=`mysql_config --libs` + + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $mysql_includes" + + AC_MSG_CHECKING([if mysql has st_mysql struct]) + AC_TRY_COMPILE( + [ + #include <mysql.h> + 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 <mysql.h> + typedef struct MYSQL MYSQL; + ], + [], + AC_MSG_RESULT( yes ) + mysql_struct=MYSQL, + AC_MSG_RESULT( no ) + enable_mysql=no + ) + ] + ) + + CXXFLAGS="$save_CXXFLAGS" + AC_LANG_RESTORE else amarok_warning_mysql_notfound=yes enable_mysql=no @@ -504,6 +538,7 @@ if test "$enable_mysql" = "yes"; then fi AM_CONDITIONAL(enable_mysql, test x$enable_mysql = xyes) +AC_DEFINE_UNQUOTED(MYSQL_STRUCT, $mysql_struct, [struct type name for MySql]) AC_SUBST(mysql_includes) AC_SUBST(mysql_libs) diff --git a/amarok/src/collectiondb.h b/amarok/src/collectiondb.h index b9a42d53..16ab29a6 100644 --- a/amarok/src/collectiondb.h +++ b/amarok/src/collectiondb.h @@ -149,7 +149,7 @@ class SqliteConnection : public DbConnection #ifdef USE_MYSQL -typedef struct st_mysql MYSQL; +typedef struct MYSQL_STRUCT MYSQL; class MySqlConnection : public DbConnection { diff --git a/config.h.in b/config.h.in index 34a6a06f..7886e643 100644 --- a/config.h.in +++ b/config.h.in @@ -230,6 +230,9 @@ */ #undef LT_OBJDIR +/* struct type name for MySql */ +#undef MYSQL_STRUCT + /* Name of package */ #undef PACKAGE |