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