changeset 5288:dc8fe64a452f

upgrade to boost 1.82.0
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 03 May 2023 15:48:11 +0200
parents 28f0e38e4082
children b466ca3d17bb
files NEWS OrthancFramework/Resources/CMake/BoostConfiguration.cmake OrthancFramework/Resources/CMake/BoostConfiguration.sh OrthancFramework/Resources/Patches/boost-1.65.1-linux-standard-base.patch OrthancFramework/Resources/Patches/boost-1.66.0-linux-standard-base.patch OrthancFramework/Resources/Patches/boost-1.67.0-linux-standard-base.patch OrthancFramework/Resources/Patches/boost-1.68.0-linux-standard-base.patch OrthancFramework/Resources/Patches/civetweb-1.11.patch OrthancFramework/Resources/Patches/civetweb-1.12.patch
diffstat 9 files changed, 12 insertions(+), 321 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Mon Apr 24 18:13:48 2023 +0200
+++ b/NEWS	Wed May 03 15:48:11 2023 +0200
@@ -6,6 +6,8 @@
 
 * Fix decoding of YBR_FULL RLE images for which the "Planar Configuration" 
   tag (0028,0006) equals 1
+* Upgraded dependencies for static builds:
+  - boost 1.82.0
 
 
 Version 1.12.0 (2023-04-14)
--- a/OrthancFramework/Resources/CMake/BoostConfiguration.cmake	Mon Apr 24 18:13:48 2023 +0200
+++ b/OrthancFramework/Resources/CMake/BoostConfiguration.cmake	Wed May 03 15:48:11 2023 +0200
@@ -90,10 +90,10 @@
   ## Parameters for static compilation of Boost 
   ##
   
-  set(BOOST_NAME boost_1_80_0)
-  set(BOOST_VERSION 1.80.0)
-  set(BOOST_BCP_SUFFIX bcpdigest-1.11.2)
-  set(BOOST_MD5 "7734e19f9a39a4411b807a9913e4a5ff")
+  set(BOOST_NAME boost_1_82_0)
+  set(BOOST_VERSION 1.82.0)
+  set(BOOST_BCP_SUFFIX bcpdigest-1.12.1)
+  set(BOOST_MD5 "9d02d026c61870b1838b53293692326f")
   set(BOOST_URL "https://orthanc.uclouvain.be/third-party-downloads/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz")
   set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME})
 
@@ -310,12 +310,14 @@
       ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/date_time.cpp
       ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/formatting.cpp
       ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/generator.cpp
+      ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/iconv_codecvt.cpp
       ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/ids.cpp
       ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/localization_backend.cpp
       ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/message.cpp
       ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/shared/mo_lambda.cpp
       ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/util/codecvt_converter.cpp
       ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/util/default_locale.cpp
+      ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/util/encoding.cpp
       ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/util/gregorian.cpp
       ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/util/info.cpp
       ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/util/locale_data.cpp
--- a/OrthancFramework/Resources/CMake/BoostConfiguration.sh	Mon Apr 24 18:13:48 2023 +0200
+++ b/OrthancFramework/Resources/CMake/BoostConfiguration.sh	Wed May 03 15:48:11 2023 +0200
@@ -22,10 +22,11 @@
 ##   - Orthanc between 1.4.0 and 1.4.2: Boost 1.67.0
 ##   - Orthanc between 1.5.0 and 1.5.4: Boost 1.68.0
 ##   - Orthanc between 1.5.5 and 1.11.1: Boost 1.69.0
-##   - Orthanc >= 1.11.2: Boost 1.80.0
+##   - Orthanc between 1.11.2 and 1.12.0: Boost 1.80.0
+##   - Orthanc >= 1.12.1: Boost 1.82.0
 
-BOOST_VERSION=1_80_0
-ORTHANC_VERSION=1.11.2
+BOOST_VERSION=1_82_0
+ORTHANC_VERSION=1.12.1
 
 rm -rf /tmp/boost_${BOOST_VERSION}
 rm -rf /tmp/bcp/boost_${BOOST_VERSION}
