# HG changeset patch # User Luke Mewburn # Date 1582019900 -39600 # Node ID a51f71694121e87bc9f9702b0ad0e3358a4803aa # Parent 0918e88f7c3333706b97ad603fb16d7f4fea0a5f fix build with MySQL >= 8.0 MySQL 8.0 deprecated my_bool in favour of C99's bool. Detect if my_bool is available, and if not, provide a replacement. diff -r 0918e88f7c33 -r a51f71694121 extensions/app_diameap/CMakeLists.txt --- a/extensions/app_diameap/CMakeLists.txt Tue Feb 18 19:12:16 2020 +1100 +++ b/extensions/app_diameap/CMakeLists.txt Tue Feb 18 20:58:20 2020 +1100 @@ -1,11 +1,26 @@ # The Diameter EAP Application extension PROJECT("Diameter EAP Application extension" C) +INCLUDE (CheckCSourceCompiles) + # Find MySQL FIND_PACKAGE(MySQL REQUIRED) FIND_PACKAGE(Gcrypt REQUIRED) INCLUDE_DIRECTORIES(${MySQL_INCLUDE_DIR}) +# Check for my_bool, deprecated in MySQL 8.0 +SET(CHECK_MYSQL_MY_BOOL " +#include +int main() { +my_bool f; +}") +SET(CMAKE_REQUIRED_INCLUDES ${MySQL_INCLUDE_DIR}) +SET(CMAKE_REQUIRED_LIBRARIES ${MySQL_LIBRARY}) +CHECK_C_SOURCE_COMPILES("${CHECK_MYSQL_MY_BOOL}" HAVE_MYSQL_MY_BOOL) +IF (HAVE_MYSQL_MY_BOOL) + ADD_DEFINITIONS(-DHAVE_MYSQL_MY_BOOL) +ENDIF() + # Parse plugins ADD_SUBDIRECTORY(plugins) diff -r 0918e88f7c33 -r a51f71694121 extensions/app_diameap/diameap_init.c --- a/extensions/app_diameap/diameap_init.c Tue Feb 18 19:12:16 2020 +1100 +++ b/extensions/app_diameap/diameap_init.c Tue Feb 18 20:58:20 2020 +1100 @@ -38,6 +38,11 @@ #include "diameap_common.h" +#ifndef HAVE_MYSQL_MY_BOOL +#include +typedef bool my_bool; +#endif /* HAVE_MYSQL_MY_BOOL */ + /* Dictionary Object templates */ struct dict_object * dataobj_diameap_cmd = NULL; /* Diameter-EAP-Request Command Code */ struct dict_object * dataobj_diameap_app = NULL; /* Diameter EAP Application object */