changeset 2679:ee9a6cd63891

boost 1.67.0
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 20 Jun 2018 18:02:36 +0200
parents 62cc762d1fb0
children 2c4fe62550e9 bc5e87cf10a3
files NEWS Resources/CMake/BoostConfiguration.cmake Resources/CMake/BoostConfiguration.sh Resources/Patches/boost-1.67.0-linux-standard-base.patch
diffstat 4 files changed, 41 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Thu Jun 07 17:15:55 2018 +0200
+++ b/NEWS	Wed Jun 20 18:02:36 2018 +0200
@@ -27,6 +27,8 @@
 -----------
 
 * Fix generation of DICOMDIR if PatientID is empty
+* Upgraded dependencies for static and Windows builds:
+  - boost 1.67.0
 
 
 Version 1.3.2 (2018-04-18)
--- a/Resources/CMake/BoostConfiguration.cmake	Thu Jun 07 17:15:55 2018 +0200
+++ b/Resources/CMake/BoostConfiguration.cmake	Wed Jun 20 18:02:36 2018 +0200
@@ -53,9 +53,10 @@
   ## Parameters for static compilation of Boost 
   ##
   
-  set(BOOST_NAME boost_1_66_0)
-  set(BOOST_BCP_SUFFIX bcpdigest-1.3.2)
-  set(BOOST_MD5 "e509e66140e8f2fd4d326b0052825f52")
+  set(BOOST_NAME boost_1_67_0)
+  set(BOOST_VERSION 1.67.0)
+  set(BOOST_BCP_SUFFIX bcpdigest-1.4.0)
+  set(BOOST_MD5 "fb3535a88e72c3d4c4d06b047b8e57fe")
   set(BOOST_URL "http://www.orthanc-server.com/downloads/third-party/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz")
   set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME})
 
@@ -103,7 +104,7 @@
     
     execute_process(
       COMMAND ${PATCH_EXECUTABLE} -p0 -N -i
-      ${ORTHANC_ROOT}/Resources/Patches/boost-1.66.0-linux-standard-base.patch
+      ${ORTHANC_ROOT}/Resources/Patches/boost-${BOOST_VERSION}-linux-standard-base.patch
       WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
       RESULT_VARIABLE Failure
       )
--- a/Resources/CMake/BoostConfiguration.sh	Thu Jun 07 17:15:55 2018 +0200
+++ b/Resources/CMake/BoostConfiguration.sh	Wed Jun 20 18:02:36 2018 +0200
@@ -18,10 +18,11 @@
 ##   - Orthanc between 1.1.0 and 1.2.0: Boost 1.60.0
 ##   - Orthanc 1.3.0: Boost 1.64.0
 ##   - Orthanc 1.3.1: Boost 1.65.1
-##   - Orthanc >= 1.3.2: Boost 1.66.0
+##   - Orthanc 1.3.2: Boost 1.66.0
+##   - Orthanc >= 1.4.0: Boost 1.67.0
 
-BOOST_VERSION=1_66_0
-ORTHANC_VERSION=1.3.2
+BOOST_VERSION=1_67_0
+ORTHANC_VERSION=1.4.0
 
 rm -rf /tmp/boost_${BOOST_VERSION}
 rm -rf /tmp/bcp/boost_${BOOST_VERSION}
@@ -32,14 +33,14 @@
 
 echo "Generating the subset..."
 mkdir -p /tmp/bcp/boost_${BOOST_VERSION}
-bcp --boost=/tmp/boost_${BOOST_VERSION} thread system locale date_time filesystem math/special_functions algorithm uuid atomic iostreams program_options numeric/ublas geometry polygon /tmp/bcp/boost_${BOOST_VERSION}
+bcp --boost=/tmp/boost_${BOOST_VERSION} thread system locale date_time filesystem math/special_functions algorithm uuid atomic iostreams program_options numeric/ublas geometry polygon signals2 /tmp/bcp/boost_${BOOST_VERSION}
 
 echo "Removing documentation..."
-rm -rf /tmp/bcp/boost_1_66_0/libs/locale/doc/html
-rm -rf /tmp/bcp/boost_1_66_0/libs/algorithm/doc/html
-rm -rf /tmp/bcp/boost_1_66_0/libs/geometry/doc/html
-rm -rf /tmp/bcp/boost_1_66_0/libs/geometry/doc/doxy/doxygen_output/html
-rm -rf /tmp/bcp/boost_1_66_0/libs/filesystem/example/
+rm -rf /tmp/bcp/boost_${BOOST_VERSION}/libs/locale/doc/html
+rm -rf /tmp/bcp/boost_${BOOST_VERSION}/libs/algorithm/doc/html
+rm -rf /tmp/bcp/boost_${BOOST_VERSION}/libs/geometry/doc/html
+rm -rf /tmp/bcp/boost_${BOOST_VERSION}/libs/geometry/doc/doxy/doxygen_output/html
+rm -rf /tmp/bcp/boost_${BOOST_VERSION}/libs/filesystem/example/
 
 # https://stackoverflow.com/questions/1655372/longest-line-in-a-file
 LONGEST_FILENAME=`find /tmp/bcp/ | awk '{print length, $0}' | sort -nr | head -1`
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Resources/Patches/boost-1.67.0-linux-standard-base.patch	Wed Jun 20 18:02:36 2018 +0200
@@ -0,0 +1,24 @@
+diff -urEb boost_1_67_0.orig/boost/move/adl_move_swap.hpp boost_1_67_0/boost/move/adl_move_swap.hpp
+--- boost_1_67_0.orig/boost/move/adl_move_swap.hpp	2018-06-20 18:00:42.559109755 +0200
++++ boost_1_67_0/boost/move/adl_move_swap.hpp	2018-06-20 17:49:35.176072431 +0200
+@@ -28,6 +28,8 @@
+ //Try to avoid including <algorithm>, as it's quite big
+ #if defined(_MSC_VER) && defined(BOOST_DINKUMWARE_STDLIB)
+    #include <utility>   //Dinkum libraries define std::swap in utility which is lighter than algorithm
++#elif defined(__LSB_VERSION__)
++#  include <utility>
+ #elif defined(BOOST_GNU_STDLIB)
+    //For non-GCC compilers, where GNUC version is not very reliable, or old GCC versions
+    //use the good old stl_algobase header, which is quite lightweight
+diff -urEb boost_1_67_0.orig/boost/thread/detail/config.hpp boost_1_67_0/boost/thread/detail/config.hpp
+--- boost_1_67_0.orig/boost/thread/detail/config.hpp	2018-06-20 18:00:42.555109761 +0200
++++ boost_1_67_0/boost/thread/detail/config.hpp	2018-06-20 18:01:08.695070530 +0200
+@@ -417,6 +417,8 @@
+   #define BOOST_THREAD_INTERNAL_CLOCK_IS_MONO
+ #elif defined(BOOST_THREAD_CHRONO_MAC_API)
+   #define BOOST_THREAD_HAS_MONO_CLOCK
++#elif defined(__LSB_VERSION__)
++  #define BOOST_THREAD_HAS_MONO_CLOCK
+ #else
+   #include <time.h> // check for CLOCK_MONOTONIC
+   #if defined(CLOCK_MONOTONIC)