]> git.pld-linux.org Git - packages/crossmingw32-boost.git/blob - crossmingw32-boost.spec
- updated to 1.82.0
[packages/crossmingw32-boost.git] / crossmingw32-boost.spec
1 #
2 # Conditional build:
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
6 #
7 %define         realname        boost
8 Summary:        The Boost C++ Libraries - MinGW32 cross version
9 Summary(pl.UTF-8):      Biblioteki C++ "Boost" - wersja skrośna dla MinGW32
10 Name:           crossmingw32-%{realname}
11 Version:        1.82.0
12 %define fver    %(echo %{version} | tr . _)
13 Release:        1
14 License:        Boost Software License and others
15 Group:          Development/Libraries
16 Source0:        https://boostorg.jfrog.io/artifactory/main/release/%{version}/source/%{realname}_%{fver}.tar.bz2
17 # Source0-md5:  b45dac8b54b58c087bfbed260dbfc03a
18 Patch0:         boost-allow-mingw32-thread-local.patch
19 URL:            http://www.boost.org/
20 BuildRequires:  crossmingw32-bzip2
21 BuildRequires:  crossmingw32-gcc-c++
22 BuildRequires:  crossmingw32-runtime
23 BuildRequires:  crossmingw32-w32api >= 1:5.4.2-2
24 BuildRequires:  crossmingw32-zlib
25 Requires:       crossmingw32-bzip2
26 Requires:       crossmingw32-runtime
27 Requires:       crossmingw32-zlib
28 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29
30 %define         no_install_post_strip   1
31 %define         _enable_debug_packages  0
32
33 %define         target          i386-mingw32
34 %define         target_platform i386-pc-mingw32
35
36 %define         _sysprefix      /usr
37 %define         _prefix         %{_sysprefix}/%{target}
38 %define         _libdir         %{_prefix}/lib
39 %define         _dlldir         /usr/share/wine/windows/system
40
41 %define         __cc            %{target}-gcc
42 %define         __cxx           %{target}-g++
43
44 %ifnarch %{ix86}
45 # arch-specific flags (like alpha's -mieee) are not valid for i386 gcc
46 %define         optflags        -O2
47 %endif
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
53 %define         abi_tag         mgw*-mt-x32-1_82
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
64 %description -l pl.UTF-8
65 Strona http://www.boost.org/ dostarcza darmowe biblioteki C++ wraz z
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
71 Raporcie Technicznym Biblioteki Standardowej C++.
72
73 %package static
74 Summary:        Static Boost libraries (cross MinGW32 version)
75 Summary(pl.UTF-8):      Statyczne biblioteki Boost (wersja skrośna MinGW32)
76 Group:          Development/Libraries
77 Requires:       %{name} = %{version}-%{release}
78
79 %description static
80 Static Boost libraries (cross MinGW32 version).
81
82 %description static -l pl.UTF-8
83 Statyczne biblioteki Boost (wersja skrośna MinGW32).
84
85 %package dll
86 Summary:        Boost - DLL libraries for Windows
87 Summary(pl.UTF-8):      Boost - biblioteki DLL dla Windows
88 Group:          Applications/Emulators
89 Requires:       crossmingw32-bzip2-dll
90 Requires:       crossmingw32-zlib-dll
91 Requires:       wine
92
93 %description dll
94 Boost - DLL libraries for Windows.
95
96 %description dll -l pl.UTF-8
97 Boost - biblioteki DLL dla Windows.
98
99 %prep
100 %setup -q -n %{realname}_%{fver}
101 %patch0 -p1
102
103 echo 'using gcc : : %{target}-g++ : ' \
104         '<cxxflags>"%{rpmcxxflags}"' \
105         '<archiver>%{target}-ar' \
106         '<rc>%{target}-windres ;' >tools/build/src/user-config.jam
107
108 # use Windows Message Compiler, not Midnight Commander
109 %{__sed} -i -e 's,mc $(MCFLAGS),%{target}-windmc $(MCFLAGS),' tools/build/src/tools/mc.jam
110
111 %build
112 ./bootstrap.sh --prefix=%{_prefix}
113 ./b2 \
114         -d2 \
115         %{_smp_mflags} \
116         -sBZIP2_BINARY=bzip2 \
117         --layout=versioned \
118         %{!?with_context:--without-context --without-coroutine --without-coroutine2} \
119         --without-python \
120         %{!?with_serialization:--without-serialization} \
121         %{!?with_test:--without-test} \
122         abi=ms \
123         address-model=32 \
124         binary-format=pe \
125         debug-symbols=on \
126         inlining=on \
127         link=static,shared \
128         target-os=windows \
129         threadapi=win32 \
130         threading=multi \
131         toolset=gcc \
132         variant=release
133
134 %if 0%{!?debug:1}
135 %{target}-strip stage/lib/*.dll
136 %{target}-strip -g -R.comment -R.note stage/lib/*.a
137 %endif
138
139 %install
140 rm -rf $RPM_BUILD_ROOT
141 install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_dlldir}}
142
143 cp -r boost $RPM_BUILD_ROOT%{_includedir}
144 cp -a stage/lib/*.a $RPM_BUILD_ROOT%{_libdir}
145 install stage/lib/*.dll $RPM_BUILD_ROOT%{_dlldir}
146
147 %clean
148 rm -rf $RPM_BUILD_ROOT
149
150 %files
151 %defattr(644,root,root,755)
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
159 %{_libdir}/libboost_fiber-%{abi_tag}.dll.a
160 %{_libdir}/libboost_filesystem-%{abi_tag}.dll.a
161 %{_libdir}/libboost_graph-%{abi_tag}.dll.a
162 %{_libdir}/libboost_iostreams-%{abi_tag}.dll.a
163 %{_libdir}/libboost_json-%{abi_tag}.dll.a
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
173 %{_libdir}/libboost_nowide-%{abi_tag}.dll.a
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}
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}
187 %{_libdir}/libboost_url-%{abi_tag}.dll.a
188 %{_libdir}/libboost_wave-%{abi_tag}.dll.a
189 %{?with_serialization:%{_libdir}/libboost_wserialization-%{abi_tag}.dll.a}
190 # static-only
191 %{_libdir}/libboost_exception-%{abi_tag}.a
192 %{_includedir}/boost
193
194 %files static
195 %defattr(644,root,root,755)
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
203 %{_libdir}/libboost_fiber-%{abi_tag}.a
204 %{_libdir}/libboost_filesystem-%{abi_tag}.a
205 %{_libdir}/libboost_graph-%{abi_tag}.a
206 %{_libdir}/libboost_iostreams-%{abi_tag}.a
207 %{_libdir}/libboost_json-%{abi_tag}.a
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
217 %{_libdir}/libboost_nowide-%{abi_tag}.a
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}
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}
230 %{_libdir}/libboost_url-%{abi_tag}.a
231 %{_libdir}/libboost_wave-%{abi_tag}.a
232 %{?with_serialization:%{_libdir}/libboost_wserialization-%{abi_tag}.a}
233
234 %files dll
235 %defattr(644,root,root,755)
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
243 %{_dlldir}/libboost_fiber-%{abi_tag}.dll
244 %{_dlldir}/libboost_filesystem-%{abi_tag}.dll
245 %{_dlldir}/libboost_graph-%{abi_tag}.dll
246 %{_dlldir}/libboost_iostreams-%{abi_tag}.dll
247 %{_dlldir}/libboost_json-%{abi_tag}.dll
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
257 %{_dlldir}/libboost_nowide-%{abi_tag}.dll
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}
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}
270 %{_dlldir}/libboost_url-%{abi_tag}.dll
271 %{_dlldir}/libboost_wave-%{abi_tag}.dll
272 %{?with_serialization:%{_dlldir}/libboost_wserialization-%{abi_tag}.dll}
This page took 0.189942 seconds and 4 git commands to generate.