diff options
author | Alan Conway <aconway@apache.org> | 2016-06-22 20:41:49 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2016-06-22 20:41:49 +0000 |
commit | e1d9be1b3590c79a0b2a6b6ad4cd3e6a65877401 (patch) | |
tree | cde644dcbd8add2d60863e71bc9063604911fdb0 /qpid/cpp/src/CMakeLists.txt | |
parent | c3c3bc4016270dd75b4c6a1e6831408cd4a5d055 (diff) | |
download | qpid-python-e1d9be1b3590c79a0b2a6b6ad4cd3e6a65877401.tar.gz |
QPID-7306: Conditional compile mismatch in broker and common libs.
Removed _IN_QPID_BROKER compile definition:
Inconsistently set for libqpidcommon (compiled .cpp files) and libqpidbroker (uses .h) files
- The broker has a binary incompatible notion of what is in the library.
It sort-of works by accident:
- shared_ptr<T> only contains a T*, the mismatch is effectively doing reinterpret_cast<T*>
- plain T* works for op->, but doesn't guarantee no concurrent deletes.
- we create and destroy shared_ptr in libraries with _IN_QPID_BROKER set so
we get cleanup, and no cores if we're lucky but there is limited protection from races.
Was only used by management:
- I think exposing non-shared ptr GetObject was a feature that never materialized,
- if not we need a separate function or class for non-shared-ptr users.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1749781 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/CMakeLists.txt')
-rw-r--r-- | qpid/cpp/src/CMakeLists.txt | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/qpid/cpp/src/CMakeLists.txt b/qpid/cpp/src/CMakeLists.txt index 3b9bc472bc..ef203e53b6 100644 --- a/qpid/cpp/src/CMakeLists.txt +++ b/qpid/cpp/src/CMakeLists.txt @@ -491,8 +491,7 @@ if (BUILD_XML) qpid/xml/XmlExchangePlugin.cpp) target_link_libraries (xml xerces-c xqilla qpidbroker qpidcommon) set_target_properties (xml PROPERTIES - PREFIX "" - COMPILE_DEFINITIONS _IN_QPID_BROKER) + PREFIX "") install (TARGETS xml DESTINATION ${QPIDD_MODULE_DIR} COMPONENT ${QPID_COMPONENT_BROKER}) @@ -576,8 +575,7 @@ if (BUILD_HA) qpidtypes qpidcommon qpidbroker qpidmessaging ${Boost_PROGRAM_OPTIONS_LIBRARY}) set_target_properties (ha PROPERTIES - PREFIX "" - COMPILE_DEFINITIONS _IN_QPID_BROKER) + PREFIX "") install (TARGETS ha DESTINATION ${QPIDD_MODULE_DIR} COMPONENT ${QPID_COMPONENT_BROKER}) @@ -1139,8 +1137,8 @@ target_link_libraries (qpidbroker qpidcommon qpidtypes set_target_properties (qpidbroker PROPERTIES VERSION ${qpidbroker_version} - SOVERSION ${qpidbroker_version_major} - COMPILE_DEFINITIONS _IN_QPID_BROKER) + SOVERSION ${qpidbroker_version_major}) + if (CMAKE_CXX_COMPILER_ID MATCHES XL) set_target_properties (qpidbroker PROPERTIES LINK_FLAGS -Wl,-bbigtoc) endif (CMAKE_CXX_COMPILER_ID MATCHES XL) @@ -1163,7 +1161,6 @@ set (qpidd_SOURCES add_msvc_version (qpidd application exe) add_executable (qpidd ${qpidd_SOURCES}) target_link_libraries (qpidd qpidbroker qpidcommon) -set_target_properties (qpidd PROPERTIES COMPILE_DEFINITIONS _IN_QPID_BROKER) install (TARGETS qpidd RUNTIME DESTINATION ${QPID_INSTALL_SBINDIR} COMPONENT ${QPID_COMPONENT_BROKER} LIBRARY DESTINATION ${QPID_INSTALL_LIBDIR} COMPONENT ${QPID_COMPONENT_BROKER} |