Author: astitcher
Date: Thu Aug 22 19:31:18 2013
New Revision: 1516550
URL: http://svn.apache.org/r1516550
Log:
QPID-5079: Added link map file to cut the number of symbols exported even
further
- It seems that the library import/export mechanism isn't sufficient under the
gnu tool chain to really limit the exported symbols
Added:
qpid/trunk/qpid/cpp/src/qpid.linkmap
Modified:
qpid/trunk/qpid/cpp/src/CMakeLists.txt
Modified: qpid/trunk/qpid/cpp/src/CMakeLists.txt
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/CMakeLists.txt?rev=1516550&r1=1516549&r2=1516550&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/src/CMakeLists.txt Thu Aug 22 19:31:18 2013
@@ -290,6 +290,11 @@ if (CMAKE_COMPILER_IS_GNUCXX)
endif (GCC_VERSION VERSION_EQUAL 4.1.2)
endif (CMAKE_COMPILER_IS_GNUCXX)
+if (CMAKE_SYSTEM_NAME STREQUAL Linux)
+ set (QPID_LINKMAP ${CMAKE_CURRENT_SOURCE_DIR}/qpid.linkmap)
+ set (LINK_VERSION_SCRIPT_FLAG "-Wl,--version-script=${QPID_LINKMAP}")
+endif (CMAKE_SYSTEM_NAME STREQUAL Linux)
+
if (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
set (COMPILER_FLAGS "-library=stlport4 -mt")
set (WARNING_FLAGS "+w")
@@ -300,9 +305,9 @@ endif (CMAKE_CXX_COMPILER_ID STREQUAL Su
if (CMAKE_SYSTEM_NAME STREQUAL Windows)
# Allow MSVC user to select 'WinXP-SP3/Windows Server 2003' as build target
version
set (win32_winnt_default OFF)
- if (MSVC)
- set (win32_winnt_default ON)
- endif (MSVC)
+ if (MSVC)
+ set (win32_winnt_default ON)
+ endif (MSVC)
option(SET_WIN32_WINNT "In Windows-MSVC build: define _WIN32_WINNT=0x0502 to
select target version: Windows XP with SP3" ${win32_winnt_default})
endif (CMAKE_SYSTEM_NAME STREQUAL Windows)
@@ -1104,7 +1109,7 @@ add_msvc_version (qpidtypes library dll)
add_library(qpidtypes SHARED ${qpidtypes_SOURCES})
target_link_libraries(qpidtypes ${qpidtypes_platform_LIBS})
set_target_properties (qpidtypes PROPERTIES
- LINK_FLAGS "${HIDE_SYMBOL_FLAGS}"
+ LINK_FLAGS "${HIDE_SYMBOL_FLAGS}
${LINK_VERSION_SCRIPT_FLAG}"
VERSION ${qpidtypes_version}
SOVERSION ${qpidtypes_version_major})
@@ -1229,7 +1234,7 @@ add_msvc_version (qpidmessaging library
add_library (qpidmessaging SHARED ${qpidmessaging_SOURCES})
target_link_libraries (qpidmessaging qpidclient)
set_target_properties (qpidmessaging PROPERTIES
- LINK_FLAGS "${HIDE_SYMBOL_FLAGS}"
+ LINK_FLAGS "${HIDE_SYMBOL_FLAGS}
${LINK_VERSION_SCRIPT_FLAG}"
VERSION ${qpidmessaging_version}
SOVERSION ${qpidmessaging_version_major})
install (TARGETS qpidmessaging
Added: qpid/trunk/qpid/cpp/src/qpid.linkmap
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid.linkmap?rev=1516550&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid.linkmap (added)
+++ qpid/trunk/qpid/cpp/src/qpid.linkmap Thu Aug 22 19:31:18 2013
@@ -0,0 +1,10 @@
+{
+ global:
+ extern "C++" {
+ typeinfo*qpid::*;
+ vtable*qpid::*;
+ qpid::*;
+ qpid::*operator*qpid::*;
+ };
+ local: *;
+};
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]