# HG changeset patch # User Sebastien Jodogne # Date 1438334251 -7200 # Node ID b7bc8509cbcc4d47df8238d19fcaff285555d9a8 # Parent 56930e8c30b7b9b1e6ea59e5a4669b82415adb26 Update to Boost 1.58.0 for static and Windows builds diff -r 56930e8c30b7 -r b7bc8509cbcc NEWS --- a/NEWS Fri Jul 31 10:48:13 2015 +0200 +++ b/NEWS Fri Jul 31 11:17:31 2015 +0200 @@ -1,6 +1,7 @@ Pending changes in the mainline =============================== +* Update to Boost 1.58.0 for static and Windows builds * Inject version information into Windows binaries diff -r 56930e8c30b7 -r b7bc8509cbcc Orthanc/Resources/CMake/BoostConfiguration.cmake --- a/Orthanc/Resources/CMake/BoostConfiguration.cmake Fri Jul 31 10:48:13 2015 +0200 +++ b/Orthanc/Resources/CMake/BoostConfiguration.cmake Fri Jul 31 11:17:31 2015 +0200 @@ -39,10 +39,10 @@ if (BOOST_STATIC) - # Parameters for Boost 1.55.0 - set(BOOST_NAME boost_1_55_0) - set(BOOST_BCP_SUFFIX bcpdigest-0.7.4) - set(BOOST_MD5 "409f7a0e4fb1f5659d07114f3133b67b") + # Parameters for Boost 1.58.0 + set(BOOST_NAME boost_1_58_0) + set(BOOST_BCP_SUFFIX bcpdigest-0.9.2) + set(BOOST_MD5 "704b110917cbda903e07cb53934b47ac") set(BOOST_FILESYSTEM_SOURCES_DIR "${BOOST_NAME}/libs/filesystem/src") set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME}) @@ -99,16 +99,6 @@ ) endif() - if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - # This is a patch to compile Boost 1.55.0 with Clang 3.4 and later - # (including XCode 5.1). Fixes issue 14 of Orthanc. - # https://trac.macports.org/ticket/42282#comment:10 - execute_process( - COMMAND patch -p0 -N -i ${ORTHANC_ROOT}/Resources/Patches/boost-1.55.0-clang-atomic.patch - WORKING_DIRECTORY ${BOOST_SOURCES_DIR} - ) - endif() - aux_source_directory(${BOOST_SOURCES_DIR}/libs/regex/src BOOST_REGEX_SOURCES) list(APPEND BOOST_SOURCES diff -r 56930e8c30b7 -r b7bc8509cbcc Orthanc/Resources/Patches/boost-1.55.0-clang-atomic.patch --- a/Orthanc/Resources/Patches/boost-1.55.0-clang-atomic.patch Fri Jul 31 10:48:13 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ ---- boost/atomic/detail/cas128strong.hpp -+++ boost/atomic/detail/cas128strong.hpp -@@ -196,15 +196,17 @@ class base_atomic - - public: - BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) -- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) -+ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT - { -+ memset(&v_, 0, sizeof(v_)); - memcpy(&v_, &v, sizeof(value_type)); - } - - void - store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT - { -- storage_type value_s = 0; -+ storage_type value_s; -+ memset(&value_s, 0, sizeof(value_s)); - memcpy(&value_s, &value, sizeof(value_type)); - platform_fence_before_store(order); - platform_store128(value_s, &v_); -@@ -247,7 +249,9 @@ class base_atomic - memory_order success_order, - memory_order failure_order) volatile BOOST_NOEXCEPT - { -- storage_type expected_s = 0, desired_s = 0; -+ storage_type expected_s, desired_s; -+ memset(&expected_s, 0, sizeof(expected_s)); -+ memset(&desired_s, 0, sizeof(desired_s)); - memcpy(&expected_s, &expected, sizeof(value_type)); - memcpy(&desired_s, &desired, sizeof(value_type)); - ---- boost/atomic/detail/gcc-atomic.hpp -+++ boost/atomic/detail/gcc-atomic.hpp -@@ -958,14 +958,16 @@ class base_atomic - - public: - BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) -- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) -+ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT - { -+ memset(&v_, 0, sizeof(v_)); - memcpy(&v_, &v, sizeof(value_type)); - } - - void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT - { -- storage_type tmp = 0; -+ storage_type tmp; -+ memset(&tmp, 0, sizeof(tmp)); - memcpy(&tmp, &v, sizeof(value_type)); - __atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); - } -@@ -980,7 +982,8 @@ class base_atomic - - value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT - { -- storage_type tmp = 0; -+ storage_type tmp; -+ memset(&tmp, 0, sizeof(tmp)); - memcpy(&tmp, &v, sizeof(value_type)); - tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); - value_type res; -@@ -994,7 +997,9 @@ class base_atomic - memory_order success_order, - memory_order failure_order) volatile BOOST_NOEXCEPT - { -- storage_type expected_s = 0, desired_s = 0; -+ storage_type expected_s, desired_s; -+ memset(&expected_s, 0, sizeof(expected_s)); -+ memset(&desired_s, 0, sizeof(desired_s)); - memcpy(&expected_s, &expected, sizeof(value_type)); - memcpy(&desired_s, &desired, sizeof(value_type)); - const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false, -@@ -1010,7 +1015,9 @@ class base_atomic - memory_order success_order, - memory_order failure_order) volatile BOOST_NOEXCEPT - { -- storage_type expected_s = 0, desired_s = 0; -+ storage_type expected_s, desired_s; -+ memset(&expected_s, 0, sizeof(expected_s)); -+ memset(&desired_s, 0, sizeof(desired_s)); - memcpy(&expected_s, &expected, sizeof(value_type)); - memcpy(&desired_s, &desired, sizeof(value_type)); - const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true, --- diff -r 56930e8c30b7 -r b7bc8509cbcc Resources/SyncOrthancFolder.py --- a/Resources/SyncOrthancFolder.py Fri Jul 31 10:48:13 2015 +0200 +++ b/Resources/SyncOrthancFolder.py Fri Jul 31 11:17:31 2015 +0200 @@ -74,7 +74,6 @@ 'Resources/CMake/LibPngConfiguration.cmake', 'Resources/CMake/SQLiteConfiguration.cmake', 'Resources/CMake/ZlibConfiguration.cmake', - 'Resources/Patches/boost-1.55.0-clang-atomic.patch', 'Resources/ThirdParty/base64/base64.cpp', 'Resources/ThirdParty/base64/base64.h', 'Resources/ThirdParty/md5/md5.c',