2017-03-23 12:15:46 +00:00
|
|
|
Author: Adam Majer <amajer@suse.de>
|
|
|
|
Date: Thu Mar 23 11:54:11 CET 2017
|
|
|
|
Summary: Build private symbols library
|
|
|
|
|
|
|
|
Some of the private symbols have very generic names and are required
|
|
|
|
by other connectors, like the ODBC connector. Instead of using
|
|
|
|
static linking, create a private shared library that simply
|
|
|
|
exports all symbols. With the exception of exported symbols, it is
|
|
|
|
identical to the regular library.
|
|
|
|
|
2017-04-11 07:33:06 +00:00
|
|
|
Index: mariadb-connector-c-2.3.2-src/libmariadb/CMakeLists.txt
|
2017-03-23 12:15:46 +00:00
|
|
|
===================================================================
|
2017-04-11 07:33:06 +00:00
|
|
|
--- mariadb-connector-c-2.3.2-src.orig/libmariadb/CMakeLists.txt
|
|
|
|
+++ mariadb-connector-c-2.3.2-src/libmariadb/CMakeLists.txt
|
|
|
|
@@ -397,13 +397,22 @@ IF(UNIX)
|
|
|
|
ENDIF()
|
2021-08-06 20:44:25 +00:00
|
|
|
SIGN_TARGET(libmariadb)
|
2017-03-23 12:15:46 +00:00
|
|
|
|
|
|
|
+ADD_LIBRARY(libmariadbprivate SHARED ${libmariadb_RC} $<TARGET_OBJECTS:mariadb_obj> ${EMPTY_FILE} ${EXPORT_LINK})
|
|
|
|
+TARGET_LINK_LIBRARIES(libmariadbprivate ${SYSTEM_LIBS})
|
|
|
|
+IF(UNIX)
|
|
|
|
+ SET_TARGET_PROPERTIES(libmariadbprivate PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
|
|
|
|
+ENDIF()
|
|
|
|
+
|
2017-04-11 07:33:06 +00:00
|
|
|
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
|
|
TARGET_LINK_LIBRARIES (libmariadb "-Wl,--no-undefined")
|
|
|
|
TARGET_LINK_LIBRARIES (libmariadb "-Wl,--version-script=${EXPORT_FILE}")
|
|
|
|
TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--no-undefined")
|
|
|
|
TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--version-script=${EXPORT_FILE}")
|
|
|
|
+ TARGET_LINK_LIBRARIES (libmariadbprivate "-Wl,--no-undefined")
|
2017-03-23 12:15:46 +00:00
|
|
|
ENDIF()
|
|
|
|
|
|
|
|
+SET_TARGET_PROPERTIES(libmariadbprivate PROPERTIES PREFIX "")
|
2017-04-11 07:33:06 +00:00
|
|
|
+
|
2017-03-23 12:15:46 +00:00
|
|
|
SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "")
|
|
|
|
|
2017-04-11 07:33:06 +00:00
|
|
|
SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION
|
|
|
|
@@ -429,7 +438,7 @@ ENDIF()
|
2017-03-23 12:15:46 +00:00
|
|
|
|
2017-04-11 07:33:06 +00:00
|
|
|
|
|
|
|
INSTALL(TARGETS
|
|
|
|
- libmariadb mariadbclient
|
|
|
|
+ libmariadb libmariadbprivate mariadbclient
|
|
|
|
RUNTIME DESTINATION "${LIB_INSTALL_DIR}"
|
|
|
|
LIBRARY DESTINATION "${LIB_INSTALL_DIR}"
|
|
|
|
ARCHIVE DESTINATION "${LIB_INSTALL_DIR}")
|
|
|
|
Index: mariadb-connector-c-2.3.2-src/mariadb_config/mariadb_config.c.in
|
2017-03-23 12:15:46 +00:00
|
|
|
===================================================================
|
2017-04-11 07:33:06 +00:00
|
|
|
--- mariadb-connector-c-2.3.2-src.orig/mariadb_config/mariadb_config.c.in
|
|
|
|
+++ mariadb-connector-c-2.3.2-src/mariadb_config/mariadb_config.c.in
|
|
|
|
@@ -6,6 +6,8 @@
|
|
|
|
#define INCLUDE "-I@INCLUDE_INSTALL_DIR@ -I@INCLUDE_INSTALL_DIR@/mariadb"
|
|
|
|
#define LIBS "-L@LIB_INSTALL_DIR@/mariadb -lmariadb" \
|
|
|
|
"@extra_dynamic_LDFLAGS@"
|
|
|
|
+#define PRIVATE_LIBS "-L@LIB_INSTALL_DIR@/mariadb -lmariadbprivate" \
|
|
|
|
+ "@extra_dynamic_LDFLAGS@"
|
|
|
|
#define CFLAGS INCLUDE " @CMAKE_C_FLAGS@"
|
|
|
|
#define VERSION "@MYSQL_CLIENT_VERSION@"
|
|
|
|
#define PLUGIN_DIR "@PLUGIN_INSTALL_DIR@"
|
|
|
|
@@ -22,6 +24,7 @@ static struct option long_options[]=
|
|
|
|
{"version", no_argument, 0, 'f'},
|
|
|
|
{"socket", no_argument, 0, 'g'},
|
|
|
|
{"port", no_argument, 0, 'h'},
|
|
|
|
+ {"privatelibs", no_argument, 0, 'i'},
|
|
|
|
{"plugindir", no_argument, 0, 'p'},
|
2017-03-23 12:15:46 +00:00
|
|
|
{NULL, 0, 0, 0}
|
2018-04-19 11:51:02 +00:00
|
|
|
};
|
2017-04-11 07:33:06 +00:00
|
|
|
@@ -36,6 +39,7 @@ static char *values[]=
|
|
|
|
VERSION,
|
2017-03-23 12:15:46 +00:00
|
|
|
SOCKET,
|
|
|
|
PORT,
|
|
|
|
+ PRIVATE_LIBS,
|
2017-04-11 07:33:06 +00:00
|
|
|
PLUGIN_DIR
|
|
|
|
};
|
|
|
|
|
|
|
|
@@ -92,6 +96,9 @@ int main(int argc, char **argv)
|
|
|
|
case 'h':
|
|
|
|
puts(PORT);
|
2017-03-23 12:15:46 +00:00
|
|
|
break;
|
2017-04-11 07:33:06 +00:00
|
|
|
+ case 'i':
|
2017-03-23 12:15:46 +00:00
|
|
|
+ puts(PRIVATE_LIBS);
|
|
|
|
+ break;
|
2017-04-11 07:33:06 +00:00
|
|
|
case 'p':
|
|
|
|
puts(PLUGIN_DIR);
|
|
|
|
break;
|
|
|
|
Index: mariadb-connector-c-2.3.2-src/plugins/auth/CMakeLists.txt
|
|
|
|
===================================================================
|
|
|
|
--- mariadb-connector-c-2.3.2-src.orig/plugins/auth/CMakeLists.txt
|
|
|
|
+++ mariadb-connector-c-2.3.2-src/plugins/auth/CMakeLists.txt
|
|
|
|
@@ -10,7 +10,7 @@ IF(WIN32)
|
|
|
|
"FILE_DESCRIPTION:Authentication plugin")
|
|
|
|
SET(DIALOG_SOURCES ${DIALOG_SOURCES} ${CMAKE_SOURCE_DIR}/plugins/plugin.def)
|
|
|
|
ENDIF()
|
|
|
|
-ADD_LIBRARY(dialog SHARED ${dialog_RC} ${DIALOG_SOURCES})
|
|
|
|
+ADD_LIBRARY(dialog MODULE ${dialog_RC} ${DIALOG_SOURCES})
|
|
|
|
TARGET_LINK_LIBRARIES(dialog dl)
|
|
|
|
SET_TARGET_PROPERTIES(dialog PROPERTIES PREFIX "")
|
|
|
|
SIGN_TARGET(dialog)
|
|
|
|
@@ -32,7 +32,7 @@ IF(WIN32)
|
|
|
|
"FILE_DESCRIPTION:Authentication plugin")
|
|
|
|
SET(CTEXT_SOURCES ${CTEXT_SOURCES} ${CMAKE_SOURCE_DIR}/plugins/plugin.def)
|
|
|
|
ENDIF()
|
|
|
|
-ADD_LIBRARY(mysql_clear_password SHARED ${mysql_clear_password_RC} ${CTEXT_SOURCES})
|
|
|
|
+ADD_LIBRARY(mysql_clear_password MODULE ${mysql_clear_password_RC} ${CTEXT_SOURCES})
|
|
|
|
SET_TARGET_PROPERTIES(mysql_clear_password PROPERTIES PREFIX "")
|
|
|
|
SIGN_TARGET(mysql_clear_password)
|
|
|
|
|