From c34917ca8034b903dc9a563c8e3fd92d8fa13b38 Mon Sep 17 00:00:00 2001 From: Horst Schirmeier Date: Mon, 21 Oct 2019 17:14:01 +0200 Subject: [PATCH] Debian 10: MySQL/MariaDB related fixes Change-Id: I538caf6dedaa785061194a87c7e4965df3839088 --- cmake/FindMySQL.cmake | 28 +++++++++++-------- src/core/cpn/CMakeLists.txt | 2 +- src/core/util/CMakeLists.txt | 4 +++ src/core/util/Database.hpp | 2 +- .../dciao-kernelstructs/CMakeLists.txt | 2 +- .../ecos_kernel_test/CMakeLists.txt | 2 +- src/experiments/fiascoFail/CMakeLists.txt | 2 +- .../generic-experiment/CMakeLists.txt | 2 +- src/experiments/kesogc/CMakeLists.txt | 2 +- src/experiments/kesorefs/CMakeLists.txt | 2 +- src/experiments/vezs-example/CMakeLists.txt | 2 +- tools/import-trace/CMakeLists.txt | 2 +- tools/import-trace/Importer.hpp | 2 +- tools/prune-trace/CMakeLists.txt | 2 +- tools/prune-trace/main.cc | 2 +- 15 files changed, 33 insertions(+), 25 deletions(-) diff --git a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake index d1f8b92c..d9d8bdfa 100644 --- a/cmake/FindMySQL.cmake +++ b/cmake/FindMySQL.cmake @@ -1,24 +1,26 @@ # Find the MySQL includes and client library # This module defines -# MYSQL_INCLUDE_DIR, where to find mysql.h +# MYSQL_CFLAGS, contain compiler -I parameters with MySQL/MariaDB headers # MYSQL_LIBRARIES, the libraries needed to use MySQL. # MYSQL_FOUND, If false, do not try to use MySQL. set(MYSQL_CONFIG_PREFER_PATH "$ENV{MYSQL_HOME}/bin" CACHE FILEPATH "preferred path to MySQL (mysql_config)") -find_program(MYSQL_CONFIG mysql_config +find_program(MYSQL_CONFIG + NAMES mysql_config mariadb_config ${MYSQL_CONFIG_PREFER_PATH} /usr/local/mysql/bin/ + /usr/local/mariadb/bin/ /usr/local/bin/ /usr/bin/ ) if(MYSQL_CONFIG) message(STATUS "Using mysql_config: ${MYSQL_CONFIG}") - # set INCLUDE_DIR + # set MYSQL_CFLAGS exec_program(${MYSQL_CONFIG} - ARGS --include - OUTPUT_VARIABLE MYSQL_INCLUDE_DIR) + ARGS --cflags + OUTPUT_VARIABLE MYSQL_CFLAGS) # set LIBRARY_DIR exec_program(${MYSQL_CONFIG} @@ -34,6 +36,8 @@ else(MYSQL_CONFIG) /usr/local/mysql/include/mysql /usr/include /usr/include/mysql + /usr/include/mariadb + ) #find_library(mysqlclient_r ... # PATHS # ${MYSQL_ADD_LIBRARY_PATH} @@ -42,18 +46,18 @@ else(MYSQL_CONFIG) # /usr/local/lib/mysql # /usr/local/mysql/lib #) -) + set(MYSQL_CFLAGS "-I${MYSQL_INCLUDE_DIR}") endif(MYSQL_CONFIG) -set(MYSQL_INCLUDE_DIR ${MYSQL_INCLUDE_DIR} CACHE FILEPATH INTERNAL) +set(MYSQL_CFLAGS ${MYSQL_CFLAGS} CACHE FILEPATH INTERNAL) set(MYSQL_LIBRARIES ${MYSQL_LIBRARIES} CACHE FILEPATH INTERNAL) -if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) +if(MYSQL_CFLAGS AND MYSQL_LIBRARIES) set(MYSQL_FOUND TRUE CACHE INTERNAL "MySQL found") - message(STATUS "Found MySQL: ${MYSQL_INCLUDE_DIR}, ${MYSQL_LIBRARIES}") -else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) + message(STATUS "Found MySQL: ${MYSQL_CFLAGS}, ${MYSQL_LIBRARIES}") +else(MYSQL_CFLAGS AND MYSQL_LIBRARIES) set(MYSQL_FOUND FALSE CACHE INTERNAL "MySQL found") message(STATUS "MySQL not found.") -endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) +endif(MYSQL_CFLAGS AND MYSQL_LIBRARIES) -mark_as_advanced(MYSQL_INCLUDE_DIR MYSQL_LIBRARIES) +mark_as_advanced(MYSQL_CFLAGS MYSQL_LIBRARIES) diff --git a/src/core/cpn/CMakeLists.txt b/src/core/cpn/CMakeLists.txt index 0c931b23..c36325a2 100644 --- a/src/core/cpn/CMakeLists.txt +++ b/src/core/cpn/CMakeLists.txt @@ -5,7 +5,7 @@ set(SRCS ) find_package(MySQL REQUIRED) -include_directories(${MYSQL_INCLUDE_DIR}) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MYSQL_CFLAGS}") # only compile concrete implementation of InjectionPoint if(CONFIG_INJECTIONPOINT_HOPS) diff --git a/src/core/util/CMakeLists.txt b/src/core/util/CMakeLists.txt index 09204e5a..92407756 100644 --- a/src/core/util/CMakeLists.txt +++ b/src/core/util/CMakeLists.txt @@ -57,6 +57,10 @@ find_package(LibDwarf REQUIRED) include_directories(${LIBELF_INCLUDE_DIRS}) include_directories(${LIBDWARF_INCLUDE_DIRS}) +# Database.hpp +find_package(MySQL REQUIRED) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MYSQL_CFLAGS}") + # objdump required by Diassembler.cc set(THE_OBJDUMP "${ARCH_TOOL_PREFIX}objdump") diff --git a/src/core/util/Database.hpp b/src/core/util/Database.hpp index 3a1ed817..cc2e3bea 100644 --- a/src/core/util/Database.hpp +++ b/src/core/util/Database.hpp @@ -6,7 +6,7 @@ #endif #include -#include +#include #include #include diff --git a/src/experiments/dciao-kernelstructs/CMakeLists.txt b/src/experiments/dciao-kernelstructs/CMakeLists.txt index d7d6eb7d..65d59942 100644 --- a/src/experiments/dciao-kernelstructs/CMakeLists.txt +++ b/src/experiments/dciao-kernelstructs/CMakeLists.txt @@ -22,7 +22,7 @@ include_directories(${PROTOBUF_INCLUDE_DIRS}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) find_package(MySQL REQUIRED) -include_directories(${MYSQL_INCLUDE_DIR}) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MYSQL_CFLAGS}") set(PROTOBUF_IMPORT_DIRS ${PROTOBUF_IMPORT_DIRS} ${CMAKE_CURRENT_BINARY_DIR}/../../core/comm) PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${MY_PROTOS}) diff --git a/src/experiments/ecos_kernel_test/CMakeLists.txt b/src/experiments/ecos_kernel_test/CMakeLists.txt index 5778b29a..3ddb648f 100644 --- a/src/experiments/ecos_kernel_test/CMakeLists.txt +++ b/src/experiments/ecos_kernel_test/CMakeLists.txt @@ -23,7 +23,7 @@ include_directories(${PROTOBUF_INCLUDE_DIRS}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) find_package(MySQL REQUIRED) -include_directories(${MYSQL_INCLUDE_DIR}) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MYSQL_CFLAGS}") set(PROTOBUF_IMPORT_DIRS ${PROTOBUF_IMPORT_DIRS} ${CMAKE_CURRENT_BINARY_DIR}/../../core/comm) PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${MY_PROTOS}) diff --git a/src/experiments/fiascoFail/CMakeLists.txt b/src/experiments/fiascoFail/CMakeLists.txt index b57c1039..6a6b535e 100644 --- a/src/experiments/fiascoFail/CMakeLists.txt +++ b/src/experiments/fiascoFail/CMakeLists.txt @@ -24,7 +24,7 @@ include_directories(${PROTOBUF_INCLUDE_DIRS}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) find_package(MySQL REQUIRED) -include_directories(${MYSQL_INCLUDE_DIR}) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MYSQL_CFLAGS}") set(PROTOBUF_IMPORT_DIRS ${PROTOBUF_IMPORT_DIRS} ${CMAKE_CURRENT_BINARY_DIR}/../../core/comm) PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${MY_PROTOS}) diff --git a/src/experiments/generic-experiment/CMakeLists.txt b/src/experiments/generic-experiment/CMakeLists.txt index 2903b048..ed117260 100644 --- a/src/experiments/generic-experiment/CMakeLists.txt +++ b/src/experiments/generic-experiment/CMakeLists.txt @@ -22,7 +22,7 @@ include_directories(${PROTOBUF_INCLUDE_DIRS}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) find_package(MySQL REQUIRED) -include_directories(${MYSQL_INCLUDE_DIR}) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MYSQL_CFLAGS}") PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${MY_PROTOS}) diff --git a/src/experiments/kesogc/CMakeLists.txt b/src/experiments/kesogc/CMakeLists.txt index 0add38cf..85423105 100644 --- a/src/experiments/kesogc/CMakeLists.txt +++ b/src/experiments/kesogc/CMakeLists.txt @@ -22,7 +22,7 @@ include_directories(${PROTOBUF_INCLUDE_DIRS}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) find_package(MySQL REQUIRED) -include_directories(${MYSQL_INCLUDE_DIR}) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MYSQL_CFLAGS}") set(PROTOBUF_IMPORT_DIRS ${PROTOBUF_IMPORT_DIRS} ${CMAKE_CURRENT_BINARY_DIR}/../../core/comm) PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${MY_PROTOS}) diff --git a/src/experiments/kesorefs/CMakeLists.txt b/src/experiments/kesorefs/CMakeLists.txt index 952ca39e..ca2769f5 100644 --- a/src/experiments/kesorefs/CMakeLists.txt +++ b/src/experiments/kesorefs/CMakeLists.txt @@ -22,7 +22,7 @@ include_directories(${PROTOBUF_INCLUDE_DIRS}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) find_package(MySQL REQUIRED) -include_directories(${MYSQL_INCLUDE_DIR}) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MYSQL_CFLAGS}") set(PROTOBUF_IMPORT_DIRS ${PROTOBUF_IMPORT_DIRS} ${CMAKE_CURRENT_BINARY_DIR}/../../core/comm) PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${MY_PROTOS}) diff --git a/src/experiments/vezs-example/CMakeLists.txt b/src/experiments/vezs-example/CMakeLists.txt index d050a319..27ec3a70 100644 --- a/src/experiments/vezs-example/CMakeLists.txt +++ b/src/experiments/vezs-example/CMakeLists.txt @@ -22,7 +22,7 @@ include_directories(${PROTOBUF_INCLUDE_DIRS}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) find_package(MySQL REQUIRED) -include_directories(${MYSQL_INCLUDE_DIR}) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MYSQL_CFLAGS}") set(PROTOBUF_IMPORT_DIRS ${PROTOBUF_IMPORT_DIRS} ${CMAKE_CURRENT_BINARY_DIR}/../../core/comm) PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${MY_PROTOS}) diff --git a/tools/import-trace/CMakeLists.txt b/tools/import-trace/CMakeLists.txt index 0f333b5f..93ab3603 100644 --- a/tools/import-trace/CMakeLists.txt +++ b/tools/import-trace/CMakeLists.txt @@ -32,7 +32,7 @@ if (BUILD_LLVM_DISASSEMBLER) endif(BUILD_LLVM_DISASSEMBLER) find_package(MySQL REQUIRED) -include_directories(${MYSQL_INCLUDE_DIR}) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MYSQL_CFLAGS}") add_executable(import-trace main.cc ${SRCS}) diff --git a/tools/import-trace/Importer.hpp b/tools/import-trace/Importer.hpp index 3b210ca9..570ed2de 100644 --- a/tools/import-trace/Importer.hpp +++ b/tools/import-trace/Importer.hpp @@ -1,7 +1,7 @@ #ifndef __IMPORTER_H__ #define __IMPORTER_H__ -#include +#include #include #include #include "util/ProtoStream.hpp" diff --git a/tools/prune-trace/CMakeLists.txt b/tools/prune-trace/CMakeLists.txt index aadf6545..7270a6df 100644 --- a/tools/prune-trace/CMakeLists.txt +++ b/tools/prune-trace/CMakeLists.txt @@ -6,7 +6,7 @@ set(SRCS ) find_package(MySQL REQUIRED) -include_directories(${MYSQL_INCLUDE_DIR}) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MYSQL_CFLAGS}") ## This is the example's campaign server distributing experiment parameters add_executable(prune-trace main.cc ${SRCS}) diff --git a/tools/prune-trace/main.cc b/tools/prune-trace/main.cc index 4711a764..a0d91210 100644 --- a/tools/prune-trace/main.cc +++ b/tools/prune-trace/main.cc @@ -1,4 +1,4 @@ -#include +#include #include #include