Mercurial > hg > orthanc
changeset 6540:59888c43f6b4
upgraded boost to 1.89.0
| author | Sebastien Jodogne <s.jodogne@gmail.com> |
|---|---|
| date | Tue, 09 Dec 2025 13:52:07 +0100 |
| parents | e94178d6b6a2 |
| children | 770d6037b79f |
| files | NEWS OrthancFramework/Resources/CMake/BoostConfiguration.cmake OrthancFramework/Resources/CMake/BoostConfiguration.sh OrthancFramework/Resources/Patches/boost-1.85.0-emscripten.patch OrthancFramework/Resources/Patches/boost-1.86.0-emscripten.patch OrthancFramework/Resources/Patches/boost-1.89.0-emscripten.patch OrthancServer/UnitTestsSources/VersionsTests.cpp |
| diffstat | 7 files changed, 180 insertions(+), 306 deletions(-) [+] |
line wrap: on
line diff
--- a/NEWS Tue Dec 09 12:09:50 2025 +0100 +++ b/NEWS Tue Dec 09 13:52:07 2025 +0100 @@ -1,6 +1,9 @@ Pending changes in the mainline =============================== +* Upgraded dependencies for static builds: + - boost 1.89.0 + Version 1.12.10 (2025-11-26) ============================
--- a/OrthancFramework/Resources/CMake/BoostConfiguration.cmake Tue Dec 09 12:09:50 2025 +0100 +++ b/OrthancFramework/Resources/CMake/BoostConfiguration.cmake Tue Dec 09 13:52:07 2025 +0100 @@ -96,10 +96,10 @@ ## Parameters for static compilation of Boost ## - set(BOOST_NAME boost_1_86_0) - set(BOOST_VERSION 1.86.0) - set(BOOST_BCP_SUFFIX bcpdigest-1.12.5) - set(BOOST_MD5 "20b9c325c0dde830889ee75a9e64ded8") + set(BOOST_NAME boost_1_89_0) + set(BOOST_VERSION 1.89.0) + set(BOOST_BCP_SUFFIX bcpdigest-1.12.11) + set(BOOST_MD5 "af98f0ba3507cb611e78f96fe8bd0a7c") set(BOOST_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz") set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME}) @@ -120,7 +120,7 @@ if (FirstRun) execute_process( COMMAND ${PATCH_EXECUTABLE} -p0 -N -i - ${CMAKE_CURRENT_LIST_DIR}/../Patches/boost-1.86.0-emscripten.patch + ${CMAKE_CURRENT_LIST_DIR}/../Patches/boost-${BOOST_VERSION}-emscripten.patch WORKING_DIRECTORY ${CMAKE_BINARY_DIR} RESULT_VARIABLE Failure ) @@ -184,10 +184,6 @@ -DBOOST_FILESYSTEM_HAS_POSIX_AT_APIS ) - set(BOOST_SOURCES - ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp - ) - if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase" OR "${CMAKE_SYSTEM_NAME}" STREQUAL "Android") add_definitions( @@ -319,34 +315,33 @@ message("boost::locale is disabled") else() set(BOOST_ICU_SOURCES - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/icu/boundary.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/icu/codecvt.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/icu/collator.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/icu/conversion.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/icu/date_time.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/icu/formatter.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/icu/formatters_cache.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/icu/icu_backend.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/icu/numeric.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/icu/time_zone.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/icu/boundary.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/icu/codecvt.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/icu/collator.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/icu/conversion.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/icu/date_time.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/icu/formatter.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/icu/formatters_cache.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/icu/icu_backend.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/icu/numeric.cpp ) list(APPEND BOOST_SOURCES - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/encoding/codepage.cpp - ${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 + ${BOOST_SOURCES_DIR}/libs/locale/src/encoding/codepage.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/shared/date_time.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/shared/formatting.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/shared/generator.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/shared/iconv_codecvt.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/shared/ids.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/shared/localization_backend.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/shared/message.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/shared/mo_lambda.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/util/codecvt_converter.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/util/default_locale.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/util/encoding.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/util/gregorian.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/util/info.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/util/locale_data.cpp ) if (CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR @@ -357,11 +352,11 @@ ) list(APPEND BOOST_SOURCES - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/std/codecvt.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/std/collate.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/std/converter.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/std/numeric.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/std/std_backend.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/std/codecvt.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/std/collate.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/std/converter.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/std/numeric.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/std/std_backend.cpp ) if (BOOST_LOCALE_BACKEND STREQUAL "gcc" OR @@ -388,11 +383,11 @@ ) list(APPEND BOOST_SOURCES - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/posix/codecvt.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/posix/collate.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/posix/converter.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/posix/numeric.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/posix/posix_backend.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/posix/codecvt.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/posix/collate.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/posix/converter.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/posix/numeric.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/posix/posix_backend.cpp ) if (CMAKE_SYSTEM_NAME STREQUAL "Emscripten" OR @@ -415,11 +410,11 @@ ) list(APPEND BOOST_SOURCES - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/win32/collate.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/win32/converter.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/win32/lcid.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/win32/numeric.cpp - ${BOOST_SOURCES_DIR}/libs/locale/src/boost/locale/win32/win_backend.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/win32/collate.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/win32/converter.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/win32/lcid.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/win32/numeric.cpp + ${BOOST_SOURCES_DIR}/libs/locale/src/win32/win_backend.cpp ) # Starting with release 0.8.2, Orthanc statically links against
--- a/OrthancFramework/Resources/CMake/BoostConfiguration.sh Tue Dec 09 12:09:50 2025 +0100 +++ b/OrthancFramework/Resources/CMake/BoostConfiguration.sh Tue Dec 09 13:52:07 2025 +0100 @@ -26,11 +26,12 @@ ## - Orthanc 1.12.1: Boost 1.82.0 ## - Orthanc 1.12.2: Boost 1.83.0 ## - Orthanc 1.12.3: Boost 1.84.0 -## - Orthanc > 1.12.3: Boost 1.85.0 -## - Orthanc 1.12.5: Boost 1.86.0 +## - Orthanc between 1.12.3 and 1.12.4: Boost 1.85.0 +## - Orthanc between 1.12.5 and 1.12.10: Boost 1.86.0 +## - Orthanc > 1.12.10: Boost 1.89.0 -BOOST_VERSION=1_86_0 -ORTHANC_VERSION=1.12.5 +BOOST_VERSION=1_89_0 +ORTHANC_VERSION=1.12.11 rm -rf /tmp/boost_${BOOST_VERSION} rm -rf /tmp/bcp/boost_${BOOST_VERSION}
--- a/OrthancFramework/Resources/Patches/boost-1.85.0-emscripten.patch Tue Dec 09 12:09:50 2025 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,125 +0,0 @@ -diff -urEb boost_1_85_0.orig/libs/locale/src/boost/locale/shared/date_time.cpp boost_1_85_0/libs/locale/src/boost/locale/shared/date_time.cpp ---- boost_1_85_0.orig/libs/locale/src/boost/locale/shared/date_time.cpp 2024-05-16 20:54:25.516816710 +0200 -+++ boost_1_85_0/libs/locale/src/boost/locale/shared/date_time.cpp 2024-05-16 20:55:09.144319528 +0200 -@@ -12,8 +12,10 @@ - #include <boost/locale/date_time.hpp> - #include <boost/locale/formatting.hpp> - #include <boost/core/exchange.hpp> --#include <boost/thread/locks.hpp> --#include <boost/thread/mutex.hpp> -+#if !defined(__EMSCRIPTEN__) -+# include <boost/thread/locks.hpp> -+# include <boost/thread/mutex.hpp> -+#endif - #include <cmath> - - namespace boost { namespace locale { -@@ -400,6 +402,7 @@ - return impl_->get_option(abstract_calendar::is_dst) != 0; - } - -+#if !defined(__EMSCRIPTEN__) - namespace time_zone { - boost::mutex& tz_mutex() - { -@@ -422,6 +425,7 @@ - return boost::exchange(tz_id(), new_id); - } - } // namespace time_zone -+#endif - - }} // namespace boost::locale - -diff -urEb boost_1_85_0.orig/libs/locale/src/boost/locale/shared/generator.cpp boost_1_85_0/libs/locale/src/boost/locale/shared/generator.cpp ---- boost_1_85_0.orig/libs/locale/src/boost/locale/shared/generator.cpp 2024-05-16 20:54:25.516816710 +0200 -+++ boost_1_85_0/libs/locale/src/boost/locale/shared/generator.cpp 2024-05-16 20:56:20.231509636 +0200 -@@ -7,8 +7,10 @@ - #include <boost/locale/encoding.hpp> - #include <boost/locale/generator.hpp> - #include <boost/locale/localization_backend.hpp> --#include <boost/thread/locks.hpp> --#include <boost/thread/mutex.hpp> -+#if !defined(__EMSCRIPTEN__) -+# include <boost/thread/locks.hpp> -+# include <boost/thread/mutex.hpp> -+#endif - #include <algorithm> - #include <map> - #include <vector> -@@ -21,7 +23,9 @@ - {} - - mutable std::map<std::string, std::locale> cached; -+#if !defined(__EMSCRIPTEN__) - mutable boost::mutex cached_lock; -+#endif - - category_t cats; - char_facet_t chars; -@@ -101,7 +105,9 @@ - std::locale generator::generate(const std::locale& base, const std::string& id) const - { - if(d->caching_enabled) { -+#if !defined(__EMSCRIPTEN__) - boost::unique_lock<boost::mutex> guard(d->cached_lock); -+#endif - const auto p = d->cached.find(id); - if(p != d->cached.end()) - return p->second; -@@ -126,7 +132,9 @@ - result = backend->install(result, facet, char_facet_t::nochar); - } - if(d->caching_enabled) { -+#if !defined(__EMSCRIPTEN__) - boost::unique_lock<boost::mutex> guard(d->cached_lock); -+#endif - const auto p = d->cached.find(id); - if(p == d->cached.end()) - d->cached[id] = result; -diff -urEb boost_1_85_0.orig/libs/locale/src/boost/locale/shared/localization_backend.cpp boost_1_85_0/libs/locale/src/boost/locale/shared/localization_backend.cpp ---- boost_1_85_0.orig/libs/locale/src/boost/locale/shared/localization_backend.cpp 2024-05-16 20:54:25.516816710 +0200 -+++ boost_1_85_0/libs/locale/src/boost/locale/shared/localization_backend.cpp 2024-05-16 20:56:58.823070064 +0200 -@@ -5,8 +5,10 @@ - // https://www.boost.org/LICENSE_1_0.txt - - #include <boost/locale/localization_backend.hpp> --#include <boost/thread/locks.hpp> --#include <boost/thread/mutex.hpp> -+#if !defined(__EMSCRIPTEN__) -+# include <boost/thread/locks.hpp> -+# include <boost/thread/mutex.hpp> -+#endif - #include <functional> - #include <memory> - #include <vector> -@@ -211,11 +213,13 @@ - return mgr; - } - -+#if !defined(__EMSCRIPTEN__) - boost::mutex& localization_backend_manager_mutex() - { - static boost::mutex the_mutex; - return the_mutex; - } -+#endif - localization_backend_manager& localization_backend_manager_global() - { - static localization_backend_manager the_manager = make_default_backend_mgr(); -@@ -225,12 +229,16 @@ - - localization_backend_manager localization_backend_manager::global() - { -+#if !defined(__EMSCRIPTEN__) - boost::unique_lock<boost::mutex> lock(localization_backend_manager_mutex()); -+#endif - return localization_backend_manager_global(); - } - localization_backend_manager localization_backend_manager::global(const localization_backend_manager& in) - { -+#if !defined(__EMSCRIPTEN__) - boost::unique_lock<boost::mutex> lock(localization_backend_manager_mutex()); -+#endif - return exchange(localization_backend_manager_global(), in); - } -
--- a/OrthancFramework/Resources/Patches/boost-1.86.0-emscripten.patch Tue Dec 09 12:09:50 2025 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,127 +0,0 @@ -diff -urEb boost_1_86_0.orig/libs/locale/src/boost/locale/shared/date_time.cpp boost_1_86_0/libs/locale/src/boost/locale/shared/date_time.cpp ---- boost_1_86_0.orig/libs/locale/src/boost/locale/shared/date_time.cpp 2024-09-25 15:46:01.000000000 +0200 -+++ boost_1_86_0/libs/locale/src/boost/locale/shared/date_time.cpp 2024-09-25 15:58:51.306131987 +0200 -@@ -12,8 +12,10 @@ - #include <boost/locale/date_time.hpp> - #include <boost/locale/formatting.hpp> - #include <boost/core/exchange.hpp> --#include <boost/thread/locks.hpp> --#include <boost/thread/mutex.hpp> -+#if !defined(__EMSCRIPTEN__) -+# include <boost/thread/locks.hpp> -+# include <boost/thread/mutex.hpp> -+#endif - #include <cmath> - - namespace boost { namespace locale { -@@ -400,6 +402,7 @@ - return impl_->get_option(abstract_calendar::is_dst) != 0; - } - -+#if !defined(__EMSCRIPTEN__) - namespace time_zone { - boost::mutex& tz_mutex() - { -@@ -422,7 +425,7 @@ - return boost::exchange(tz_id(), new_id); - } - } // namespace time_zone -- -+#endif - }} // namespace boost::locale - - // boostinspect:nominmax -diff -urEb boost_1_86_0.orig/libs/locale/src/boost/locale/shared/generator.cpp boost_1_86_0/libs/locale/src/boost/locale/shared/generator.cpp ---- boost_1_86_0.orig/libs/locale/src/boost/locale/shared/generator.cpp 2024-09-25 15:46:01.000000000 +0200 -+++ boost_1_86_0/libs/locale/src/boost/locale/shared/generator.cpp 2024-09-25 16:00:07.756233916 +0200 -@@ -7,8 +7,10 @@ - #include <boost/locale/encoding.hpp> - #include <boost/locale/generator.hpp> - #include <boost/locale/localization_backend.hpp> --#include <boost/thread/locks.hpp> --#include <boost/thread/mutex.hpp> -+#if !defined(__EMSCRIPTEN__) -+# include <boost/thread/locks.hpp> -+# include <boost/thread/mutex.hpp> -+#endif - #include <algorithm> - #include <map> - #include <vector> -@@ -21,8 +23,9 @@ - {} - - mutable std::map<std::string, std::locale> cached; -+#if !defined(__EMSCRIPTEN__) - mutable boost::mutex cached_lock; -- -+#endif - category_t cats; - char_facet_t chars; - -@@ -101,7 +104,9 @@ - std::locale generator::generate(const std::locale& base, const std::string& id) const - { - if(d->caching_enabled) { -+#if !defined(__EMSCRIPTEN__) - boost::unique_lock<boost::mutex> guard(d->cached_lock); -+#endif - const auto p = d->cached.find(id); - if(p != d->cached.end()) - return p->second; -@@ -126,7 +131,9 @@ - result = backend->install(result, facet, char_facet_t::nochar); - } - if(d->caching_enabled) { -+#if !defined(__EMSCRIPTEN__) - boost::unique_lock<boost::mutex> guard(d->cached_lock); -+#endif - const auto p = d->cached.find(id); - if(p == d->cached.end()) - d->cached[id] = result; -diff -urEb boost_1_86_0.orig/libs/locale/src/boost/locale/shared/localization_backend.cpp boost_1_86_0/libs/locale/src/boost/locale/shared/localization_backend.cpp ---- boost_1_86_0.orig/libs/locale/src/boost/locale/shared/localization_backend.cpp 2024-09-25 15:46:01.000000000 +0200 -+++ boost_1_86_0/libs/locale/src/boost/locale/shared/localization_backend.cpp 2024-09-25 16:01:09.196820495 +0200 -@@ -5,8 +5,10 @@ - // https://www.boost.org/LICENSE_1_0.txt - - #include <boost/locale/localization_backend.hpp> --#include <boost/thread/locks.hpp> --#include <boost/thread/mutex.hpp> -+#if !defined(__EMSCRIPTEN__) -+# include <boost/thread/locks.hpp> -+# include <boost/thread/mutex.hpp> -+#endif - #include <functional> - #include <memory> - #include <vector> -@@ -211,11 +213,13 @@ - return mgr; - } - -+#if !defined(__EMSCRIPTEN__) - boost::mutex& localization_backend_manager_mutex() - { - static boost::mutex the_mutex; - return the_mutex; - } -+#endif - localization_backend_manager& localization_backend_manager_global() - { - static localization_backend_manager the_manager = make_default_backend_mgr(); -@@ -225,12 +229,16 @@ - - localization_backend_manager localization_backend_manager::global() - { -+#if !defined(__EMSCRIPTEN__) - boost::unique_lock<boost::mutex> lock(localization_backend_manager_mutex()); -+#endif - return localization_backend_manager_global(); - } - localization_backend_manager localization_backend_manager::global(const localization_backend_manager& in) - { -+#if !defined(__EMSCRIPTEN__) - boost::unique_lock<boost::mutex> lock(localization_backend_manager_mutex()); -+#endif - return exchange(localization_backend_manager_global(), in); - } -
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/OrthancFramework/Resources/Patches/boost-1.89.0-emscripten.patch Tue Dec 09 13:52:07 2025 +0100 @@ -0,0 +1,127 @@ +diff -urEb boost_1_89_0.orig/libs/locale/src/shared/date_time.cpp boost_1_89_0/libs/locale/src/shared/date_time.cpp +--- boost_1_89_0.orig/libs/locale/src/shared/date_time.cpp 2025-12-09 13:38:27.491462741 +0100 ++++ boost_1_89_0/libs/locale/src/shared/date_time.cpp 2025-12-09 13:40:05.120712154 +0100 +@@ -12,8 +12,10 @@ + #include <boost/locale/date_time.hpp> + #include <boost/locale/formatting.hpp> + #include <boost/core/exchange.hpp> +-#include <boost/thread/locks.hpp> +-#include <boost/thread/mutex.hpp> ++#if !defined(__EMSCRIPTEN__) ++# include <boost/thread/locks.hpp> ++# include <boost/thread/mutex.hpp> ++#endif + #include <cmath> + + namespace boost { namespace locale { +@@ -400,6 +402,7 @@ + return impl_->get_option(abstract_calendar::is_dst) != 0; + } + ++#if !defined(__EMSCRIPTEN__) + namespace time_zone { + boost::mutex& tz_mutex() + { +@@ -422,7 +425,7 @@ + return boost::exchange(tz_id(), new_id); + } + } // namespace time_zone +- ++#endif + }} // namespace boost::locale + + // boostinspect:nominmax +diff -urEb boost_1_89_0.orig/libs/locale/src/shared/generator.cpp boost_1_89_0/libs/locale/src/shared/generator.cpp +--- boost_1_89_0.orig/libs/locale/src/shared/generator.cpp 2025-12-09 13:38:27.491462741 +0100 ++++ boost_1_89_0/libs/locale/src/shared/generator.cpp 2025-12-09 13:40:59.835293085 +0100 +@@ -8,8 +8,10 @@ + #include <boost/locale/encoding.hpp> + #include <boost/locale/generator.hpp> + #include <boost/locale/localization_backend.hpp> +-#include <boost/thread/locks.hpp> +-#include <boost/thread/mutex.hpp> ++#if !defined(__EMSCRIPTEN__) ++# include <boost/thread/locks.hpp> ++# include <boost/thread/mutex.hpp> ++#endif + #include <algorithm> + #include <map> + #include <vector> +@@ -22,8 +24,9 @@ + {} + + mutable std::map<std::string, std::locale> cached; ++#if !defined(__EMSCRIPTEN__) + mutable boost::mutex cached_lock; +- ++#endif + category_t cats; + char_facet_t chars; + +@@ -100,7 +103,9 @@ + std::locale generator::generate(const std::locale& base, const std::string& id) const + { + if(d->caching_enabled) { ++#if !defined(__EMSCRIPTEN__) + boost::unique_lock<boost::mutex> guard(d->cached_lock); ++#endif + const auto p = d->cached.find(id); + if(p != d->cached.end()) + return p->second; +@@ -125,7 +130,9 @@ + result = backend->install(result, facet, char_facet_t::nochar); + } + if(d->caching_enabled) { ++#if !defined(__EMSCRIPTEN__) + boost::unique_lock<boost::mutex> guard(d->cached_lock); ++#endif + const auto p = d->cached.find(id); + if(p == d->cached.end()) + d->cached[id] = result; +diff -urEb boost_1_89_0.orig/libs/locale/src/shared/localization_backend.cpp boost_1_89_0/libs/locale/src/shared/localization_backend.cpp +--- boost_1_89_0.orig/libs/locale/src/shared/localization_backend.cpp 2025-12-09 13:38:27.491462741 +0100 ++++ boost_1_89_0/libs/locale/src/shared/localization_backend.cpp 2025-12-09 13:41:35.543020135 +0100 +@@ -5,8 +5,10 @@ + // https://www.boost.org/LICENSE_1_0.txt + + #include <boost/locale/localization_backend.hpp> +-#include <boost/thread/locks.hpp> +-#include <boost/thread/mutex.hpp> ++#if !defined(__EMSCRIPTEN__) ++# include <boost/thread/locks.hpp> ++# include <boost/thread/mutex.hpp> ++#endif + #include <functional> + #include <memory> + #include <vector> +@@ -211,11 +213,13 @@ + return mgr; + } + ++#if !defined(__EMSCRIPTEN__) + boost::mutex& localization_backend_manager_mutex() + { + static boost::mutex the_mutex; + return the_mutex; + } ++#endif + localization_backend_manager& localization_backend_manager_global() + { + static localization_backend_manager the_manager = make_default_backend_mgr(); +@@ -225,12 +229,16 @@ + + localization_backend_manager localization_backend_manager::global() + { ++#if !defined(__EMSCRIPTEN__) + boost::unique_lock<boost::mutex> lock(localization_backend_manager_mutex()); ++#endif + return localization_backend_manager_global(); + } + localization_backend_manager localization_backend_manager::global(const localization_backend_manager& in) + { ++#if !defined(__EMSCRIPTEN__) + boost::unique_lock<boost::mutex> lock(localization_backend_manager_mutex()); ++#endif + return exchange(localization_backend_manager_global(), in); + } +
--- a/OrthancServer/UnitTestsSources/VersionsTests.cpp Tue Dec 09 12:09:50 2025 +0100 +++ b/OrthancServer/UnitTestsSources/VersionsTests.cpp Tue Dec 09 13:52:07 2025 +0100 @@ -113,7 +113,7 @@ TEST(Versions, BoostStatic) { - ASSERT_TRUE(std::string(BOOST_LIB_VERSION) == "1_86" || + ASSERT_TRUE(std::string(BOOST_LIB_VERSION) == "1_89" || std::string(BOOST_LIB_VERSION) == "1_69" /* if USE_LEGACY_BOOST */); }
