summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>2011-03-21 01:22:05 -0100
committerJorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>2011-03-21 01:22:05 -0100
commitf9463d3a4f099e50de509b56ed6aba3c776073d9 (patch)
treeb062e2160fa275bc75b3c38d82078c5f7248a4fd
parentUpdated 07341 patch for mariadb-5.1.55. (diff)
downloadmysql-extras-f9463d3a4f099e50de509b56ed6aba3c776073d9.tar.gz
mysql-extras-f9463d3a4f099e50de509b56ed6aba3c776073d9.tar.bz2
mysql-extras-f9463d3a4f099e50de509b56ed6aba3c776073d9.zip
Added a revised patch from upstream ( http://lists.mysql.com/commits/102373 ) to get a shared libmysqld.
This is still not fixed on upstream's tree.
-rw-r--r--00000_index.txt5
-rw-r--r--02040_all_embedded-library-shared-5.5.10.patch45
2 files changed, 50 insertions, 0 deletions
diff --git a/00000_index.txt b/00000_index.txt
index 1940250..83cb229 100644
--- a/00000_index.txt
+++ b/00000_index.txt
@@ -286,6 +286,11 @@
@pn mysql
@@ Take libmysqld to be a proper shared library.
+@patch 02040_all_embedded-library-shared-5.5.10.patch
+@ver 5.05.10.00 to 5.05.99.99
+@pn mysql
+@@ Take libmysqld to be a proper shared library.
+
@patch 02040_all_embedded-library-shared-maria-5.1.50.patch
@ver 5.01.50.00 to 5.01.52.99
@pn mariadb
diff --git a/02040_all_embedded-library-shared-5.5.10.patch b/02040_all_embedded-library-shared-5.5.10.patch
new file mode 100644
index 0000000..df4a55d
--- /dev/null
+++ b/02040_all_embedded-library-shared-5.5.10.patch
@@ -0,0 +1,45 @@
+=== modified file 'cmake/libutils.cmake'
+--- a/cmake/libutils.cmake 2010-01-26 12:47:34 +0000
++++ b/cmake/libutils.cmake 2010-03-04 21:19:38 +0000
+@@ -268,6 +268,16 @@ MACRO(MERGE_LIBRARIES)
+ MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP})
+ ENDIF()
+ SET_TARGET_PROPERTIES(${TARGET} PROPERTIES LINK_INTERFACE_LIBRARIES "")
++
++ IF(ARG_SHARED AND LINK_FLAG_NO_UNDEFINED)
++ # Do not allow undefined symbols in shared libraries
++ GET_TARGET_PROPERTY(TARGET_LINK_FLAGS ${TARGET} LINK_FLAGS)
++ IF(NOT TARGET_LINK_FLAGS)
++ SET(TARGET_LINK_FLAGS)
++ ENDIF()
++ SET_TARGET_PROPERTIES(${TARGET} PROPERTIES LINK_FLAGS
++ "${TARGET_LINK_FLAGS} ${LINK_FLAG_NO_UNDEFINED}")
++ ENDIF()
+ ENDMACRO()
+
+ FUNCTION(GET_DEPENDEND_OS_LIBS target result)
+
+=== modified file 'libmysqld/CMakeLists.txt'
+--- a/libmysqld/CMakeLists.txt 2010-02-20 19:40:03 +0000
++++ b/libmysqld/CMakeLists.txt 2010-03-04 21:19:38 +0000
+@@ -138,7 +138,17 @@ IF(MSVC)
+ ${CMAKE_STATIC_LIBRARY_PREFIX}mysqld-debug)
+ ENDIF()
+
+-IF(MSVC AND NOT DISABLE_SHARED)
+- MERGE_LIBRARIES(libmysqld SHARED ${LIBS} EXPORTS ${CLIENT_API_FUNCTIONS}
+- COMPONENT Embedded)
++IF(NOT DISABLE_SHARED)
++ MERGE_LIBRARIES(libmysqld SHARED mysqlserver EXPORTS ${CLIENT_API_FUNCTIONS})
++ IF(UNIX)
++ # Name the shared library, handle versioning (provides same api as client library
++ # hence the same version)
++ SET_TARGET_PROPERTIES(libmysqld PROPERTIES
++ OUTPUT_NAME mysqld
++ VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0"
++ SOVERSION "${SHARED_LIB_MAJOR_VERSION}")
++ # Clean direct output flags, as 2 targets have the same base name (libmysqld)
++ SET_TARGET_PROPERTIES(libmysqld PROPERTIES CLEAN_DIRECT_OUTPUT 1)
++ SET_TARGET_PROPERTIES(mysqlserver PROPERTIES CLEAN_DIRECT_OUTPUT 1)
++ ENDIF()
+ ENDIF()