diff --git a/amarok/configure.in.in b/amarok/configure.in.in index a53a17f1..849a2614 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 + 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 ) + 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