comparison OrthancFramework/Resources/Patches/boost-1.83.0-emscripten.patch @ 5398:08b5516c6e5e

compatibility of OrthancFramework with latest releases of Emscripten
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 11 Oct 2023 15:26:45 +0200
parents
children
comparison
equal deleted inserted replaced
5397:e7f6ec8cbc35 5398:08b5516c6e5e
1 diff -urEb boost_1_83_0.orig/libs/locale/src/boost/locale/shared/date_time.cpp boost_1_83_0/libs/locale/src/boost/locale/shared/date_time.cpp
2 --- boost_1_83_0.orig/libs/locale/src/boost/locale/shared/date_time.cpp 2023-10-11 14:35:14.000000000 +0200
3 +++ boost_1_83_0/libs/locale/src/boost/locale/shared/date_time.cpp 2023-10-11 15:10:23.949459131 +0200
4 @@ -7,8 +7,10 @@
5 #include <boost/locale/date_time.hpp>
6 #include <boost/locale/formatting.hpp>
7 #include <boost/core/exchange.hpp>
8 -#include <boost/thread/locks.hpp>
9 -#include <boost/thread/mutex.hpp>
10 +#if !defined(__EMSCRIPTEN__)
11 +# include <boost/thread/locks.hpp>
12 +# include <boost/thread/mutex.hpp>
13 +#endif
14 #include <cmath>
15
16 namespace boost { namespace locale {
17 @@ -394,6 +396,7 @@
18 return impl_->get_option(abstract_calendar::is_dst) != 0;
19 }
20
21 +#if !defined(__EMSCRIPTEN__)
22 namespace time_zone {
23 boost::mutex& tz_mutex()
24 {
25 @@ -416,5 +419,6 @@
26 return boost::exchange(tz_id(), new_id);
27 }
28 } // namespace time_zone
29 +#endif
30
31 }} // namespace boost::locale
32 diff -urEb boost_1_83_0.orig/libs/locale/src/boost/locale/shared/generator.cpp boost_1_83_0/libs/locale/src/boost/locale/shared/generator.cpp
33 --- boost_1_83_0.orig/libs/locale/src/boost/locale/shared/generator.cpp 2023-10-11 14:35:14.000000000 +0200
34 +++ boost_1_83_0/libs/locale/src/boost/locale/shared/generator.cpp 2023-10-11 15:10:01.301651695 +0200
35 @@ -7,8 +7,11 @@
36 #include <boost/locale/encoding.hpp>
37 #include <boost/locale/generator.hpp>
38 #include <boost/locale/localization_backend.hpp>
39 -#include <boost/thread/locks.hpp>
40 -#include <boost/thread/mutex.hpp>
41 +
42 +#if !defined(__EMSCRIPTEN__)
43 +# include <boost/thread/locks.hpp>
44 +# include <boost/thread/mutex.hpp>
45 +#endif
46 #include <algorithm>
47 #include <map>
48 #include <vector>
49 @@ -21,7 +24,9 @@
50 {}
51
52 mutable std::map<std::string, std::locale> cached;
53 +#if !defined(__EMSCRIPTEN__)
54 mutable boost::mutex cached_lock;
55 +#endif
56
57 category_t cats;
58 char_facet_t chars;
59 @@ -101,7 +106,9 @@
60 std::locale generator::generate(const std::locale& base, const std::string& id) const
61 {
62 if(d->caching_enabled) {
63 +#if !defined(__EMSCRIPTEN__)
64 boost::unique_lock<boost::mutex> guard(d->cached_lock);
65 +#endif
66 const auto p = d->cached.find(id);
67 if(p != d->cached.end())
68 return p->second;
69 @@ -126,7 +133,9 @@
70 result = backend->install(result, facet, char_facet_t::nochar);
71 }
72 if(d->caching_enabled) {
73 +#if !defined(__EMSCRIPTEN__)
74 boost::unique_lock<boost::mutex> guard(d->cached_lock);
75 +#endif
76 const auto p = d->cached.find(id);
77 if(p == d->cached.end())
78 d->cached[id] = result;
79 diff -urEb boost_1_83_0.orig/libs/locale/src/boost/locale/shared/localization_backend.cpp boost_1_83_0/libs/locale/src/boost/locale/shared/localization_backend.cpp
80 --- boost_1_83_0.orig/libs/locale/src/boost/locale/shared/localization_backend.cpp 2023-10-11 14:35:14.000000000 +0200
81 +++ boost_1_83_0/libs/locale/src/boost/locale/shared/localization_backend.cpp 2023-10-11 15:11:11.549053453 +0200
82 @@ -5,8 +5,10 @@
83 // https://www.boost.org/LICENSE_1_0.txt
84
85 #include <boost/locale/localization_backend.hpp>
86 -#include <boost/thread/locks.hpp>
87 -#include <boost/thread/mutex.hpp>
88 +#if !defined(__EMSCRIPTEN__)
89 +# include <boost/thread/locks.hpp>
90 +# include <boost/thread/mutex.hpp>
91 +#endif
92 #include <functional>
93 #include <memory>
94 #include <vector>
95 @@ -211,11 +213,13 @@
96 return mgr;
97 }
98
99 +#if !defined(__EMSCRIPTEN__)
100 boost::mutex& localization_backend_manager_mutex()
101 {
102 static boost::mutex the_mutex;
103 return the_mutex;
104 }
105 +#endif
106 localization_backend_manager& localization_backend_manager_global()
107 {
108 static localization_backend_manager the_manager = make_default_backend_mgr();
109 @@ -225,12 +229,16 @@
110
111 localization_backend_manager localization_backend_manager::global()
112 {
113 +#if !defined(__EMSCRIPTEN__)
114 boost::unique_lock<boost::mutex> lock(localization_backend_manager_mutex());
115 +#endif
116 return localization_backend_manager_global();
117 }
118 localization_backend_manager localization_backend_manager::global(const localization_backend_manager& in)
119 {
120 +#if !defined(__EMSCRIPTEN__)
121 boost::unique_lock<boost::mutex> lock(localization_backend_manager_mutex());
122 +#endif
123 return exchange(localization_backend_manager_global(), in);
124 }
125