Detect undefined references at link time

Instruct the linker to make sure all symbols are resolved at link time.
This commit is contained in:
Markus Mäkelä
2018-11-06 21:34:28 +02:00
parent 774e9d1efb
commit 11a756a028
31 changed files with 34 additions and 35 deletions

View File

@ -1,3 +1,4 @@
add_library(binlogfilter SHARED binlogfilter.cc binlogfiltersession.cc)
set_target_properties(binlogfilter PROPERTIES VERSION "1.0.0")
target_link_libraries(binlogfilter maxscale-common mysqlcommon)
set_target_properties(binlogfilter PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(binlogfilter core)

View File

@ -18,8 +18,7 @@ if (JANSSON_FOUND)
storagereal.cc
)
target_link_libraries(cache maxscale-common ${JANSSON_LIBRARIES} mysqlcommon)
set_target_properties(cache PROPERTIES VERSION "1.0.0")
set_target_properties(cache PROPERTIES LINK_FLAGS -Wl,-z,defs)
set_target_properties(cache PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(cache core)
add_subdirectory(storage)

View File

@ -1,4 +1,4 @@
add_library(ccrfilter SHARED ccrfilter.cc)
target_link_libraries(ccrfilter maxscale-common)
set_target_properties(ccrfilter PROPERTIES VERSION "1.0.0")
set_target_properties(ccrfilter PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(ccrfilter core)

View File

@ -1,4 +1,5 @@
add_library(comment SHARED commentfilter.cc commentfiltersession.cc)
set_target_properties(comment PROPERTIES VERSION "1.0.0")
target_link_libraries(comment maxscale-common)
set_target_properties(comment PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(comment core)

View File

@ -13,7 +13,7 @@ if(BISON_FOUND AND FLEX_FOUND)
add_library(dbfwfilter SHARED dbfwfilter.cc)
target_link_libraries(dbfwfilter maxscale-common mysqlcommon dbfwfilter-core)
set_target_properties(dbfwfilter PROPERTIES VERSION "1.0.0")
set_target_properties(dbfwfilter PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(dbfwfilter core)
# The offline rule check utility

View File

@ -1,4 +1,4 @@
add_library(hintfilter SHARED hintfilter.cc hintparser.cc)
set_target_properties(hintfilter PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${MAXSCALE_LIBDIR} VERSION "1.0.0")
set_target_properties(hintfilter PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${MAXSCALE_LIBDIR} VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
target_link_libraries(hintfilter maxscale-common)
install_module(hintfilter core)

View File

@ -1,4 +1,4 @@
add_library(insertstream SHARED insertstream.cc)
target_link_libraries(insertstream maxscale-common mysqlcommon)
set_target_properties(insertstream PROPERTIES VERSION "1.0.0")
set_target_properties(insertstream PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(insertstream core)

View File

@ -3,7 +3,7 @@ if (BUILD_LUAFILTER)
if(LUA_FOUND)
include_directories(${LUA_INCLUDE_DIR})
add_library(luafilter SHARED luafilter.cc)
set_target_properties(luafilter PROPERTIES VERSION "1.0.0")
set_target_properties(luafilter PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
target_link_libraries(luafilter maxscale-common ${LUA_LIBRARIES})
install_module(luafilter experimental)
else()

View File

@ -7,8 +7,7 @@ if (JANSSON_FOUND)
)
target_link_libraries(masking maxscale-common ${JANSSON_LIBRARIES})
set_target_properties(masking PROPERTIES VERSION "1.0.0")
set_target_properties(masking PROPERTIES LINK_FLAGS -Wl,-z,defs)
set_target_properties(masking PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(masking core)
if(BUILD_TESTS)

View File

@ -1,5 +1,4 @@
add_library(maxrows SHARED maxrows.cc)
target_link_libraries(maxrows maxscale-common)
set_target_properties(maxrows PROPERTIES VERSION "1.0.0")
set_target_properties(maxrows PROPERTIES LINK_FLAGS -Wl,-z,defs)
set_target_properties(maxrows PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(maxrows core)

View File

@ -2,9 +2,9 @@ find_package(RabbitMQ)
if(RABBITMQ_FOUND)
include_directories(${RABBITMQ_HEADERS})
add_library(mqfilter SHARED mqfilter.cc)
target_link_libraries(mqfilter maxscale-common ${RABBITMQ_LIBRARIES})
target_link_libraries(mqfilter maxscale-common ${RABBITMQ_LIBRARIES} mysqlcommon)
add_dependencies(mqfilter pcre2)
set_target_properties(mqfilter PROPERTIES VERSION "1.0.2")
set_target_properties(mqfilter PROPERTIES VERSION "1.0.2" LINK_FLAGS -Wl,-z,defs)
install_module(mqfilter core)
else()
message(WARNING "Could not find librabbitmq, the mqfilter will not be built.")

View File

@ -1,4 +1,4 @@
add_library(namedserverfilter SHARED namedserverfilter.cc)
target_link_libraries(namedserverfilter maxscale-common)
set_target_properties(namedserverfilter PROPERTIES VERSION "1.1.0")
set_target_properties(namedserverfilter PROPERTIES VERSION "1.1.0" LINK_FLAGS -Wl,-z,defs)
install_module(namedserverfilter core)

View File

@ -3,5 +3,5 @@ add_library(nullfilter SHARED
nullfiltersession.cc
)
target_link_libraries(nullfilter maxscale-common)
set_target_properties(nullfilter PROPERTIES VERSION "1.0.0")
set_target_properties(nullfilter PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(nullfilter core)

View File

@ -1,4 +1,4 @@
add_library(qlafilter SHARED qlafilter.cc)
target_link_libraries(qlafilter maxscale-common)
set_target_properties(qlafilter PROPERTIES VERSION "1.1.1")
set_target_properties(qlafilter PROPERTIES VERSION "1.1.1" LINK_FLAGS -Wl,-z,defs)
install_module(qlafilter core)

View File

@ -1,5 +1,5 @@
add_library(regexfilter SHARED regexfilter.cc)
target_link_libraries(regexfilter maxscale-common)
add_dependencies(regexfilter pcre2)
set_target_properties(regexfilter PROPERTIES VERSION "1.1.0")
set_target_properties(regexfilter PROPERTIES VERSION "1.1.0" LINK_FLAGS -Wl,-z,defs)
install_module(regexfilter core)

View File

@ -1,4 +1,4 @@
add_library(tee SHARED tee.cc teesession.cc)
target_link_libraries(tee maxscale-common mysqlcommon)
set_target_properties(tee PROPERTIES VERSION "1.0.0")
set_target_properties(tee PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(tee core)

View File

@ -1,4 +1,4 @@
add_library(throttlefilter SHARED throttlefilter.cc throttlesession.cc)
target_link_libraries(throttlefilter maxscale-common mysqlcommon)
set_target_properties(throttlefilter PROPERTIES VERSION "1.0.0")
set_target_properties(throttlefilter PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(throttlefilter core)

View File

@ -1,4 +1,4 @@
add_library(topfilter SHARED topfilter.cc)
target_link_libraries(topfilter maxscale-common)
set_target_properties(topfilter PROPERTIES VERSION "1.0.1")
set_target_properties(topfilter PROPERTIES VERSION "1.0.1" LINK_FLAGS -Wl,-z,defs)
install_module(topfilter core)

View File

@ -1,4 +1,4 @@
add_library(tpmfilter SHARED tpmfilter.cc)
target_link_libraries(tpmfilter maxscale-common)
set_target_properties(tpmfilter PROPERTIES VERSION "1.0.0")
set_target_properties(tpmfilter PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(tpmfilter experimental)

View File

@ -1,5 +1,5 @@
add_library(auroramon SHARED auroramon.cc)
target_link_libraries(auroramon maxscale-common)
add_dependencies(auroramon pcre2)
set_target_properties(auroramon PROPERTIES VERSION "1.0.0")
set_target_properties(auroramon PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(auroramon core)

View File

@ -1,4 +1,4 @@
add_library(csmon SHARED csmon.cc)
target_link_libraries(csmon maxscale-common)
set_target_properties(csmon PROPERTIES VERSION "1.0.0")
set_target_properties(csmon PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(csmon core)

View File

@ -1,5 +1,5 @@
add_library(galeramon SHARED galeramon.cc)
target_link_libraries(galeramon maxscale-common)
add_dependencies(galeramon pcre2)
set_target_properties(galeramon PROPERTIES VERSION "2.0.0")
set_target_properties(galeramon PROPERTIES VERSION "2.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(galeramon core)

View File

@ -1,4 +1,4 @@
add_library(grmon SHARED grmon.cc)
target_link_libraries(grmon maxscale-common)
set_target_properties(grmon PROPERTIES VERSION "1.0.0")
set_target_properties(grmon PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(grmon experimental)

View File

@ -2,6 +2,6 @@ add_library(mariadbmon SHARED mariadbmon.cc mariadbserver.cc cluster_manipulatio
mariadbmon_common.cc server_utils.cc)
target_link_libraries(mariadbmon maxscale-common)
add_dependencies(mariadbmon pcre2)
set_target_properties(mariadbmon PROPERTIES VERSION "1.4.0")
set_target_properties(mariadbmon PROPERTIES VERSION "1.4.0" LINK_FLAGS -Wl,-z,defs)
install_module(mariadbmon core)
add_subdirectory(test)

View File

@ -1,5 +1,5 @@
add_library(mmmon SHARED mmmon.cc)
target_link_libraries(mmmon maxscale-common)
add_dependencies(mmmon pcre2)
set_target_properties(mmmon PROPERTIES VERSION "1.1.1")
set_target_properties(mmmon PROPERTIES VERSION "1.1.1" LINK_FLAGS -Wl,-z,defs)
install_module(mmmon core)

View File

@ -1,5 +1,5 @@
add_library(ndbclustermon SHARED ndbclustermon.cc)
target_link_libraries(ndbclustermon maxscale-common)
add_dependencies(ndbclustermon pcre2)
set_target_properties(ndbclustermon PROPERTIES VERSION "2.1.0")
set_target_properties(ndbclustermon PROPERTIES VERSION "2.1.0" LINK_FLAGS -Wl,-z,defs)
install_module(ndbclustermon core)

View File

@ -1,4 +1,4 @@
add_library(cdc SHARED cdc.cc)
target_link_libraries(cdc maxscale-common)
set_target_properties(cdc PROPERTIES VERSION "1.0.1")
set_target_properties(cdc PROPERTIES VERSION "1.0.1" LINK_FLAGS -Wl,-z,defs)
install_module(cdc core)

View File

@ -1,4 +1,4 @@
add_library(httpd SHARED httpd.cc)
target_link_libraries(httpd maxscale-common)
set_target_properties(httpd PROPERTIES VERSION "1.0.1")
set_target_properties(httpd PROPERTIES VERSION "1.0.1" LINK_FLAGS -Wl,-z,defs)
install_module(httpd core)

View File

@ -1,6 +1,6 @@
add_library(mysqlcommon SHARED mysql_common.cc mariadb_client.cc rwbackend.cc)
target_link_libraries(mysqlcommon maxscale-common)
set_target_properties(mysqlcommon PROPERTIES VERSION "2.0.0")
set_target_properties(mysqlcommon PROPERTIES VERSION "2.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(mysqlcommon core)
add_subdirectory(mariadbbackend)

View File

@ -1,4 +1,4 @@
add_library(maxscaled SHARED maxscaled.cc)
target_link_libraries(maxscaled maxscale-common)
set_target_properties(maxscaled PROPERTIES VERSION "1.0.0")
set_target_properties(maxscaled PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(maxscaled core)

View File

@ -1,4 +1,4 @@
add_library(telnetd SHARED telnetd.cc)
target_link_libraries(telnetd maxscale-common)
set_target_properties(telnetd PROPERTIES VERSION "1.0.1")
set_target_properties(telnetd PROPERTIES VERSION "1.0.1" LINK_FLAGS -Wl,-z,defs)
install_module(telnetd core)