]>
Commit | Line | Data |
---|---|---|
d97fa3b7 ŁK |
1 | # |
2 | # Conditional build: | |
2f2b715e JB |
3 | %bcond_without context # Boost Context and dependent modules [gas+PE not supported officially by upstream] |
4 | %bcond_without serialization # Boost Serialization | |
5 | %bcond_without test # Boost Test | |
d97fa3b7 | 6 | # |
28441938 | 7 | %define realname boost |
3ea966e4 JB |
8 | Summary: The Boost C++ Libraries - MinGW32 cross version |
9 | Summary(pl.UTF-8): Biblioteki C++ "Boost" - wersja skrośna dla MinGW32 | |
28441938 | 10 | Name: crossmingw32-%{realname} |
416c8ad7 | 11 | Version: 1.82.0 |
670a15d7 | 12 | %define fver %(echo %{version} | tr . _) |
ff36f437 | 13 | Release: 1 |
28441938 | 14 | License: Boost Software License and others |
33145f37 | 15 | Group: Development/Libraries |
9ce0c68c | 16 | Source0: https://boostorg.jfrog.io/artifactory/main/release/%{version}/source/%{realname}_%{fver}.tar.bz2 |
416c8ad7 | 17 | # Source0-md5: b45dac8b54b58c087bfbed260dbfc03a |
9ce0c68c | 18 | Patch0: boost-allow-mingw32-thread-local.patch |
28441938 | 19 | URL: http://www.boost.org/ |
a72e6f01 | 20 | BuildRequires: crossmingw32-bzip2 |
28441938 | 21 | BuildRequires: crossmingw32-gcc-c++ |
22 | BuildRequires: crossmingw32-runtime | |
d621e2c6 | 23 | BuildRequires: crossmingw32-w32api >= 1:5.4.2-2 |
a72e6f01 | 24 | BuildRequires: crossmingw32-zlib |
a72e6f01 ŁK |
25 | Requires: crossmingw32-bzip2 |
26 | Requires: crossmingw32-runtime | |
27 | Requires: crossmingw32-zlib | |
28441938 | 28 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
29 | ||
30 | %define no_install_post_strip 1 | |
51eb2a8e | 31 | %define _enable_debug_packages 0 |
28441938 | 32 | |
33 | %define target i386-mingw32 | |
34 | %define target_platform i386-pc-mingw32 | |
c66a9041 JB |
35 | |
36 | %define _sysprefix /usr | |
37 | %define _prefix %{_sysprefix}/%{target} | |
38 | %define _libdir %{_prefix}/lib | |
39 | %define _dlldir /usr/share/wine/windows/system | |
28441938 | 40 | |
41 | %define __cc %{target}-gcc | |
42 | %define __cxx %{target}-g++ | |
43 | ||
c66a9041 JB |
44 | %ifnarch %{ix86} |
45 | # arch-specific flags (like alpha's -mieee) are not valid for i386 gcc | |
28441938 | 46 | %define optflags -O2 |
47 | %endif | |
320e1ccc JB |
48 | # -z options are invalid for mingw linker, most of -f options are Linux-specific |
49 | %define filterout_ld -Wl,-z,.* | |
50 | %define filterout_c -f[-a-z0-9=]* | |
51 | %define filterout_cxx -f[-a-z0-9=]* | |
52 | ||
416c8ad7 | 53 | %define abi_tag mgw*-mt-x32-1_82 |
28441938 | 54 | |
55 | %description | |
56 | The Boost web site provides free peer-reviewed portable C++ source | |
57 | libraries. The emphasis is on libraries which work well with the C++ | |
58 | Standard Library. One goal is to establish "existing practice" and | |
59 | provide reference implementations so that the Boost libraries are | |
60 | suitable for eventual standardization. Some of the libraries have | |
61 | already been proposed for inclusion in the C++ Standards Committee's | |
62 | upcoming C++ Standard Library Technical Report. | |
63 | ||
241a7e06 | 64 | %description -l pl.UTF-8 |
28441938 | 65 | Strona http://www.boost.org/ dostarcza darmowe biblioteki C++ wraz z |
241a7e06 JR |
66 | kodem źródłowym. Nacisk położono na biblioteki, które dobrze |
67 | współpracują ze standardową biblioteką C++. Celem jest ustanowienie | |
68 | "istniejącej praktyki" i dostarczenie implementacji, tak że biblioteki | |
69 | "Boost" nadają się do ewentualnej standaryzacji. Niektóre z bibliotek | |
70 | już zostały zgłoszone do komitetu standaryzacyjnego C++ w nadchodzącym | |
05fa162e | 71 | Raporcie Technicznym Biblioteki Standardowej C++. |
28441938 | 72 | |
321d21fc | 73 | %package static |
3ea966e4 JB |
74 | Summary: Static Boost libraries (cross MinGW32 version) |
75 | Summary(pl.UTF-8): Statyczne biblioteki Boost (wersja skrośna MinGW32) | |
321d21fc JB |
76 | Group: Development/Libraries |
77 | Requires: %{name} = %{version}-%{release} | |
78 | ||
79 | %description static | |
3ea966e4 | 80 | Static Boost libraries (cross MinGW32 version). |
321d21fc JB |
81 | |
82 | %description static -l pl.UTF-8 | |
3ea966e4 | 83 | Statyczne biblioteki Boost (wersja skrośna MinGW32). |
321d21fc | 84 | |
28441938 | 85 | %package dll |
c66a9041 JB |
86 | Summary: Boost - DLL libraries for Windows |
87 | Summary(pl.UTF-8): Boost - biblioteki DLL dla Windows | |
28441938 | 88 | Group: Applications/Emulators |
670a15d7 JB |
89 | Requires: crossmingw32-bzip2-dll |
90 | Requires: crossmingw32-zlib-dll | |
91 | Requires: wine | |
28441938 | 92 | |
93 | %description dll | |
c66a9041 | 94 | Boost - DLL libraries for Windows. |
28441938 | 95 | |
241a7e06 | 96 | %description dll -l pl.UTF-8 |
c66a9041 | 97 | Boost - biblioteki DLL dla Windows. |
28441938 | 98 | |
99 | %prep | |
670a15d7 | 100 | %setup -q -n %{realname}_%{fver} |
9ce0c68c | 101 | %patch0 -p1 |
28441938 | 102 | |
b184e0d6 JB |
103 | echo 'using gcc : : %{target}-g++ : ' \ |
104 | '<cxxflags>"%{rpmcxxflags}"' \ | |
105 | '<archiver>%{target}-ar' \ | |
60b3a203 | 106 | '<rc>%{target}-windres ;' >tools/build/src/user-config.jam |
28441938 | 107 | |
8571d934 | 108 | # use Windows Message Compiler, not Midnight Commander |
60b3a203 | 109 | %{__sed} -i -e 's,mc $(MCFLAGS),%{target}-windmc $(MCFLAGS),' tools/build/src/tools/mc.jam |
d97fa3b7 | 110 | |
8571d934 | 111 | %build |
ac7c1080 ŁK |
112 | ./bootstrap.sh --prefix=%{_prefix} |
113 | ./b2 \ | |
3ea966e4 | 114 | -d2 \ |
320e1ccc | 115 | %{_smp_mflags} \ |
0826927f | 116 | -sBZIP2_BINARY=bzip2 \ |
320e1ccc | 117 | --layout=versioned \ |
60b3a203 | 118 | %{!?with_context:--without-context --without-coroutine --without-coroutine2} \ |
0826927f | 119 | --without-python \ |
e02b91c6 | 120 | %{!?with_serialization:--without-serialization} \ |
2f2b715e | 121 | %{!?with_test:--without-test} \ |
60b3a203 | 122 | abi=ms \ |
2f2b715e | 123 | address-model=32 \ |
60b3a203 | 124 | binary-format=pe \ |
0826927f JB |
125 | debug-symbols=on \ |
126 | inlining=on \ | |
127 | link=static,shared \ | |
ff36f437 | 128 | target-os=windows \ |
320e1ccc | 129 | threadapi=win32 \ |
0826927f | 130 | threading=multi \ |
320e1ccc JB |
131 | toolset=gcc \ |
132 | variant=release | |
28441938 | 133 | |
28441938 | 134 | %if 0%{!?debug:1} |
3ea966e4 JB |
135 | %{target}-strip stage/lib/*.dll |
136 | %{target}-strip -g -R.comment -R.note stage/lib/*.a | |
28441938 | 137 | %endif |
138 | ||
139 | %install | |
140 | rm -rf $RPM_BUILD_ROOT | |
c66a9041 | 141 | install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_dlldir}} |
28441938 | 142 | |
c66a9041 | 143 | cp -r boost $RPM_BUILD_ROOT%{_includedir} |
3ea966e4 JB |
144 | cp -a stage/lib/*.a $RPM_BUILD_ROOT%{_libdir} |
145 | install stage/lib/*.dll $RPM_BUILD_ROOT%{_dlldir} | |
28441938 | 146 | |
147 | %clean | |
148 | rm -rf $RPM_BUILD_ROOT | |
149 | ||
150 | %files | |
151 | %defattr(644,root,root,755) | |
2f2b715e JB |
152 | %{_libdir}/libboost_atomic-%{abi_tag}.dll.a |
153 | %{_libdir}/libboost_chrono-%{abi_tag}.dll.a | |
154 | %{_libdir}/libboost_container-%{abi_tag}.dll.a | |
155 | %{?with_context:%{_libdir}/libboost_context-%{abi_tag}.dll.a} | |
156 | %{_libdir}/libboost_contract-%{abi_tag}.dll.a | |
157 | %{?with_context:%{_libdir}/libboost_coroutine-%{abi_tag}.dll.a} | |
158 | %{_libdir}/libboost_date_time-%{abi_tag}.dll.a | |
d621e2c6 | 159 | %{_libdir}/libboost_fiber-%{abi_tag}.dll.a |
2f2b715e JB |
160 | %{_libdir}/libboost_filesystem-%{abi_tag}.dll.a |
161 | %{_libdir}/libboost_graph-%{abi_tag}.dll.a | |
162 | %{_libdir}/libboost_iostreams-%{abi_tag}.dll.a | |
9ce0c68c | 163 | %{_libdir}/libboost_json-%{abi_tag}.dll.a |
2f2b715e JB |
164 | %{_libdir}/libboost_locale-%{abi_tag}.dll.a |
165 | %{_libdir}/libboost_log-%{abi_tag}.dll.a | |
166 | %{_libdir}/libboost_log_setup-%{abi_tag}.dll.a | |
167 | %{_libdir}/libboost_math_c99-%{abi_tag}.dll.a | |
168 | %{_libdir}/libboost_math_c99f-%{abi_tag}.dll.a | |
169 | %{_libdir}/libboost_math_c99l-%{abi_tag}.dll.a | |
170 | %{_libdir}/libboost_math_tr1-%{abi_tag}.dll.a | |
171 | %{_libdir}/libboost_math_tr1f-%{abi_tag}.dll.a | |
172 | %{_libdir}/libboost_math_tr1l-%{abi_tag}.dll.a | |
9f1e7576 | 173 | %{_libdir}/libboost_nowide-%{abi_tag}.dll.a |
2f2b715e JB |
174 | %{?with_test:%{_libdir}/libboost_prg_exec_monitor-%{abi_tag}.dll.a} |
175 | %{_libdir}/libboost_program_options-%{abi_tag}.dll.a | |
176 | %{_libdir}/libboost_random-%{abi_tag}.dll.a | |
177 | %{_libdir}/libboost_regex-%{abi_tag}.dll.a | |
178 | %{?with_serialization:%{_libdir}/libboost_serialization-%{abi_tag}.dll.a} | |
2f2b715e JB |
179 | %{_libdir}/libboost_stacktrace_basic-%{abi_tag}.dll.a |
180 | %{_libdir}/libboost_stacktrace_noop-%{abi_tag}.dll.a | |
181 | %{_libdir}/libboost_system-%{abi_tag}.dll.a | |
182 | %{?with_test:%{_libdir}/libboost_test_exec_monitor-%{abi_tag}.a} | |
183 | %{_libdir}/libboost_thread-%{abi_tag}.dll.a | |
184 | %{_libdir}/libboost_timer-%{abi_tag}.dll.a | |
185 | %{_libdir}/libboost_type_erasure-%{abi_tag}.dll.a | |
186 | %{?with_test:%{_libdir}/libboost_unit_test_framework-%{abi_tag}.dll.a} | |
d621e2c6 | 187 | %{_libdir}/libboost_url-%{abi_tag}.dll.a |
2f2b715e JB |
188 | %{_libdir}/libboost_wave-%{abi_tag}.dll.a |
189 | %{?with_serialization:%{_libdir}/libboost_wserialization-%{abi_tag}.dll.a} | |
320e1ccc | 190 | # static-only |
2f2b715e | 191 | %{_libdir}/libboost_exception-%{abi_tag}.a |
c66a9041 | 192 | %{_includedir}/boost |
321d21fc JB |
193 | |
194 | %files static | |
195 | %defattr(644,root,root,755) | |
2f2b715e JB |
196 | %{_libdir}/libboost_atomic-%{abi_tag}.a |
197 | %{_libdir}/libboost_chrono-%{abi_tag}.a | |
198 | %{_libdir}/libboost_container-%{abi_tag}.a | |
199 | %{?with_context:%{_libdir}/libboost_context-%{abi_tag}.a} | |
200 | %{_libdir}/libboost_contract-%{abi_tag}.a | |
201 | %{?with_context:%{_libdir}/libboost_coroutine-%{abi_tag}.a} | |
202 | %{_libdir}/libboost_date_time-%{abi_tag}.a | |
d621e2c6 | 203 | %{_libdir}/libboost_fiber-%{abi_tag}.a |
2f2b715e JB |
204 | %{_libdir}/libboost_filesystem-%{abi_tag}.a |
205 | %{_libdir}/libboost_graph-%{abi_tag}.a | |
206 | %{_libdir}/libboost_iostreams-%{abi_tag}.a | |
9ce0c68c | 207 | %{_libdir}/libboost_json-%{abi_tag}.a |
2f2b715e JB |
208 | %{_libdir}/libboost_locale-%{abi_tag}.a |
209 | %{_libdir}/libboost_log-%{abi_tag}.a | |
210 | %{_libdir}/libboost_log_setup-%{abi_tag}.a | |
211 | %{_libdir}/libboost_math_c99-%{abi_tag}.a | |
212 | %{_libdir}/libboost_math_c99f-%{abi_tag}.a | |
213 | %{_libdir}/libboost_math_c99l-%{abi_tag}.a | |
214 | %{_libdir}/libboost_math_tr1-%{abi_tag}.a | |
215 | %{_libdir}/libboost_math_tr1f-%{abi_tag}.a | |
216 | %{_libdir}/libboost_math_tr1l-%{abi_tag}.a | |
9f1e7576 | 217 | %{_libdir}/libboost_nowide-%{abi_tag}.a |
2f2b715e JB |
218 | %{?with_test:%{_libdir}/libboost_prg_exec_monitor-%{abi_tag}.a} |
219 | %{_libdir}/libboost_program_options-%{abi_tag}.a | |
220 | %{_libdir}/libboost_random-%{abi_tag}.a | |
221 | %{_libdir}/libboost_regex-%{abi_tag}.a | |
222 | %{?with_serialization:%{_libdir}/libboost_serialization-%{abi_tag}.a} | |
2f2b715e JB |
223 | %{_libdir}/libboost_stacktrace_basic-%{abi_tag}.a |
224 | %{_libdir}/libboost_stacktrace_noop-%{abi_tag}.a | |
225 | %{_libdir}/libboost_system-%{abi_tag}.a | |
226 | %{_libdir}/libboost_thread-%{abi_tag}.a | |
227 | %{_libdir}/libboost_timer-%{abi_tag}.a | |
228 | %{_libdir}/libboost_type_erasure-%{abi_tag}.a | |
229 | %{?with_test:%{_libdir}/libboost_unit_test_framework-%{abi_tag}.a} | |
d621e2c6 | 230 | %{_libdir}/libboost_url-%{abi_tag}.a |
2f2b715e JB |
231 | %{_libdir}/libboost_wave-%{abi_tag}.a |
232 | %{?with_serialization:%{_libdir}/libboost_wserialization-%{abi_tag}.a} | |
28441938 | 233 | |
234 | %files dll | |
235 | %defattr(644,root,root,755) | |
2f2b715e JB |
236 | %{_dlldir}/libboost_atomic-%{abi_tag}.dll |
237 | %{_dlldir}/libboost_chrono-%{abi_tag}.dll | |
238 | %{_dlldir}/libboost_container-%{abi_tag}.dll | |
239 | %{?with_context:%{_dlldir}/libboost_context-%{abi_tag}.dll} | |
240 | %{_dlldir}/libboost_contract-%{abi_tag}.dll | |
241 | %{?with_context:%{_dlldir}/libboost_coroutine-%{abi_tag}.dll} | |
242 | %{_dlldir}/libboost_date_time-%{abi_tag}.dll | |
d621e2c6 | 243 | %{_dlldir}/libboost_fiber-%{abi_tag}.dll |
2f2b715e JB |
244 | %{_dlldir}/libboost_filesystem-%{abi_tag}.dll |
245 | %{_dlldir}/libboost_graph-%{abi_tag}.dll | |
246 | %{_dlldir}/libboost_iostreams-%{abi_tag}.dll | |
9ce0c68c | 247 | %{_dlldir}/libboost_json-%{abi_tag}.dll |
2f2b715e JB |
248 | %{_dlldir}/libboost_locale-%{abi_tag}.dll |
249 | %{_dlldir}/libboost_log-%{abi_tag}.dll | |
250 | %{_dlldir}/libboost_log_setup-%{abi_tag}.dll | |
251 | %{_dlldir}/libboost_math_c99-%{abi_tag}.dll | |
252 | %{_dlldir}/libboost_math_c99f-%{abi_tag}.dll | |
253 | %{_dlldir}/libboost_math_c99l-%{abi_tag}.dll | |
254 | %{_dlldir}/libboost_math_tr1-%{abi_tag}.dll | |
255 | %{_dlldir}/libboost_math_tr1f-%{abi_tag}.dll | |
256 | %{_dlldir}/libboost_math_tr1l-%{abi_tag}.dll | |
9f1e7576 | 257 | %{_dlldir}/libboost_nowide-%{abi_tag}.dll |
2f2b715e JB |
258 | %{?with_test:%{_dlldir}/libboost_prg_exec_monitor-%{abi_tag}.dll} |
259 | %{_dlldir}/libboost_program_options-%{abi_tag}.dll | |
260 | %{_dlldir}/libboost_random-%{abi_tag}.dll | |
261 | %{_dlldir}/libboost_regex-%{abi_tag}.dll | |
262 | %{?with_serialization:%{_dlldir}/libboost_serialization-%{abi_tag}.dll} | |
2f2b715e JB |
263 | %{_dlldir}/libboost_stacktrace_basic-%{abi_tag}.dll |
264 | %{_dlldir}/libboost_stacktrace_noop-%{abi_tag}.dll | |
265 | %{_dlldir}/libboost_system-%{abi_tag}.dll | |
266 | %{_dlldir}/libboost_thread-%{abi_tag}.dll | |
267 | %{_dlldir}/libboost_timer-%{abi_tag}.dll | |
268 | %{_dlldir}/libboost_type_erasure-%{abi_tag}.dll | |
269 | %{?with_test:%{_dlldir}/libboost_unit_test_framework-%{abi_tag}.dll} | |
d621e2c6 | 270 | %{_dlldir}/libboost_url-%{abi_tag}.dll |
2f2b715e JB |
271 | %{_dlldir}/libboost_wave-%{abi_tag}.dll |
272 | %{?with_serialization:%{_dlldir}/libboost_wserialization-%{abi_tag}.dll} |