Resolve all symbols for routers at link time

The routers should not have undefied references. Exceptions to this are
the modules that use the maxscale_shutdown() function defined in
gateway.cc.
This commit is contained in:
Markus Mäkelä 2018-06-11 11:59:21 +03:00
parent 1946cb2876
commit 0627e8dc86
No known key found for this signature in database
GPG Key ID: 72D48FCE664F7B19
9 changed files with 10 additions and 10 deletions

View File

@ -5,15 +5,13 @@ if(AVRO_FOUND AND JANSSON_FOUND)
# The common avrorouter functionality
add_library(avro-common SHARED avro.cc ../binlogrouter/binlog_common.cc avro_client.cc
avro_schema.cc avro_rbr.cc avro_file.cc avro_index.cc avro_converter.cc)
set_target_properties(avro-common PROPERTIES VERSION "1.0.0")
set_target_properties(avro-common PROPERTIES LINK_FLAGS -Wl,-z,defs)
set_target_properties(avro-common PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
target_link_libraries(avro-common maxscale-common ${JANSSON_LIBRARIES} ${AVRO_LIBRARIES} maxavro lzma)
install_module(avro-common core)
# The actual avrorouter implementation
add_library(avrorouter SHARED avro_main.cc)
set_target_properties(avrorouter PROPERTIES VERSION "1.0.0")
set_target_properties(avrorouter PROPERTIES LINK_FLAGS -Wl,-z,defs)
set_target_properties(avrorouter PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
target_link_libraries(avrorouter avro-common)
install_module(avrorouter core)

View File

@ -1,4 +1,4 @@
add_library(cat SHARED cat.cc catsession.cc ../readwritesplit/rwbackend.cc)
target_link_libraries(cat maxscale-common mysqlcommon)
set_target_properties(cat PROPERTIES VERSION "1.0.0")
set_target_properties(cat PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(cat experimental)

View File

@ -1,4 +1,5 @@
add_library(cli SHARED cli.cc ../debugcli/debugcmd.cc)
target_link_libraries(cli maxscale-common)
set_target_properties(cli PROPERTIES VERSION "1.0.0")
# Can't add `LINK_FLAGS -Wl,-z,defs` as the module uses maxscale_shutdown() which is defined in gateway.cc
install_module(cli core)

View File

@ -1,5 +1,5 @@
add_library(debugcli SHARED debugcli.cc debugcmd.cc)
target_link_libraries(debugcli maxscale-common)
set_target_properties(debugcli PROPERTIES VERSION "1.1.1")
# Can't add `LINK_FLAGS -Wl,-z,defs` as the module uses maxscale_shutdown() which is defined in gateway.cc
install_module(debugcli core)

View File

@ -5,5 +5,5 @@ add_library(hintrouter SHARED
)
target_link_libraries(hintrouter maxscale-common)
set_target_properties(hintrouter PROPERTIES VERSION "1.0.0")
set_target_properties(hintrouter PROPERTIES VERSION "1.0.0" LINK_FLAGS -Wl,-z,defs)
install_module(hintrouter core)

View File

@ -1,4 +1,5 @@
add_library(maxinfo SHARED maxinfo.cc maxinfo_parse.cc maxinfo_error.cc maxinfo_exec.cc)
set_target_properties(maxinfo PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_RPATH}:${MAXSCALE_LIBDIR} VERSION "1.0.0")
# Can't add `LINK_FLAGS -Wl,-z,defs` as the module uses maxscale_shutdown() which is defined in gateway.cc
target_link_libraries(maxinfo maxscale-common)
install_module(maxinfo core)

View File

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

View File

@ -7,5 +7,5 @@ rwsplit_select_backends.cc
rwsplit_session_cmd.cc
rwbackend.cc)
target_link_libraries(readwritesplit maxscale-common mysqlcommon)
set_target_properties(readwritesplit PROPERTIES VERSION "1.0.2")
set_target_properties(readwritesplit PROPERTIES VERSION "1.0.2" LINK_FLAGS -Wl,-z,defs)
install_module(readwritesplit core)

View File

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