diff options
| author | Charles E. Rolke <chug@apache.org> | 2013-01-10 20:57:50 +0000 |
|---|---|---|
| committer | Charles E. Rolke <chug@apache.org> | 2013-01-10 20:57:50 +0000 |
| commit | 18c61825e6e23b0b48972028670178b48d1b5f8b (patch) | |
| tree | 289963806b2e58c26bd42acbda96f0e4e9fb14de /qpid/cpp/src | |
| parent | ae68a3eb895428cc564868c6c6a8e4e1b9464baa (diff) | |
| download | qpid-python-18c61825e6e23b0b48972028670178b48d1b5f8b.tar.gz | |
QPID-1726 ASF licensed QPID store - reenable in build
Add new legacystore.cmake to EXTRA_DIST in makefile suite.
Fix cmake scripts for core library and tests.
Note: Tests are not truly integrated. Four standalone unit tests are starters for proving functionality.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1431635 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
| -rw-r--r-- | qpid/cpp/src/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | qpid/cpp/src/Makefile.am | 1 | ||||
| -rw-r--r-- | qpid/cpp/src/finddb.cmake | 8 | ||||
| -rw-r--r-- | qpid/cpp/src/legacystore.cmake | 189 | ||||
| -rw-r--r-- | qpid/cpp/src/tests/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | qpid/cpp/src/tests/legacystore/CMakeLists.txt | 6 |
6 files changed, 114 insertions, 96 deletions
diff --git a/qpid/cpp/src/CMakeLists.txt b/qpid/cpp/src/CMakeLists.txt index 87bf3abcaf..b5c8b319f9 100644 --- a/qpid/cpp/src/CMakeLists.txt +++ b/qpid/cpp/src/CMakeLists.txt @@ -208,7 +208,7 @@ execute_process(COMMAND ${RUBY_EXECUTABLE} -I ${rgen_dir} ${rgen_dir}/generate $ set(mgmt_specs ${AMQP_SPEC_DIR}/management-schema.xml ${CMAKE_CURRENT_SOURCE_DIR}/qpid/acl/management-schema.xml ${CMAKE_CURRENT_SOURCE_DIR}/qpid/ha/management-schema.xml - ${CMAKE_CURRENT_SOURCE_DIR}/qpid/legacystore/management-schema.xml + ${CMAKE_CURRENT_SOURCE_DIR}/qpid/legacystore/management-schema.xml ) set(mgen_dir ${qpid-cpp_SOURCE_DIR}/managementgen) set(regen_mgmt OFF) @@ -1479,7 +1479,7 @@ install_pdb (qmfconsole ${QPID_COMPONENT_QMF}) # # Legacy store # -#include (legacystore.cmake) +include (legacystore.cmake) # This is only really needed until all the trunk builds (Linux, UNIX, Windows) # are all on cmake only. This is because cmake builds always have a config.h diff --git a/qpid/cpp/src/Makefile.am b/qpid/cpp/src/Makefile.am index 893c08dd74..8dca041df3 100644 --- a/qpid/cpp/src/Makefile.am +++ b/qpid/cpp/src/Makefile.am @@ -298,6 +298,7 @@ EXTRA_DIST +=\ amqp.cmake \ rdma.cmake \ ssl.cmake \ + legacystore.cmake \ managementgen.cmake \ rubygen.cmake \ versions.cmake \ diff --git a/qpid/cpp/src/finddb.cmake b/qpid/cpp/src/finddb.cmake index 6b1fbac051..fad827cffe 100644 --- a/qpid/cpp/src/finddb.cmake +++ b/qpid/cpp/src/finddb.cmake @@ -18,6 +18,7 @@ # # +if(UNIX) # - Find BerkeleyDB # Find the BerkeleyDB includes and library # This module defines @@ -44,7 +45,7 @@ IF (DB_LIBRARY AND DB_INCLUDE_DIR) SET(DB_LIBRARIES ${DB_LIBRARY}) SET(DB_FOUND "YES") ELSE (DB_LIBRARY AND DB_INCLUDE_DIR) - SET(DB_FOUND "NO") + UNSET( DB_FOUND ) ENDIF (DB_LIBRARY AND DB_INCLUDE_DIR) @@ -66,3 +67,8 @@ MARK_AS_ADVANCED( DB_LIBRARY DB_INCLUDE_DIR ) + +else(UNIX) + MESSAGE(STATUS "BerkeleyDB is ignored on non-Unix platforms") + UNSET( DB_FOUND ) +endif(UNIX)
\ No newline at end of file diff --git a/qpid/cpp/src/legacystore.cmake b/qpid/cpp/src/legacystore.cmake index 126d525a26..7a636dc64e 100644 --- a/qpid/cpp/src/legacystore.cmake +++ b/qpid/cpp/src/legacystore.cmake @@ -20,105 +20,110 @@ # Legacy store library CMake fragment, to be included in CMakeLists.txt # -# -# Find required BerkelyDB -# -include (finddb.cmake) +if (DEFINED legacystore_force) + set (legacystore_default ${legacystore_force}) +else (DEFINED legacystore_force) + set (legacystore_default OFF) + if (UNIX) + # + # Find required BerkelyDB + # + include (finddb.cmake) + if (DB_FOUND) + set (legacystore_default ON) + endif (DB_FOUND) + endif (UNIX) +endif (DEFINED legacystore_force) -# -# Conditionally build legacystore -# -set (legacystore_default ${legacystore_force}) -if (UNIX AND DB_FOUND) - set (legacystore_default ON) -endif (UNIX AND DB_FOUND) option(BUILD_LEGACYSTORE "Build legacystore persistent store" ${legacystore_default}) if (BUILD_LEGACYSTORE) - if (NOT UNIX) - message(FATAL_ERROR "Legacystore produced only on Unix platforms") - endif (NOT UNIX) - if (NOT DB_FOUND) - message(STATUS "Legacystore requires BerkeleyDB which is absent.") - endif (NOT DB_FOUND) -endif (BUILD_LEGACYSTORE) + if (NOT UNIX) + message(FATAL_ERROR "Legacystore produced only on Unix platforms") + endif (NOT UNIX) + if (NOT DB_FOUND) + message(STATUS "Legacystore requires BerkeleyDB which is absent.") + endif (NOT DB_FOUND) -# Journal source files -set (legacy_jrnl_SOURCES - qpid/legacystore/jrnl/aio.cpp - qpid/legacystore/jrnl/cvar.cpp - qpid/legacystore/jrnl/data_tok.cpp - qpid/legacystore/jrnl/deq_rec.cpp - qpid/legacystore/jrnl/enq_map.cpp - qpid/legacystore/jrnl/enq_rec.cpp - qpid/legacystore/jrnl/fcntl.cpp - qpid/legacystore/jrnl/jcntl.cpp - qpid/legacystore/jrnl/jdir.cpp - qpid/legacystore/jrnl/jerrno.cpp - qpid/legacystore/jrnl/jexception.cpp - qpid/legacystore/jrnl/jinf.cpp - qpid/legacystore/jrnl/jrec.cpp - qpid/legacystore/jrnl/lp_map.cpp - qpid/legacystore/jrnl/lpmgr.cpp - qpid/legacystore/jrnl/pmgr.cpp - qpid/legacystore/jrnl/rmgr.cpp - qpid/legacystore/jrnl/rfc.cpp - qpid/legacystore/jrnl/rrfc.cpp - qpid/legacystore/jrnl/slock.cpp - qpid/legacystore/jrnl/smutex.cpp - qpid/legacystore/jrnl/time_ns.cpp - qpid/legacystore/jrnl/txn_map.cpp - qpid/legacystore/jrnl/txn_rec.cpp - qpid/legacystore/jrnl/wmgr.cpp - qpid/legacystore/jrnl/wrfc.cpp -) + # Journal source files + set (legacy_jrnl_SOURCES + qpid/legacystore/jrnl/aio.cpp + qpid/legacystore/jrnl/cvar.cpp + qpid/legacystore/jrnl/data_tok.cpp + qpid/legacystore/jrnl/deq_rec.cpp + qpid/legacystore/jrnl/enq_map.cpp + qpid/legacystore/jrnl/enq_rec.cpp + qpid/legacystore/jrnl/fcntl.cpp + qpid/legacystore/jrnl/jcntl.cpp + qpid/legacystore/jrnl/jdir.cpp + qpid/legacystore/jrnl/jerrno.cpp + qpid/legacystore/jrnl/jexception.cpp + qpid/legacystore/jrnl/jinf.cpp + qpid/legacystore/jrnl/jrec.cpp + qpid/legacystore/jrnl/lp_map.cpp + qpid/legacystore/jrnl/lpmgr.cpp + qpid/legacystore/jrnl/pmgr.cpp + qpid/legacystore/jrnl/rmgr.cpp + qpid/legacystore/jrnl/rfc.cpp + qpid/legacystore/jrnl/rrfc.cpp + qpid/legacystore/jrnl/slock.cpp + qpid/legacystore/jrnl/smutex.cpp + qpid/legacystore/jrnl/time_ns.cpp + qpid/legacystore/jrnl/txn_map.cpp + qpid/legacystore/jrnl/txn_rec.cpp + qpid/legacystore/jrnl/wmgr.cpp + qpid/legacystore/jrnl/wrfc.cpp + ) -# legacyStore source files -set (legacy_store_SOURCES - qpid/legacystore/StorePlugin.cpp - qpid/legacystore/BindingDbt.cpp - qpid/legacystore/BufferValue.cpp - qpid/legacystore/DataTokenImpl.cpp - qpid/legacystore/IdDbt.cpp - qpid/legacystore/IdSequence.cpp - qpid/legacystore/JournalImpl.cpp - qpid/legacystore/MessageStoreImpl.cpp - qpid/legacystore/PreparedTransaction.cpp - qpid/legacystore/TxnCtxt.cpp -) + # legacyStore source files + set (legacy_store_SOURCES + qpid/legacystore/StorePlugin.cpp + qpid/legacystore/BindingDbt.cpp + qpid/legacystore/BufferValue.cpp + qpid/legacystore/DataTokenImpl.cpp + qpid/legacystore/IdDbt.cpp + qpid/legacystore/IdSequence.cpp + qpid/legacystore/JournalImpl.cpp + qpid/legacystore/MessageStoreImpl.cpp + qpid/legacystore/PreparedTransaction.cpp + qpid/legacystore/TxnCtxt.cpp + ) -# legacyStore include directories -get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES) -set (legacy_include_DIRECTORIES - ${dirs} - ${CMAKE_CURRENT_SOURCE_DIR}/qpid/legacystore -) + # legacyStore include directories + get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES) + set (legacy_include_DIRECTORIES + ${dirs} + ${CMAKE_CURRENT_SOURCE_DIR}/qpid/legacystore + ) -if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/db-inc.h) - message(STATUS "Including BDB from ${DB_INCLUDE_DIR}/db_cxx.h") - file(WRITE - ${CMAKE_CURRENT_BINARY_DIR}/db-inc.h - "#include <${DB_INCLUDE_DIR}/db_cxx.h>") -endif() + if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/db-inc.h) + message(STATUS "Including BDB from ${DB_INCLUDE_DIR}/db_cxx.h") + file(WRITE + ${CMAKE_CURRENT_BINARY_DIR}/db-inc.h + "#include <${DB_INCLUDE_DIR}/db_cxx.h>") + endif() -add_library (legacystore SHARED - ${legacy_jrnl_SOURCES} - ${legacy_store_SOURCES} - ${legacy_qmf_SOURCES} -) - -set_target_properties (legacystore PROPERTIES - PREFIX "" - COMPILE_DEFINITIONS _IN_QPID_BROKER - OUTPUT_NAME legacystore - SOVERSION ${legacystore_version} - INCLUDE_DIRECTORIES "${legacy_include_DIRECTORIES}" -) + add_library (legacystore SHARED + ${legacy_jrnl_SOURCES} + ${legacy_store_SOURCES} + ${legacy_qmf_SOURCES} + ) + + set_target_properties (legacystore PROPERTIES + PREFIX "" + COMPILE_DEFINITIONS _IN_QPID_BROKER + OUTPUT_NAME legacystore + SOVERSION ${legacystore_version} + INCLUDE_DIRECTORIES "${legacy_include_DIRECTORIES}" + ) -target_link_libraries (legacystore - aio - rt - uuid - qpidcommon qpidtypes qpidbroker - ${DB_LIBRARY} -) + target_link_libraries (legacystore + aio + rt + uuid + qpidcommon qpidtypes qpidbroker + ${DB_LIBRARY} + ) +else (BUILD_LEGACYSTORE) + message(STATUS "Legacystore is excluded from build.") +endif (BUILD_LEGACYSTORE) diff --git a/qpid/cpp/src/tests/CMakeLists.txt b/qpid/cpp/src/tests/CMakeLists.txt index d3ba1f5b65..815b6d1dd6 100644 --- a/qpid/cpp/src/tests/CMakeLists.txt +++ b/qpid/cpp/src/tests/CMakeLists.txt @@ -348,4 +348,4 @@ add_library (dlclose_noop MODULE dlclose_noop.c) # # legacystore # -#add_subdirectory(legacystore) +add_subdirectory(legacystore) diff --git a/qpid/cpp/src/tests/legacystore/CMakeLists.txt b/qpid/cpp/src/tests/legacystore/CMakeLists.txt index f4bed53ad0..6cfaa7ec17 100644 --- a/qpid/cpp/src/tests/legacystore/CMakeLists.txt +++ b/qpid/cpp/src/tests/legacystore/CMakeLists.txt @@ -17,6 +17,10 @@ # under the License. # +if(BUILD_LEGACYSTORE) + +message(STATUS "Building legacystore tests") + # Enable dashboard reporting. include (CTest) @@ -109,3 +113,5 @@ if (PYTHON_EXECUTABLE) execute_process(COMMAND ${PYTHON_EXECUTABLE} setup.py install --prefix=${pythoon_bld} --install-lib=${python_bld} --install-scripts=${python_bld}/commands WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../python) endif (PYTHON_EXECUTABLE) + +endif (BUILD_LEGACYSTORE) |
