1 |
# used for easy branding |
2 |
%define distro mageia |
3 |
|
4 |
%define branch 9 |
5 |
%define branch_major 2 |
6 |
%define branch_minor 1 |
7 |
%define rel 1 |
8 |
%define branch_tag %(perl -e 'printf "%%02d%%02d", split(/\\./,shift)' %{branch}) |
9 |
%define snapshot 20191116 |
10 |
%define nof_arches noarch |
11 |
%define biarches x86_64 |
12 |
|
13 |
# Define libraries major versions |
14 |
%define libcc_major 0 |
15 |
%define libgcc_major 1 |
16 |
%define libstdcxx_major 6 |
17 |
%define libstdcxx_micro 28 |
18 |
%define libgfortran_major 5 |
19 |
%define libobjc_major 4 |
20 |
%define libgnat_major 9 |
21 |
%define libffi_major 4 |
22 |
%define libssp_major 0 |
23 |
%define libgomp_major 1 |
24 |
%define libquadmath_major 0 |
25 |
%define libitm_major 1 |
26 |
%define libasan_major 5 |
27 |
%define libatomic_major 1 |
28 |
%define libatomic_minor 2 |
29 |
%define liblsan_major 0 |
30 |
%define libtsan_major 0 |
31 |
%define libubsan_major 1 |
32 |
%define libvtv_major 0 |
33 |
|
34 |
# Disable -Werror because there's a format string warning in gcc/cp/parser.c |
35 |
# around line 2300 that a comment says is intentional :( |
36 |
%define Werror_cflags %nil |
37 |
|
38 |
# Define if building a cross compiler |
39 |
# FIXME: assume user does not define both cross and cross_bootstrap variables |
40 |
%define build_cross 0 |
41 |
%define build_cross_bootstrap 0 |
42 |
%{expand: %{?cross: %%global build_cross 1}} |
43 |
%{expand: %{?cross_bootstrap: %%global build_cross_bootstrap 1}} |
44 |
|
45 |
# System compiler in Mageia |
46 |
%define system_compiler 1 |
47 |
|
48 |
%define target_cpu %{_target_cpu} |
49 |
%if %{build_cross} |
50 |
%define system_compiler 0 |
51 |
%define target_cpu %{cross} |
52 |
%endif |
53 |
%if %{build_cross_bootstrap} |
54 |
%define build_cross 1 |
55 |
%define system_compiler 0 |
56 |
%define target_cpu %{cross_bootstrap} |
57 |
%endif |
58 |
%if %{system_compiler} |
59 |
%define alternative_priority 30%{branch_tag} |
60 |
%define cross_prefix %{nil} |
61 |
%define cross_program_prefix %{nil} |
62 |
%define package_suffix %{nil} |
63 |
%define program_prefix %{nil} |
64 |
%define program_suffix %{nil} |
65 |
%define program_long_suffix -%{version} |
66 |
%else |
67 |
%if %{build_cross} |
68 |
%define alternative_priority 10%{branch_tag} |
69 |
%define cross_prefix cross-%{target_cpu}- |
70 |
%define cross_program_prefix %{target_cpu}-%{_real_vendor}-linux%{gnuext}- |
71 |
%define package_suffix %{nil} |
72 |
%define program_prefix %{cross_program_prefix} |
73 |
%define program_suffix %{nil} |
74 |
%define program_long_suffix -%{version} |
75 |
%else |
76 |
%define alternative_priority 20%{branch_tag} |
77 |
%define cross_prefix %{nil} |
78 |
%define cross_program_prefix %{nil} |
79 |
%define package_suffix %{branch} |
80 |
%define program_prefix %{nil} |
81 |
%define program_suffix %{branch} |
82 |
%define program_long_suffix %{branch} |
83 |
%endif |
84 |
%endif |
85 |
%define _alternativesdir /etc/alternatives |
86 |
%if "%{package_suffix}" == "%{nil}" |
87 |
%define _package_suffix %{nil} |
88 |
%else |
89 |
%define _package_suffix -%{package_suffix} |
90 |
%endif |
91 |
|
92 |
%if "%snapshot" != "" |
93 |
%define source_package gcc-%{branch}-%{snapshot} |
94 |
%define source_dir gcc-%{branch}-%{snapshot} |
95 |
%else |
96 |
%define source_package gcc-%{version} |
97 |
%define source_dir gcc-%{version} |
98 |
%endif |
99 |
|
100 |
# Define GCC target platform, and arch we built for |
101 |
%if %{build_cross} |
102 |
%define biarches noarch |
103 |
%define arch %{target_cpu} |
104 |
%define gcc_target_platform %{target_cpu}-%{_real_vendor}-linux%{gnuext} |
105 |
%define target_prefix %{_prefix}/%{gcc_target_platform} |
106 |
%define target_libdir %{target_prefix}/%{target_lib} |
107 |
%define target_slibdir %{target_prefix}/%{target_lib} |
108 |
%define target_slibdir32 %{target_prefix}/lib |
109 |
%else |
110 |
%define arch %(echo %{_target_cpu}|sed -e "s/\\(i.86\\|athlon\\)/i386/" -e "s/amd64/x86_64/") |
111 |
%define gcc_target_platform %{_target_platform} |
112 |
%define target_prefix %{_prefix} |
113 |
%define target_libdir %{_libdir} |
114 |
%define target_slibdir /%{_lib} |
115 |
%define target_slibdir32 /lib |
116 |
%endif |
117 |
%define isarch() %(case " %* " in (*" %{arch} "*) echo 1;; (*) echo 0;; esac) |
118 |
%define gcc_libdir %{_prefix}/lib/gcc |
119 |
|
120 |
%if %{build_cross} |
121 |
%if %isarch %arm |
122 |
%define gnuext -gnueabi |
123 |
%else |
124 |
%define gnuext -gnu |
125 |
%endif |
126 |
%endif |
127 |
|
128 |
%if %isarch x86_64 aarch64 |
129 |
%define target_lib lib64 |
130 |
%else |
131 |
%define target_lib lib |
132 |
%endif |
133 |
|
134 |
%if %isarch x86_64 |
135 |
%define multilib_32_arch i586 |
136 |
%endif |
137 |
%if %isarch %{biarches} |
138 |
%define gcc32_target_platform %{multilib_32_arch}-%{distro}-%{_target_os}%{?_gnu} |
139 |
%endif |
140 |
|
141 |
# We now have versioned libstdcxx_includedir, that is c++/<VERSION>/ |
142 |
%define libstdcxx_includedir %{target_prefix}/include/c++/%{version} |
143 |
|
144 |
%define build_minimal 0 |
145 |
%define build_monolithic 0 |
146 |
%define build_doc 1 |
147 |
%define build_pdf_doc 0 |
148 |
%define build_libstdcxx_docs 1 |
149 |
%define build_check 0 |
150 |
%define build_ada 1 |
151 |
%define build_cxx 1 |
152 |
%define build_libstdcxx %{build_cxx} |
153 |
%define build_fortran 1 |
154 |
%if %isarch %arm aarch64 |
155 |
%define build_quadmath 0 |
156 |
%else |
157 |
%define build_quadmath 1 |
158 |
%endif |
159 |
%define build_objc 1 |
160 |
%define build_objc_gc 0 |
161 |
%define build_objcp 1 |
162 |
%define build_libffi 0 |
163 |
%define build_libgomp 1 |
164 |
%define build_debug 0 |
165 |
%define build_stdcxxheaders 1 |
166 |
%define build_libitm 1 |
167 |
%define build_libasan 1 |
168 |
%define build_libatomic 1 |
169 |
%define build_libubsan 1 |
170 |
# only i?86 and x86_64 are supported, see libvtv/configure.tgt |
171 |
%ifarch %{ix86} x86_64 |
172 |
%define build_libvtv 0 |
173 |
%else |
174 |
%define build_libvtv 0 |
175 |
%endif |
176 |
%if %isarch x86_64 aarch64 |
177 |
%define build_liblsan 1 |
178 |
%define build_libtsan 1 |
179 |
%else |
180 |
%define build_liblsan 0 |
181 |
%define build_libtsan 0 |
182 |
%endif |
183 |
# use SSP support from glibc |
184 |
%define use_ssp_glibc 1 |
185 |
%define build_libssp 0 |
186 |
%if !%{system_compiler} |
187 |
%define build_objc 0 |
188 |
%define build_objc_gc 0 |
189 |
%define build_objcp 0 |
190 |
%define build_ada 0 |
191 |
%define build_libffi 0 |
192 |
%define build_libgomp 0 |
193 |
%endif |
194 |
%define build_isl 1 |
195 |
|
196 |
# Define C library to use |
197 |
%define libc glibc |
198 |
%define libc_shared 1 |
199 |
%if !%{build_cross_bootstrap} |
200 |
# Make sure pthread.h doesn't contain __thread keyword |
201 |
%define libc_version 2.2.5-14 |
202 |
%if %{use_ssp_glibc} |
203 |
# Make sure glibc supports stack protector |
204 |
%define libc_version 2.4-1 |
205 |
%endif |
206 |
%endif |
207 |
|
208 |
# Allow --with[out] <feature> at rpm command line build |
209 |
%{expand: %{?_without_PDF: %%global build_pdf_doc 0}} |
210 |
%{expand: %{?_without_DEBUG: %%global build_debug 0}} |
211 |
%{expand: %{?_without_check: %%global build_check 0}} |
212 |
%{expand: %{?_without_CHECK: %%global build_check 0}} |
213 |
%{expand: %{?_without_MINIMAL: %%global build_minimal 0}} |
214 |
%{expand: %{?_with_PDF: %%global build_pdf_doc 1}} |
215 |
%{expand: %{?_with_DEBUG: %%global build_debug 1}} |
216 |
%{expand: %{?_with_CHECK: %%global build_check 1}} |
217 |
%{expand: %{?_with_MINIMAL: %%global build_minimal 1}} |
218 |
|
219 |
# Allow --without <front-end> at rpm command line build |
220 |
%{expand: %{?_with_CXX: %%global build_cxx 1}} |
221 |
%{expand: %{?_with_ADA: %%global build_ada 1}} |
222 |
%{expand: %{?_with_FORTRAN: %%global build_fortran 1}} |
223 |
%{expand: %{?_with_OBJC: %%global build_objc 1}} |
224 |
%{expand: %{?_with_OBJCXX: %%global build_objcp 1}} |
225 |
|
226 |
# Allow --with <front-end> at rpm command line build |
227 |
%{expand: %{?_without_CXX: %%global build_cxx 0}} |
228 |
%{expand: %{?_without_ADA: %%global build_ada 0}} |
229 |
%{expand: %{?_without_FORTRAN: %%global build_fortran 0}} |
230 |
%{expand: %{?_without_OBJC: %%global build_objc 0}} |
231 |
%{expand: %{?_without_OBJCXX: %%global build_objcp 0}} |
232 |
|
233 |
# A minimal build overrides all other options |
234 |
%if %{build_cross_bootstrap} |
235 |
%define build_minimal 1 |
236 |
%define libc_shared 0 |
237 |
%endif |
238 |
%if %{build_minimal} |
239 |
%define build_doc 0 |
240 |
%define build_pdf_doc 0 |
241 |
%define build_libstdcxx_docs 0 |
242 |
%define build_check 0 |
243 |
%define build_ada 0 |
244 |
%define build_cxx 0 |
245 |
%define build_fortran 0 |
246 |
%define build_quadmath 0 |
247 |
%define build_objc 0 |
248 |
%define build_objc_gc 0 |
249 |
%define build_objcp 0 |
250 |
%define build_debug 0 |
251 |
%define build_libffi 0 |
252 |
%define build_libitm 0 |
253 |
%define build_libasan 0 |
254 |
%define build_libatomic 0 |
255 |
%define build_liblsan 0 |
256 |
%define build_libtsan 0 |
257 |
%define build_libubsan 0 |
258 |
%endif |
259 |
%if %{build_cross} |
260 |
%define build_monolithic 1 |
261 |
%define build_doc 0 |
262 |
%define build_pdf_doc 0 |
263 |
%define build_libstdcxx_docs 0 |
264 |
# Unsupported front-ends when cross-compiling for now |
265 |
%define build_check 0 |
266 |
%define build_ada 0 |
267 |
%define build_libffi 0 |
268 |
%endif |
269 |
|
270 |
# Define library packages names |
271 |
%define libgcc_name_orig %{cross_prefix}libgcc |
272 |
%define libgcc_name %{libgcc_name_orig}%{libgcc_major} |
273 |
%define libstdcxx_name_orig %{cross_prefix}libstdc++ |
274 |
%define libstdcxx_name %{libstdcxx_name_orig}%{libstdcxx_major} |
275 |
%define libgfortran_name_orig %{cross_prefix}libgfortran |
276 |
%define libgfortran_name %{libgfortran_name_orig}%{libgfortran_major} |
277 |
%define libobjc_name_orig %{cross_prefix}libobjc |
278 |
%define libobjc_name %{libobjc_name_orig}%{libobjc_major} |
279 |
%define libgnat_name_orig %{cross_prefix}libgnat |
280 |
%define libgnat_name %{libgnat_name_orig}%{libgnat_major} |
281 |
%define libffi_name_orig %{cross_prefix}libffi |
282 |
%define libffi_name %{libffi_name_orig}%{libffi_major} |
283 |
%define libssp_name_orig %{cross_prefix}libssp |
284 |
%define libssp_name %{libssp_name_orig}%{libssp_major} |
285 |
%define libgomp_name_orig %{cross_prefix}libgomp |
286 |
%define libgomp_name %{libgomp_name_orig}%{libgomp_major} |
287 |
%define libquadmath_name_orig %{cross_prefix}libquadmath |
288 |
%define libquadmath_name %{libquadmath_name_orig}%{libquadmath_major} |
289 |
%define libitm_name_orig %{cross_prefix}libitm |
290 |
%define libitm_name %{libitm_name_orig}%{libitm_major} |
291 |
%define libasan_name_orig %{cross_prefix}libasan |
292 |
%define libasan_name %{libasan_name_orig}%{libasan_major} |
293 |
%define libatomic_name_orig %{cross_prefix}libatomic |
294 |
%define libatomic_name %{libatomic_name_orig}%{libatomic_major} |
295 |
%define liblsan_name_orig %{cross_prefix}liblsan |
296 |
%define liblsan_name %{liblsan_name_orig}%{liblsan_major} |
297 |
%define libtsan_name_orig %{cross_prefix}libtsan |
298 |
%define libtsan_name %{libtsan_name_orig}%{libtsan_major} |
299 |
%define libubsan_name_orig %{cross_prefix}libubsan |
300 |
%define libubsan_name %{libubsan_name_orig}%{libubsan_major} |
301 |
%define libvtv_name_orig %{cross_prefix}libvtv |
302 |
%define libvtv_name %{libvtv_name_orig}%{libvtv_major} |
303 |
|
304 |
# Extract Mageia name and version |
305 |
%define mga_distro_version_file /etc/release |
306 |
%define mga_distro_version %(perl -ne '/^([.\\w\\s]+) \\(.+\\).+/ and print $1' < %{mga_distro_version_file}) |
307 |
|
308 |
Summary: GNU Compiler Collection |
309 |
Name: %{cross_prefix}gcc%{package_suffix} |
310 |
Version: %{branch}.%{branch_major}.%{branch_minor} |
311 |
%if "%snapshot" != "" |
312 |
Release: %mkrel 0.%{snapshot}.%{rel} |
313 |
%else |
314 |
Release: %mkrel %{rel} |
315 |
%endif |
316 |
License: GPLv3+ |
317 |
Group: Development/C |
318 |
|
319 |
# Main source: |
320 |
URL: https://gcc.gnu.org/ |
321 |
%if "%snapshot" != "" |
322 |
Source0: https://gcc.gnu.org/pub/gcc/snapshots/%{branch}-%{snapshot}/%{source_package}.tar.xz |
323 |
%else |
324 |
Source0: https://ftpmirror.gnu.org/gcc/%{source_package}/%{source_package}.tar.xz |
325 |
%endif |
326 |
|
327 |
# Patches |
328 |
# upstream gcc-9 branch, numbered from 1 |
329 |
|
330 |
# upstream master branch, numbered from 101 |
331 |
|
332 |
# Mageia patches, numbered from 201 |
333 |
# build 32 bits code when running through linux32 |
334 |
Patch201: gcc-9.2-linux32.patch |
335 |
# slibdir is either /lib or /lib64 |
336 |
Patch202: gcc-9.2-pass-slibdir.patch |
337 |
# pass libdir around |
338 |
Patch203: gcc-9.2-multi-do-libdir.patch |
339 |
|
340 |
# Fedora patches, numbered from 501 |
341 |
|
342 |
# Want updated alternatives priorities |
343 |
%if %{build_cross} |
344 |
Conflicts: gcc-cpp < 3.2.2-4 |
345 |
%endif |
346 |
# TEMP FORCE NEW binutils |
347 |
%define binutils_version 1:2.33.1-1 |
348 |
|
349 |
# libmudflap got dropped in upstream 4.9 |
350 |
Obsoletes: libmudflap0 |
351 |
Obsoletes: libmudflap-devel |
352 |
# libcilkrts got dropped in upstream 8.0 |
353 |
Obsoletes: libcilkrts5 |
354 |
Obsoletes: libcilkrts-devel |
355 |
|
356 |
# switch to python3 |
357 |
BuildRequires: python3 |
358 |
|
359 |
Requires: %{cross_prefix}binutils >= %{binutils_version} |
360 |
BuildRequires: %{cross_prefix}binutils >= %{binutils_version} |
361 |
# c++ is mandatory to build gcc |
362 |
BuildRequires: gcc-c++ >= 8.3.0-1 |
363 |
# Make sure gdb will understand DW_FORM_strp |
364 |
Conflicts: gdb < 5.1.1 |
365 |
BuildRequires: zlib-devel |
366 |
BuildRequires: chrpath |
367 |
|
368 |
BuildRequires: gcc >= 8.3.0-1 |
369 |
|
370 |
%if %{build_ada} |
371 |
# Ada requires Ada to build |
372 |
BuildRequires: %{name}-gnat >= 8.3.0-1 |
373 |
%endif |
374 |
# isl is used for Graphite support (optimizations) |
375 |
# see http://gcc.gnu.org/wiki/Graphite |
376 |
%if %{build_isl} |
377 |
BuildRequires: isl-devel >= 0.14 |
378 |
%endif |
379 |
#needed for lto support |
380 |
BuildRequires: elfutils-devel |
381 |
Requires: %{name}-cpp = %{version}-%{release} |
382 |
# FIXME: We need a libgcc with 3.4 symbols |
383 |
%if %{libc_shared} && !%{build_monolithic} |
384 |
Requires: %{libgcc_name_orig} >= 3.3.2-5 |
385 |
%endif |
386 |
Requires(post): update-alternatives |
387 |
Requires(postun): update-alternatives |
388 |
BuildRequires: gettext |
389 |
BuildRequires: flex |
390 |
BuildRequires: bison |
391 |
BuildRequires: texinfo >= 4.1 |
392 |
BuildRequires: texinfo-tex |
393 |
# XXX: Needs a GNU awk recent enough to correctly generate options.h |
394 |
BuildRequires: gawk >= 3.1.4 |
395 |
%if "%{?libc_version:%{libc_version}}" != "" |
396 |
Requires: %{cross_prefix}%{libc}-devel >= %{libc_version} |
397 |
BuildRequires: %{cross_prefix}%{libc}-devel >= %{libc_version} |
398 |
%endif |
399 |
%if %{build_check} |
400 |
BuildRequires: %{cross_prefix}glibc-static-devel |
401 |
BuildRequires: autogen |
402 |
%endif |
403 |
%if %{system_compiler} |
404 |
Obsoletes: gcc%{branch} |
405 |
Provides: gcc%{branch} = %{version}-%{release} |
406 |
# see later warning about libgcc_so & ld script |
407 |
# rpm has not way to find that ld script is ld script |
408 |
%if !%build_cross |
409 |
%if %isarch %{arm} %{ix86} x86_64 |
410 |
Provides: devel(libgcc_s) |
411 |
%endif |
412 |
%if %isarch x86_64 aarch64 |
413 |
Provides: devel(libgcc_s(64bit)) |
414 |
%endif |
415 |
%endif |
416 |
%else |
417 |
Conflicts: %{cross_prefix}gcc%{branch} < %{version}-%{release} |
418 |
%endif |
419 |
%if %{build_pdf_doc} |
420 |
BuildRequires: tetex |
421 |
BuildRequires: dvips |
422 |
BuildRequires: tetex-latex |
423 |
%endif |
424 |
%if %{build_libstdcxx_docs} |
425 |
BuildRequires: doxygen |
426 |
BuildRequires: graphviz |
427 |
%endif |
428 |
%if %{build_check} |
429 |
BuildRequires: dejagnu |
430 |
%endif |
431 |
%if %{build_cross} |
432 |
AutoReq: false |
433 |
AutoProv: false |
434 |
%endif |
435 |
BuildRequires: libgmp-devel |
436 |
BuildRequires: pkgconfig(mpfr) |
437 |
BuildRequires: libmpc-devel |
438 |
|
439 |
%description |
440 |
A compiler aimed at integrating all the optimizations and features |
441 |
necessary for a high-performance and stable development environment. |
442 |
This package is required for all other GCC compilers, namely C++, |
443 |
Fortran 95, Objective C, Java and Ada 95. |
444 |
|
445 |
%package -n %{libgcc_name} |
446 |
Summary: GNU C library |
447 |
Group: System/Libraries |
448 |
Provides: %{libgcc_name_orig} = %{version}-%{release} |
449 |
Obsoletes: %{libgcc_name_orig}%{branch} |
450 |
Provides: %{libgcc_name_orig}%{branch} = %{version}-%{release} |
451 |
Obsoletes: %{libgcc_name_orig}3.0 |
452 |
Provides: %{libgcc_name_orig}3.0 = %{version}-%{release} |
453 |
Provides: %{libgcc_name_orig}3.2 = %{version}-%{release} |
454 |
%if %{build_cross} |
455 |
AutoReq: false |
456 |
AutoProv: false |
457 |
%endif |
458 |
|
459 |
%description -n %{libgcc_name} |
460 |
The %{libgcc_name} package contains GCC shared libraries for gcc %{branch} |
461 |
|
462 |
#################################################################### |
463 |
# C++ Compiler |
464 |
|
465 |
%package c++ |
466 |
Summary: C++ support for gcc |
467 |
Group: Development/C++ |
468 |
%if %{system_compiler} |
469 |
Obsoletes: gcc%{branch}-c++ |
470 |
Provides: gcc%{branch}-c++ = %{version}-%{release} |
471 |
%else |
472 |
Conflicts: %{cross_prefix}gcc%{branch}-c++ < %{version}-%{release} |
473 |
%endif |
474 |
Requires: %{name} = %{version}-%{release} |
475 |
%if %{system_compiler} |
476 |
# some day, rpm will be smart enough: #if (#{system_compiler} || #{build_cross}) && !#{build_monolithic} |
477 |
%if %{libc_shared} |
478 |
Requires: %{libstdcxx_name} = %{version} |
479 |
%endif |
480 |
Requires: %{libstdcxx_name_orig}-devel = %{version} |
481 |
%endif |
482 |
|
483 |
%if %{build_cross} |
484 |
AutoReq: false |
485 |
AutoProv: false |
486 |
%endif |
487 |
Requires(post): update-alternatives |
488 |
Requires(postun): update-alternatives |
489 |
|
490 |
%description c++ |
491 |
This package adds C++ support to the GNU C compiler. It includes support |
492 |
for most of the current C++ specification, including templates and |
493 |
exception handling. It does include the static standard C++ |
494 |
library and C++ header files; the library for dynamically linking |
495 |
programs is available separately. |
496 |
|
497 |
#################################################################### |
498 |
# gcc Plugins |
499 |
%package -n %{name}-plugins |
500 |
Summary: Headers to build gcc plugins |
501 |
Group: Development/C |
502 |
%description -n %{name}-plugins |
503 |
This package contains the headers needed to build gcc plugins. |
504 |
|
505 |
#################################################################### |
506 |
# C++ Libraries |
507 |
|
508 |
%package -n %{libstdcxx_name} |
509 |
Summary: GNU C++ library |
510 |
Group: System/Libraries |
511 |
Provides: %{libstdcxx_name_orig} = %{version}-%{release} |
512 |
%if "%{branch}" == "3.3" |
513 |
# By default, the libstdc++ from gcc3.3 is ABI compatible with the one |
514 |
# from gcc3.2. Just tell other packages about it if they relied on that. |
515 |
Provides: %{libstdcxx_name_orig}3.2 = %{version}-%{release} |
516 |
%endif |
517 |
%if %{build_cross} |
518 |
AutoReq: false |
519 |
AutoProv: false |
520 |
%endif |
521 |
|
522 |
%description -n %{libstdcxx_name} |
523 |
This package contains the GCC Standard C++ Library v3, an ongoing |
524 |
project to implement the ISO/IEC 14882:1998 Standard C++ library. |
525 |
|
526 |
%package -n %{libstdcxx_name_orig}-devel |
527 |
Summary: Header files and libraries for C++ development |
528 |
Group: Development/C++ |
529 |
Recommends: %{libstdcxx_name_orig}-python-devel |
530 |
Conflicts: %{libstdcxx_name_orig}-python-devel < 9.2.1-0.20190831.3 |
531 |
%if %{libc_shared} |
532 |
Requires: %{libstdcxx_name} = %{version}-%{release} |
533 |
%endif |
534 |
Provides: %{libstdcxx_name_orig}6-devel |
535 |
Obsoletes: %{libstdcxx_name_orig}6-devel |
536 |
%if %{build_cross} |
537 |
AutoReq: false |
538 |
AutoProv: false |
539 |
%endif |
540 |
|
541 |
%description -n %{libstdcxx_name_orig}-devel |
542 |
This is the GNU implementation of the standard C++ libraries. This |
543 |
package includes the header files and libraries needed for C++ |
544 |
development. |
545 |
|
546 |
%package -n %{libstdcxx_name_orig}-python-devel |
547 |
Summary: Python files for C++ development |
548 |
Group: Development/C++ |
549 |
Requires: %{libstdcxx_name_orig}-devel = %{version}-%{release} |
550 |
Conflicts: %{libstdcxx_name_orig}-devel < 9.2.1-0.20190831.3 |
551 |
%if %{build_cross} |
552 |
AutoReq: false |
553 |
AutoProv: false |
554 |
%endif |
555 |
|
556 |
%description -n %{libstdcxx_name_orig}-python-devel |
557 |
This is the GNU implementation of the standard C++ libraries. This |
558 |
package includes the python files needed for C++ development. |
559 |
|
560 |
%package -n %{libstdcxx_name_orig}-static-devel |
561 |
Summary: Static libraries for C++ development |
562 |
Group: Development/C++ |
563 |
Requires: %{libstdcxx_name_orig}-devel = %{version}-%{release} |
564 |
Provides: %{libstdcxx_name_orig}6-static-devel |
565 |
Obsoletes: %{libstdcxx_name_orig}6-static-devel |
566 |
%if %{build_cross} |
567 |
AutoReq: false |
568 |
AutoProv: false |
569 |
%endif |
570 |
|
571 |
%description -n %{libstdcxx_name_orig}-static-devel |
572 |
This is the GNU implementation of the standard C++ libraries. This |
573 |
package includes the static libraries needed for C++ development. |
574 |
|
575 |
#################################################################### |
576 |
# Objective C Compiler |
577 |
|
578 |
%package objc |
579 |
Summary: Objective C support for gcc |
580 |
Group: Development/Other |
581 |
%if %{system_compiler} |
582 |
Obsoletes: gcc%{branch}-objc |
583 |
Provides: gcc%{branch}-objc = %{version}-%{release} |
584 |
%endif |
585 |
Requires: %{name} = %{version}-%{release} |
586 |
%if %{libc_shared} && !%{build_monolithic} |
587 |
Requires: %{libobjc_name} = %{version}-%{release} |
588 |
%endif |
589 |
%if %{build_cross} |
590 |
AutoReq: false |
591 |
AutoProv: false |
592 |
%endif |
593 |
|
594 |
%description objc |
595 |
This package adds Objective C support to the GNU C compiler. Objective |
596 |
C is an object oriented derivative of the C language, mainly used on |
597 |
systems running NeXTSTEP. This package does not include the standard |
598 |
Objective C object library. |
599 |
|
600 |
#################################################################### |
601 |
# Objective C++ Compiler |
602 |
|
603 |
%package objc++ |
604 |
Summary: Objective C++ support for gcc |
605 |
Group: Development/Other |
606 |
%if %{system_compiler} |
607 |
Obsoletes: gcc%{branch}-objc++ |
608 |
Provides: gcc%{branch}-objc++ = %{version}-%{release} |
609 |
%endif |
610 |
Requires: %{name}-objc = %{version}-%{release} |
611 |
Requires: %{name}-c++ = %{version}-%{release} |
612 |
%if %{build_cross} |
613 |
AutoReq: false |
614 |
AutoProv: false |
615 |
%endif |
616 |
|
617 |
%description objc++ |
618 |
This package adds Objective C++ support to the GNU C++ compiler. |
619 |
|
620 |
#################################################################### |
621 |
# Objective C Libraries |
622 |
|
623 |
%package -n %{libobjc_name} |
624 |
Summary: Objective C runtime libraries |
625 |
Group: System/Libraries |
626 |
Obsoletes: %{libobjc_name_orig}3.0, %{libobjc_name_orig}3.1 |
627 |
Provides: %{libobjc_name_orig} = %{version}-%{release} |
628 |
Provides: %{libobjc_name_orig}3.0 = %{version}-%{release} |
629 |
Provides: %{libobjc_name_orig}3.1 = %{version}-%{release} |
630 |
%if !%{system_compiler} |
631 |
Conflicts: %{name}-objc < %{branch} |
632 |
%endif |
633 |
%if %{build_cross} |
634 |
AutoReq: false |
635 |
AutoProv: false |
636 |
%endif |
637 |
|
638 |
%description -n %{libobjc_name} |
639 |
Runtime libraries for the GNU Objective C Compiler. |
640 |
|
641 |
#################################################################### |
642 |
# Fortran 95 Compiler |
643 |
|
644 |
%package gfortran |
645 |
Summary: Fortran 95 support for gcc |
646 |
Group: Development/Other |
647 |
%if %{system_compiler} |
648 |
Obsoletes: gcc%{branch}-gfortran |
649 |
Provides: gcc%{branch}-gfortran = %{version}-%{release} |
650 |
%endif |
651 |
Requires: %{name} = %{version}-%{release} |
652 |
%if %{build_quadmath} |
653 |
Requires: quadmath-devel = %{version}-%{release} |
654 |
%endif |
655 |
%if %{libc_shared} && !%{build_monolithic} |
656 |
Requires: %{libgfortran_name} = %{version}-%{release} |
657 |
%endif |
658 |
%if %{build_cross} |
659 |
AutoReq: false |
660 |
AutoProv: false |
661 |
%endif |
662 |
|
663 |
%description gfortran |
664 |
This package adds support for compiling Fortran 95 programs with the GNU |
665 |
compiler. |
666 |
|
667 |
#################################################################### |
668 |
# Fortran 95 Libraries |
669 |
|
670 |
%package -n %{libgfortran_name} |
671 |
Summary: Fortran 95 runtime libraries |
672 |
Group: System/Libraries |
673 |
%if %{build_quadmath} |
674 |
Requires: %{libquadmath_name} = %{version}-%{release} |
675 |
%endif |
676 |
Provides: %{libgfortran_name_orig} = %{version} |
677 |
Obsoletes: %{libgfortran_name_orig}%{branch} |
678 |
Provides: %{libgfortran_name_orig}%{branch} = %{version}-%{release} |
679 |
Obsoletes: libgfortran0 |
680 |
%if %{build_cross} |
681 |
AutoReq: false |
682 |
AutoProv: false |
683 |
%endif |
684 |
|
685 |
%description -n %{libgfortran_name} |
686 |
This package contains Fortran 95 shared library which is needed to run |
687 |
Fortran 95 dynamically linked programs. |
688 |
|
689 |
#################################################################### |
690 |
# Quadmath Libraries |
691 |
|
692 |
%if %{build_quadmath} |
693 |
%package -n %{libquadmath_name} |
694 |
Summary: GCC __float128 shared support library |
695 |
Group: System/Libraries |
696 |
Provides: %{libquadmath_name_orig} = %{version}-%{release} |
697 |
|
698 |
%description -n %{libquadmath_name} |
699 |
This package contains GCC shared support library which is needed |
700 |
for __float128 math support and for Fortran REAL*16 support. |
701 |
|
702 |
%package -n %{libquadmath_name_orig}-devel |
703 |
Summary: GCC __float128 support |
704 |
Group: Development/C |
705 |
Provides: quadmath-devel = %{version}-%{release} |
706 |
|
707 |
%description -n %{libquadmath_name_orig}-devel |
708 |
This package contains support for building Fortran programs using |
709 |
REAL*16 and programs using __float128 math. |
710 |
%endif |
711 |
|
712 |
#################################################################### |
713 |
# ITM Libraries |
714 |
|
715 |
%if %{build_libitm} |
716 |
%package -n %{libitm_name} |
717 |
Summary: The GNU Transactional Memory library |
718 |
Group: System/Libraries |
719 |
Provides: %{libitm_name_orig} = %{version}-%{release} |
720 |
|
721 |
%description -n %{libitm_name} |
722 |
This package contains the GNU Transactional Memory library |
723 |
which is a GCC transactional memory support runtime library. |
724 |
|
725 |
%package -n %{libitm_name_orig}-devel |
726 |
Summary: The GNU Transactional Memory library devel files |
727 |
Group: Development/C |
728 |
Provides: libitm-devel = %{version}-%{release} |
729 |
Requires: %{libitm_name_orig} = %{version}-%{release} |
730 |
Requires: gcc = %{version}-%{release} |
731 |
|
732 |
%description -n %{libitm_name_orig}-devel |
733 |
This package contains headers and support files for the |
734 |
GNU Transactional Memory library. |
735 |
%endif |
736 |
|
737 |
#################################################################### |
738 |
# Address Sanitizer Libraries |
739 |
|
740 |
%if %{build_libasan} |
741 |
%package -n %{libasan_name} |
742 |
Summary: The Address Sanitizer runtime library |
743 |
Group: System/Libraries |
744 |
Provides: %{libasan_name_orig} = %{version}-%{release} |
745 |
Conflicts: libasan4 |
746 |
Obsoletes: libasan4 |
747 |
|
748 |
%description -n %{libasan_name} |
749 |
This package contains the Address Sanitizer library |
750 |
which is used for -fsanitize=address instrumented programs. |
751 |
|
752 |
%package -n %{libasan_name_orig}-devel |
753 |
Summary: The Address Sanitizer runtime library devel files |
754 |
Group: Development/C |
755 |
Provides: libasan-devel = %{version}-%{release} |
756 |
Requires: %{libasan_name} = %{version}-%{release} |
757 |
|
758 |
%description -n %{libasan_name_orig}-devel |
759 |
This package contains the devel files for Address Sanitizer library |
760 |
which is used for -fsanitize=address instrumented programs. |
761 |
%endif |
762 |
|
763 |
|
764 |
#################################################################### |
765 |
# Leak Sanitizer Libraries |
766 |
|
767 |
%if %{build_liblsan} |
768 |
%package -n %{liblsan_name} |
769 |
Summary: The Leak Sanitizer runtime library |
770 |
Group: System/Libraries |
771 |
Provides: %{liblsan_name_orig} = %{version}-%{release} |
772 |
|
773 |
%description -n %{liblsan_name} |
774 |
This package contains the Leak Sanitizer library |
775 |
which is used for -fsanitize=leak instrumented programs. |
776 |
|
777 |
%package -n %{liblsan_name_orig}-devel |
778 |
Summary: The Leak Sanitizer runtime library devel files |
779 |
Group: Development/C |
780 |
Provides: liblsan-devel = %{version}-%{release} |
781 |
Requires: %{liblsan_name} = %{version}-%{release} |
782 |
|
783 |
%description -n %{liblsan_name_orig}-devel |
784 |
This package contains the devel files for Leak Sanitizer library |
785 |
which is used for -fsanitize=leak instrumented programs. |
786 |
%endif |
787 |
|
788 |
#################################################################### |
789 |
# Thread Sanitizer Libraries |
790 |
|
791 |
%if %{build_libtsan} |
792 |
%package -n %{libtsan_name} |
793 |
Summary: The Thread Sanitizer runtime library |
794 |
Group: System/Libraries |
795 |
Provides: %{libtsan_name_orig} = %{version}-%{release} |
796 |
|
797 |
%description -n %{libtsan_name} |
798 |
This package contains the Thread Sanitizer library |
799 |
which is used for -fsanitize=thread instrumented programs. |
800 |
|
801 |
%package -n %{libtsan_name_orig}-devel |
802 |
Summary: The Thread Sanitizer runtime library devel files |
803 |
Group: Development/C |
804 |
Provides: libtsan-devel = %{version}-%{release} |
805 |
Requires: %{libtsan_name} = %{version}-%{release} |
806 |
|
807 |
%description -n %{libtsan_name_orig}-devel |
808 |
This package contains the devel files for Thread Sanitizer library |
809 |
which is used for -fsanitize=thread instrumented programs. |
810 |
%endif |
811 |
|
812 |
#################################################################### |
813 |
# Undefined Behaviour Sanitizer Libraries |
814 |
|
815 |
%if %{build_libubsan} |
816 |
%package -n %{libubsan_name} |
817 |
Summary: The Undefined Behaviour Sanitizer runtime library |
818 |
Group: System/Libraries |
819 |
Provides: %{libubsan_name_orig} = %{version}-%{release} |
820 |
|
821 |
%description -n %{libubsan_name} |
822 |
This package contains the Undefined Behaviour Sanitizer library |
823 |
which is used for -fsanitize=undefined instrumented programs. |
824 |
|
825 |
%package -n %{libubsan_name_orig}-devel |
826 |
Summary: The Undefined Behaviour Sanitizer runtime library devel files |
827 |
Group: Development/C |
828 |
Provides: libubsan-devel = %{version}-%{release} |
829 |
Requires: %{libubsan_name} = %{version}-%{release} |
830 |
|
831 |
%description -n %{libubsan_name_orig}-devel |
832 |
This package contains the devel files for Undefined Behaviour Sanitizer |
833 |
library which is used for -fsanitize=undefined instrumented programs. |
834 |
%endif |
835 |
|
836 |
#################################################################### |
837 |
# The GNU Atomic Libraries |
838 |
|
839 |
%if %{build_libatomic} |
840 |
%package -n %{libatomic_name} |
841 |
Summary: The GNU Atomic library |
842 |
Group: System/Libraries |
843 |
Provides: %{libatomic_name_orig} = %{version}-%{release} |
844 |
|
845 |
%description -n %{libatomic_name} |
846 |
This package contains the GNU Atomic library which is a GCC support |
847 |
runtime library for atomic operations not supported by hardware. |
848 |
|
849 |
%package -n %{libatomic_name_orig}-devel |
850 |
Summary: The Thread Sanitizer runtime library devel files |
851 |
Group: Development/C |
852 |
Provides: libtsan-devel = %{version}-%{release} |
853 |
Requires: %{libatomic_name} = %{version}-%{release} |
854 |
|
855 |
%description -n %{libatomic_name_orig}-devel |
856 |
This package contains the devel files for the GNU Atomic library |
857 |
which is a GCC support runtime library for atomic operations not |
858 |
supported by hardware. |
859 |
%endif |
860 |
|
861 |
#################################################################### |
862 |
# The Virtual Table Verification Libraries |
863 |
|
864 |
%if %{build_libvtv} |
865 |
%package -n %{libvtv_name} |
866 |
Summary: The Virtual Table Verification runtime libraries |
867 |
Group: System/Libraries |
868 |
Provides: %{libvtv_name_orig} = %{version}-%{release} |
869 |
|
870 |
%description -n %{libvtv_name} |
871 |
This package contains the Virtual Table Verification runtime libraries. |
872 |
|
873 |
%package -n %{libvtv_name_orig}-devel |
874 |
Summary: The Virtual Table Verification runtime library devel files |
875 |
Group: Development/C |
876 |
Provides: libvtv-devel = %{version}-%{release} |
877 |
|
878 |
%description -n %{libvtv_name_orig}-devel |
879 |
This package contains the devel files for the Virtual Table Verification |
880 |
runtime libraries. |
881 |
%endif |
882 |
|
883 |
#################################################################### |
884 |
# Ada 95 Compiler |
885 |
|
886 |
%if %{build_ada} |
887 |
%package gnat |
888 |
Summary: Ada 95 support for gcc |
889 |
Group: Development/Other |
890 |
Requires: %{libgnat_name} = %{version}-%{release} |
891 |
%if %{system_compiler} |
892 |
Obsoletes: gcc%{branch}-gnat |
893 |
Provides: gcc%{branch}-gnat = %{version}-%{release} |
894 |
%endif |
895 |
Obsoletes: %{cross_prefix}gnat |
896 |
Provides: %{cross_prefix}gnat = %{version}-%{release} |
897 |
Requires: %{name} = %{version}-%{release} |
898 |
|
899 |
%description gnat |
900 |
This package contains an Ada95 compiler and associated development |
901 |
tools based on the GNU gcc technology. Ada95 is the object oriented |
902 |
successor of the Ada83 language. To build this package from sources |
903 |
you must have installed a binary version to bootstrap the compiler. |
904 |
|
905 |
#################################################################### |
906 |
# Ada 95 Libraries |
907 |
|
908 |
%package -n %{libgnat_name} |
909 |
Summary: Ada 95 runtime libraries |
910 |
Group: System/Libraries |
911 |
Provides: %{libgnat_name_orig} = %{version}-%{release} |
912 |
Obsoletes: %{cross_prefix}gnat-runtime |
913 |
Provides: %{cross_prefix}gnat-runtime = %{version}-%{release} |
914 |
|
915 |
%description -n %{libgnat_name} |
916 |
This package contains the shared libraries required to run programs |
917 |
compiled with the GNU Ada compiler (GNAT) if they are compiled to use |
918 |
shared libraries. It also contains the shared libraries for the |
919 |
Implementation of the Ada Semantic Interface Specification (ASIS), the |
920 |
implementation of Distributed Systems Programming (GLADE) and the |
921 |
Posix 1003.5 Binding (Florist). |
922 |
%endif |
923 |
|
924 |
#################################################################### |
925 |
# FFI headers and libraries |
926 |
%if %{build_libffi} |
927 |
%package -n %{libffi_name} |
928 |
Summary: GCC support library for FFI |
929 |
Group: System/Libraries |
930 |
|
931 |
%description -n %{libffi_name} |
932 |
This package contains GCC shared support library which is needed |
933 |
for FFI support. |
934 |
|
935 |
%package -n %{libffi_name}-devel |
936 |
Summary: Development headers and static library for FFI |
937 |
Group: Development/C |
938 |
Requires: %{libffi_name} = %{version}-%{release} |
939 |
Provides: %{libffi_name_orig}-devel = %{version}-%{release} |
940 |
Obsoletes: %{libffi_name_orig}-devel = 4.3.2 |
941 |
Obsoletes: %{libffi_name_orig}-devel = 4.3.1 |
942 |
Obsoletes: %{libffi_name_orig}-devel = 4.2.3 |
943 |
Obsoletes: %{libffi_name_orig}-devel = 4.2.2 |
944 |
Provides: ffi-devel = %{version}-%{release} |
945 |
|
946 |
%description -n %{libffi_name}-devel |
947 |
This package contains the development headers and the static library |
948 |
for libffi. The libffi library provides a portable, high level |
949 |
programming interface to various calling conventions. This allows a |
950 |
programmer to call any function specified by a call interface |
951 |
description at run time. |
952 |
%endif |
953 |
|
954 |
#################################################################### |
955 |
# SSP headers and libraries |
956 |
%if %{build_libssp} |
957 |
|
958 |
%package -n %{libssp_name} |
959 |
Summary: GCC SSP shared support library |
960 |
Group: System/Libraries |
961 |
|
962 |
%description -n %{libssp_name} |
963 |
This package contains GCC shared support library which is needed |
964 |
for SSP support. |
965 |
|
966 |
%package -n %{libssp_name_orig}-devel |
967 |
Summary: GCC SSP support |
968 |
Group: Development/C |
969 |
Requires: %{name} = %{version}-%{release} |
970 |
%if %{libc_shared} |
971 |
Requires: %{libssp_name} = %{version}-%{release} |
972 |
%endif |
973 |
|
974 |
%description -n %{libssp_name_orig}-devel |
975 |
This package contains headers and static libraries for building |
976 |
SSP-instrumented programs. |
977 |
|
978 |
Refer to the documentation for -fstack-protector. |
979 |
%endif |
980 |
|
981 |
#################################################################### |
982 |
# GCC OpenMP headers and library |
983 |
|
984 |
%package -n %{libgomp_name} |
985 |
Summary: GCC OpenMP support library |
986 |
Group: System/Libraries |
987 |
|
988 |
%description -n %{libgomp_name} |
989 |
This package contains the GCC shared support library which is needed |
990 |
for OpenMP support. |
991 |
|
992 |
%package -n %{libgomp_name_orig}-devel |
993 |
Summary: GCC OpenMP support |
994 |
Group: Development/C |
995 |
Requires: %{name} = %{version}-%{release} |
996 |
%if %{libc_shared} |
997 |
Requires: %{libgomp_name} = %{version}-%{release} |
998 |
%endif |
999 |
|
1000 |
%description -n %{libgomp_name_orig}-devel |
1001 |
This package contains headers and static libraries for building |
1002 |
programs that use OpenMP. |
1003 |
|
1004 |
#################################################################### |
1005 |
# Preprocessor |
1006 |
|
1007 |
%package cpp |
1008 |
Summary: The C Preprocessor |
1009 |
Group: Development/C |
1010 |
%if %{system_compiler} |
1011 |
Obsoletes: gcc%{branch}-cpp |
1012 |
Provides: gcc%{branch}-cpp = %{version}-%{release} |
1013 |
Conflicts: gcc3.3-cpp < 3.3.6-8 |
1014 |
%endif |
1015 |
Requires(post): update-alternatives |
1016 |
Requires(postun): update-alternatives |
1017 |
|
1018 |
%description cpp |
1019 |
The C preprocessor is a 'macro processor' which is used automatically |
1020 |
by the C compiler to transform your program before actual |
1021 |
compilation. It is called a macro processor because it allows |
1022 |
you to define 'macros,' which are abbreviations for longer |
1023 |
constructs. |
1024 |
|
1025 |
The C preprocessor provides four separate facilities that you can use as |
1026 |
you see fit: |
1027 |
|
1028 |
* Inclusion of header files. These are files of declarations that can be |
1029 |
substituted into your program. |
1030 |
* Macro expansion. You can define 'macros,' which are abbreviations for |
1031 |
arbitrary fragments of C code, and then the C preprocessor will replace |
1032 |
the macros with their definitions throughout the program. |
1033 |
* Conditional compilation. Using special preprocessing directives, |
1034 |
you can include or exclude parts of the program according to various |
1035 |
conditions. |
1036 |
* Line control. If you use a program to combine or rearrange source files |
1037 |
into an intermediate file which is then compiled, you can use line |
1038 |
control to inform the compiler about where each source line originated. |
1039 |
|
1040 |
You should install this package if you are a programmer who is searching for |
1041 |
such a macro processor. |
1042 |
|
1043 |
|
1044 |
#################################################################### |
1045 |
# Documentation |
1046 |
|
1047 |
%package doc |
1048 |
Summary: GCC documentation |
1049 |
Group: Development/Other |
1050 |
%if %{system_compiler} |
1051 |
Obsoletes: gcc%{branch}-doc |
1052 |
Provides: gcc%{branch}-doc = %{version}-%{release} |
1053 |
%endif |
1054 |
BuildArch: noarch |
1055 |
|
1056 |
%description doc |
1057 |
GCC is a compiler suite aimed at integrating all the optimizations and |
1058 |
features necessary for a high-performance and stable development |
1059 |
environment. This package contains the compiler documentation in INFO |
1060 |
pages. |
1061 |
|
1062 |
%package doc-pdf |
1063 |
Summary: GCC documentation |
1064 |
Group: Development/Other |
1065 |
%if %{system_compiler} |
1066 |
Obsoletes: gcc%{branch}-doc-pdf |
1067 |
Provides: gcc%{branch}-doc-pdf = %{version}-%{release} |
1068 |
%endif |
1069 |
BuildArch: noarch |
1070 |
|
1071 |
%description doc-pdf |
1072 |
GCC is a compiler suite aimed at integrating all the optimizations and |
1073 |
features necessary for a high-performance and stable development |
1074 |
environment. This package contains the compiler printable |
1075 |
documentation in PDF. |
1076 |
|
1077 |
%package -n libstdc++-docs |
1078 |
Summary: Documentation for the GNU standard C++ library |
1079 |
Group: Development/Other |
1080 |
BuildArch: noarch |
1081 |
|
1082 |
%description -n libstdc++-docs |
1083 |
Manual, doxygen generated API information and Frequently Asked Questions |
1084 |
for the GNU standard C++ library. |
1085 |
|
1086 |
%prep |
1087 |
%setup -q -n %{source_dir} |
1088 |
%autopatch -p1 |
1089 |
|
1090 |
# Setup files for cross-compilation |
1091 |
# XXX embed uClibc / dietlibc sources? [ia64 checks for __GLIBC__] |
1092 |
%if %{build_cross} |
1093 |
sysroot=%{_prefix}/%{gcc_target_platform} |
1094 |
%endif |
1095 |
if [[ -n "$sysroot" ]]; then |
1096 |
mkdir sysroot |
1097 |
cd sysroot |
1098 |
[[ -d $sysroot/bin ]] && |
1099 |
ln -s $sysroot/bin bin |
1100 |
|
1101 |
[[ ! -d usr ]] && |
1102 |
mkdir usr |
1103 |
%if %{build_cross_bootstrap} |
1104 |
[[ -f $sysroot/include/linux/version.h ]] && |
1105 |
ln -s $sysroot/include usr/include |
1106 |
%else |
1107 |
[[ -f $sysroot/include/stdio.h ]] && |
1108 |
ln -s $sysroot/include usr/include |
1109 |
%endif |
1110 |
|
1111 |
[[ -f $sysroot/lib/crti.o ]] && |
1112 |
ln -s $sysroot/lib lib |
1113 |
[[ -f $sysroot/lib64/crti.o ]] && |
1114 |
ln -s $sysroot/lib64 lib64 |
1115 |
[[ -f $sysroot/lib32/crti.o ]] && |
1116 |
ln -s $sysroot/lib32 lib32 |
1117 |
cd ../ |
1118 |
fi |
1119 |
|
1120 |
# We can actually link binaries at this stage |
1121 |
%if %{build_cross} |
1122 |
perl -pi -e '/^DRIVER_DEFINES/ .. /^gcc/ and s/(\@TARGET_SYSTEM_ROOT_DEFINE\@)/-DSYSROOT_SPEC="\\"\\"" \1/' gcc/Makefile.in |
1123 |
%endif |
1124 |
|
1125 |
# Ensure BASE-VER alwaus matches rpm version |
1126 |
echo "%{version}" > gcc/BASE-VER |
1127 |
|
1128 |
%build |
1129 |
# Prepare OPT_FLAGS |
1130 |
OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-mcpu=pentiumpro//g'` |
1131 |
%if %{build_debug} |
1132 |
OPT_FLAGS=`echo "$OPT_FLAGS -g" | sed -e "s/-fomit-frame-pointer//g"` |
1133 |
%endif |
1134 |
%if %{build_cross} |
1135 |
OPT_FLAGS="-O2 -g -pipe" |
1136 |
%endif |
1137 |
%if %isarch %{biarches} |
1138 |
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/\(-m64\|-m32\)//g'` |
1139 |
%endif |
1140 |
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-fomit-frame-pointer//g'` |
1141 |
|
1142 |
# don't build crt files with -fasynchronous-unwind-tables |
1143 |
case " $OPT_FLAGS " in |
1144 |
*" -fasynchronous-unwind-tables "*) |
1145 |
perl -pi -e 's/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables /' gcc/Makefile.in |
1146 |
;; |
1147 |
esac |
1148 |
|
1149 |
# Force a seperate object dir |
1150 |
rm -fr obj-%{gcc_target_platform} |
1151 |
mkdir obj-%{gcc_target_platform} |
1152 |
cd obj-%{gcc_target_platform} |
1153 |
|
1154 |
# Make bootstrap-lean |
1155 |
LANGUAGES="c" |
1156 |
%if %{build_cxx} |
1157 |
LANGUAGES="$LANGUAGES,c++" |
1158 |
%endif |
1159 |
%if %{build_ada} |
1160 |
LANGUAGES="$LANGUAGES,ada" |
1161 |
%endif |
1162 |
%if %{build_fortran} |
1163 |
LANGUAGES="$LANGUAGES,fortran" |
1164 |
%endif |
1165 |
%if %{build_objc} |
1166 |
LANGUAGES="$LANGUAGES,objc" |
1167 |
%if %{build_objc_gc} |
1168 |
LIBOBJC_FLAGS="--enable-objc-gc" |
1169 |
%endif |
1170 |
%endif |
1171 |
%if %{build_objcp} |
1172 |
LANGUAGES="$LANGUAGES,obj-c++" |
1173 |
%endif |
1174 |
PROGRAM_SUFFIX="" |
1175 |
%if "%{program_suffix}" != "" |
1176 |
PROGRAM_SUFFIX="--program-suffix=%{program_suffix}" |
1177 |
%endif |
1178 |
PROGRAM_PREFIX="" |
1179 |
%if "%{program_prefix}" != "" |
1180 |
PROGRAM_PREFIX="--program-prefix=%{program_prefix}" |
1181 |
%endif |
1182 |
%if %{build_cxx} |
1183 |
LIBSTDCXX_FLAGS="--enable-long-long --enable-__cxa_atexit --disable-libunwind-exceptions" |
1184 |
case %{libc} in |
1185 |
glibc) LIBSTDCXX_FLAGS="$LIBSTDCXX_FLAGS --enable-clocale=gnu";; |
1186 |
esac |
1187 |
%endif |
1188 |
SSP_FLAGS="--disable-ssp --disable-libssp" |
1189 |
%if %{build_libssp} |
1190 |
SSP_FLAGS="--enable-ssp --enable-libssp" |
1191 |
%endif |
1192 |
%if %{use_ssp_glibc} |
1193 |
SSP_FLAGS="--enable-ssp --disable-libssp" |
1194 |
%endif |
1195 |
%if !%{build_quadmath} |
1196 |
QUADMATH_FLAGS="--disable-quadmath" |
1197 |
%endif |
1198 |
%if !%{build_libgomp} |
1199 |
LIBGOMP_FLAGS="--disable-libgomp" |
1200 |
%endif |
1201 |
%if %{build_isl} |
1202 |
ISL_FLAGS="--with-isl" |
1203 |
%endif |
1204 |
%if !%{build_libffi} |
1205 |
LIBFFI_FLAGS="--disable-libffi" |
1206 |
%endif |
1207 |
%if %{build_cross} |
1208 |
CROSS_FLAGS="--with-build-sysroot=$PWD/../sysroot --with-headers --disable-nls" |
1209 |
%endif |
1210 |
%if %{build_cross_bootstrap} |
1211 |
CROSS_FLAGS="--disable-threads" |
1212 |
%endif |
1213 |
%if !%{system_compiler} && !%{build_stdcxxheaders} |
1214 |
LIBSTDCXX_FLAGS="$LIBSTDCXX_FLAGS --with-gxx-include-dir=%{libstdcxx_includedir}" |
1215 |
%endif |
1216 |
[[ -n "$CROSS_FLAGS" ]] && CROSS_FLAGS="$CROSS_FLAGS --target=%{gcc_target_platform}" |
1217 |
case %{libc} in |
1218 |
%if %{build_cross_bootstrap} |
1219 |
glibc) LIBC_FLAGS="";; |
1220 |
%else |
1221 |
glibc) LIBC_FLAGS="--enable-threads=posix --with-linker-hash-style=gnu";; |
1222 |
%endif |
1223 |
newlib) LIBC_FLAGS="--with-newlib --with-headers --disable-threads";; |
1224 |
*) echo "ERROR: unsupported %{libc} C library"; exit 1;; |
1225 |
esac |
1226 |
%if %{libc_shared} |
1227 |
LIBC_FLAGS="$LIBC_FLAGS --enable-shared" |
1228 |
%else |
1229 |
LIBC_FLAGS="$LIBC_FLAGS --disable-shared" |
1230 |
%endif |
1231 |
# target specific flags (don't %ifarch for cross compilers) |
1232 |
case %{target_cpu} in |
1233 |
x86_64) TARGET_FLAGS="--with-cpu=generic";; |
1234 |
i?86|athlon) TARGET_FLAGS="--with-cpu=generic";; |
1235 |
armv7hl) TARGET_FLAGS=" --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --with-abi=aapcs-linux";; |
1236 |
esac |
1237 |
|
1238 |
# (anssi) building with external jar fails |
1239 |
%define python_dir %(echo "%{python3_sitelib}" | sed 's!^%{_prefix}!!g') |
1240 |
CC="%{__cc}" CFLAGS="$OPT_FLAGS" CXXFLAGS="$OPT_FLAGS" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \ |
1241 |
../configure --prefix=%{_prefix} --libexecdir=%{_prefix}/lib --with-slibdir=%{target_slibdir} \ |
1242 |
--with-pkgversion="Mageia %{version}-%{release}" --with-bugurl=https://bugs.mageia.org/ \ |
1243 |
--mandir=%{_mandir} --infodir=%{_infodir} --enable-checking=release \ |
1244 |
--enable-languages="$LANGUAGES" $PROGRAM_PREFIX $PROGRAM_SUFFIX --enable-linker-build-id \ |
1245 |
--build=%{_target_platform} --host=%{_target_platform} $CROSS_FLAGS $TARGET_FLAGS \ |
1246 |
--with-system-zlib $LIBC_FLAGS $LIBOBJC_FLAGS $LIBSTDCXX_FLAGS $SSP_FLAGS \ |
1247 |
$QUADMATH_FLAGS $LIBFFI_FLAGS --disable-werror $LIBGOMP_FLAGS \ |
1248 |
$ISL_FLAGS --with-python-dir=%{python_dir} --enable-lto |
1249 |
touch ../gcc/c-gperf.h |
1250 |
%if %{build_cross} |
1251 |
%make |
1252 |
%else |
1253 |
# bootstrap-lean is similar to bootstrap except "object files from the stage1 |
1254 |
# and stage2 of the 3-stage bootstrap of the compiler are deleted as soon as |
1255 |
# they are no longer needed." |
1256 |
%make bootstrap-lean BOOT_CFLAGS="$OPT_FLAGS" |
1257 |
%endif |
1258 |
|
1259 |
cd .. |
1260 |
|
1261 |
# Copy various doc files here and there |
1262 |
mkdir -p rpm.doc/gfortran |
1263 |
mkdir -p rpm.doc/objc |
1264 |
mkdir -p rpm.doc/objcp |
1265 |
mkdir -p rpm.doc/libobjc |
1266 |
mkdir -p rpm.doc/boehm-gc |
1267 |
mkdir -p rpm.doc/c++ |
1268 |
mkdir -p rpm.doc/libstdc++ |
1269 |
|
1270 |
%if %{build_libstdcxx} |
1271 |
(cd libstdc++-v3; for i in ChangeLog*; do |
1272 |
ln -f $i ../rpm.doc/libstdc++/$i |
1273 |
done) |
1274 |
%endif |
1275 |
%if %{build_cxx} |
1276 |
(cd gcc/cp; for i in ChangeLog*; do |
1277 |
ln -f $i ../../rpm.doc/c++/$i |
1278 |
done) |
1279 |
%endif |
1280 |
%if %{build_fortran} |
1281 |
(cd gcc/fortran; for i in ChangeLog*; do |
1282 |
ln -f $i ../../rpm.doc/gfortran/$i |
1283 |
done) |
1284 |
(cd libgfortran; for i in ChangeLog*; do |
1285 |
ln -f $i ../rpm.doc/gfortran/$i.libgfortran |
1286 |
done) |
1287 |
%endif |
1288 |
%if %{build_objc} |
1289 |
(cd gcc/objc; for i in ChangeLog*; do |
1290 |
ln -f $i ../../rpm.doc/objc/$i.objc |
1291 |
done) |
1292 |
(cd libobjc; for i in ChangeLog*; do |
1293 |
ln -f $i ../rpm.doc/libobjc/$i.libobjc |
1294 |
done) |
1295 |
%endif |
1296 |
%if %{build_objcp} |
1297 |
(cd gcc/objcp; for i in ChangeLog*; do |
1298 |
ln -f $i ../../rpm.doc/objcp/$i.objcp |
1299 |
done) |
1300 |
%endif |
1301 |
|
1302 |
# [ghibo] - build printable documentation |
1303 |
%if %{build_pdf_doc} |
1304 |
export PDFTEX=pdftex |
1305 |
unset TEXINPUTS |
1306 |
(cd gcc/doc; for file in gcc.texi cpp.texi cppinternals.texi; do |
1307 |
texi2dvi -p -t @afourpaper -t @finalout -I ./include -I ../../obj-%{gcc_target_platform}/gcc $file |
1308 |
done) |
1309 |
(cd gcc/fortran; |
1310 |
texi2dvi -p -t @afourpaper -t @finalout -I ../doc/include -I ../../obj-%{gcc_target_platform}/gcc gfortran.texi) |
1311 |
%if %{build_ada} |
1312 |
(cd gcc/ada; |
1313 |
texi2dvi -p -t @afourpaper -t @finalout -I ../doc/include -I ../../obj-%{gcc_target_platform}/gcc gnat_rm.texi) |
1314 |
(cd obj-%{gcc_target_platform}/gcc/doc; |
1315 |
texi2dvi -p -t @afourpaper -t @finalout -I ../../../gcc/doc/include -I .. gnat_ugn.texi |
1316 |
mv gnat_ugn.pdf ../../../gcc/ada/gnat_ugn.pdf) |
1317 |
%endif |
1318 |
%endif |
1319 |
|
1320 |
# Make generated doxygen pages. |
1321 |
%if %{build_libstdcxx_docs} |
1322 |
cd obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3 |
1323 |
make doc-html-doxygen |
1324 |
make doc-man-doxygen |
1325 |
cd ../.. |
1326 |
%endif |
1327 |
|
1328 |
%check |
1329 |
echo ====================TESTING========================= |
1330 |
%if %{build_check} |
1331 |
cd obj-%{gcc_target_platform} |
1332 |
time %make -k check || true |
1333 |
echo "XXX check time above XXX" |
1334 |
../contrib/test_summary > ../test_summary.log |
1335 |
cd .. |
1336 |
%endif |
1337 |
echo ====================TESTING END===================== |
1338 |
|
1339 |
%install |
1340 |
# Create some directories, just to make sure (e.g. ColorGCC) |
1341 |
mkdir -p %{buildroot}%{_bindir} |
1342 |
mkdir -p %{buildroot}%{_mandir} |
1343 |
mkdir -p %{buildroot}%{_infodir} |
1344 |
mkdir -p %{buildroot}%{_sysconfdir} |
1345 |
|
1346 |
pushd obj-%{gcc_target_platform}; |
1347 |
%makeinstall_std |
1348 |
%if %{build_libstdcxx_docs} |
1349 |
libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen |
1350 |
mkdir -p ../rpm.doc/libstdc++-v3 |
1351 |
cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html |
1352 |
cp -r -p $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api |
1353 |
mkdir -p %{buildroot}%{_mandir}/man3 |
1354 |
cp -r -p $libstdcxx_doc_builddir/man/man3/* %{buildroot}%{_mandir}/man3/ |
1355 |
%endif |
1356 |
popd |
1357 |
|
1358 |
FULLVER=`%{buildroot}%{_bindir}/%{gcc_target_platform}-gcc%{program_suffix} --version | head -n 1 | cut -d' ' -f3` |
1359 |
FULLPATH=$(dirname %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1) |
1360 |
|
1361 |
# Create /usr/bin/%{program_prefix}gcc%{branch}-version that contains the full version of gcc |
1362 |
cat >%{buildroot}%{_bindir}/%{program_prefix}gcc%{branch}-version <<EOF |
1363 |
#!/bin/sh |
1364 |
echo "$FULLVER" |
1365 |
EOF |
1366 |
chmod 0755 %{buildroot}%{_bindir}/%{program_prefix}gcc%{branch}-version |
1367 |
|
1368 |
%if "%{program_suffix}" == "" |
1369 |
mv %{buildroot}%{_bindir}/%{program_prefix}cpp %{buildroot}%{_bindir}/%{program_prefix}cpp-%{version} |
1370 |
mv %{buildroot}%{_bindir}/%{program_prefix}gcc %{buildroot}%{_bindir}/%{program_prefix}gcc-%{version} |
1371 |
mv %{buildroot}%{_bindir}/%{program_prefix}gcc-ar %{buildroot}%{_bindir}/%{program_prefix}gcc-ar-%{version} |
1372 |
mv %{buildroot}%{_bindir}/%{program_prefix}gcc-nm %{buildroot}%{_bindir}/%{program_prefix}gcc-nm-%{version} |
1373 |
mv %{buildroot}%{_bindir}/%{program_prefix}gcc-ranlib %{buildroot}%{_bindir}/%{program_prefix}gcc-ranlib-%{version} |
1374 |
%if %{build_cxx} |
1375 |
mv %{buildroot}%{_bindir}/%{program_prefix}g++ %{buildroot}%{_bindir}/%{program_prefix}g++-%{version} |
1376 |
mv %{buildroot}%{_bindir}/%{program_prefix}c++ %{buildroot}%{_bindir}/%{program_prefix}c++-%{version} |
1377 |
%endif |
1378 |
%endif |
1379 |
|
1380 |
# replacing hardlinks with symlinks |
1381 |
ln -sf %{program_prefix}gcc%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gcc%{program_suffix} |
1382 |
ln -sf %{program_prefix}gcc-ar%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gcc-ar%{program_suffix} |
1383 |
ln -sf %{program_prefix}gcc-nm%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gcc-nm%{program_suffix} |
1384 |
ln -sf %{program_prefix}gcc-ranlib%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gcc-ranlib%{program_suffix} |
1385 |
ln -sf %{program_prefix}gcc-ar%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-ar%{program_suffix} |
1386 |
ln -sf %{program_prefix}gcc-nm%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-nm%{program_suffix} |
1387 |
ln -sf %{program_prefix}gcc-ranlib%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-ranlib%{program_suffix} |
1388 |
# TODO: cleanups? |
1389 |
%if "%{program_prefix}" != "%{gcc_target_platform}-" |
1390 |
ln -sf %{program_prefix}gcc%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gcc-%{version} |
1391 |
ln -sf %{program_prefix}gcc-ar%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-ar-%{version} |
1392 |
ln -sf %{program_prefix}gcc-nm%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-nm-%{version} |
1393 |
ln -sf %{program_prefix}gcc-ranlib%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-ranlib-%{version} |
1394 |
%endif |
1395 |
%if %{build_cxx} |
1396 |
%if !%{build_cross} |
1397 |
ln -sf %{program_prefix}g++%{program_long_suffix} %{buildroot}%{_bindir}/c++%{program_long_suffix} |
1398 |
%endif |
1399 |
ln -sf %{program_prefix}g++%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-c++%{program_suffix} |
1400 |
ln -sf %{program_prefix}g++%{program_long_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-g++%{program_suffix} |
1401 |
%endif |
1402 |
%if %{build_fortran} |
1403 |
ln -sf %{program_prefix}gfortran%{program_suffix} %{buildroot}%{_bindir}/%{gcc_target_platform}-gfortran%{program_suffix} |
1404 |
%endif |
1405 |
|
1406 |
%if %{system_compiler} |
1407 |
ln -s gcc %{buildroot}%{_bindir}/cc |
1408 |
%endif |
1409 |
|
1410 |
%if %{build_cross_bootstrap} |
1411 |
# libgcc_eh.a is needed for glibc _but_ it is not built at this stage |
1412 |
# (disabled-shared) |
1413 |
# workaround by symlinking to libgcc. The other possibility would be to |
1414 |
# workaround at glibc level but it would be more painful. |
1415 |
ln -sf %{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcc.a \ |
1416 |
%{buildroot}/%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcc_eh.a |
1417 |
%endif |
1418 |
rm -f %{buildroot}%{_infodir}/dir |
1419 |
|
1420 |
%if %{build_ada} && %{libc_shared} |
1421 |
%if %isarch x86_64 |
1422 |
rm -rf $FULLPATH/32/ada{include,lib} |
1423 |
%endif |
1424 |
# Dispatch Ada 95 libraries (special case) |
1425 |
pushd $FULLPATH/adalib |
1426 |
rm -f libgnarl.so* libgnat.so* |
1427 |
mv -f libgnarl-%{libgnat_major}.so %{buildroot}%{_libdir}/ |
1428 |
ln -s ../../../../../%{_lib}/libgnarl-%{libgnat_major}.so libgnarl.so |
1429 |
ln -s ../../../../../%{_lib}/libgnarl-%{libgnat_major}.so libgnarl-%{libgnat_major}.so |
1430 |
mv -f libgnat-%{libgnat_major}.so %{buildroot}%{_libdir}/ |
1431 |
ln -s ../../../../../%{_lib}/libgnat-%{libgnat_major}.so libgnat.so |
1432 |
ln -s ../../../../../%{_lib}/libgnat-%{libgnat_major}.so libgnat-%{libgnat_major}.so |
1433 |
popd |
1434 |
%endif |
1435 |
|
1436 |
# Strip debug info from libraries |
1437 |
STRIP_DEBUG=/bin/true |
1438 |
%if !%{build_debug} |
1439 |
if [[ "%{_enable_debug_packages}" != "1" ]]; then |
1440 |
STRIP_DEBUG="strip -g" |
1441 |
if [[ "%{_target_cpu}" != "%{target_cpu}" ]]; then |
1442 |
STRIP_DEBUG="%{target_cpu}-linux-$STRIP_DEBUG" |
1443 |
fi |
1444 |
fi |
1445 |
%endif |
1446 |
|
1447 |
# Dispatch libraries to the right directories |
1448 |
DispatchLibs() { |
1449 |
libname=$1 libversion=$2 |
1450 |
[[ -f ../../../../..%{target_libdir}/$libname.so.$libversion ]] && { |
1451 |
$STRIP_DEBUG ../../../../..%{target_libdir}/$libname.so.$libversion |
1452 |
rm -f $libname.so |
1453 |
ln -s ../../../../..%{target_libdir}/$libname.so.$libversion $libname.so |
1454 |
rm -f ../../../../..%{target_libdir}/$libname.so |
1455 |
} || : |
1456 |
[[ -f ../../../../..%{target_libdir}/$libname.a ]] && { |
1457 |
$STRIP_DEBUG ../../../../..%{target_libdir}/$libname.a |
1458 |
rm -f $libname.a |
1459 |
cp -f ../../../../..%{target_libdir}/$libname.a $libname.a |
1460 |
rm -f ../../../../..%{target_libdir}/$libname.a |
1461 |
} || : |
1462 |
%if %isarch %{biarches} |
1463 |
[ -d 32 ] || mkdir 32 |
1464 |
pushd 32 |
1465 |
mkdir -p %{buildroot}%{_prefix}/lib |
1466 |
skip32= |
1467 |
[[ -z "$skip32" ]] && [[ -f ../../../../$libname.so.$libversion ]] && { |
1468 |
$STRIP_DEBUG ../../../../$libname.so.$libversion |
1469 |
ln -s ../../../../$libname.so.$libversion $libname.so |
1470 |
rm -f ../../../../$libname.so |
1471 |
[[ -f ../../../../$libname.a ]] && { |
1472 |
$STRIP_DEBUG ../../../../$libname.a |
1473 |
cp -f ../../../../$libname.a $libname.a |
1474 |
rm -f ../../../../$libname.a |
1475 |
} || : |
1476 |
} || : |
1477 |
popd |
1478 |
%endif |
1479 |
%if %isarch %{nof_arches} |
1480 |
[ -d nof ] || mkdir nof |
1481 |
pushd nof |
1482 |
$STRIP_DEBUG ../../../../nof/$libname.so.$libversion |
1483 |
ln -s ../../../../nof/$libname.so.$libversion $libname.so |
1484 |
rm -f ../../../../nof/$libname.so |
1485 |
[[ -f ../../../../nof/$libname.a ]] && { |
1486 |
$STRIP_DEBUG ../../../../nof/$libname.a |
1487 |
cp -f ../../../../nof/$libname.a $libname.a |
1488 |
rm -f ../../../../nof/$libname.a |
1489 |
} || : |
1490 |
popd |
1491 |
%endif |
1492 |
} |
1493 |
pushd $FULLPATH |
1494 |
%if %{build_libssp} |
1495 |
DispatchLibs libssp %{libssp_major}.0.0 |
1496 |
mv ../../../../..%{target_libdir}/libssp_nonshared.a libssp_nonshared.a |
1497 |
%if %isarch %{biarches} |
1498 |
mv ../../../libssp_nonshared.a 32/libssp_nonshared.a |
1499 |
%endif |
1500 |
%endif |
1501 |
%if %{build_libgomp} |
1502 |
DispatchLibs libgomp %{libgomp_major}.0.0 |
1503 |
%endif |
1504 |
%if %{build_cxx} |
1505 |
DispatchLibs libstdc++ %{libstdcxx_major}.0.%{libstdcxx_micro} |
1506 |
mv ../../../../..%{target_libdir}/libsupc++.a libsupc++.a |
1507 |
%if %isarch %{biarches} |
1508 |
mv -f ../../../libsupc++.a 32/libsupc++.a |
1509 |
%endif |
1510 |
%if %isarch %{nof_arches} |
1511 |
mv -f ../../../nof/libsupc++.a nof/libsupc++.a |
1512 |
%endif |
1513 |
%endif |
1514 |
# Make it less hard dependent on libstdc++ 3.4 minor changes |
1515 |
%if !%{system_compiler} |
1516 |
[[ -f ../../../../..%{target_libdir}/libstdc++.so.%{libstdcxx_major} ]] && |
1517 |
ln -sf ../../../../..%{target_libdir}/libstdc++.so.%{libstdcxx_major} libstdc++.so || : |
1518 |
%if %isarch %{biarches} |
1519 |
[[ -f ../../../libstdc++.so.%{libstdcxx_major} ]] && |
1520 |
ln -sf ../../../../libstdc++.so.%{libstdcxx_major} 32/libstdc++.so || : |
1521 |
%endif |
1522 |
%endif |
1523 |
%if %{build_objc} |
1524 |
DispatchLibs libobjc %{libobjc_major}.0.0 |
1525 |
%if %{build_objc_gc} |
1526 |
DispatchLibs libobjc_gc %{libobjc_major}.0.0 |
1527 |
%endif |
1528 |
%endif |
1529 |
%if %{build_fortran} |
1530 |
DispatchLibs libgfortran %{libgfortran_major}.0.0 |
1531 |
[[ -f ../../../libgfortranbegin.a ]] && |
1532 |
mv -f ../../../libgfortranbegin.a 32/libgfortranbegin.a || : |
1533 |
%if %isarch %{nof_arches} |
1534 |
[[ -f ../../../nof/libgfortranbegin.a ]] && |
1535 |
mv -f ../../../nof/libgfortranbegin.a nof/libgfortranbegin.a || : |
1536 |
%endif |
1537 |
%endif |
1538 |
popd |
1539 |
|
1540 |
# Copy <cxxabi.h> to compiler-specific directories to keep backward compatibility |
1541 |
%if %{build_cxx} |
1542 |
mkdir -p $FULLPATH/include/bits/ |
1543 |
cp %{buildroot}%{libstdcxx_includedir}/cxxabi.h $FULLPATH/include/ |
1544 |
cp %{buildroot}%{libstdcxx_includedir}/%{gcc_target_platform}/bits/cxxabi_tweaks.h $FULLPATH/include/bits/ |
1545 |
%endif |
1546 |
|
1547 |
# Ship with biarch c++config.h headers |
1548 |
%if %{build_cxx} |
1549 |
pushd obj-%{gcc_target_platform} |
1550 |
cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`" |
1551 |
for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do |
1552 |
if ! diff -up $cxxconfig $i; then |
1553 |
file_32=x file_64=x |
1554 |
case $i in |
1555 |
%{gcc_target_platform}/32/*) file_32=$i; file_64=$cxxconfig ;; |
1556 |
%{gcc_target_platform}/64/*) file_32=$cxxconfig; file_64=$i ;; |
1557 |
esac |
1558 |
{ [[ -f "$file_32" ]] && [[ -f "$file_64" ]]; } || |
1559 |
{ echo "c++config.h dispatch error"; exit 1; } |
1560 |
|
1561 |
cat > %{buildroot}%{libstdcxx_includedir}/%{gcc_target_platform}/bits/c++config.h <<EOF |
1562 |
#ifndef _CPP_CPPCONFIG_WRAPPER |
1563 |
#define _CPP_CPPCONFIG_WRAPPER 1 |
1564 |
#include <bits/wordsize.h> |
1565 |
#if __WORDSIZE == 32 |
1566 |
`cat $file_32` |
1567 |
#else |
1568 |
`cat $file_64` |
1569 |
#endif |
1570 |
#endif |
1571 |
EOF |
1572 |
break |
1573 |
fi |
1574 |
done |
1575 |
popd |
1576 |
%endif |
1577 |
|
1578 |
# Link gnatgcc to gcc |
1579 |
%if %{build_ada} |
1580 |
ln -sf gcc %{buildroot}%{_bindir}/gnatgcc |
1581 |
%endif |
1582 |
|
1583 |
# Create an empty file with perms 0755 |
1584 |
FakeAlternatives() { |
1585 |
for file in ${1+"$@"}; do |
1586 |
rm -f %{cross_program_prefix}$file |
1587 |
touch %{cross_program_prefix}$file |
1588 |
chmod 0755 %{cross_program_prefix}$file |
1589 |
done |
1590 |
} |
1591 |
|
1592 |
# Alternatives provide /lib/cpp and %{_bindir}/cpp |
1593 |
(cd %{buildroot}%{_bindir}; FakeAlternatives cpp) |
1594 |
%if !%{build_cross} && %{system_compiler} |
1595 |
(mkdir -p %{buildroot}/lib; cd %{buildroot}/lib; ln -sf %{_bindir}/cpp cpp) |
1596 |
%endif |
1597 |
|
1598 |
# Alternatives provide /usr/bin/c++ |
1599 |
%if %{build_cxx} |
1600 |
(cd %{buildroot}%{_bindir}; FakeAlternatives c++) |
1601 |
%endif |
1602 |
|
1603 |
if [[ -z "%{?cross_bootstrap:1}" ]] && [[ "%{libc_shared}" = "1" ]]; then |
1604 |
# Move libgcc_s.so* to /%{_lib} |
1605 |
pushd %{buildroot}%{_prefix}/%{target_lib} |
1606 |
chmod 0755 libgcc_s.so.%{libgcc_major} |
1607 |
mkdir -p %{buildroot}%{target_slibdir} |
1608 |
mv -f libgcc_s.so.%{libgcc_major} %{buildroot}%{target_slibdir}/libgcc_s-%{version}.so.%{libgcc_major} |
1609 |
ln -sf libgcc_s-%{version}.so.%{libgcc_major} %{buildroot}%{target_slibdir}/libgcc_s.so.%{libgcc_major} |
1610 |
# WARNING: |
1611 |
# if there's a libgcc_s.so, it's a linker script. should be used instead of libgcc_s.so.* |
1612 |
# to avoid build errors. At least ARM need this kind of specific care. |
1613 |
if [ -f %{buildroot}/usr/%{target_lib}/libgcc_s.so ]; then |
1614 |
mkdir -p %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version} |
1615 |
mv -f %{buildroot}/usr/%{target_lib}/libgcc_s.so %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/ |
1616 |
else |
1617 |
ln -sf %{target_slibdir}/libgcc_s.so.%{libgcc_major} %{buildroot}%{target_libdir}/libgcc_s.so |
1618 |
fi |
1619 |
%if %isarch %{nof_arches} |
1620 |
chmod 0755 nof/libgcc_s.so.%{libgcc_major} |
1621 |
mkdir -p %{buildroot}%{target_slibdir}/nof |
1622 |
mv -f nof/libgcc_s.so.%{libgcc_major} %{buildroot}%{target_slibdir}/nof/libgcc_s-%{version}.so.%{libgcc_major} |
1623 |
ln -sf libgcc_s-%{version}.so.%{libgcc_major} %{buildroot}%{target_slibdir}/nof/libgcc_s.so.%{libgcc_major} |
1624 |
ln -sf %{target_slibdir}/nof/libgcc_s.so.%{libgcc_major} %{buildroot}%{target_libdir}/nof/libgcc_s.so |
1625 |
%endif |
1626 |
popd |
1627 |
%if %isarch %{biarches} |
1628 |
pushd %{buildroot}%{_prefix}/lib |
1629 |
chmod 0755 libgcc_s.so.%{libgcc_major} |
1630 |
mkdir -p %{buildroot}/lib |
1631 |
mv -f libgcc_s.so.%{libgcc_major} %{buildroot}/lib/libgcc_s-%{version}.so.%{libgcc_major} |
1632 |
ln -sf libgcc_s-%{version}.so.%{libgcc_major} %{buildroot}/lib/libgcc_s.so.%{libgcc_major} |
1633 |
ln -sf ../../lib/libgcc_s.so.%{libgcc_major} %{buildroot}%{_prefix}/lib/libgcc_s.so |
1634 |
ln -sf ../../lib/libgcc_s.so.%{libgcc_major} %{buildroot}%{_prefix}/lib/libgcc_s_32.so |
1635 |
popd |
1636 |
%endif |
1637 |
fi |
1638 |
|
1639 |
# Create c89 and c99 wrappers |
1640 |
%if %{system_compiler} |
1641 |
cat > %{buildroot}%{_prefix}/bin/c89 <<"EOF" |
1642 |
#!/bin/sh |
1643 |
fl="-std=c89" |
1644 |
for opt; do |
1645 |
case "$opt" in |
1646 |
-ansi|-std=c89|-std=iso9899:1990) fl="";; |
1647 |
-std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 |
1648 |
exit 1;; |
1649 |
esac |
1650 |
done |
1651 |
exec %{_bindir}/gcc-%{version} $fl ${1+"$@"} |
1652 |
EOF |
1653 |
cat > %{buildroot}%{_prefix}/bin/c99 <<"EOF" |
1654 |
#!/bin/sh |
1655 |
fl="-std=c99" |
1656 |
for opt; do |
1657 |
case "$opt" in |
1658 |
-std=c99|-std=iso9899:1999) fl="";; |
1659 |
-std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 |
1660 |
exit 1;; |
1661 |
esac |
1662 |
done |
1663 |
exec %{_bindir}/gcc-%{version} $fl ${1+"$@"} |
1664 |
EOF |
1665 |
chmod 755 %{buildroot}%{_prefix}/bin/c?9 |
1666 |
%endif |
1667 |
|
1668 |
# FIXME: cpp, gcov manpages names |
1669 |
pushd %{buildroot}%{_mandir}/man1; |
1670 |
if [[ -n "%{program_prefix}%{program_suffix}" ]]; then |
1671 |
for f in gcov cpp gcc g++ gfortran; do |
1672 |
[[ -f "$f.1" ]] && mv $f.1 %{program_prefix}$f%{program_suffix}.1 || : |
1673 |
done |
1674 |
fi |
1675 |
popd |
1676 |
|
1677 |
# Fix info pages |
1678 |
if [[ "%{name}" = "gcc%{branch}" ]]; then |
1679 |
pushd %{buildroot}%{_infodir}/ |
1680 |
for f in cpp cppinternals gcc gfortran gnat-style gnat_rm gnat_ugn; do |
1681 |
if [[ -f "$f.info" ]]; then |
1682 |
perl -pe "/^START-INFO-DIR-ENTRY/ .. /^END-INFO-DIR-ENTRY/ and s/($f)/\${1}-%{branch}/ig" $f.info > ${f}-%{branch}.info |
1683 |
rm -f $f.info |
1684 |
fi |
1685 |
done |
1686 |
popd |
1687 |
fi |
1688 |
|
1689 |
# Sanitize rpath |
1690 |
for bin in %{buildroot}%{_bindir}/* $FULLPATH/*.so $FULLPATH/ecj1; do |
1691 |
if [[ ! -f $bin ]]; then |
1692 |
continue |
1693 |
fi |
1694 |
oldrpath=$(chrpath -l $bin | awk -F= '{ print $2 }') |
1695 |
newrpath= |
1696 |
for rpathdir in ${oldrpath//:/ }; do |
1697 |
rpathdir=${rpathdir/lib\/..\/lib64/lib64} |
1698 |
[[ "$rpathdir" != "%{_libdir}" ]] || continue |
1699 |
newrpath=$newrpath:$rpathdir |
1700 |
done |
1701 |
newrpath=${newrpath#:} |
1702 |
[[ "$newrpath" != "$oldrpath" ]] || continue |
1703 |
if [[ "$newrpath" == "" ]]; then |
1704 |
chrpath -d $bin |
1705 |
else |
1706 |
chrpath -r $newrpath $bin |
1707 |
fi |
1708 |
done |
1709 |
|
1710 |
%if %{system_compiler} |
1711 |
%define find_lang /usr/lib/rpm/find-lang.sh %buildroot |
1712 |
%find_lang %{name} |
1713 |
%find_lang cpplib |
1714 |
%if %{build_cxx} |
1715 |
%find_lang libstdc++ |
1716 |
%endif |
1717 |
%else |
1718 |
touch %{name}.lang cpplib.lang libstdc++.lang |
1719 |
%endif |
1720 |
|
1721 |
# Remove unpackaged files |
1722 |
rm -f %{buildroot}%{_bindir}/jar |
1723 |
rm -f %{buildroot}%{_bindir}/addr2name.awk |
1724 |
rm -rf %{buildroot}%{_prefix}/doc |
1725 |
rm -rf %{buildroot}%{_mandir}/man7 |
1726 |
rm -f %{buildroot}%{target_libdir}/*.la |
1727 |
rm -f %{buildroot}%{_prefix}/lib/libiberty.a |
1728 |
rm -f %{buildroot}%{_prefix}/lib64/libiberty.a |
1729 |
rm -f %{buildroot}%{target_libdir}*/libiberty.a |
1730 |
%if %isarch %{biarches} |
1731 |
rm -f %{buildroot}%{_prefix}/lib/*.la |
1732 |
rm -f %{buildroot}%{_prefix}/lib/32/libiberty.a |
1733 |
%endif |
1734 |
rm -rf %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/install-tools |
1735 |
%if !%{build_doc} |
1736 |
rm -fr %{buildroot}/%{_datadir}/info/ |
1737 |
%endif |
1738 |
%if !%{build_quadmath} |
1739 |
rm -f %{buildroot}/%{_datadir}/info/libquadmath* |
1740 |
%endif |
1741 |
|
1742 |
%if %{build_cross} |
1743 |
rm %{buildroot}%{_mandir}/man1/%{program_prefix}gcov%{program_suffix}.1* |
1744 |
rm %{buildroot}%{_bindir}/%{program_prefix}gcov%{program_suffix} |
1745 |
%endif |
1746 |
|
1747 |
|
1748 |
%if !%system_compiler && !%build_cross && %libc_shared |
1749 |
rm %{buildroot}%{target_slibdir}/libgcc_s-%{version}.so.%{libgcc_major} |
1750 |
rm %{buildroot}%{target_slibdir}/libgcc_s.so.%{libgcc_major} |
1751 |
rm %{buildroot}%{target_libdir}/libgcc_s.so |
1752 |
%if %isarch %{biarches} |
1753 |
rm %{buildroot}%{target_slibdir32}/libgcc_s-%{version}.so.%{libgcc_major} |
1754 |
rm %{buildroot}%{target_slibdir32}/libgcc_s.so.%{libgcc_major} |
1755 |
rm %{buildroot}%{target_libdir}/../lib/libgcc_s.so |
1756 |
rm %{buildroot}%{target_libdir}/../lib/libgcc_s_32.so |
1757 |
%endif |
1758 |
%endif |
1759 |
%if %build_cross && !%{build_cross_bootstrap} |
1760 |
rm -f %{buildroot}/usr/%{target_lib}/libgcc_s.so |
1761 |
%endif |
1762 |
|
1763 |
# lsan is only available on x86_64, no need to expose header on other arches |
1764 |
%ifnarch x86_64 aarch64 |
1765 |
rm -f %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/sanitizer/lsan_interface.h |
1766 |
%endif |
1767 |
|
1768 |
# limits.h and syslimits.h are needed in includedir |
1769 |
mv %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/include-fixed/{sys,}limits.h \ |
1770 |
%{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/include |
1771 |
rm -r %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/include-fixed |
1772 |
|
1773 |
%if !%{system_compiler} |
1774 |
rm -f %{buildroot}%{_infodir}/gccinstall.info* |
1775 |
rm -f %{buildroot}%{_infodir}/gccint.info* |
1776 |
rm -rf %{buildroot}%{_datadir}/locale |
1777 |
%endif |
1778 |
rm -f %{buildroot}%{_infodir}/cp-tools.info |
1779 |
|
1780 |
# In case we are cross-compiling, don't bother to remake symlinks and |
1781 |
# don't let spec-helper when stripping files either |
1782 |
%if %build_cross |
1783 |
export DONT_SYMLINK_LIBS=1 |
1784 |
export DONT_STRIP=1 |
1785 |
%endif |
1786 |
|
1787 |
%if %{build_debug} |
1788 |
# Don't strip in debug mode |
1789 |
export DONT_STRIP=1 |
1790 |
%endif |
1791 |
|
1792 |
%if %{build_libstdcxx} |
1793 |
%if %build_cross && !%{build_cross_bootstrap} |
1794 |
rm -f %{buildroot}%{target_libdir}/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.py |
1795 |
%else |
1796 |
mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_libdir} |
1797 |
mv -f %{buildroot}%{_libdir}/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.py \ |
1798 |
%{buildroot}%{_datadir}/gdb/auto-load/%{_libdir}/ |
1799 |
%if %isarch %{biarches} |
1800 |
mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/lib |
1801 |
mv -f %{buildroot}%{_prefix}/lib/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.py \ |
1802 |
%{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/lib/ |
1803 |
%endif |
1804 |
%endif |
1805 |
%endif |
1806 |
|
1807 |
# fix experimental/filesystem .a location |
1808 |
%if %{build_libstdcxx} |
1809 |
mv -f %{buildroot}%{_libdir}/libstdc++fs.a %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/ |
1810 |
%if %isarch %{biarches} |
1811 |
mv -f %{buildroot}%{_prefix}/lib/libstdc++fs.a %{buildroot}%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/ |
1812 |
%endif |
1813 |
%endif |
1814 |
|
1815 |
# fix links broken by /usr move |
1816 |
rm -f %{buildroot}/lib/cpp |
1817 |
ln -sf %{_bindir}/cpp %{buildroot}%{_prefix}/lib/cpp |
1818 |
|
1819 |
%post |
1820 |
/usr/sbin/update-alternatives --install %{_bindir}/%{cross_program_prefix}gcc %{cross_program_prefix}gcc %{_bindir}/%{program_prefix}gcc-%{version} %{alternative_priority} |
1821 |
[ -e %{_bindir}/%{cross_program_prefix}gcc ] || /usr/sbin/update-alternatives --auto %{cross_program_prefix}gcc |
1822 |
/usr/sbin/update-alternatives --install %{_bindir}/%{cross_program_prefix}gcc-ar %{cross_program_prefix}gcc-ar %{_bindir}/%{program_prefix}gcc-ar-%{version} %{alternative_priority} |
1823 |
[ -e %{_bindir}/%{cross_program_prefix}gcc-ar ] || /usr/sbin/update-alternatives --auto %{cross_program_prefix}gcc-ar |
1824 |
/usr/sbin/update-alternatives --install %{_bindir}/%{cross_program_prefix}gcc-nm %{cross_program_prefix}gcc-nm %{_bindir}/%{program_prefix}gcc-nm-%{version} %{alternative_priority} |
1825 |
[ -e %{_bindir}/%{cross_program_prefix}gcc-nm ] || /usr/sbin/update-alternatives --auto %{cross_program_prefix}gcc-nm |
1826 |
/usr/sbin/update-alternatives --install %{_bindir}/%{cross_program_prefix}gcc-ranlib %{cross_program_prefix}gcc-ranlib %{_bindir}/%{program_prefix}gcc-ranlib-%{version} %{alternative_priority} |
1827 |
[ -e %{_bindir}/%{cross_program_prefix}gcc-ranlib ] || /usr/sbin/update-alternatives --auto %{cross_program_prefix}gcc-ranlib |
1828 |
|
1829 |
%postun |
1830 |
if [ ! -f %{_bindir}/%{cross_program_prefix}gcc-%{version} ]; then |
1831 |
/usr/sbin/update-alternatives --remove %{cross_program_prefix}gcc %{_bindir}/%{program_prefix}gcc-%{version} |
1832 |
fi |
1833 |
if [ ! -f %{_bindir}/%{cross_program_prefix}gcc-ar-%{version} ]; then |
1834 |
/usr/sbin/update-alternatives --remove %{cross_program_prefix}gcc-ar %{_bindir}/%{program_prefix}gcc-ar-%{version} |
1835 |
fi |
1836 |
if [ ! -f %{_bindir}/%{cross_program_prefix}gcc-nm-%{version} ]; then |
1837 |
/usr/sbin/update-alternatives --remove %{cross_program_prefix}gcc-nm %{_bindir}/%{program_prefix}gcc-nm-%{version} |
1838 |
fi |
1839 |
if [ ! -f %{_bindir}/%{cross_program_prefix}gcc-ranlib-%{version} ]; then |
1840 |
/usr/sbin/update-alternatives --remove %{cross_program_prefix}gcc-ranlib %{_bindir}/%{program_prefix}gcc-ranlib-%{version} |
1841 |
fi |
1842 |
|
1843 |
%if %{build_cxx} |
1844 |
%post c++ |
1845 |
/usr/sbin/update-alternatives --install %{_bindir}/%{cross_program_prefix}g++ %{cross_program_prefix}g++ %{_bindir}/%{program_prefix}g++-%{version} %{alternative_priority} --slave %{_bindir}/%{cross_program_prefix}c++ %{cross_program_prefix}c++ %{_bindir}/%{program_prefix}g++-%{version} |
1846 |
[ -e %{_bindir}/%{cross_program_prefix}g++ ] || /usr/sbin/update-alternatives --auto %{cross_program_prefix}g++ |
1847 |
|
1848 |
%postun c++ |
1849 |
if [ ! -f %{_bindir}/%{cross_program_prefix}g++-%{version} ]; then |
1850 |
/usr/sbin/update-alternatives --remove %{cross_program_prefix}g++ %{_bindir}/%{program_prefix}g++-%{version} |
1851 |
fi |
1852 |
%endif |
1853 |
|
1854 |
%post cpp |
1855 |
/usr/sbin/update-alternatives --install %{_bindir}/%{cross_program_prefix}cpp %{cross_program_prefix}cpp %{_bindir}/%{program_prefix}cpp-%{version} %{alternative_priority} --slave /lib/%{cross_program_prefix}cpp %{cross_program_prefix}lib_cpp %{_bindir}/%{program_prefix}cpp-%{version} |
1856 |
[ -e %{_bindir}/%{cross_program_prefix}cpp ] || /usr/sbin/update-alternatives --auto %{cross_program_prefix}cpp |
1857 |
|
1858 |
%postun cpp |
1859 |
if [ ! -f %{_bindir}/%{cross_program_prefix}cpp-%{version} ]; then |
1860 |
/usr/sbin/update-alternatives --remove %{cross_program_prefix}cpp %{_bindir}/%{program_prefix}cpp-%{version} |
1861 |
fi |
1862 |
|
1863 |
%files -f %{name}.lang |
1864 |
# |
1865 |
%doc gcc/README* |
1866 |
%{_mandir}/man1/%{program_prefix}gcc%{program_suffix}.1* |
1867 |
%if "%{name}" == "gcc%{package_suffix}" |
1868 |
%{_mandir}/man1/gcov%{program_suffix}.1* |
1869 |
%{_mandir}/man1/gcov-dump%{program_suffix}.1* |
1870 |
%{_mandir}/man1/gcov-tool%{program_suffix}.1* |
1871 |
%endif |
1872 |
# |
1873 |
%{_bindir}/%{program_prefix}gcc%{branch}-version |
1874 |
%{_bindir}/%{program_prefix}gcc%{program_long_suffix} |
1875 |
%{_bindir}/%{gcc_target_platform}-gcc%{program_suffix} |
1876 |
%{_bindir}/%{gcc_target_platform}-gcc-%{version} |
1877 |
%{_bindir}/%{program_prefix}gcc-ar%{program_long_suffix} |
1878 |
%{_bindir}/%{gcc_target_platform}-gcc-ar%{program_suffix} |
1879 |
%{_bindir}/%{gcc_target_platform}-ar%{program_suffix} |
1880 |
%{_bindir}/%{gcc_target_platform}-ar-%{version} |
1881 |
%{_bindir}/%{program_prefix}gcc-nm%{program_long_suffix} |
1882 |
%{_bindir}/%{gcc_target_platform}-gcc-nm%{program_suffix} |
1883 |
%{_bindir}/%{gcc_target_platform}-nm%{program_suffix} |
1884 |
%{_bindir}/%{gcc_target_platform}-nm-%{version} |
1885 |
%{_bindir}/%{program_prefix}gcc-ranlib%{program_long_suffix} |
1886 |
%{_bindir}/%{gcc_target_platform}-gcc-ranlib%{program_suffix} |
1887 |
%{_bindir}/%{gcc_target_platform}-ranlib%{program_suffix} |
1888 |
%{_bindir}/%{gcc_target_platform}-ranlib-%{version} |
1889 |
%if "%{name}" == "gcc%{package_suffix}" |
1890 |
%{_bindir}/gcov%{program_suffix} |
1891 |
%{_bindir}/gcov-dump |
1892 |
%{_bindir}/gcov-tool |
1893 |
%endif |
1894 |
%if %{system_compiler} |
1895 |
%{_bindir}/cc |
1896 |
%{_bindir}/c89 |
1897 |
%{_bindir}/c99 |
1898 |
%endif |
1899 |
# |
1900 |
%if %{libc_shared} && %{build_cross} || %{system_compiler} |
1901 |
%if !%{build_cross_bootstrap} |
1902 |
%{target_libdir}/libcc1.so |
1903 |
%if %isarch %arm %{ix86} x86_64 |
1904 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcc_s.so |
1905 |
%else |
1906 |
%{target_libdir}/libgcc_s.so |
1907 |
%endif |
1908 |
%endif |
1909 |
%if "%{name}" == "gcc%{package_suffix}" |
1910 |
%if %isarch %{nof_arches} |
1911 |
%{_libdir}/nof/libgcc_s.so |
1912 |
%endif |
1913 |
%if %isarch %{biarches} |
1914 |
%{_prefix}/lib/libgcc_s.so |
1915 |
%{_prefix}/lib/libgcc_s_32.so |
1916 |
%endif |
1917 |
%endif |
1918 |
%endif |
1919 |
# |
1920 |
%dir %{gcc_libdir}/%{gcc_target_platform} |
1921 |
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version} |
1922 |
# |
1923 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/collect2 |
1924 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/crt*.o |
1925 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcc.a |
1926 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcov.a |
1927 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/lto-wrapper |
1928 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/lto1 |
1929 |
# TODO: split out? |
1930 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/liblto_plugin* |
1931 |
# TODO: split out |
1932 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/plugin/libcp1plugin* |
1933 |
|
1934 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgcc_eh.a |
1935 |
%if "%{name}" == "gcc%{package_suffix}" |
1936 |
%if %isarch %{biarches} |
1937 |
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/32 |
1938 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/crt*.o |
1939 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcc.a |
1940 |
%if %{libc_shared} |
1941 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcc_eh.a |
1942 |
%endif |
1943 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgcov.a |
1944 |
%endif |
1945 |
%if %isarch %{nof_arches} |
1946 |
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/nof |
1947 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/crt*.o |
1948 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/ecrt*.o |
1949 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgcc.a |
1950 |
%if %{libc_shared} |
1951 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgcc_eh.a |
1952 |
%endif |
1953 |
%endif |
1954 |
%endif |
1955 |
# |
1956 |
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/include |
1957 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/float.h |
1958 |
# FIXME ? Fortran only ? |
1959 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ISO_Fortran_binding.h |
1960 |
%if %isarch %{ix86} x86_64 |
1961 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/adxintrin.h |
1962 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ammintrin.h |
1963 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avxintrin.h |
1964 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx2intrin.h |
1965 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx5124fmapsintrin.h |
1966 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx5124vnniwintrin.h |
1967 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512bitalgintrin.h |
1968 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512bwintrin.h |
1969 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512cdintrin.h |
1970 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512dqintrin.h |
1971 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512erintrin.h |
1972 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512fintrin.h |
1973 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512ifmaintrin.h |
1974 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512ifmavlintrin.h |
1975 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512pfintrin.h |
1976 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vbmi2intrin.h |
1977 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vbmiintrin.h |
1978 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vbmi2vlintrin.h |
1979 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vbmivlintrin.h |
1980 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vlbwintrin.h |
1981 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vldqintrin.h |
1982 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vlintrin.h |
1983 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vnniintrin.h |
1984 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vnnivlintrin.h |
1985 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vpopcntdqintrin.h |
1986 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/avx512vpopcntdqvlintrin.h |
1987 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/bmiintrin.h |
1988 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/bmi2intrin.h |
1989 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/bmmintrin.h |
1990 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cet.h |
1991 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cetintrin.h |
1992 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cldemoteintrin.h |
1993 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/clflushoptintrin.h |
1994 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/clwbintrin.h |
1995 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/clzerointrin.h |
1996 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/emmintrin.h |
1997 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/f16cintrin.h |
1998 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/fma4intrin.h |
1999 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/fmaintrin.h |
2000 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/fxsrintrin.h |
2001 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/gfniintrin.h |
2002 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ia32intrin.h |
2003 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/immintrin.h |
2004 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/lwpintrin.h |
2005 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/lzcntintrin.h |
2006 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/mm_malloc.h |
2007 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/mm3dnow.h |
2008 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/mmintrin.h |
2009 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/mwaitxintrin.h |
2010 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/movdirintrin.h |
2011 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/nmmintrin.h |
2012 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/pconfigintrin.h |
2013 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/pkuintrin.h |
2014 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/pmmintrin.h |
2015 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/popcntintrin.h |
2016 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/prfchwintrin.h |
2017 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/rdseedintrin.h |
2018 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/rtmintrin.h |
2019 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/sgxintrin.h |
2020 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/shaintrin.h |
2021 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/smmintrin.h |
2022 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/tbmintrin.h |
2023 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/tmmintrin.h |
2024 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/vaesintrin.h |
2025 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/vpclmulqdqintrin.h |
2026 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/waitpkgintrin.h |
2027 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/wbnoinvdintrin.h |
2028 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/wmmintrin.h |
2029 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/x86intrin.h |
2030 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xmmintrin.h |
2031 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xopintrin.h |
2032 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xsavecintrin.h |
2033 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xsaveintrin.h |
2034 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xsaveoptintrin.h |
2035 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xsavesintrin.h |
2036 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/xtestintrin.h |
2037 |
%endif |
2038 |
%if %isarch %arm |
2039 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/mmintrin.h |
2040 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/arm_cmse.h |
2041 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/unwind-arm-common.h |
2042 |
%endif |
2043 |
%if %isarch %arm aarch64 |
2044 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/arm_acle.h |
2045 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/arm_fp16.h |
2046 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/arm_neon.h |
2047 |
%endif |
2048 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/gcov.h |
2049 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/iso646.h |
2050 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/limits.h |
2051 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdalign.h |
2052 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdarg.h |
2053 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdatomic.h |
2054 |
%if %isarch %{ix86} x86_64 |
2055 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cross-stdarg.h |
2056 |
%endif |
2057 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdbool.h |
2058 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stddef.h |
2059 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdint-gcc.h |
2060 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdint.h |
2061 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdnoreturn.h |
2062 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/syslimits.h |
2063 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/unwind.h |
2064 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/varargs.h |
2065 |
%if %isarch i386 x86_64 |
2066 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cpuid.h |
2067 |
%endif |
2068 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/stdfix.h |
2069 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/sanitizer/common_interface_defs.h |
2070 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/sanitizer/tsan_interface.h |
2071 |
|
2072 |
%if "%{name}" == "%{cross_prefix}gcc" && %{libc_shared} |
2073 |
%if !%{build_monolithic} |
2074 |
%files -n %{libgcc_name} |
2075 |
%endif |
2076 |
%{target_libdir}/libcc1.so.%{libcc_major} |
2077 |
%{target_libdir}/libcc1.so.%{libcc_major}.0.0 |
2078 |
%{target_slibdir}/libgcc_s-%{version}.so.%{libgcc_major} |
2079 |
%{target_slibdir}/libgcc_s.so.%{libgcc_major} |
2080 |
%if %isarch %{biarches} |
2081 |
%{target_slibdir32}/libgcc_s-%{version}.so.%{libgcc_major} |
2082 |
%{target_slibdir32}/libgcc_s.so.%{libgcc_major} |
2083 |
# (cg) Excluded for usrmerge |
2084 |
# Note: This file will be recreated when running ldconfig so it will likely |
2085 |
# return almost immediately on installed systems but due to a file name conflict |
2086 |
# when the usrmerge happens it *must* be excluded from the package. |
2087 |
# In the fullness of time we can remove any /lib vs /usr/lib hacks in this package. |
2088 |
%exclude %{_prefix}/lib/libgcc_s.so.%{libgcc_major} |
2089 |
%endif |
2090 |
%if %isarch %{nof_arches} |
2091 |
%{target_slibdir}/nof/libgcc_s-%{version}.so.%{libgcc_major} |
2092 |
%{target_slibdir}/nof/libgcc_s.so.%{libgcc_major} |
2093 |
%endif |
2094 |
%endif |
2095 |
|
2096 |
%if %{build_libssp} && %{libc_shared} |
2097 |
%if !%{build_monolithic} |
2098 |
%files -n %{libssp_name} |
2099 |
%endif |
2100 |
%{target_libdir}/libssp.so.%{libssp_major} |
2101 |
%{target_libdir}/libssp.so.%{libssp_major}.0.0 |
2102 |
%if %isarch %{biarches} |
2103 |
%{_prefix}/lib/libssp.so.%{libssp_major} |
2104 |
%{_prefix}/lib/libssp.so.%{libssp_major}.0.0 |
2105 |
%endif |
2106 |
%endif |
2107 |
|
2108 |
%if %{build_libssp} |
2109 |
%if !%{build_monolithic} |
2110 |
%files -n %{libssp_name_orig}-devel |
2111 |
%endif |
2112 |
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ssp |
2113 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ssp/*.h |
2114 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libssp.a |
2115 |
%if %{libc_shared} |
2116 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libssp_nonshared.a |
2117 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libssp.so |
2118 |
%endif |
2119 |
%if %isarch %{biarches} |
2120 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libssp.a |
2121 |
%if %{libc_shared} |
2122 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libssp_nonshared.a |
2123 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libssp.so |
2124 |
%endif |
2125 |
%endif |
2126 |
%endif |
2127 |
|
2128 |
%if %{build_libgomp} |
2129 |
%files -n %{libgomp_name} |
2130 |
%{target_libdir}/libgomp.so.%{libgomp_major} |
2131 |
%{target_libdir}/libgomp.so.%{libgomp_major}.0.0 |
2132 |
%if %isarch %{biarches} |
2133 |
%{_prefix}/lib/libgomp.so.%{libgomp_major} |
2134 |
%{_prefix}/lib/libgomp.so.%{libgomp_major}.0.0 |
2135 |
%endif |
2136 |
|
2137 |
%files -n %{libgomp_name_orig}-devel |
2138 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgomp.a |
2139 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgomp.so |
2140 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/omp.h |
2141 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/openacc.h |
2142 |
%if %isarch %{biarches} |
2143 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgomp.a |
2144 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgomp.so |
2145 |
%endif |
2146 |
%{target_libdir}/libgomp.spec |
2147 |
%if %isarch %{biarches} |
2148 |
%{_prefix}/lib/libgomp.spec |
2149 |
%endif |
2150 |
%endif |
2151 |
|
2152 |
%if %{build_quadmath} |
2153 |
%files -n %{libquadmath_name} |
2154 |
%{target_libdir}/libquadmath.so.%{libquadmath_major} |
2155 |
%{target_libdir}/libquadmath.so.%{libquadmath_major}.0.0 |
2156 |
%if %isarch %{biarches} |
2157 |
%{_prefix}/lib/libquadmath.so.%{libquadmath_major} |
2158 |
%{_prefix}/lib/libquadmath.so.%{libquadmath_major}.0.0 |
2159 |
%endif |
2160 |
|
2161 |
%files -n %{libquadmath_name_orig}-devel |
2162 |
%{target_libdir}/libquadmath.a |
2163 |
%{target_libdir}/libquadmath.so |
2164 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/quadmath.h |
2165 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/quadmath_weak.h |
2166 |
%if %isarch %{biarches} |
2167 |
%{_prefix}/lib/libquadmath.a |
2168 |
%{_prefix}/lib/libquadmath.so |
2169 |
%endif |
2170 |
%endif |
2171 |
|
2172 |
%if %{build_libitm} |
2173 |
%files -n %{libitm_name} |
2174 |
%{target_libdir}/libitm.so.%{libitm_major} |
2175 |
%{target_libdir}/libitm.so.%{libitm_major}.0.0 |
2176 |
%{target_libdir}/libitm.spec |
2177 |
%if %isarch %{biarches} |
2178 |
%{_prefix}/lib/libitm.so.%{libitm_major} |
2179 |
%{_prefix}/lib/libitm.so.%{libitm_major}.0.0 |
2180 |
%{_prefix}/lib/libitm.spec |
2181 |
%endif |
2182 |
|
2183 |
%files -n %{libitm_name_orig}-devel |
2184 |
%{target_libdir}/libitm.a |
2185 |
%{target_libdir}/libitm.so |
2186 |
%if %isarch %{biarches} |
2187 |
%{_prefix}/lib/libitm.a |
2188 |
%{_prefix}/lib/libitm.so |
2189 |
%endif |
2190 |
%endif |
2191 |
|
2192 |
%if %{build_libasan} |
2193 |
%files -n %{libasan_name} |
2194 |
%{target_libdir}/libasan.so.%{libasan_major} |
2195 |
%{target_libdir}/libasan.so.%{libasan_major}.0.0 |
2196 |
%{target_libdir}/libasan_preinit.o |
2197 |
%if %isarch %{biarches} |
2198 |
%{_prefix}/lib/libasan.so.%{libasan_major} |
2199 |
%{_prefix}/lib/libasan.so.%{libasan_major}.0.0 |
2200 |
%{_prefix}/lib/libasan_preinit.o |
2201 |
%endif |
2202 |
|
2203 |
%files -n %{libasan_name_orig}-devel |
2204 |
%{target_libdir}/libasan.a |
2205 |
%{target_libdir}/libasan.so |
2206 |
%{target_libdir}/libsanitizer.spec |
2207 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/sanitizer/asan_interface.h |
2208 |
%if %isarch %{biarches} |
2209 |
%{_prefix}/lib/libasan.a |
2210 |
%{_prefix}/lib/libasan.so |
2211 |
%{_prefix}/lib/libsanitizer.spec |
2212 |
%endif |
2213 |
%endif |
2214 |
|
2215 |
%if %{build_libatomic} |
2216 |
%files -n %{libatomic_name} |
2217 |
%{target_libdir}/libatomic.so.%{libatomic_major} |
2218 |
%{target_libdir}/libatomic.so.%{libatomic_major}.%{libatomic_minor}.0 |
2219 |
%if %isarch %{biarches} |
2220 |
%{_prefix}/lib/libatomic.so.%{libatomic_major} |
2221 |
%{_prefix}/lib/libatomic.so.%{libatomic_major}.%{libatomic_minor}.0 |
2222 |
%endif |
2223 |
|
2224 |
%files -n %{libatomic_name_orig}-devel |
2225 |
%{target_libdir}/libatomic.a |
2226 |
%{target_libdir}/libatomic.so |
2227 |
%if %isarch %{biarches} |
2228 |
%{_prefix}/lib/libatomic.a |
2229 |
%{_prefix}/lib/libatomic.so |
2230 |
%endif |
2231 |
%endif |
2232 |
|
2233 |
%if %{build_liblsan} |
2234 |
%files -n %{liblsan_name} |
2235 |
%{target_libdir}/liblsan.so.%{liblsan_major} |
2236 |
%{target_libdir}/liblsan.so.%{liblsan_major}.0.0 |
2237 |
%{target_libdir}/liblsan_preinit.o |
2238 |
|
2239 |
%files -n %{liblsan_name_orig}-devel |
2240 |
%{target_libdir}/liblsan.a |
2241 |
%{target_libdir}/liblsan.so |
2242 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/sanitizer/lsan_interface.h |
2243 |
%endif |
2244 |
|
2245 |
%if %{build_libtsan} |
2246 |
%files -n %{libtsan_name} |
2247 |
%{target_libdir}/libtsan.so.%{libtsan_major} |
2248 |
%{target_libdir}/libtsan.so.%{libtsan_major}.0.0 |
2249 |
%{target_libdir}/libtsan_preinit.o |
2250 |
|
2251 |
%files -n %{libtsan_name_orig}-devel |
2252 |
%{target_libdir}/libtsan.a |
2253 |
%{target_libdir}/libtsan.so |
2254 |
%endif |
2255 |
|
2256 |
%if %{build_libubsan} |
2257 |
%files -n %{libubsan_name} |
2258 |
%{target_libdir}/libubsan.so.%{libubsan_major} |
2259 |
%{target_libdir}/libubsan.so.%{libubsan_major}.0.0 |
2260 |
%if %isarch %{biarches} |
2261 |
%{_prefix}/lib/libubsan.so.%{libubsan_major} |
2262 |
%{_prefix}/lib/libubsan.so.%{libubsan_major}.0.0 |
2263 |
%endif |
2264 |
|
2265 |
%files -n %{libubsan_name_orig}-devel |
2266 |
%{target_libdir}/libubsan.a |
2267 |
%{target_libdir}/libubsan.so |
2268 |
%if %isarch %{biarches} |
2269 |
%{_prefix}/lib/libubsan.a |
2270 |
%{_prefix}/lib/libubsan.so |
2271 |
%endif |
2272 |
%endif |
2273 |
|
2274 |
%if %{build_libvtv} |
2275 |
%files -n %{libvtv_name} |
2276 |
%{target_libdir}/libvtv.so.%{libvtv_major} |
2277 |
%{target_libdir}/libvtv.so.%{libvtv_major}.0.0 |
2278 |
%if %isarch %{biarches} |
2279 |
%{_prefix}/lib/libvtv.so.%{libvtv_major} |
2280 |
%{_prefix}/lib/libvtv.so.%{libvtv_major}.0.0 |
2281 |
%endif |
2282 |
|
2283 |
%files -n %{libvtv_name_orig}-devel |
2284 |
%{target_libdir}/libvtv.a |
2285 |
%{target_libdir}/libvtv.so |
2286 |
%if %isarch %{biarches} |
2287 |
%{_prefix}/lib/libvtv.a |
2288 |
%{_prefix}/lib/libvtv.so |
2289 |
%endif |
2290 |
%endif |
2291 |
|
2292 |
%files cpp -f cpplib.lang |
2293 |
%{_mandir}/man1/%{program_prefix}cpp%{program_suffix}.1* |
2294 |
%if !%{build_cross} && %{system_compiler} |
2295 |
%{_prefix}/lib/%{cross_program_prefix}cpp |
2296 |
%endif |
2297 |
%ghost %{_bindir}/%{cross_program_prefix}cpp |
2298 |
%{_bindir}/%{program_prefix}cpp%{program_long_suffix} |
2299 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1 |
2300 |
|
2301 |
%if %{build_cxx} |
2302 |
%files c++ -f libstdc++.lang |
2303 |
%{_mandir}/man1/%{program_prefix}g++%{program_suffix}.1* |
2304 |
%ghost %{_bindir}/%{cross_program_prefix}c++ |
2305 |
%{_bindir}/%{program_prefix}g++%{program_long_suffix} |
2306 |
%{_bindir}/%{program_prefix}c++%{program_long_suffix} |
2307 |
%{_bindir}/%{gcc_target_platform}-g++%{program_suffix} |
2308 |
%{_bindir}/%{gcc_target_platform}-c++%{program_suffix} |
2309 |
# |
2310 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1plus |
2311 |
# symlinks to gcc3.4 stuff |
2312 |
%if !%{system_compiler} |
2313 |
# |
2314 |
%if %{build_stdcxxheaders} |
2315 |
%dir %{target_prefix}/include/c++ |
2316 |
%{libstdcxx_includedir} |
2317 |
%endif |
2318 |
# |
2319 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cxxabi.h |
2320 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/bits |
2321 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libstdc++.so |
2322 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libsupc++.a |
2323 |
%if %isarch %{biarches} |
2324 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libstdc++.so |
2325 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libsupc++.a |
2326 |
%endif |
2327 |
%endif |
2328 |
%endif |
2329 |
|
2330 |
%if %{build_libstdcxx} && %{libc_shared} |
2331 |
%if !%{build_monolithic} |
2332 |
%files -n %{libstdcxx_name} |
2333 |
%endif |
2334 |
%{target_libdir}/libstdc++.so.%{libstdcxx_major} |
2335 |
%{target_libdir}/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro} |
2336 |
%if %isarch %{biarches} |
2337 |
%{_prefix}/lib/libstdc++.so.%{libstdcxx_major} |
2338 |
%{_prefix}/lib/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro} |
2339 |
%endif |
2340 |
%if %isarch %{nof_arches} |
2341 |
%dir %{_libdir}/nof |
2342 |
%{_libdir}/nof/libstdc++.so.%{libstdcxx_major} |
2343 |
%{_libdir}/nof/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro} |
2344 |
%endif |
2345 |
%endif |
2346 |
|
2347 |
%if %{build_libstdcxx} |
2348 |
%if !%{build_monolithic} |
2349 |
%files -n %{libstdcxx_name_orig}-devel |
2350 |
%endif |
2351 |
%doc libstdc++-v3/README* |
2352 |
%dir %{libstdcxx_includedir} |
2353 |
%{libstdcxx_includedir}/* |
2354 |
|
2355 |
%if %{system_compiler} |
2356 |
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version} |
2357 |
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/include |
2358 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/cxxabi.h |
2359 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/bits |
2360 |
%endif |
2361 |
|
2362 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libsupc++.a |
2363 |
%if %{libc_shared} |
2364 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libstdc++.so |
2365 |
%endif |
2366 |
%if %isarch %{biarches} |
2367 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libsupc++.a |
2368 |
%if %{libc_shared} |
2369 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libstdc++.so |
2370 |
%endif |
2371 |
%endif |
2372 |
%if %isarch %{nof_arches} |
2373 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libsupc++.a |
2374 |
%if %{libc_shared} |
2375 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libstdc++.so |
2376 |
%endif |
2377 |
%endif |
2378 |
%endif |
2379 |
|
2380 |
%if %{build_libstdcxx} |
2381 |
%if !%{build_monolithic} |
2382 |
%files -n %{libstdcxx_name_orig}-python-devel |
2383 |
%endif |
2384 |
%dir %{python3_sitelib}/libstdcxx |
2385 |
%{python3_sitelib}/libstdcxx/__init__.py* |
2386 |
%dir %{python3_sitelib}/libstdcxx/__pycache__ |
2387 |
%{python3_sitelib}/libstdcxx/__pycache__/__init__.cpython-*.py* |
2388 |
%dir %{python3_sitelib}/libstdcxx/v6 |
2389 |
%{python3_sitelib}/libstdcxx/v6/__init__.py* |
2390 |
%{python3_sitelib}/libstdcxx/v6/printers.py* |
2391 |
%{python3_sitelib}/libstdcxx/v6/xmethods.py* |
2392 |
%dir %{python3_sitelib}/libstdcxx/v6/__pycache__ |
2393 |
%{python3_sitelib}/libstdcxx/v6/__pycache__/__init__.cpython-*.py* |
2394 |
%{python3_sitelib}/libstdcxx/v6/__pycache__/printers.cpython-*.py* |
2395 |
%{python3_sitelib}/libstdcxx/v6/__pycache__/xmethods.cpython-*.py* |
2396 |
%if !%build_cross |
2397 |
%{_datadir}/gdb/auto-load/%{_libdir}/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.py* |
2398 |
%{_datadir}/gdb/auto-load/%{_libdir}/__pycache__/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.cpython-*.py* |
2399 |
%if %isarch %{biarches} |
2400 |
%{_datadir}/gdb/auto-load/%{_prefix}/lib/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.py* |
2401 |
%{_datadir}/gdb/auto-load/%{_prefix}/lib/__pycache__/libstdc++.so.%{libstdcxx_major}.0.%{libstdcxx_micro}-gdb.cpython-*.py* |
2402 |
%endif |
2403 |
%endif |
2404 |
%endif |
2405 |
|
2406 |
%if %{build_libstdcxx} |
2407 |
%if !%{build_monolithic} |
2408 |
%files -n %{libstdcxx_name_orig}-static-devel |
2409 |
%endif |
2410 |
%doc libstdc++-v3/README |
2411 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libstdc++.a |
2412 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libstdc++fs.a |
2413 |
%if %isarch %{biarches} |
2414 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libstdc++.a |
2415 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libstdc++fs.a |
2416 |
%endif |
2417 |
%if %isarch %{nof_arches} |
2418 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libstdc++.a |
2419 |
%endif |
2420 |
%endif |
2421 |
|
2422 |
# placement is important in order to avoid breaking build_monolithic case |
2423 |
%files -n %{name}-plugins |
2424 |
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/plugin/include/ |
2425 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/plugin/include/* |
2426 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/plugin/gengtype |
2427 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/plugin/gtype.state |
2428 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/plugin/libcc1plugin.* |
2429 |
|
2430 |
%if %{build_objc} |
2431 |
%files objc |
2432 |
%doc rpm.doc/objc/* |
2433 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1obj |
2434 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libobjc.a |
2435 |
%if %{build_objc_gc} |
2436 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libobjc_gc.a |
2437 |
%endif |
2438 |
%if %{libc_shared} |
2439 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libobjc.so |
2440 |
%if %{build_objc_gc} |
2441 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libobjc_gc.so |
2442 |
%endif |
2443 |
%endif |
2444 |
%if %isarch %{biarches} |
2445 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libobjc.a |
2446 |
%if %{build_objc_gc} |
2447 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libobjc_gc.a |
2448 |
%endif |
2449 |
%if %{libc_shared} |
2450 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libobjc.so |
2451 |
%if %{build_objc_gc} |
2452 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libobjc_gc.so |
2453 |
%endif |
2454 |
%endif |
2455 |
%endif |
2456 |
%if %isarch %{nof_arches} |
2457 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libobjc.a |
2458 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libobjc_gc.a |
2459 |
%if %{libc_shared} |
2460 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libobjc.so |
2461 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libobjc_gc.so |
2462 |
%endif |
2463 |
%endif |
2464 |
# |
2465 |
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/include/objc |
2466 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/objc/*.h |
2467 |
# |
2468 |
%endif |
2469 |
|
2470 |
%if %{build_objc} && %{libc_shared} |
2471 |
%if !%{build_monolithic} |
2472 |
%files -n %{libobjc_name} |
2473 |
%endif |
2474 |
%doc rpm.doc/libobjc/* |
2475 |
%doc libobjc/THREADS* libobjc/ChangeLog |
2476 |
%{target_libdir}/libobjc.so.%{libobjc_major} |
2477 |
%{target_libdir}/libobjc.so.%{libobjc_major}.0.0 |
2478 |
%if %{build_objc_gc} |
2479 |
%{target_libdir}/libobjc_gc.so.%{libobjc_major} |
2480 |
%{target_libdir}/libobjc_gc.so.%{libobjc_major}.0.0 |
2481 |
%endif |
2482 |
%if %isarch %{biarches} |
2483 |
%{_prefix}/lib/libobjc.so.%{libobjc_major} |
2484 |
%{_prefix}/lib/libobjc.so.%{libobjc_major}.0.0 |
2485 |
%if %{build_objc_gc} |
2486 |
%{_prefix}/lib/libobjc_gc.so.%{libobjc_major} |
2487 |
%{_prefix}/lib/libobjc_gc.so.%{libobjc_major}.0.0 |
2488 |
%endif |
2489 |
%endif |
2490 |
%endif |
2491 |
|
2492 |
%if %{build_objcp} |
2493 |
%files objc++ |
2494 |
%doc rpm.doc/objcp/* |
2495 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/cc1objplus |
2496 |
%endif |
2497 |
|
2498 |
|
2499 |
%if %{build_fortran} |
2500 |
%files gfortran |
2501 |
%doc rpm.doc/gfortran/* |
2502 |
%{_mandir}/man1/%{program_prefix}gfortran%{program_suffix}.1* |
2503 |
%{_bindir}/%{program_prefix}gfortran%{program_suffix} |
2504 |
%{_bindir}/%{gcc_target_platform}-gfortran%{program_suffix} |
2505 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/f951 |
2506 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgfortran.a |
2507 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libcaf_single.la |
2508 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libcaf_single.a |
2509 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/finclude/ieee_arithmetic.mod |
2510 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/finclude/ieee_exceptions.mod |
2511 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/finclude/ieee_features.mod |
2512 |
|
2513 |
%if %{libc_shared} |
2514 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/libgfortran.so |
2515 |
%endif |
2516 |
%if %isarch %{biarches} |
2517 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgfortran.a |
2518 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libcaf_single.la |
2519 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libcaf_single.a |
2520 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/ieee_arithmetic.mod |
2521 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/ieee_exceptions.mod |
2522 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/ieee_features.mod |
2523 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/omp_lib.f90 |
2524 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/omp_lib.h |
2525 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/omp_lib.mod |
2526 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/omp_lib_kinds.mod |
2527 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/openacc.f90 |
2528 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/openacc.mod |
2529 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/openacc_kinds.mod |
2530 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/finclude/openacc_lib.h |
2531 |
%if %{libc_shared} |
2532 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/32/libgfortran.so |
2533 |
%endif |
2534 |
%endif |
2535 |
%if %isarch %{nof_arches} |
2536 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgfortran.a |
2537 |
%if %{libc_shared} |
2538 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/nof/libgfortran.so |
2539 |
%endif |
2540 |
%endif |
2541 |
%if %{build_libgomp} |
2542 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/finclude/omp* |
2543 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/finclude/openacc* |
2544 |
%endif |
2545 |
%endif |
2546 |
|
2547 |
%if %{build_fortran} && %{libc_shared} |
2548 |
%if !%{build_monolithic} |
2549 |
%files -n %{libgfortran_name} |
2550 |
%endif |
2551 |
%{target_libdir}/libgfortran.so.%{libgfortran_major} |
2552 |
%{target_libdir}/libgfortran.so.%{libgfortran_major}.0.0 |
2553 |
%{target_libdir}/libgfortran.spec |
2554 |
%if %isarch %{biarches} |
2555 |
%{_prefix}/lib/libgfortran.so.%{libgfortran_major} |
2556 |
%{_prefix}/lib/libgfortran.so.%{libgfortran_major}.0.0 |
2557 |
%{_prefix}/lib/libgfortran.spec |
2558 |
%endif |
2559 |
%endif |
2560 |
|
2561 |
%if %{build_ada} |
2562 |
%files gnat |
2563 |
%{_bindir}/gnat* |
2564 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/gnat1 |
2565 |
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/adainclude |
2566 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adainclude/*.adb |
2567 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adainclude/*.ads |
2568 |
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib |
2569 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/*.ali |
2570 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgmem.a |
2571 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnat.a |
2572 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnat_pic.a |
2573 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnarl.a |
2574 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnarl_pic.a |
2575 |
%if %{libc_shared} |
2576 |
%{_libdir}/libgnat-%{libgnat_major}.so |
2577 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnat.so |
2578 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnat-%{libgnat_major}.so |
2579 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnarl.so |
2580 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/adalib/libgnarl-%{libgnat_major}.so |
2581 |
%endif |
2582 |
%endif |
2583 |
|
2584 |
%if %{build_libffi} |
2585 |
%files -n %{libffi_name} |
2586 |
%{target_libdir}/libffi.so.%{libffi_major} |
2587 |
%{target_libdir}/libffi.so.%{libffi_major}.0.1 |
2588 |
%if %isarch %{biarches} |
2589 |
%{_prefix}/lib/libffi.so.%{libffi_major} |
2590 |
%{_prefix}/lib/libffi.so.%{libffi_major}.0.1 |
2591 |
%endif |
2592 |
|
2593 |
%files -n %{libffi_name}-devel |
2594 |
%doc libffi/README libffi/LICENSE libffi/ChangeLog* |
2595 |
%{_mandir}/man3/ffi*.3* |
2596 |
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version} |
2597 |
%dir %{gcc_libdir}/%{gcc_target_platform}/%{version}/include |
2598 |
%{gcc_libdir}/%{gcc_target_platform}/%{version}/include/ffi*.h |
2599 |
%{_libdir}/libffi.a |
2600 |
%{_libdir}/libffi.so |
2601 |
%if %isarch %{biarches} |
2602 |
%{_prefix}/lib/libffi.a |
2603 |
%{_prefix}/lib/libffi.so |
2604 |
%endif |
2605 |
%endif |
2606 |
|
2607 |
%if %{build_ada} && %{libc_shared} |
2608 |
%files -n %{libgnat_name} |
2609 |
%{target_libdir}/libgnat-%{libgnat_major}.so |
2610 |
%{target_libdir}/libgnarl-%{libgnat_major}.so |
2611 |
%endif |
2612 |
|
2613 |
%if %{build_doc} |
2614 |
%files doc |
2615 |
%doc gcc/*ChangeLog* |
2616 |
%if %{build_check} |
2617 |
%doc test_summary.log |
2618 |
%endif |
2619 |
%{_infodir}/cppinternals%{_package_suffix}.info* |
2620 |
%{_infodir}/cpp%{_package_suffix}.info* |
2621 |
%{_infodir}/gcc%{_package_suffix}.info* |
2622 |
%{_infodir}/gccinstall%{_package_suffix}.info* |
2623 |
%{_infodir}/gccint%{_package_suffix}.info* |
2624 |
%if %{build_libstdcxx} |
2625 |
%doc rpm.doc/libstdc++/ |
2626 |
%endif |
2627 |
%if %{build_cxx} |
2628 |
%doc rpm.doc/c++ |
2629 |
%endif |
2630 |
%if %{build_libgomp} |
2631 |
%{_infodir}/libgomp%{_package_suffix}.info* |
2632 |
%endif |
2633 |
%if %{build_ada} |
2634 |
%{_infodir}/gnat-style%{_package_suffix}.info* |
2635 |
%{_infodir}/gnat_rm%{_package_suffix}.info* |
2636 |
%{_infodir}/gnat_ugn%{_package_suffix}.info* |
2637 |
%endif |
2638 |
%if %{build_fortran} |
2639 |
%{_infodir}/gfortran%{_package_suffix}.info* |
2640 |
%endif |
2641 |
%if %{build_quadmath} |
2642 |
%{_infodir}/libquadmath%{_package_suffix}.info* |
2643 |
%endif |
2644 |
%if %{build_libitm} |
2645 |
%{_infodir}/libitm%{_package_suffix}.info* |
2646 |
%endif |
2647 |
%endif |
2648 |
|
2649 |
%if %{build_pdf_doc} |
2650 |
%files doc-pdf |
2651 |
%doc gcc/doc/cppinternals.pdf |
2652 |
%doc gcc/doc/gcc.pdf |
2653 |
%doc gcc/doc/cpp.pdf |
2654 |
%if %{build_ada} |
2655 |
%doc gcc/ada/gnat_rm.pdf |
2656 |
%doc gcc/ada/gnat_ugn.pdf |
2657 |
%endif |
2658 |
%if %{build_fortran} |
2659 |
%doc gcc/fortran/gfortran.pdf |
2660 |
%endif |
2661 |
%endif |
2662 |
|
2663 |
%if %{build_libstdcxx_docs} |
2664 |
%files -n libstdc++-docs |
2665 |
%{_mandir}/man3/* |
2666 |
%doc rpm.doc/libstdc++-v3/html |
2667 |
%endif |