--- a/OrthancFramework/Resources/Patches/boost-1.65.1-linux-standard-base.patch	Mon Apr 24 18:13:48 2023 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-diff -urEb boost_1_65_1.orig/boost/move/adl_move_swap.hpp boost_1_65_1/boost/move/adl_move_swap.hpp
---- boost_1_65_1.orig/boost/move/adl_move_swap.hpp	2017-11-08 17:43:20.000000000 +0100
-+++ boost_1_65_1/boost/move/adl_move_swap.hpp	2018-01-02 15:34:48.829052917 +0100
-@@ -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
--- a/OrthancFramework/Resources/Patches/boost-1.66.0-linux-standard-base.patch	Mon Apr 24 18:13:48 2023 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-diff -urEb boost_1_66_0.orig/boost/move/adl_move_swap.hpp boost_1_66_0/boost/move/adl_move_swap.hpp
---- boost_1_66_0.orig/boost/move/adl_move_swap.hpp	2018-04-11 11:56:16.761768726 +0200
-+++ boost_1_66_0/boost/move/adl_move_swap.hpp	2018-04-11 11:57:01.073881330 +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
-Only in boost_1_66_0/boost/move: adl_move_swap.hpp~
--- a/OrthancFramework/Resources/Patches/boost-1.67.0-linux-standard-base.patch	Mon Apr 24 18:13:48 2023 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-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 17:42:27.000000000 +0200
-+++ boost_1_67_0/boost/move/adl_move_swap.hpp	2018-10-12 14:27:41.368076902 +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 17:42:27.000000000 +0200
-+++ boost_1_67_0/boost/thread/detail/config.hpp	2018-10-12 14:27:41.372076898 +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__) || defined(__ANDROID__)
-+  #define BOOST_THREAD_HAS_MONO_CLOCK
- #else
-   #include <time.h> // check for CLOCK_MONOTONIC
-   #if defined(CLOCK_MONOTONIC)
-diff -urEb boost_1_67_0.orig/boost/type_traits/detail/has_postfix_operator.hpp boost_1_67_0/boost/type_traits/detail/has_postfix_operator.hpp
---- boost_1_67_0.orig/boost/type_traits/detail/has_postfix_operator.hpp	2018-06-20 17:42:27.000000000 +0200
-+++ boost_1_67_0/boost/type_traits/detail/has_postfix_operator.hpp	2018-10-12 14:31:27.539874170 +0200
-@@ -32,8 +32,11 @@
- namespace boost {
- namespace detail {
- 
-+// https://stackoverflow.com/a/15474269
-+#ifndef Q_MOC_RUN
- // This namespace ensures that argument-dependent name lookup does not mess things up.
- namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
-+#endif
- 
- // 1. a function to have an instance of type T without requiring T to be default
- // constructible
-@@ -181,7 +184,9 @@
-    BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
- };
- 
-+#ifndef Q_MOC_RUN
- } // namespace impl
-+#endif
- } // namespace detail
- 
- // this is the accessible definition of the trait to end user
-diff -urEb boost_1_67_0.orig/boost/type_traits/detail/has_prefix_operator.hpp boost_1_67_0/boost/type_traits/detail/has_prefix_operator.hpp
---- boost_1_67_0.orig/boost/type_traits/detail/has_prefix_operator.hpp	2018-06-20 17:42:27.000000000 +0200
-+++ boost_1_67_0/boost/type_traits/detail/has_prefix_operator.hpp	2018-10-12 14:31:40.991862281 +0200
-@@ -45,8 +45,11 @@
- namespace boost {
- namespace detail {
- 
-+// https://stackoverflow.com/a/15474269
-+#ifndef Q_MOC_RUN
- // This namespace ensures that argument-dependent name lookup does not mess things up.
- namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
-+#endif
- 
- // 1. a function to have an instance of type T without requiring T to be default
- // constructible
-@@ -194,7 +197,9 @@
-    BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
- };
- 
-+#ifndef Q_MOC_RUN
- } // namespace impl
-+#endif
- } // namespace detail
- 
- // this is the accessible definition of the trait to end user
--- a/OrthancFramework/Resources/Patches/boost-1.68.0-linux-standard-base.patch	Mon Apr 24 18:13:48 2023 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-diff -urEb boost_1_68_0.orig/boost/move/adl_move_swap.hpp boost_1_68_0/boost/move/adl_move_swap.hpp
---- boost_1_68_0.orig/boost/move/adl_move_swap.hpp	2018-11-13 16:08:32.214434915 +0100
-+++ boost_1_68_0/boost/move/adl_move_swap.hpp	2018-11-13 16:09:03.558399048 +0100
-@@ -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_68_0.orig/boost/thread/detail/config.hpp boost_1_68_0/boost/thread/detail/config.hpp
---- boost_1_68_0.orig/boost/thread/detail/config.hpp	2018-11-13 16:08:32.210434920 +0100
-+++ boost_1_68_0/boost/thread/detail/config.hpp	2018-11-13 16:10:03.386329911 +0100
-@@ -417,7 +417,7 @@
-   #define BOOST_THREAD_INTERNAL_CLOCK_IS_MONO
- #elif defined(BOOST_THREAD_CHRONO_MAC_API)
-   #define BOOST_THREAD_HAS_MONO_CLOCK
--#elif defined(__ANDROID__)
-+#elif defined(__LSB_VERSION__) || defined(__ANDROID__)
-   #define BOOST_THREAD_HAS_MONO_CLOCK
-   #if defined(__ANDROID_API__) && __ANDROID_API__ >= 21
-     #define BOOST_THREAD_INTERNAL_CLOCK_IS_MONO
-diff -urEb boost_1_68_0.orig/boost/type_traits/detail/has_postfix_operator.hpp boost_1_68_0/boost/type_traits/detail/has_postfix_operator.hpp
---- boost_1_68_0.orig/boost/type_traits/detail/has_postfix_operator.hpp	2018-11-13 16:08:32.206434924 +0100
-+++ boost_1_68_0/boost/type_traits/detail/has_postfix_operator.hpp	2018-11-13 16:11:08.374253901 +0100
-@@ -32,8 +32,11 @@
- namespace boost {
- namespace detail {
- 
-+// https://stackoverflow.com/a/15474269
-+#ifndef Q_MOC_RUN
- // This namespace ensures that argument-dependent name lookup does not mess things up.
- namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
-+#endif
- 
- // 1. a function to have an instance of type T without requiring T to be default
- // constructible
-@@ -181,7 +184,9 @@
-    BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Lhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
- };
- 
-+#ifndef Q_MOC_RUN
- } // namespace impl
-+#endif
- } // namespace detail
- 
- // this is the accessible definition of the trait to end user
-diff -urEb boost_1_68_0.orig/boost/type_traits/detail/has_prefix_operator.hpp boost_1_68_0/boost/type_traits/detail/has_prefix_operator.hpp
---- boost_1_68_0.orig/boost/type_traits/detail/has_prefix_operator.hpp	2018-11-13 16:08:32.206434924 +0100
-+++ boost_1_68_0/boost/type_traits/detail/has_prefix_operator.hpp	2018-11-13 16:14:30.278012856 +0100
-@@ -45,8 +45,11 @@
- namespace boost {
- namespace detail {
- 
-+// https://stackoverflow.com/a/15474269
-+#ifndef Q_MOC_RUN
- // This namespace ensures that argument-dependent name lookup does not mess things up.
- namespace BOOST_JOIN(BOOST_TT_TRAIT_NAME,_impl) {
-+#endif
- 
- // 1. a function to have an instance of type T without requiring T to be default
- // constructible
-@@ -194,7 +197,10 @@
-    BOOST_STATIC_CONSTANT(bool, value = (trait_impl1 < Rhs_noref, Ret, BOOST_TT_FORBIDDEN_IF >::value));
- };
- 
-+
-+#ifndef Q_MOC_RUN
- } // namespace impl
-+#endif
- } // namespace detail
- 
- // this is the accessible definition of the trait to end user
-Only in boost_1_68_0/boost/type_traits/detail: has_prefix_operator.hpp~
--- a/OrthancFramework/Resources/Patches/civetweb-1.11.patch	Mon Apr 24 18:13:48 2023 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-diff -urEb civetweb-1.11.orig/include/civetweb.h civetweb-1.11/include/civetweb.h
---- civetweb-1.11.orig/include/civetweb.h	2019-01-17 21:09:41.844888908 +0100
-+++ civetweb-1.11/include/civetweb.h	2019-01-21 12:05:08.138998659 +0100
-@@ -1507,6 +1507,10 @@
- #endif
- 
- 
-+// Added by SJ
-+CIVETWEB_API void mg_disable_keep_alive(struct mg_connection *conn);
-+
-+
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
-diff -urEb civetweb-1.11.orig/src/civetweb.c civetweb-1.11/src/civetweb.c
---- civetweb-1.11.orig/src/civetweb.c	2019-01-17 21:09:41.852888857 +0100
-+++ civetweb-1.11/src/civetweb.c	2019-01-21 12:06:35.826868284 +0100
-@@ -59,6 +59,9 @@
- #if defined(__linux__) && !defined(_XOPEN_SOURCE)
- #define _XOPEN_SOURCE 600 /* For flockfile() on Linux */
- #endif
-+#if defined(__LSB_VERSION__)
-+#define NEED_TIMEGM
-+#endif
- #if !defined(_LARGEFILE_SOURCE)
- #define _LARGEFILE_SOURCE /* For fseeko(), ftello() */
- #endif
-@@ -129,6 +132,12 @@
- 
- 
- /* Alternative queue is well tested and should be the new default */
-+#if defined(__LSB_VERSION__)
-+/* Function "eventfd()" is not available in Linux Standard Base, can't
-+ * use the alternative queue */
-+#define NO_ALTERNATIVE_QUEUE
-+#endif
-+
- #if defined(NO_ALTERNATIVE_QUEUE)
- #if defined(ALTERNATIVE_QUEUE)
- #error "Define ALTERNATIVE_QUEUE or NO_ALTERNATIVE_QUEUE or none, but not both"
-@@ -536,6 +545,10 @@
- #if !defined(EWOULDBLOCK)
- #define EWOULDBLOCK WSAEWOULDBLOCK
- #endif /* !EWOULDBLOCK */
-+#if !defined(ECONNRESET)
-+/* This macro is not defined e.g. in Visual Studio 2008 */
-+#define ECONNRESET WSAECONNRESET
-+#endif /* !ECONNRESET */
- #define _POSIX_
- #define INT64_FMT "I64d"
- #define UINT64_FMT "I64u"
-@@ -2939,6 +2952,13 @@
- #endif
- 
- 
-+#if defined(__LSB_VERSION__)
-+static void
-+mg_set_thread_name(const char *threadName)
-+{
-+  /* prctl() does not seem to be available in Linux Standard Base */
-+}
-+#else
- static void
- mg_set_thread_name(const char *name)
- {
-@@ -2980,6 +3000,7 @@
- 	(void)prctl(PR_SET_NAME, threadName, 0, 0, 0);
- #endif
- }
-+#endif
- #else /* !defined(NO_THREAD_NAME) */
- void
- mg_set_thread_name(const char *threadName)
-@@ -16919,6 +16940,10 @@
- 	/* Message is a valid request */
- 
- 	/* Is there a "host" ? */
-+        /* https://github.com/civetweb/civetweb/pull/675/commits/96e3e8c50acb4b8e0c946d02b5f880a3e62986e1 */
-+	if (conn->host!=NULL) {
-+		mg_free((void *)conn->host);
-+	}
- 	conn->host = alloc_get_host(conn);
- 	if (!conn->host) {
- 		mg_snprintf(conn,
-@@ -19857,4 +19882,13 @@
- }
- 
- 
-+// Added by SJ
-+void mg_disable_keep_alive(struct mg_connection *conn)
-+{
-+  if (conn != NULL) {
-+    conn->must_close = 1;
-+  }
-+}
-+
-+
- /* End of civetweb.c */
--- a/OrthancFramework/Resources/Patches/civetweb-1.12.patch	Mon Apr 24 18:13:48 2023 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-diff -urEb civetweb-1.12.orig/include/civetweb.h civetweb-1.12/include/civetweb.h
---- civetweb-1.12.orig/include/civetweb.h	2020-10-06 12:39:10.634902843 +0200
-+++ civetweb-1.12/include/civetweb.h	2020-10-06 12:39:30.630872089 +0200
-@@ -1614,6 +1614,9 @@
-                                   struct mg_error_data *error);
- #endif
- 
-+// Added by SJ
-+CIVETWEB_API void mg_disable_keep_alive(struct mg_connection *conn);
-+
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
-diff -urEb civetweb-1.12.orig/src/civetweb.c civetweb-1.12/src/civetweb.c
---- civetweb-1.12.orig/src/civetweb.c	2020-10-06 12:39:10.638902837 +0200
-+++ civetweb-1.12/src/civetweb.c	2020-10-06 12:41:40.110671929 +0200
-@@ -10525,6 +10525,11 @@
-     /* + MicroSoft extensions
-      * https://msdn.microsoft.com/en-us/library/aa142917.aspx */
- 
-+    /* Added by SJ, for write access to WebDAV on Windows >= 7 */
-+    {"LOCK", 1, 1, 0, 0, 0},
-+    {"UNLOCK", 1, 0, 0, 0, 0},
-+    {"PROPPATCH", 1, 1, 0, 0, 0},
-+    
-     /* REPORT method (RFC 3253) */
-     {"REPORT", 1, 1, 1, 1, 1},
-     /* REPORT method only allowed for CGI/Lua/LSP and callbacks. */
-@@ -20704,5 +20709,12 @@
- 	return 1;
- }
- 
-+// Added by SJ
-+void mg_disable_keep_alive(struct mg_connection *conn)
-+{
-+  if (conn != NULL) {
-+    conn->must_close = 1;
-+  }
-+}
- 
- /* End of civetweb.c */