File gcc.spec.in of Package gcc12 (Revision 09f0e0f9d4b97816ab4f193df09e46a3)
Currently displaying revision 09f0e0f9d4b97816ab4f193df09e46a3 , Show latest
2844
1
#
2
# spec file for package gcc${version}
3
#
4
# Copyright (c) 2021 SUSE LLC
5
#
6
# All modifications and additions to the file contributed by third parties
7
# remain the property of their copyright owners, unless otherwise agreed
8
# upon. The license for this file, and modifications and additions to the
9
# file, is the same license as for the pristine package itself (unless the
10
# license for the pristine package is not an Open Source License, in which
11
# case the license is the MIT License). An "Open Source License" is a
12
# license that conforms to the Open Source Definition (Version 1.9)
13
# published by the Open Source Initiative.
14
15
# Please submit bugfixes or comments via https://bugs.opensuse.org/
16
#
17
18
# nospeccleaner
19
20
%if !0%{?usrmerged}
21
%define _slibdir /%{_lib}
22
%define slibdir /lib
23
%define slibdir64 /lib64
24
%else
25
%define _slibdir %{_libdir}
26
%define slibdir %{_prefix}/lib
27
%define slibdir64 %{_prefix}/lib64
28
%endif
29
30
# Ada currently fails to build on a few platforms, enable it only
31
# on those that work
32
%if %{suse_version} >= 1310
33
%if %{suse_version} >= 1330
34
%define ada_arch %ix86 x86_64 ppc ppc64 ppc64le s390 s390x ia64 aarch64 riscv64
35
%else
36
%define ada_arch %ix86 x86_64 ppc ppc64 s390 ia64
37
%endif
38
%else
39
%define ada_arch %ix86 x86_64 ppc s390 ia64
40
%endif
41
42
%ifarch %ada_arch
43
%define build_ada 1
44
%else
45
%define build_ada 0
46
%endif
47
48
%define quadmath_arch %ix86 x86_64 ia64 ppc64le
49
%define tsan_arch x86_64 aarch64 ppc ppc64 ppc64le s390 s390x
50
%define asan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %sparc %arm aarch64 riscv64
51
%define hwasan_arch aarch64
52
%define itm_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc
53
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k ia64 riscv64
54
%define lsan_arch x86_64 aarch64 ppc ppc64 ppc64le s390 s390x
55
%define ubsan_arch x86_64 %ix86 ppc ppc64 ppc64le s390 s390x %arm aarch64 riscv64
56
%if 0%{?build_libvtv:1}
57
%define vtv_arch x86_64 %ix86
58
%endif
59
60
%define build_cp 1
61
%define build_fortran 1
62
%define build_objc 1
63
%define build_objcp 1
64
%define build_go 1
65
%ifarch x86_64 %ix86 %arm aarch64 riscv64 s390x
66
%define build_d 1
67
%else
68
%define build_d 0
69
%endif
70
71
%if %{build_objcp}
72
%define build_cp 1
73
%define build_objc 1
74
%endif
75
76
# For optional compilers only build C, C++, Fortran, Ada and Go
77
%if 0%{?build_optional_compiler_languages:1}
78
%define build_objc 0
79
%define build_objcp 0
80
%define build_d 0
81
%endif
82
83
%ifarch x86_64
84
%define build_nvptx 1
85
%else
86
%define build_nvptx 0
87
%endif
88
89
%ifarch x86_64
90
# SLE12 does not fulfil build requirements for GCN, SLE15 SP1 does
91
# technically also SLE12 SP5 but do not bother there
92
%if %{suse_version} >= 1550 || 0%{?sle_version:%sle_version} >= 150100
93
%define build_gcn 1
94
%else
95
%define build_gcn 0
96
%endif
97
%else
98
%define build_gcn 0
99
%endif
100
101
%define use_lto_bootstrap 0
102
%ifarch x86_64 ppc64le s390x aarch64
103
%if %{suse_version} > 1500
104
%define use_lto_bootstrap 1
105
%endif
106
%endif
107
108
# Enable plugins just for Tumbleweed, not for SLES
109
%if 0%{!?sle_version:1}
110
%define enable_plugins 1
111
%define build_jit 1
112
%else
113
%define enable_plugins 0
114
%define build_jit 0
115
%endif
116
117
# Shared library SONAME versions
118
%ifarch hppa
119
%define libgcc_s 4
120
%else
121
%ifarch m68k
122
%define libgcc_s 2
123
%else
124
%define libgcc_s 1
125
%endif
126
%endif
127
%define libgomp_sover 1
128
%define libstdcxx_sover 6
129
%define libobjc_sover 4
130
%define libgfortran_sover 5
131
%define libquadmath_sover 0
132
%define libasan_sover 8
133
%define libtsan_sover 2
134
%define libhwasan_sover 0
135
%define libatomic_sover 1
136
%define libitm_sover 1
137
%define libubsan_sover 1
138
%define liblsan_sover 0
139
%define libvtv_sover 0
140
%define libgo_sover 21
141
%define libgphobos_sover 3
142
%define libgdruntime_sover 3
143
%define libgccjit_sover 0
144
145
# Shared library package suffix
146
# This is used for the "non-standard" set of libraries, the standard
147
# being defined by %%product_libs_gcc_ver, the GCC version that should
148
# provide un-suffixed shared library packages following the shared-library
149
# policy. Even suffixed variants should provide the shared-library policy
150
# mandated names and ensure they conflict with each other.
151
# Individual shared libraries can be directed to be built from individual
152
# gcc versions by defining %%product_libs_gcc_ver_libgcc_s1 for example,
153
# generally %%product_libs_gcc_ver_%%name%%sover, similarly.
154
155
%define itsme@base_ver@ 1
156
%define plv_ %{!?product_libs_gcc_ver:@base_ver@}%{?product_libs_gcc_ver}
157
%define plv() %{expand:%%{!?itsme%{expand:%%{!?product_libs_gcc_ver_%{1}%{2}:%%{plv_}}%%{?product_libs_gcc_ver_%{1}%{2}}}:-gcc@base_ver@}}
158
159
%define libgcc_s_suffix %{plv libgcc_s %{libgcc_s}}
160
%define libgomp_suffix %{plv libgomp %{libgomp_sover}}
161
%define libstdcxx_suffix %{plv libstdcxx %{libstdcxx_sover}}
162
%define libobjc_suffix %{plv libobjc %{libobjc_sover}}
163
%define libgfortran_suffix %{plv libgfortran %{libgfortran_sover}}
164
%define libquadmath_suffix %{plv libquadmath %{libquadmath_sover}}
165
%define libasan_suffix %{plv libasan %{libasan_sover}}
166
%define libtsan_suffix %{plv libtsan %{libtsan_sover}}
167
%define libhwasan_suffix %{plv libhwasan %{libhwasan_sover}}
168
%define libatomic_suffix %{plv libatomic %{libatomic_sover}}
169
%define libitm_suffix %{plv libitm %{libitm_sover}}
170
%define libubsan_suffix %{plv libubsan %{libubsan_sover}}
171
%define liblsan_suffix %{plv liblsan %{liblsan_sover}}
172
%define libvtv_suffix %{plv libvtv %{libvtv_sover}}
173
%define libgo_suffix %{plv libgo %{libgo_sover}}
174
%define libgphobos_suffix %{plv libgphobos %{libgphobos_sover}}
175
%define libgdruntime_suffix %{plv libgdruntime %{libgdruntime_sover}}
176
%define libgccjit_suffix %{plv libgccjit %{libgccjit_sover}}
177
178
179
# libFOO-devel package suffix
180
%define libdevel_suffix -gcc@base_ver@
181
182
183
%if %{suse_version} >= 1220
184
%define selfconflict() %1
185
%else
186
%define selfconflict() otherproviders(%1)
187
%endif
188
189
# SRC-COMMON-BEGIN
190
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
191
192
URL: https://gcc.gnu.org/
193
Version: 12.2.1+git416
194
Release: 1
195
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
196
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
197
%define binsuffix -@base_ver@
198
# SRC-COMMON-END
199
200
Name: gcc@base_ver@
201
BuildRequires: xz
202
%if %{suse_version} > 1500
203
BuildRequires: libzstd-devel
204
%endif
205
# With generated files in src we could drop the following
206
BuildRequires: bison
207
BuildRequires: flex
208
BuildRequires: gettext-devel
209
%if %{suse_version} > 1220
210
BuildRequires: makeinfo
211
%else
212
BuildRequires: texinfo
213
%endif
214
# until here, but at least renaming and patching info files breaks this
215
BuildRequires: gcc-c++
216
BuildRequires: glibc-devel-32bit
217
BuildRequires: mpc-devel
218
BuildRequires: mpfr-devel
219
BuildRequires: perl
220
BuildRequires: zlib-devel
221
%if %{suse_version} >= 1500
222
# for SDT markers in the C++ unwinder and gdb breakpoints on exceptions
223
BuildRequires: systemtap-headers
224
%endif
225
%if %{suse_version} >= 1230
226
BuildRequires: isl-devel
227
%endif
228
%define hostsuffix %{nil}
229
%if %{build_ada}
230
%if 0%{?gcc_version:%{gcc_version}} > @base_ver@
231
%define hostsuffix %{binsuffix}
232
BuildRequires: gcc@base_ver@-ada
233
BuildRequires: gcc@base_ver@-c++
234
%else
235
%if %{suse_version} <= 1315
236
%define hostsuffix -7
237
BuildRequires: gcc7-ada
238
BuildRequires: gcc7-c++
239
%else
240
%define hostsuffix %{nil}
241
BuildRequires: gcc-ada
242
%endif
243
%endif
244
%endif
245
%if %{build_d}
246
%if %{suse_version} < 1550
247
BuildRequires: gcc11-d
248
BuildRequires: libstdc++6-devel-gcc11
249
%else
250
BuildRequires: gcc-d
251
%endif
252
%endif
253
# We now require a C++ 11 capable compiler for bootstrapping
254
%if %{suse_version} < 1220
255
%define hostsuffix -4.8
256
BuildRequires: gcc48-c++
257
%endif
258
%if 0%{?building_testsuite:1}
259
# For building the libstdc++ API reference
260
BuildRequires: doxygen
261
BuildRequires: graphviz
262
%endif
263
%ifarch ia64
264
BuildRequires: libunwind-devel
265
%endif
266
%if 0%{?run_tests:1}
267
BuildRequires: dejagnu
268
BuildRequires: expect
269
BuildRequires: gdb
270
%if %{build_go}
271
BuildRequires: procps
272
BuildRequires: netcfg
273
%endif
274
%if %{build_nvptx}
275
BuildRequires: cross-nvptx-gcc@base_ver@
276
BuildRequires: cross-nvptx-newlib@base_ver@-devel
277
%endif
278
%if %{build_gcn}
279
BuildRequires: cross-amdgcn-gcc@base_ver@
280
BuildRequires: cross-amdgcn-newlib@base_ver@-devel
281
%endif
282
%endif
283
#!BuildIgnore: gcc-PIE
284
285
%define separate_bi32 0
286
%define separate_bi64 0
287
%if 0%{!?disable_32bit:1}
288
%ifarch ppc sparcv9
289
%define separate_bi64 1
290
%endif
291
%ifarch x86_64 s390x ppc64 sparc64
292
%define separate_bi32 1
293
%endif
294
%define disable_multilib_arch %{nil}
295
%else
296
%define disable_multilib_arch ppc sparcv9 x86_64 s390x ppc64 sparc64
297
%endif
298
299
# Define two macros to trigger -32bit or -64bit package variants
300
%define separate_biarch 0
301
%if %{separate_bi32}
302
%define separate_biarch 1
303
%define separate_biarch_suffix -32bit
304
%endif
305
%if %{separate_bi64}
306
%define separate_biarch 1
307
%define separate_biarch_suffix -64bit
308
%endif
309
310
%ifarch aarch64 x86_64 ia64 s390x alpha ppc64 ppc64le sparc64
311
# 64-bit is primary build target
312
%define build_primary_64bit 1
313
%else
314
%define build_primary_64bit 0
315
%endif
316
317
%if !0%{?building_testsuite:1}
318
Requires: binutils glibc-devel
319
Requires: cpp@base_ver@ = %{version}-%{release}
320
Requires: libgcc_s%{libgcc_s} >= %{version}-%{release}
321
Requires: libgomp%{libgomp_sover} >= %{version}-%{release}
322
%ifarch %asan_arch
323
Requires: libasan%{libasan_sover} >= %{version}-%{release}
324
%endif
325
%ifarch %tsan_arch
326
%if %{build_primary_64bit}
327
Requires: libtsan%{libtsan_sover} >= %{version}-%{release}
328
%endif
329
%endif
330
%ifarch %hwasan_arch
331
Requires: libhwasan%{libhwasan_sover} >= %{version}-%{release}
332
%endif
333
%ifarch %atomic_arch
334
Requires: libatomic%{libatomic_sover} >= %{version}-%{release}
335
%endif
336
%ifarch %itm_arch
337
Requires: libitm%{libitm_sover} >= %{version}-%{release}
338
%endif
339
%ifarch %lsan_arch
340
%if %{build_primary_64bit}
341
Requires: liblsan%{liblsan_sover} >= %{version}-%{release}
342
%endif
343
%endif
344
%ifarch %ubsan_arch
345
Requires: libubsan%{libubsan_sover} >= %{version}-%{release}
346
%endif
347
%ifarch %vtv_arch
348
Requires: libvtv%{libvtv_sover} >= %{version}-%{release}
349
%endif
350
Suggests: gcc@base_ver@-info gcc@base_ver@-locale
351
%endif
352
353
# SRC-COMMON-BEGIN
354
%if %{suse_version} < 1310
355
BuildRoot: %{_tmppath}/%{name}-%{version}-build
356
%endif
357
Group: Development/Languages/C and C++
358
Source: gcc-%{version}.tar.xz
359
Source1: change_spec
360
Source2: gcc12-rpmlintrc
361
Source3: gcc12-testresults-rpmlintrc
362
Source4: README.First-for.SuSE.packagers
363
Source5: newlib-4.1.0.tar.xz
364
Patch2: gcc-add-defaultsspec.diff
365
Patch5: tls-no-direct.diff
366
Patch6: gcc43-no-unwind-tables.diff
367
Patch7: gcc48-libstdc++-api-reference.patch
368
Patch11: gcc7-remove-Wexpansion-to-defined-from-Wextra.patch
369
Patch15: gcc7-avoid-fixinc-error.diff
370
Patch16: gcc9-reproducible-builds.patch
371
Patch17: gcc9-reproducible-builds-buildid-for-checksum.patch
372
Patch18: gcc10-amdgcn-llvm-as.patch
373
Patch19: gcc11-gdwarf-4-default.patch
374
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
375
Patch21: gcc12-fifo-jobserver-support.patch
376
# A set of patches from the RH srpm
377
Patch51: gcc41-ppc32-retaddr.patch
378
# Some patches taken from Debian
379
Patch60: gcc44-textdomain.patch
380
Patch61: gcc44-rename-info-files.patch
381
# Patches for embedded newlib
382
Patch100: newlib-4.1.0-aligned_alloc.patch
383
384
# GCC-TESTSUITE-DELETE-BEGIN
385
# SRC-COMMON-END
386
License: GPL-3.0-or-later
387
Summary: The GNU C Compiler and Support Files
388
389
%description
390
Core package for the GNU Compiler Collection, including the C language
391
frontend.
392
393
Language frontends other than C are split to different sub-packages,
394
namely gcc-ada, gcc-c++, gcc-fortran, gcc-obj, gcc-obj-c++ and gcc-go.
395
396
397
398
%package -n gcc@base_ver@-32bit
399
Summary: The GNU C Compiler 32bit support
400
Group: Development/Languages/C and C++
401
Requires: gcc@base_ver@ = %{version}-%{release}
402
Requires: libgcc_s%{libgcc_s}-32bit >= %{version}-%{release}
403
Requires: libgomp%{libgomp_sover}-32bit >= %{version}-%{release}
404
%ifarch %asan_arch
405
Requires: libasan%{libasan_sover}-32bit >= %{version}-%{release}
406
%endif
407
%ifarch %atomic_arch
408
Requires: libatomic%{libatomic_sover}-32bit >= %{version}-%{release}
409
%endif
410
%ifarch %itm_arch
411
Requires: libitm%{libitm_sover}-32bit >= %{version}-%{release}
412
%endif
413
%ifarch %ubsan_arch
414
Requires: libubsan%{libubsan_sover}-32bit >= %{version}-%{release}
415
%endif
416
%ifarch %vtv_arch
417
Requires: libvtv%{libvtv_sover}-32bit >= %{version}-%{release}
418
%endif
419
Requires: glibc-devel-32bit
420
421
%description -n gcc@base_ver@-32bit
422
This package contains 32bit support for the GNU Compiler Collection.
423
424
%package -n gcc@base_ver@-64bit
425
Summary: The GNU C Compiler 64bit support
426
Group: Development/Languages/C and C++
427
Requires: gcc@base_ver@ = %{version}-%{release}
428
Requires: libgcc_s%{libgcc_s}-64bit >= %{version}-%{release}
429
Requires: libgomp%{libgomp_sover}-64bit >= %{version}-%{release}
430
%ifarch %asan_arch
431
Requires: libasan%{libasan_sover}-64bit >= %{version}-%{release}
432
%endif
433
%ifarch %tsan_arch
434
Requires: libtsan%{libtsan_sover}-64bit >= %{version}-%{release}
435
%endif
436
%ifarch %hwasan_arch
437
Requires: libhwasan%{libhwasan_sover}-64bit >= %{version}-%{release}
438
%endif
439
%ifarch %atomic_arch
440
Requires: libatomic%{libatomic_sover}-64bit >= %{version}-%{release}
441
%endif
442
%ifarch %itm_arch
443
Requires: libitm%{libitm_sover}-64bit >= %{version}-%{release}
444
%endif
445
%ifarch %lsan_arch
446
Requires: liblsan%{liblsan_sover}-64bit >= %{version}-%{release}
447
%endif
448
%ifarch %ubsan_arch
449
Requires: libubsan%{libubsan_sover}-64bit >= %{version}-%{release}
450
%endif
451
%ifarch %vtv_arch
452
Requires: libvtv%{libvtv_sover}-64bit >= %{version}-%{release}
453
%endif
454
Requires: glibc-devel-64bit
455
456
%description -n gcc@base_ver@-64bit
457
This package contains 64bit support for the GNU Compiler Collection.
458
459
460
%package devel
461
Summary: GCC plugins development enviroment
462
License: GPL-3.0-or-later
463
Group: Development/Languages/C and C++
464
Requires: gcc@base_ver@ = %{version}-%{release}
465
Requires: gmp-devel
466
Requires: mpc-devel
467
468
%description devel
469
Files required for developing and compiling GCC plugins.
470
471
472
%package locale
473
Summary: Locale Data for the GNU Compiler Collection
474
License: GPL-3.0-or-later
475
Group: Development/Languages/C and C++
476
Requires: gcc@base_ver@ = %{version}-%{release}
477
478
%description locale
479
Locale data for the GNU Compiler Collection (GCC) to give error message
480
in the current locale.
481
482
483
%package PIE
484
Summary: A default configuration to build all binaries in PIE mode
485
License: GPL-3.0-or-later
486
Group: Development/Languages/Other
487
Requires: gcc@base_ver@ = %{version}-%{release}
488
489
%description PIE
490
This package contains a configuration file (spec) that changes the
491
compilers default setting to build all ELF binaries in the Position
492
Independend Executable (PIE) variant. This enables better address
493
space randomization (ASLR).
494
495
496
# PACKAGE-BEGIN
497
%package c++@variant@
498
Summary: The GNU C++ Compiler
499
License: GPL-3.0-or-later
500
Group: Development/Languages/C and C++
501
Requires: gcc@base_ver@@variant@ = %{version}-%{release}
502
Requires: gcc@base_ver@-c++ = %{version}-%{release}
503
Requires: libstdc++%{libstdcxx_sover}-devel%{libdevel_suffix}@variant@ = %{version}-%{release}
504
505
%description c++@variant@
506
This package contains the GNU compiler for C++.
507
# PACKAGE-END
508
509
510
# PACKAGE-BEGIN
511
%package -n libstdc++%{libstdcxx_sover}-devel%{libdevel_suffix}@variant@
512
Summary: Include Files and Libraries mandatory for Development
513
License: GPL-3.0-or-later WITH GCC-exception-3.1
514
Group: Development/Languages/C and C++
515
Requires: libstdc++%{libstdcxx_sover}@variant@ >= %{version}-%{release}
516
Requires: glibc-devel@variant@
517
%ifarch ia64
518
Requires: libunwind-devel
519
%endif
520
521
%description -n libstdc++%{libstdcxx_sover}-devel%{libdevel_suffix}@variant@
522
This package contains all the headers and libraries of the standard C++
523
library. It is needed for compiling C++ code.
524
# PACKAGE-END
525
526
# PACKAGE-BEGIN
527
%package -n libstdc++%{libstdcxx_sover}-pp%{libstdcxx_suffix}@variant@
528
Summary: GDB pretty printers for the C++ standard library
529
License: GPL-3.0-or-later
530
Group: Development/Languages/C and C++
531
# The -pp packages are tied to a specific shared library
532
Requires: libstdc++%{libstdcxx_sover}@variant@ = %{version}-%{release}
533
Requires: libstdc++%{libstdcxx_sover}-pp%{libstdcxx_suffix} = %{version}-%{release}
534
Provides: libstdc++%{libstdcxx_sover}-pp@variant@ = %{version}-%{release}
535
# To allow updates from libstdc++6-pp-gccM to libstdc++6-pp we need
536
# enumerates Obsoletes, the separate -pp package was introduced with GCC9
537
# and dropped somewhen during the GCC11 to GCC12 transition
538
Obsoletes: libstdc++6-pp-gcc9@variant@ libstdc++6-pp-gcc10@variant@
539
Obsoletes: libstdc++6-pp-gcc11@variant@
540
Provides: libstdc++6-pp-gcc9@variant@ libstdc++6-pp-gcc10@variant@
541
Provides: libstdc++6-pp-gcc11@variant@
542
# Only one package may provide this - allows multiple gcc versions
543
# to co-exist without an overly large list of provides/obsoletes
544
Conflicts: %selfconflict libstdc++%{libstdcxx_sover}-pp@variant@
545
# packageand() does not work with versioned specifications so the fallback
546
# is a Requires from libstdc++-devel to preserve previous behavior.
547
%if %{suse_version} >= 1500
548
Supplements: (gdb and libstdc++%{libstdcxx_sover}@variant@ = %{version}-%{release})
549
%endif
550
551
%description -n libstdc++%{libstdcxx_sover}-pp%{libstdcxx_suffix}@variant@
552
This package contains pretty printers for the C++ standard library usable
553
from GDB.
554
# PACKAGE-END
555
556
557
# PACKAGE-BEGIN
558
%package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@
559
Summary: C compiler runtime library
560
License: GPL-3.0-or-later WITH GCC-exception-3.1
561
Group: System/Base
562
Provides: libgcc_s%{libgcc_s}@variant@ = %{version}-%{release}
563
# Only one package may provide this - allows multiple gcc versions
564
# to co-exist without an overly large list of provides/obsoletes
565
Conflicts: %selfconflict libgcc_s%{libgcc_s}@variant@
566
567
%description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@
568
Libgcc is needed for dynamically linked C programs.
569
570
%post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@ -p /sbin/ldconfig
571
572
%postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@ -p /sbin/ldconfig
573
# PACKAGE-END
574
575
# PACKAGE-BEGIN
576
%package -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@
577
Summary: The GNU compiler collection OpenMP runtime library
578
License: GPL-3.0-or-later WITH GCC-exception-3.1
579
Group: System/Base
580
Provides: libgomp%{libgomp_sover}@variant@ = %{version}-%{release}
581
# Only one package may provide this - allows multiple gcc versions
582
# to co-exist without an overly large list of provides/obsoletes
583
Conflicts: %selfconflict libgomp%{libgomp_sover}@variant@
584
585
%description -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@
586
This is the OpenMP runtime library needed by OpenMP enabled programs
587
that were built with the -fopenmp compiler option and by programs that
588
were auto-parallelized via the -ftree-parallelize-loops compiler
589
option.
590
591
592
%post -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@ -p /sbin/ldconfig
593
594
%postun -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@ -p /sbin/ldconfig
595
# PACKAGE-END
596
597
# PACKAGE-BEGIN
598
%package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@
599
Summary: The standard C++ shared library
600
License: GPL-3.0-or-later WITH GCC-exception-3.1
601
Group: System/Libraries
602
Suggests: libstdc++%{libstdcxx_sover}-locale
603
Provides: libstdc++%{libstdcxx_sover}@variant@ = %{version}-%{release}
604
# Only one package may provide this - allows multiple gcc versions
605
# to co-exist without an overly large list of provides/obsoletes
606
Conflicts: %selfconflict libstdc++%{libstdcxx_sover}@variant@
607
# Fallback for non-existing Supplements support
608
%if %{suse_version} < 1500
609
Recommends: libstdc++%{libstdcxx_sover}-pp@variant@ = %{version}-%{release}
610
%endif
611
612
%description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@
613
The standard C++ library, needed for dynamically linked C++ programs.
614
615
616
%post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@ -p /sbin/ldconfig
617
618
%postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@ -p /sbin/ldconfig
619
# PACKAGE-END
620
621
%package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
622
Summary: Standard C++ Library Locales
623
License: GPL-3.0-or-later WITH GCC-exception-3.1
624
Group: System/Libraries
625
Provides: libstdc++%{libstdcxx_sover}-locale = %{version}-%{release}
626
# Only one package may provide this - allows multiple gcc versions
627
# to co-exist without an overly large list of provides/obsoletes
628
Conflicts: %selfconflict libstdc++%{libstdcxx_sover}-locale
629
630
%description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
631
The standard C++ library locale data.
632
633
634
%package info
635
Summary: Documentation for the GNU compiler collection
636
License: GFDL-1.2-only
637
Group: Documentation/Other
638
PreReq: %{install_info_prereq}
639
%if 0%{?suse_version} >= 1120
640
BuildArch: noarch
641
%endif
642
643
%description info
644
GNU info-pages for the GNU compiler collection covering both user-level
645
and internals documentation.
646
647
648
# PACKAGE-BEGIN
649
%package objc@variant@
650
Summary: GNU Objective C Compiler
651
License: GPL-3.0-or-later
652
Group: Development/Languages/Other
653
Requires: gcc@base_ver@@variant@ = %{version}-%{release}
654
Requires: gcc@base_ver@-objc = %{version}-%{release}
655
Requires: libobjc%{libobjc_sover}@variant@ >= %{version}-%{release}
656
657
%description objc@variant@
658
This package contains the GNU Objective C compiler. Objective C is an
659
object oriented language, created by Next Inc. and used in their
660
Nextstep OS. The source code is available in the gcc package.
661
# PACKAGE-END
662
663
# PACKAGE-BEGIN
664
%package -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@
665
Summary: Library for the GNU Objective C Compiler
666
License: GPL-3.0-or-later WITH GCC-exception-3.1
667
Group: Development/Libraries/Other
668
Provides: libobjc%{libobjc_sover}@variant@ = %{version}-%{release}
669
# Only one package may provide this - allows multiple gcc versions
670
# to co-exist without an overly large list of provides/obsoletes
671
Conflicts: %selfconflict libobjc%{libobjc_sover}@variant@
672
673
%description -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@
674
The library for the GNU Objective C compiler.
675
676
%post -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@ -p /sbin/ldconfig
677
678
%postun -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@ -p /sbin/ldconfig
679
# PACKAGE-END
680
681
# PACKAGE-BEGIN
682
%package obj-c++@variant@
683
Summary: GNU Objective C++ Compiler
684
License: GPL-3.0-or-later
685
Group: Development/Languages/Other
686
Requires: gcc@base_ver@-objc@variant@ = %{version}-%{release}
687
Requires: gcc@base_ver@-c++@variant@ = %{version}-%{release}
688
Requires: gcc@base_ver@-obj-c++ = %{version}-%{release}
689
690
%description obj-c++@variant@
691
This package contains the GNU Objective C++ compiler. Objective C++ is an
692
object oriented language, created by Next Inc. and used in their
693
Nextstep OS. The source code is available in the gcc package.
694
# PACKAGE-END
695
696
697
%package -n cpp@base_ver@
698
Summary: The GCC Preprocessor
699
License: GPL-3.0-or-later
700
Group: Development/Languages/C and C++
701
702
%description -n cpp@base_ver@
703
This Package contains just the preprocessor that is used by the X11
704
packages.
705
706
707
# PACKAGE-BEGIN
708
%package ada@variant@
709
Summary: GNU Ada Compiler Based on GCC (GNAT)
710
License: GPL-3.0-or-later
711
Group: Development/Languages/Other
712
Requires: gcc@base_ver@@variant@ = %{version}-%{release}
713
Requires: gcc@base_ver@-ada = %{version}-%{release}
714
Requires: libada@base_ver@@variant@ = %{version}-%{release}
715
716
%description ada@variant@
717
This package contains an Ada compiler and associated development
718
tools based on the GNU GCC technology.
719
# PACKAGE-END
720
721
# PACKAGE-BEGIN
722
%package -n libada@base_ver@@variant@
723
Summary: GNU Ada Runtime Libraries
724
License: GPL-3.0-or-later WITH GCC-exception-3.1
725
Group: System/Libraries
726
Provides: libgnarl-@base_ver@@variant@ = %{version}-%{release}
727
Conflicts: %selfconflict libgnarl-@base_ver@@variant@
728
Provides: libgnat-@base_ver@@variant@ = %{version}-%{release}
729
Conflicts: %selfconflict libgnat-@base_ver@@variant@
730
731
%description -n libada@base_ver@@variant@
732
This package contains the shared libraries required to run programs
733
compiled with the GNU Ada compiler (GNAT) if they are compiled to use
734
shared libraries. It also contains the shared libraries for the
735
Implementation of the Ada Semantic Interface Specification (ASIS), the
736
implementation of Distributed Systems Programming (GLADE) and the Posix
737
1003.5 Binding (Florist).
738
739
%post -n libada@base_ver@@variant@ -p /sbin/ldconfig
740
741
%postun -n libada@base_ver@@variant@ -p /sbin/ldconfig
742
# PACKAGE-END
743
744
# PACKAGE-BEGIN
745
%package fortran@variant@
746
Summary: The GNU Fortran Compiler and Support Files
747
License: GPL-3.0-or-later
748
Group: Development/Languages/Fortran
749
Requires: gcc@base_ver@@variant@ = %{version}-%{release}
750
Requires: gcc@base_ver@-fortran = %{version}-%{release}
751
Requires: libgfortran%{libgfortran_sover}@variant@ >= %{version}-%{release}
752
%ifarch %quadmath_arch
753
Requires: libquadmath%{libquadmath_sover}@variant@ >= %{version}-%{release}
754
%endif
755
756
%description fortran@variant@
757
This is the Fortran compiler of the GNU Compiler Collection (GCC).
758
# PACKAGE-END
759
760
# PACKAGE-BEGIN
761
%package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@
762
Summary: The GNU Fortran Compiler Runtime Library
763
License: GPL-3.0-or-later WITH GCC-exception-3.1
764
Group: Development/Languages/Fortran
765
%ifarch %quadmath_arch
766
Requires: libquadmath%{libquadmath_sover}@variant@ >= %{version}-%{release}
767
%endif
768
Provides: libgfortran%{libgfortran_sover}@variant@ = %{version}-%{release}
769
# Only one package may provide this - allows multiple gcc versions
770
# to co-exist without an overly large list of provides/obsoletes
771
Conflicts: %selfconflict libgfortran%{libgfortran_sover}@variant@
772
773
%description -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@
774
The runtime library needed to run programs compiled with the Fortran compiler
775
of the GNU Compiler Collection (GCC).
776
777
%post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@ -p /sbin/ldconfig
778
779
%postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@ -p /sbin/ldconfig
780
# PACKAGE-END
781
782
# PACKAGE-BEGIN
783
%package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@
784
Summary: The GNU Fortran Compiler Quadmath Runtime Library
785
License: LGPL-2.1-only
786
Group: Development/Languages/Fortran
787
Provides: libquadmath%{libquadmath_sover}@variant@ = %{version}-%{release}
788
# Only one package may provide this - allows multiple gcc versions
789
# to co-exist without an overly large list of provides/obsoletes
790
Conflicts: %selfconflict libquadmath%{libquadmath_sover}@variant@
791
792
%description -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@
793
The runtime library needed to run programs compiled with the Fortran compiler
794
of the GNU Compiler Collection (GCC) and quadruple precision floating point
795
operations.
796
797
%post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@ -p /sbin/ldconfig
798
799
%postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@ -p /sbin/ldconfig
800
# PACKAGE-END
801
802
# PACKAGE-BEGIN
803
%package -n libitm%{libitm_sover}%{libitm_suffix}@variant@
804
Summary: The GNU Compiler Transactional Memory Runtime Library
805
License: MIT
806
Group: Development/Languages/C and C++
807
Provides: libitm%{libitm_sover}@variant@ = %{version}-%{release}
808
# Only one package may provide this - allows multiple gcc versions
809
# to co-exist without an overly large list of provides/obsoletes
810
Conflicts: %selfconflict libitm%{libitm_sover}@variant@
811
812
%description -n libitm%{libitm_sover}%{libitm_suffix}@variant@
813
The runtime library needed to run programs compiled with the
814
-fgnu-tm option of the GNU Compiler Collection (GCC).
815
816
%post -n libitm%{libitm_sover}%{libitm_suffix}@variant@ -p /sbin/ldconfig
817
818
%postun -n libitm%{libitm_sover}%{libitm_suffix}@variant@ -p /sbin/ldconfig
819
# PACKAGE-END
820
821
# PACKAGE-BEGIN
822
%package -n libasan%{libasan_sover}%{libasan_suffix}@variant@
823
Summary: The GNU Compiler Address Sanitizer Runtime Library
824
License: MIT
825
Group: Development/Languages/C and C++
826
Provides: libasan%{libasan_sover}@variant@ = %{version}-%{release}
827
# Only one package may provide this - allows multiple gcc versions
828
# to co-exist without an overly large list of provides/obsoletes
829
Conflicts: %selfconflict libasan%{libasan_sover}@variant@
830
831
%description -n libasan%{libasan_sover}%{libasan_suffix}@variant@
832
The runtime library needed to run programs compiled with the
833
-fsanitize=address option of the GNU Compiler Collection (GCC).
834
835
%post -n libasan%{libasan_sover}%{libasan_suffix}@variant@ -p /sbin/ldconfig
836
837
%postun -n libasan%{libasan_sover}%{libasan_suffix}@variant@ -p /sbin/ldconfig
838
# PACKAGE-END
839
840
# PACKAGE-BEGIN
841
%package -n libtsan%{libtsan_sover}%{libtsan_suffix}@variant@
842
Summary: The GNU Compiler Thread Sanitizer Runtime Library
843
License: MIT
844
Group: Development/Languages/C and C++
845
Provides: libtsan%{libtsan_sover}@variant@ = %{version}-%{release}
846
# Only one package may provide this - allows multiple gcc versions
847
# to co-exist without an overly large list of provides/obsoletes
848
Conflicts: %selfconflict libtsan%{libtsan_sover}@variant@
849
850
%description -n libtsan%{libtsan_sover}%{libtsan_suffix}@variant@
851
The runtime library needed to run programs compiled with the
852
-fsanitize=thread option of the GNU Compiler Collection (GCC).
853
854
%post -n libtsan%{libtsan_sover}%{libtsan_suffix}@variant@ -p /sbin/ldconfig
855
856
%postun -n libtsan%{libtsan_sover}%{libtsan_suffix}@variant@ -p /sbin/ldconfig
857
# PACKAGE-END
858
859
# PACKAGE-BEGIN
860
%package -n libhwasan%{libhwasan_sover}%{libhwasan_suffix}@variant@
861
Summary: The GNU Compiler Hardware-assisted Address Sanitizer Runtime Library
862
License: MIT
863
Group: Development/Languages/C and C++
864
Provides: libhwasan%{libhwasan_sover}@variant@ = %{version}-%{release}
865
# Only one package may provide this - allows multiple gcc versions
866
# to co-exist without an overly large list of provides/obsoletes
867
Conflicts: %selfconflict libhwasan%{libhwasan_sover}@variant@
868
869
%description -n libhwasan%{libhwasan_sover}%{libhwasan_suffix}@variant@
870
The runtime library needed to run programs compiled with the
871
-fsanitize=hwaddress option of the GNU Compiler Collection (GCC).
872
873
%post -n libhwasan%{libhwasan_sover}%{libhwasan_suffix}@variant@ -p /sbin/ldconfig
874
875
%postun -n libhwasan%{libhwasan_sover}%{libhwasan_suffix}@variant@ -p /sbin/ldconfig
876
# PACKAGE-END
877
878
879
# PACKAGE-BEGIN
880
%package -n libatomic%{libatomic_sover}%{libatomic_suffix}@variant@
881
Summary: The GNU Compiler Atomic Operations Runtime Library
882
License: GPL-3.0-or-later WITH GCC-exception-3.1
883
Group: Development/Languages/C and C++
884
Provides: libatomic%{libatomic_sover}@variant@ = %{version}-%{release}
885
# Only one package may provide this - allows multiple gcc versions
886
# to co-exist without an overly large list of provides/obsoletes
887
Conflicts: %selfconflict libatomic%{libatomic_sover}@variant@
888
889
%description -n libatomic%{libatomic_sover}%{libatomic_suffix}@variant@
890
The runtime library for atomic operations of the GNU Compiler Collection (GCC).
891
892
%post -n libatomic%{libatomic_sover}%{libatomic_suffix}@variant@ -p /sbin/ldconfig
893
894
%postun -n libatomic%{libatomic_sover}%{libatomic_suffix}@variant@ -p /sbin/ldconfig
895
# PACKAGE-END
896
897
# PACKAGE-BEGIN
898
%package -n liblsan%{liblsan_sover}%{liblsan_suffix}@variant@
899
Summary: The GNU Compiler Leak Sanitizer Runtime Library
900
License: MIT
901
Group: Development/Languages/C and C++
902
Provides: liblsan%{liblsan_sover}@variant@ = %{version}-%{release}
903
# Only one package may provide this - allows multiple gcc versions
904
# to co-exist without an overly large list of provides/obsoletes
905
Conflicts: %selfconflict liblsan%{liblsan_sover}@variant@
906
907
%description -n liblsan%{liblsan_sover}%{liblsan_suffix}@variant@
908
The runtime library needed to run programs compiled with the
909
-fsanitize=leak option of the GNU Compiler Collection (GCC).
910
911
%post -n liblsan%{liblsan_sover}%{liblsan_suffix}@variant@ -p /sbin/ldconfig
912
913
%postun -n liblsan%{liblsan_sover}%{liblsan_suffix}@variant@ -p /sbin/ldconfig
914
# PACKAGE-END
915
916
# PACKAGE-BEGIN
917
%package -n libubsan%{libubsan_sover}%{libubsan_suffix}@variant@
918
Summary: The GNU Compiler Undefined Sanitizer Runtime Library
919
License: MIT
920
Group: Development/Languages/C and C++
921
Provides: libubsan%{libubsan_sover}@variant@ = %{version}-%{release}
922
# Only one package may provide this - allows multiple gcc versions
923
# to co-exist without an overly large list of provides/obsoletes
924
Conflicts: %selfconflict libubsan%{libubsan_sover}@variant@
925
926
%description -n libubsan%{libubsan_sover}%{libubsan_suffix}@variant@
927
The runtime library needed to run programs compiled with the
928
-fsanitize=undefined option of the GNU Compiler Collection (GCC).
929
930
%post -n libubsan%{libubsan_sover}%{libubsan_suffix}@variant@ -p /sbin/ldconfig
931
932
%postun -n libubsan%{libubsan_sover}%{libubsan_suffix}@variant@ -p /sbin/ldconfig
933
# PACKAGE-END
934
935
# PACKAGE-BEGIN
936
%package -n libvtv%{libvtv_sover}%{libvtv_suffix}@variant@
937
Summary: The GNU Compiler Vtable Verifier Runtime Library
938
License: MIT
939
Group: Development/Languages/C and C++
940
Provides: libvtv%{libvtv_sover}@variant@ = %{version}-%{release}
941
# Only one package may provide this - allows multiple gcc versions
942
# to co-exist without an overly large list of provides/obsoletes
943
Conflicts: %selfconflict libvtv%{libvtv_sover}@variant@
944
945
%description -n libvtv%{libvtv_sover}%{libvtv_suffix}@variant@
946
The runtime library needed to run programs compiled with the
947
-fvtable-verify option of the GNU Compiler Collection (GCC).
948
949
%post -n libvtv%{libvtv_sover}%{libvtv_suffix}@variant@ -p /sbin/ldconfig
950
951
%postun -n libvtv%{libvtv_sover}%{libvtv_suffix}@variant@ -p /sbin/ldconfig
952
# PACKAGE-END
953
954
%package -n libstdc++%{libstdcxx_sover}%{libdevel_suffix}-doc
955
Summary: Documentation for the GNU C++ standard library
956
License: GPL-3.0-or-later
957
Group: Documentation/HTML
958
%if 0%{?suse_version} >= 1120
959
BuildArch: noarch
960
%endif
961
962
%description -n libstdc++%{libstdcxx_sover}%{libdevel_suffix}-doc
963
Extensive HTML documentation for the GNU C++ standard library.
964
965
# PACKAGE-BEGIN
966
%package go@variant@
967
Summary: GNU Go Compiler
968
License: GPL-3.0-or-later
969
Group: Development/Languages/Other
970
Requires: gcc@base_ver@@variant@ = %{version}-%{release}
971
Requires: gcc@base_ver@-go = %{version}-%{release}
972
Requires: libgo%{libgo_sover}@variant@ >= %{version}-%{release}
973
974
%description go@variant@
975
This package contains a Go compiler and associated development
976
files based on the GNU GCC technology.
977
# PACKAGE-END
978
979
# PACKAGE-BEGIN
980
%package -n libgo%{libgo_sover}%{libgo_suffix}@variant@
981
Summary: GNU Go compiler runtime library
982
License: BSD-3-Clause
983
Group: Development/Languages/Other
984
Provides: libgo%{libgo_sover}@variant@ = %{version}-%{release}
985
# Only one package may provide this - allows multiple gcc versions
986
# to co-exist without an overly large list of provides/obsoletes
987
Conflicts: %selfconflict libgo%{libgo_sover}@variant@
988
989
%description -n libgo%{libgo_sover}%{libgo_suffix}@variant@
990
Runtime library for the GNU Go language.
991
992
%post -n libgo%{libgo_sover}%{libgo_suffix}@variant@ -p /sbin/ldconfig
993
994
%postun -n libgo%{libgo_sover}%{libgo_suffix}@variant@ -p /sbin/ldconfig
995
# PACKAGE-END
996
997
998
# PACKAGE-BEGIN
999
%package d@variant@
1000
Summary: GNU D Compiler
1001
License: GPL-3.0-or-later
1002
Group: Development/Languages/Other
1003
Requires: gcc@base_ver@@variant@ = %{version}-%{release}
1004
Requires: gcc@base_ver@-d = %{version}-%{release}
1005
Requires: libgphobos%{libgphobos_sover}@variant@ >= %{version}-%{release}
1006
Requires: libgdruntime%{libgdruntime_sover}@variant@ >= %{version}-%{release}
1007
1008
%description d@variant@
1009
This package contains a D compiler and associated development
1010
files based on the GNU GCC technology.
1011
# PACKAGE-END
1012
1013
# PACKAGE-BEGIN
1014
%package -n libgphobos%{libgphobos_sover}%{libgphobos_suffix}@variant@
1015
Summary: GNU D compiler runtime library
1016
License: BSL-1.0
1017
Group: Development/Languages/Other
1018
Provides: libgphobos%{libgphobos_sover}@variant@ = %{version}-%{release}
1019
# Only one package may provide this - allows multiple gcc versions
1020
# to co-exist without an overly large list of provides/obsoletes
1021
Conflicts: %selfconflict libgphobos%{libgphobos_sover}@variant@
1022
1023
%description -n libgphobos%{libgphobos_sover}%{libgphobos_suffix}@variant@
1024
Runtime library for the GNU D language.
1025
1026
%post -n libgphobos%{libgphobos_sover}%{libgphobos_suffix}@variant@ -p /sbin/ldconfig
1027
1028
%postun -n libgphobos%{libgphobos_sover}%{libgphobos_suffix}@variant@ -p /sbin/ldconfig
1029
# PACKAGE-END
1030
1031
# PACKAGE-BEGIN
1032
%package -n libgdruntime%{libgdruntime_sover}%{libgdruntime_suffix}@variant@
1033
Summary: GNU D compiler runtime library
1034
License: BSL-1.0
1035
Group: Development/Languages/Other
1036
Provides: libgdruntime%{libgdruntime_sover}@variant@ = %{version}-%{release}
1037
# Only one package may provide this - allows multiple gcc versions
1038
# to co-exist without an overly large list of provides/obsoletes
1039
Conflicts: %selfconflict libgdruntime%{libgdruntime_sover}@variant@
1040
1041
%description -n libgdruntime%{libgdruntime_sover}%{libgdruntime_suffix}@variant@
1042
Runtime library for the GNU D language.
1043
1044
%post -n libgdruntime%{libgdruntime_sover}%{libgdruntime_suffix}@variant@ -p /sbin/ldconfig
1045
1046
%postun -n libgdruntime%{libgdruntime_sover}%{libgdruntime_suffix}@variant@ -p /sbin/ldconfig
1047
# PACKAGE-END
1048
1049
%package -n libgccjit%{libgccjit_sover}%{libgccjit_suffix}
1050
Summary: The GNU Compiler Collection JIT library
1051
License: GPL-3.0-or-later
1052
Group: Development/Languages/C and C++
1053
Provides: libgccjit%{libgccjit_sover} = %{version}-%{release}
1054
# Only one package may provide this - allows multiple gcc versions
1055
# to co-exist without an overly large list of provides/obsoletes
1056
Conflicts: %selfconflict libgccjit%{libgccjit_sover}
1057
Requires: gcc@base_ver@
1058
1059
%description -n libgccjit%{libgccjit_sover}%{libgccjit_suffix}
1060
Support for embedding GCC inside programs and libraries
1061
1062
%post -n libgccjit%{libgccjit_sover}%{libgccjit_suffix} -p /sbin/ldconfig
1063
1064
%postun -n libgccjit%{libgccjit_sover}%{libgccjit_suffix} -p /sbin/ldconfig
1065
1066
%package -n libgccjit%{libgccjit_sover}-devel%{libdevel_suffix}
1067
Summary: Support for embedding GCC inside programs and libraries
1068
License: GPL-3.0-or-later
1069
Group: Development/Languages/C and C++
1070
Provides: libgccjit%{libgccjit_sover}-devel = %{version}-%{release}
1071
# Only one gccjit package can be installed at the same time since
1072
# header files conflict
1073
Conflicts: %selfconflict libgccjit%{libgccjit_sover}-devel
1074
Requires: libgccjit%{libgccjit_sover}%{libgccjit_suffix}
1075
1076
%description -n libgccjit%{libgccjit_sover}-devel%{libdevel_suffix}
1077
Package contains header files and documentation for GCC JIT front-end.
1078
1079
%package -n gcc@base_ver@-testresults
1080
# GCC-TESTSUITE-DELETE-END
1081
Summary: Testsuite results
1082
License: SUSE-Public-Domain
1083
Group: Development/Languages/C and C++
1084
1085
%description -n gcc@base_ver@-testresults
1086
Results from running the gcc and target library testsuites.
1087
1088
1089
1090
# SRC-COMMON-BEGIN
1091
1092
# Define the canonical target and host architecture
1093
# %%gcc_target_arch is supposed to be the full target triple
1094
# %%cross_arch is supposed to be the rpm target variant arch
1095
# %%TARGET_ARCH will be the canonicalized target CPU part
1096
# %%HOST_ARCH will be the canonicalized host CPU part
1097
%if 0%{?gcc_target_arch:1}
1098
%define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1099
%else
1100
%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1101
%endif
1102
%if 0%{?disable_32bit:1}
1103
%define biarch 0
1104
%else
1105
%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
1106
%endif
1107
1108
%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1109
%ifarch ppc
1110
%define GCCDIST powerpc64-suse-linux
1111
%else
1112
%ifarch %sparc
1113
%define GCCDIST sparc64-suse-linux
1114
%else
1115
%ifarch %arm
1116
%define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi
1117
%else
1118
%define GCCDIST %{HOST_ARCH}-suse-linux
1119
%endif
1120
%endif
1121
%endif
1122
1123
%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
1124
%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
1125
1126
# SRC-COMMON-END
1127
1128
# Versionspecific directories
1129
%define versmainlibdir %{libsubdir}
1130
%define versmainlibdirbi32 %{libsubdir}/32
1131
%define versmainlibdirbi64 %{libsubdir}/64
1132
%ifarch ppc
1133
%define versmainlibdirbi32 %{libsubdir}
1134
%define versmainlibdirbi64 %{libsubdir}/64
1135
%endif
1136
%if %{build_primary_64bit}
1137
%define versmainlibdirbi %{versmainlibdirbi32}
1138
%else
1139
%define versmainlibdirbi %{versmainlibdirbi64}
1140
%endif
1141
1142
%define mainlibdir %{_libdir}
1143
%define mainlibdirbi32 %{_prefix}/lib
1144
%define mainlibdirbi64 %{_prefix}/lib64
1145
%if %{build_primary_64bit}
1146
%define mainlibdirbi %{mainlibdirbi32}
1147
%else
1148
%define mainlibdirbi %{mainlibdirbi64}
1149
%endif
1150
1151
1152
# Now define a few macros that make it easy to package libs and
1153
# related files just to the right package, without caring for the
1154
# exact path the files are in.
1155
# %%mainlib package X from all dirs that belong to the main package
1156
# %%biarchlib package X from all dirs that belong to the -32/64bit package
1157
%define mainlib() %{mainlibdir}/%1\
1158
%{nil}
1159
%define biarchlib() %{nil}
1160
%if %{biarch}
1161
%if !%{separate_biarch}
1162
%define mainlib() %{mainlibdir}/%1\
1163
%{mainlibdirbi}/%1\
1164
%{nil}
1165
%else
1166
%define biarchlib() %{mainlibdirbi}/%1\
1167
%{nil}
1168
%endif
1169
%endif
1170
1171
%define versmainlib() %{versmainlibdir}/%1\
1172
%{nil}
1173
%define versbiarchlib() %{nil}
1174
%if %{biarch}
1175
%if !%{separate_biarch}
1176
%define versmainlib() %{versmainlibdir}/%1\
1177
%{versmainlibdirbi}/%1\
1178
%{nil}
1179
%else
1180
%define versbiarchlib() %{versmainlibdirbi}/%1\
1181
%{nil}
1182
%endif
1183
%endif
1184
1185
1186
# BUILD-COMMON-BEGIN
1187
%if 0%{suse_version} >= 1500
1188
# Synchronize output by lines, useful for configure output
1189
%define make_output_sync -Oline
1190
%endif
1191
1192
%prep
1193
%if 0%{?nvptx_newlib:1}%{?amdgcn_newlib:1}
1194
%setup -q -n gcc-%{version} -a 5
1195
ln -s newlib-4.1.0/newlib .
1196
cd newlib
1197
%patch100 -p1
1198
cd ..
1199
%else
1200
%setup -q -n gcc-%{version}
1201
%endif
1202
1203
#test patching start
1204
1205
%patch2
1206
%patch5
1207
%patch6
1208
%patch7
1209
%patch11
1210
%patch15
1211
%patch16
1212
%patch17 -p1
1213
%patch21 -p1
1214
# These patches are needed only for llvm11
1215
%if "%{TARGET_ARCH}" == "amdgcn" && %{suse_version} < 1550
1216
%patch18 -p1
1217
%patch20 -p1
1218
%endif
1219
# In SLE15 and earlier default to dwarf4, not dwarf5
1220
%if %{suse_version} < 1550
1221
%patch19 -p1
1222
%endif
1223
%patch51
1224
%patch60 -p1
1225
%patch61
1226
1227
#test patching end
1228
1229
%build
1230
%define _lto_cflags %{nil}
1231
# Avoid rebuilding of generated files
1232
contrib/gcc_update --touch
1233
1234
# SLE11 does not allow empty rpms
1235
%if %{suse_version} < 1310
1236
echo "This is a dummy package to provide a dependency." > README
1237
%endif
1238
1239
rm -rf obj-%{GCCDIST}
1240
mkdir obj-%{GCCDIST}
1241
cd obj-%{GCCDIST}
1242
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
1243
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector[^ ]*//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
1244
%ifarch %ix86
1245
# -mcpu is superceded by -mtune but -mtune is not supported by
1246
# our bootstrap compiler. -mcpu gives a warning that stops
1247
# the build process, so remove it for now. Also remove all other
1248
# -march and -mtune flags. They are superseeded by proper
1249
# default compiler settings now.
1250
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
1251
%endif
1252
%ifarch s390 s390x
1253
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
1254
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
1255
%endif
1256
%if 0%{?gcc_target_arch:1}
1257
# Kill all -march/tune/cpu because that screws building the target libs
1258
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
1259
%endif
1260
# Replace 2 spaces by one finally
1261
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
1262
1263
languages=c
1264
%if %{build_cp}
1265
languages=$languages,c++
1266
%endif
1267
%if %{build_objc}
1268
languages=$languages,objc
1269
%endif
1270
%if %{build_fortran}
1271
languages=$languages,fortran
1272
%endif
1273
%if %{build_objcp}
1274
languages=$languages,obj-c++
1275
%endif
1276
%if %{build_ada}
1277
languages=$languages,ada
1278
%endif
1279
%if %{build_go}
1280
languages=$languages,go
1281
%endif
1282
%if %{build_d}
1283
languages=$languages,d
1284
%endif
1285
%if %{build_jit}
1286
languages=$languages,jit
1287
%endif
1288
1289
# In general we want to ship release checking enabled compilers
1290
# which is the default for released compilers
1291
#ENABLE_CHECKING="--enable-checking=yes"
1292
ENABLE_CHECKING="--enable-checking=release"
1293
#ENABLE_CHECKING=""
1294
1295
# Work around tail/head -1 changes
1296
export _POSIX2_VERSION=199209
1297
1298
%if "%{TARGET_ARCH}" == "amdgcn"
1299
mkdir -p target-tools/bin
1300
ln -s /usr/bin/llvm-ar target-tools/bin/amdgcn-amdhsa-ar
1301
ln -s /usr/bin/llvm-mc target-tools/bin/amdgcn-amdhsa-as
1302
ln -s /usr/bin/lld target-tools/bin/amdgcn-amdhsa-ld
1303
ln -s /usr/bin/llvm-nm target-tools/bin/amdgcn-amdhsa-nm
1304
ln -s /usr/bin/llvm-ranlib target-tools/bin/amdgcn-amdhsa-ranlib
1305
export PATH="`pwd`/target-tools/bin:$PATH"
1306
%endif
1307
1308
%if "%{hostsuffix}" != ""
1309
mkdir -p host-tools/bin
1310
# Using the host gnatmake like
1311
# CC="gcc%%{hostsuffix}" GNATBIND="gnatbind%%{hostsuffix}"
1312
# GNATMAKE="gnatmake%%{hostsuffix}"
1313
# doesn't work due to PR33857, so an un-suffixed gnatmake has to be
1314
# available
1315
%if %{build_ada}
1316
cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
1317
cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
1318
cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
1319
%endif
1320
cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
1321
cp -a /usr/bin/g++%{hostsuffix} host-tools/bin/g++
1322
ln -sf /usr/%{_lib} host-tools/%{_lib}
1323
export PATH="`pwd`/host-tools/bin:$PATH"
1324
%endif
1325
1326
%if %{build_d} && %{suse_version} < 1550
1327
# We are using gcc11-d to bootstrap d
1328
export GDC=gdc-11
1329
%endif
1330
1331
# libsanitizer needs <crypt.h> and since the glibc/libxcrypt split
1332
# we don't have that yet in a pure cross environment
1333
%if 0%{?gcc_target_arch:1}
1334
CONFARGS="$CONFARGS --disable-libsanitizer"
1335
%endif
1336
1337
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
1338
TCFLAGS="$RPM_OPT_FLAGS" \
1339
../configure \
1340
--prefix=%{_prefix} \
1341
--infodir=%{_infodir} \
1342
--mandir=%{_mandir} \
1343
--libdir=%{_libdir} \
1344
--libexecdir=%{_libdir} \
1345
--enable-languages=$languages \
1346
%if %{build_nvptx} || %{build_gcn}
1347
--enable-offload-targets=\
1348
%if %{build_nvptx}
1349
nvptx-none,\
1350
%endif
1351
%if %{build_gcn}
1352
amdgcn-amdhsa,\
1353
%endif
1354
--enable-offload-defaulted \
1355
%endif
1356
%if %{build_nvptx}
1357
--without-cuda-driver \
1358
%endif
1359
%if %{build_jit}
1360
--enable-host-shared \
1361
%endif
1362
$ENABLE_CHECKING \
1363
--disable-werror \
1364
--with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
1365
--enable-ssp \
1366
--disable-libssp \
1367
%if 0%{!?build_libvtv:1}
1368
--disable-libvtv \
1369
%endif
1370
%if 0%{suse_version} >= 1500
1371
--enable-cet=auto \
1372
%else
1373
--disable-cet \
1374
%endif
1375
--disable-libcc1 \
1376
%if %{enable_plugins}
1377
--enable-plugin \
1378
%else
1379
--disable-plugin \
1380
%endif
1381
--with-bugurl="https://bugs.opensuse.org/" \
1382
--with-pkgversion="SUSE Linux" \
1383
%if 0%{?sysroot:1}
1384
--with-slibdir=%{sysroot}/%{_lib} \
1385
%else
1386
--with-slibdir=/%{_lib} \
1387
%endif
1388
--with-system-zlib \
1389
--enable-libstdcxx-allocator=new \
1390
--disable-libstdcxx-pch \
1391
%if 0%{suse_version} <= 1320
1392
--with-default-libstdcxx-abi=gcc4-compatible \
1393
%endif
1394
%if %{build_d}
1395
--enable-libphobos \
1396
%endif
1397
--enable-version-specific-runtime-libs \
1398
--with-gcc-major-version-only \
1399
%if 0%{!?gcc_target_arch:1}
1400
--enable-linker-build-id \
1401
%else
1402
%if 0%{?gcc_target_glibc:1}
1403
--enable-linker-build-id \
1404
%endif
1405
%endif
1406
--enable-linux-futex \
1407
%if %{suse_version} >= 1315
1408
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64 s390 s390x %sparc
1409
--enable-gnu-indirect-function \
1410
%endif
1411
%endif
1412
--program-suffix=%{binsuffix} \
1413
%ifarch %{disable_multilib_arch}
1414
--disable-multilib \
1415
%endif
1416
%if 0%{!?gcc_target_arch:1}
1417
%ifarch ia64
1418
--with-system-libunwind \
1419
%else
1420
--without-system-libunwind \
1421
%endif
1422
%endif
1423
%if 0%{?gcc_target_arch:1}
1424
--program-prefix=%{gcc_target_arch}- \
1425
--target=%{gcc_target_arch} \
1426
--disable-nls \
1427
%if 0%{?sysroot:1}
1428
--with-sysroot=%sysroot \
1429
%endif
1430
%if 0%{?build_sysroot:1}
1431
--with-build-sysroot=%{build_sysroot} \
1432
%else
1433
%if 0%{?sysroot:1}
1434
--with-build-sysroot=%{sysroot} \
1435
%endif
1436
%endif
1437
%if 0%{?binutils_os:1}
1438
--with-build-time-tools=/usr/%{binutils_os}/bin \
1439
%endif
1440
%if 0%{?gcc_target_newlib}
1441
--with-newlib \
1442
%if 0%{?gcc_libc_bootstrap:1}
1443
--disable-gcov \
1444
%endif
1445
%else
1446
%if 0%{?gcc_libc_bootstrap:1}
1447
--disable-gcov --disable-threads --disable-shared \
1448
--disable-libmudflap --disable-libssp --disable-libgomp \
1449
--disable-libquadmath --disable-libatomic \
1450
--without-headers --with-newlib \
1451
%endif
1452
%endif
1453
%if "%{TARGET_ARCH}" == "spu"
1454
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
1455
--with-newlib \
1456
%endif
1457
%if "%{TARGET_ARCH}" == "nvptx"
1458
--enable-as-accelerator-for=%{GCCDIST} \
1459
--disable-sjlj-exceptions \
1460
--enable-newlib-io-long-long \
1461
%endif
1462
%if "%{TARGET_ARCH}" == "amdgcn"
1463
--enable-as-accelerator-for=%{GCCDIST} \
1464
--enable-libgomp \
1465
%endif
1466
%if "%{TARGET_ARCH}" == "avr"
1467
--enable-lto \
1468
--without-gxx-include-dir \
1469
--with-native-system-header-dir=/include \
1470
%endif
1471
%endif
1472
%if "%{TARGET_ARCH}" == "arm-none"
1473
--enable-multilib \
1474
--with-multilib-list=aprofile,rmprofile \
1475
--disable-decimal-float \
1476
--disable-libffi \
1477
--disable-libgomp \
1478
--disable-libmudflap \
1479
--disable-libquadmath \
1480
--disable-shared \
1481
--disable-threads \
1482
--disable-tls \
1483
%endif
1484
%if "%{TARGET_ARCH}" == "armv6hl" || "%{TARGET_ARCH}" == "arm"
1485
--with-cpu=arm1176jzf-s \
1486
--with-float=hard \
1487
--with-abi=aapcs-linux \
1488
--with-fpu=vfpv2 \
1489
--disable-sjlj-exceptions \
1490
%endif
1491
%if "%{TARGET_ARCH}" == "armv7hl"
1492
--with-cpu=generic-armv7-a \
1493
--with-float=hard \
1494
--with-abi=aapcs-linux \
1495
--with-fpu=vfpv3-d16 \
1496
--disable-sjlj-exceptions \
1497
%endif
1498
%if "%{TARGET_ARCH}" == "aarch64"
1499
--enable-fix-cortex-a53-835769 \
1500
--enable-fix-cortex-a53-843419 \
1501
%endif
1502
%if "%{TARGET_ARCH}" == "powerpc64le"
1503
%if %{suse_version} >= 1350
1504
--with-cpu=power8 \
1505
--with-tune=power9 \
1506
%else
1507
%if %{suse_version} >= 1315 && %{suse_version} != 1320
1508
--with-cpu=power8 \
1509
--with-tune=power8 \
1510
%else
1511
--with-cpu=power7 \
1512
--with-tune=power7 \
1513
%endif
1514
%endif
1515
%if %{suse_version} > 1500
1516
--with-long-double-format=ieee \
1517
%else
1518
--with-long-double-format=ibm \
1519
%endif
1520
--enable-secureplt \
1521
--with-long-double-128 \
1522
--enable-targets=powerpcle-linux \
1523
--disable-multilib \
1524
%endif
1525
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64"
1526
%if "%{TARGET_ARCH}" == "powerpc"
1527
--with-cpu=default32 \
1528
%endif
1529
--with-cpu-64=power4 \
1530
--enable-secureplt \
1531
--with-long-double-128 \
1532
%endif
1533
%if "%{TARGET_ARCH}" == "sparc64"
1534
--with-cpu=ultrasparc \
1535
--with-long-double-128 \
1536
%endif
1537
%if "%{TARGET_ARCH}" == "sparc"
1538
--with-cpu=v8 \
1539
--with-long-double-128 \
1540
%endif
1541
%if "%{TARGET_ARCH}" == "i586"
1542
%if 0%{?sle_version:%sle_version} >= 150000
1543
--with-arch-32=x86-64 \
1544
%else
1545
--with-arch-32=i586 \
1546
%endif
1547
--with-tune=generic \
1548
%endif
1549
%if "%{TARGET_ARCH}" == "x86_64"
1550
%ifnarch %{disable_multilib_arch}
1551
--enable-multilib \
1552
--with-arch-32=x86-64 \
1553
%endif
1554
--with-tune=generic \
1555
%endif
1556
%if "%{TARGET_ARCH}" == "s390"
1557
%if %{suse_version} >= 1310
1558
--with-tune=zEC12 --with-arch=z196 \
1559
%else
1560
--with-tune=z9-109 --with-arch=z900 \
1561
%endif
1562
--with-long-double-128 \
1563
--enable-decimal-float \
1564
%endif
1565
%if "%{TARGET_ARCH}" == "s390x"
1566
%if %{suse_version} >= 1310
1567
--with-tune=zEC12 --with-arch=z196 \
1568
%else
1569
--with-tune=z9-109 --with-arch=z900 \
1570
%endif
1571
--with-long-double-128 \
1572
--enable-decimal-float \
1573
%endif
1574
%if "%{TARGET_ARCH}" == "m68k"
1575
--disable-multilib \
1576
%endif
1577
%if "%{TARGET_ARCH}" == "riscv64"
1578
--disable-multilib \
1579
%endif
1580
%if %{use_lto_bootstrap} && !0%{?building_testsuite:1}
1581
--with-build-config=bootstrap-lto-lean \
1582
--enable-link-mutex \
1583
%endif
1584
%ifarch riscv64
1585
--enable-link-mutex \
1586
%endif
1587
$CONFARGS \
1588
--build=%{GCCDIST} \
1589
--host=%{GCCDIST} || \
1590
{
1591
rc=$?;
1592
echo "------- BEGIN config.log ------";
1593
%{__cat} config.log;
1594
echo "------- END config.log ------";
1595
exit $rc;
1596
}
1597
1598
1599
# BUILD-COMMON-END
1600
1601
STAGE1_FLAGS="-g -O2"
1602
%if 0%{?do_profiling} && !0%{?building_testsuite:1}
1603
%ifarch x86_64 %ix86 ppc64le s390x aarch64
1604
%define use_pgo_bootstrap 1
1605
%endif
1606
%endif
1607
%{?use_pgo_bootstrap:setarch `arch` -R} make %{?make_output_sync} %{?use_pgo_bootstrap:profiledbootstrap} STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
1608
make info
1609
%if 0%{?run_tests:1}
1610
echo "Run testsuite"
1611
(make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1612
mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1613
mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1614
# asan needs a whole shadow address space
1615
ulimit -v unlimited || true
1616
make -k check %{?_smp_mflags} || true
1617
mkdir ../testresults
1618
../contrib/test_summary | tee ../testresults/test_summary.txt
1619
%endif
1620
1621
%install
1622
# Make sure libtool re-linking libasan at install time doesn't drop the
1623
# libstdc++ reference to make asan of C++ modules in python work
1624
export SUSE_ASNEEDED=0
1625
export NO_BRP_CHECK_BYTECODE_VERSION=true
1626
cd obj-%{GCCDIST}
1627
# GCC-TESTSUITE-DELETE-BEGIN
1628
# Work around tail/head -1 changes
1629
export _POSIX2_VERSION=199209
1630
export LIBRARY_PATH=%{buildroot}/%{libsubdir}:%{buildroot}/%{mainlibdirbi}
1631
1632
%make_install
1633
1634
# verify libasan really ended up with libstdc++ as NEEDED.
1635
%ifarch %asan_arch
1636
readelf -d %{buildroot}/%{versmainlibdir}/libasan.so.%{libasan_sover}* | grep 'NEEDED.*libstdc++' || exit 1
1637
%if %{biarch}
1638
readelf -d %{buildroot}/%{versmainlibdirbi}/libasan.so.%{libasan_sover}* | grep 'NEEDED.*libstdc++' || exit 1
1639
%endif
1640
%endif
1641
1642
# Remove some useless .la files
1643
for lib in libobjc libgfortran libquadmath libcaf_single \
1644
libgomp libgomp-plugin-hsa libstdc++ libsupc++ libgo \
1645
libasan libhwasan libatomic libitm libtsan liblsan libubsan libvtv \
1646
libstdc++fs libgomp-plugin-nvptx libgomp-plugin-gcn \
1647
libgdruntime libgphobos; do
1648
rm -f %{buildroot}/%{versmainlibdir}/$lib.la
1649
%if %{biarch}
1650
rm -f %{buildroot}/%{versmainlibdirbi}/$lib.la
1651
%endif
1652
done
1653
1654
mkdir -p %{buildroot}/%{_libdir}
1655
%if %{biarch}
1656
%if %{build_primary_64bit}
1657
mkdir -p %{buildroot}/%{_prefix}/lib
1658
%else
1659
mkdir -p %{buildroot}/%{_prefix}/lib64
1660
%endif
1661
%endif
1662
1663
%if %{build_cp}
1664
# Merge multilib c++config.h to allow omitting the duplicate and
1665
# identical other arch specific headers
1666
dir_ml=
1667
cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1668
for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1669
if ! diff -up $cxxconfig $i; then
1670
file_32=x
1671
file_64=x
1672
case $i in
1673
%{GCCDIST}/32/*)
1674
file_32=$i
1675
file_64=$cxxconfig
1676
dir_ml=32
1677
;;
1678
%{GCCDIST}/64/*)
1679
file_32=$cxxconfig
1680
file_64=$i
1681
dir_ml=64
1682
;;
1683
esac
1684
if ! ( test -f "$file_32" && test -f "$file_64" ); then
1685
echo "Urgs?"
1686
exit 1
1687
fi
1688
1689
cat > %{buildroot}/%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1690
#ifndef _CPP_CPPCONFIG_WRAPPER
1691
#define _CPP_CPPCONFIG_WRAPPER 1
1692
#include <bits/wordsize.h>
1693
#if __WORDSIZE == 32
1694
`cat $file_32`
1695
#else
1696
`cat $file_64`
1697
#endif
1698
#endif
1699
EOF
1700
break
1701
fi
1702
done
1703
rm -rf %{buildroot}/%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1704
if ! test -z "$dir_ml"; then
1705
ln -s . %{buildroot}/%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1706
fi
1707
%endif
1708
1709
# move shared libs from versionspecific dir to main libdir
1710
for libname in \
1711
%if %{build_fortran}
1712
libgfortran \
1713
%endif
1714
%ifarch %quadmath_arch
1715
libquadmath \
1716
%endif
1717
%if %{build_objc}
1718
libobjc \
1719
%endif
1720
%if %{build_cp}
1721
libstdc++ \
1722
%endif
1723
%if %{build_go}
1724
libgo \
1725
%endif
1726
%if %{build_d}
1727
libgdruntime \
1728
libgphobos \
1729
%endif
1730
libgomp \
1731
%if %{build_nvptx}
1732
libgomp-plugin-nvptx \
1733
%endif
1734
%if %{build_gcn}
1735
libgomp-plugin-gcn \
1736
%endif
1737
%ifarch %atomic_arch
1738
libatomic \
1739
%endif
1740
%ifarch %itm_arch
1741
libitm \
1742
%endif
1743
%ifarch %asan_arch
1744
libasan \
1745
%endif
1746
%ifarch %tsan_arch
1747
libtsan \
1748
%endif
1749
%ifarch %lsan_arch
1750
liblsan \
1751
%endif
1752
%ifarch %ubsan_arch
1753
libubsan \
1754
%endif
1755
%ifarch %hwasan_arch
1756
libhwasan \
1757
%endif
1758
%ifarch %vtv_arch
1759
libvtv \
1760
%endif
1761
; do
1762
for lib in `find %{buildroot}/%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1763
mv $lib %{buildroot}/%{mainlibdir}/
1764
done
1765
if test -L %{buildroot}/%{versmainlibdir}/$libname.so; then
1766
ln -sf %{mainlibdir}/`readlink %{buildroot}/%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1767
%{buildroot}/%{versmainlibdir}/$libname.so
1768
fi
1769
%if %{biarch}
1770
if test -d %{buildroot}/%{versmainlibdirbi}; then
1771
for lib in `find %{buildroot}/%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1772
mv $lib %{buildroot}/%{mainlibdirbi}/
1773
done
1774
if test -L %{buildroot}/%{versmainlibdirbi}/$libname.so; then
1775
ln -sf %{mainlibdirbi}/`readlink %{buildroot}/%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1776
%{buildroot}/%{versmainlibdirbi}/$libname.so
1777
fi
1778
fi
1779
%endif
1780
done
1781
%if %{build_cp}
1782
# And we want to move the shlib gdb pretty printers to a more sane
1783
# place so ldconfig does not complain
1784
mkdir -p %{buildroot}/%{_datadir}/gdb/auto-load%{mainlibdir}
1785
mv %{buildroot}/%{mainlibdir}/libstdc++.so.*-gdb.py %{buildroot}/%{_datadir}/gdb/auto-load%{mainlibdir}/
1786
sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' %{buildroot}/%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py
1787
%if %{biarch}
1788
if test -d %{buildroot}/%{versmainlibdirbi}; then
1789
mkdir -p %{buildroot}/%{_datadir}/gdb/auto-load%{mainlibdirbi}
1790
mv %{buildroot}/%{mainlibdirbi}/libstdc++.so.*-gdb.py %{buildroot}/%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1791
sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' %{buildroot}/%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1792
fi
1793
%endif
1794
%endif
1795
1796
# Move libgcc_s around
1797
if test -L %{buildroot}/%{_lib}/libgcc_s.so; then
1798
rm -f %{buildroot}/%{_lib}/libgcc_s.so
1799
ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdir}/libgcc_s.so
1800
else
1801
mv %{buildroot}/%{_lib}/libgcc_s.so %{buildroot}/%{versmainlibdir}/
1802
fi
1803
chmod a+x %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s}
1804
%if 0%{?usrmerged}
1805
mv %{buildroot}/%{_lib}/libgcc_s.so.%{libgcc_s} %{buildroot}/%{_slibdir}/libgcc_s.so.%{libgcc_s}
1806
%endif
1807
%if %{biarch}
1808
%if %{build_primary_64bit}
1809
if test -L %{buildroot}/lib/libgcc_s.so; then
1810
rm -f %{buildroot}/lib/libgcc_s.so
1811
ln -sf /lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi32}/libgcc_s.so
1812
else
1813
mv %{buildroot}/lib/libgcc_s.so %{buildroot}/%{versmainlibdirbi32}/
1814
fi
1815
ln -sf %{versmainlibdirbi32}/libgcc_s.so %{buildroot}/%{versmainlibdirbi32}/libgcc_s_32.so
1816
chmod a+x %{buildroot}/lib/libgcc_s.so.%{libgcc_s}
1817
%if 0%{?usrmerged}
1818
mv %{buildroot}/lib/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir}/libgcc_s.so.%{libgcc_s}
1819
%endif
1820
%else
1821
# 32-bit biarch systems
1822
if test -L %{buildroot}/lib64/libgcc_s.so; then
1823
rm -f %{buildroot}/lib64/libgcc_s.so
1824
ln -sf /lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{versmainlibdirbi64}/libgcc_s.so
1825
else
1826
mv %{buildroot}/lib64/libgcc_s.so %{buildroot}/%{versmainlibdirbi64}/
1827
fi
1828
ln -sf %{versmainlibdirbi64}/libgcc_s.so %{buildroot}/%{versmainlibdirbi64}/libgcc_s_64.so
1829
chmod a+x %{buildroot}/lib64/libgcc_s.so.%{libgcc_s}
1830
%if 0%{?usrmerged}
1831
mv %{buildroot}/lib64/libgcc_s.so.%{libgcc_s} %{buildroot}/%{slibdir64}/libgcc_s.so.%{libgcc_s}
1832
%endif
1833
%endif
1834
%endif
1835
1836
%if %{build_ada}
1837
mv %{buildroot}/%{libsubdir}/adalib/lib*-*.so %{buildroot}/%{_libdir}
1838
ln -sf %{_libdir}/libgnarl%{binsuffix}.so %{buildroot}/%{libsubdir}/adalib/libgnarl.so
1839
ln -sf %{_libdir}/libgnat%{binsuffix}.so %{buildroot}/%{libsubdir}/adalib/libgnat.so
1840
chmod a+x %{buildroot}/%{_libdir}/libgna*-*.so
1841
%if %{biarch}
1842
mv %{buildroot}/%{versmainlibdirbi}/adalib/lib*-*.so %{buildroot}/%{mainlibdirbi}/
1843
ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so %{buildroot}/%{versmainlibdirbi}/adalib/libgnarl.so
1844
ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so %{buildroot}/%{versmainlibdirbi}/adalib/libgnat.so
1845
chmod a+x %{buildroot}/%{mainlibdirbi}/libgna*-*.so
1846
%endif
1847
%endif
1848
1849
rm -f %{buildroot}/%{_prefix}/bin/c++%{binsuffix}
1850
1851
# Remove some crap from the .la files:
1852
for l in `find %{buildroot} -name '*.la'`; do
1853
echo "changing $l"
1854
sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1855
-e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1856
-e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1857
-e '/^dependency_libs/s|-L[^ ]* ||g' \
1858
%if %{biarch}
1859
%if %{build_primary_64bit}
1860
-e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1861
-e '/^libdir/s|lib64/\.\./||' \
1862
%else
1863
-e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1864
%endif
1865
%endif
1866
< $l > $l.new
1867
mv $l.new $l
1868
done
1869
1870
# The spec for the PIE subpackage
1871
cat > %{buildroot}/%{libsubdir}/defaults.spec <<EOF
1872
*default_spec:
1873
%%{pie|fpic|fPIC|fpie|fPIE|no-pie|fno-pic|fno-PIC|fno-pie|fno-PIE|shared|static|nostdlib|nodefaultlibs|nostartfiles:;:-fPIE}%%{fno-pic|fno-PIC|fno-pie|fno-PIE|pie|no-pie|shared|static|nostdlib|nodefaultlibs|nostartfiles:;: -pie}
1874
EOF
1875
1876
# GCC-TESTSUITE-DELETE-END
1877
%if 0%{?run_tests:1}
1878
cp `find . -name "*.sum"` ../testresults/
1879
cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' | grep -v libbacktrace` ../testresults/
1880
chmod 644 ../testresults/*
1881
%endif
1882
# GCC-TESTSUITE-DELETE-BEGIN
1883
# Remove files that we do not need to clean up filelist
1884
1885
# Preserve %{GCCDIST}-gcc%{binsuffix} binary for libgccjit as it is used as a driver
1886
mv %{buildroot}/%{_prefix}/bin/%{GCCDIST}-gcc%{binsuffix} %{buildroot}
1887
rm -f %{buildroot}/%{_prefix}/bin/%{GCCDIST}-*
1888
mv %{buildroot}/%{GCCDIST}-gcc%{binsuffix} %{buildroot}/%{_prefix}/bin/
1889
1890
rm -rf %{buildroot}/%{libsubdir}/install-tools
1891
rm -f %{buildroot}/%{libsubdir}/include-fixed/zutil.h
1892
rm -f %{buildroot}/%{libsubdir}/include-fixed/linux/a.out.h
1893
rm -f %{buildroot}/%{libsubdir}/include-fixed/linux/vt.h
1894
rm -f %{buildroot}/%{libsubdir}/include-fixed/asm-generic/socket.h
1895
rm -f %{buildroot}/%{libsubdir}/include-fixed/bits/mathdef.h
1896
rm -f %{buildroot}/%{libsubdir}/include-fixed/bits/unistd_ext.h
1897
rm -f %{buildroot}/%{libsubdir}/include-fixed/sys/ucontext.h
1898
rm -f %{buildroot}/%{libsubdir}/include-fixed/bits/statx.h
1899
rm -f %{buildroot}/%{libsubdir}/include-fixed/pthread.h
1900
rm -f %{buildroot}/%{libsubdir}/include-fixed/sys/rseq.h
1901
%if !%{enable_plugins}
1902
# no plugins
1903
rm -rf %{buildroot}/%{libsubdir}/plugin
1904
%endif
1905
rm -f %{buildroot}/%{_infodir}/dir
1906
1907
1908
rm -f %{buildroot}/%{_mandir}/man7/fsf-funding.7
1909
rm -f %{buildroot}/%{_mandir}/man7/gfdl.7
1910
rm -f %{buildroot}/%{_mandir}/man7/gpl.7
1911
rm -f %{buildroot}/%{_libdir}/libiberty.a
1912
%if %{biarch}
1913
%if %{build_primary_64bit}
1914
rm -f %{buildroot}/%{_prefix}/lib/libiberty.a
1915
%else
1916
rm -f %{buildroot}/%{_prefix}/lib64/libiberty.a
1917
%endif
1918
%endif
1919
rm -f %{buildroot}/%{libsubdir}/liblto_plugin.a
1920
rm -f %{buildroot}/%{libsubdir}/liblto_plugin.la
1921
%if %{build_go}
1922
# gccgo.info isn't properly versioned
1923
rm %{buildroot}/%{_infodir}/gccgo.info*
1924
rm -f %{buildroot}/%{libsubdir}/test2json
1925
rm -f %{buildroot}/%{libsubdir}/vet
1926
%endif
1927
1928
# For regular build, some info files do not get renamed properly.
1929
# Do so here.
1930
mv %{buildroot}/%{_infodir}/libgomp.info %{buildroot}/%{_infodir}/libgomp%{binsuffix}.info
1931
%ifarch %itm_arch
1932
mv %{buildroot}/%{_infodir}/libitm.info %{buildroot}/%{_infodir}/libitm%{binsuffix}.info
1933
%endif
1934
%if %{build_fortran}
1935
%ifarch %quadmath_arch
1936
mv %{buildroot}/%{_infodir}/libquadmath.info %{buildroot}/%{_infodir}/libquadmath%{binsuffix}.info
1937
%endif
1938
%endif
1939
%if %{build_ada}
1940
mv %{buildroot}/%{_infodir}/gnat-style.info %{buildroot}/%{_infodir}/gnat-style%{binsuffix}.info
1941
mv %{buildroot}/%{_infodir}/gnat_rm.info %{buildroot}/%{_infodir}/gnat_rm%{binsuffix}.info
1942
mv %{buildroot}/%{_infodir}/gnat_ugn.info %{buildroot}/%{_infodir}/gnat_ugn%{binsuffix}.info
1943
%endif
1944
1945
1946
cd ..
1947
%find_lang cpplib%{binsuffix}
1948
%find_lang gcc%{binsuffix}
1949
%find_lang libstdc++
1950
cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
1951
1952
%post info
1953
%install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1954
%install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1955
%install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1956
%install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1957
%install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1958
%install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1959
%ifarch %itm_arch
1960
%install_info --info-dir=%{_infodir} %{_infodir}/libitm%{binsuffix}.info.gz
1961
%endif
1962
%if %{build_fortran}
1963
%install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1964
%ifarch %quadmath_arch
1965
%install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1966
%endif
1967
%endif
1968
%if %{build_ada}
1969
%install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1970
%install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1971
%install_info --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
1972
%endif
1973
1974
%preun info
1975
%install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1976
%install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1977
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1978
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1979
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1980
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1981
%ifarch %itm_arch
1982
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libitm%{binsuffix}.info.gz
1983
%endif
1984
%if %{build_fortran}
1985
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1986
%ifarch %quadmath_arch
1987
%install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1988
%endif
1989
%endif
1990
%if %{build_ada}
1991
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1992
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1993
%install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
1994
%endif
1995
1996
%files
1997
%defattr(-,root,root)
1998
%dir %{_libdir}/gcc
1999
%dir %{_libdir}/gcc/%{GCCDIST}
2000
%dir %{libsubdir}
2001
%dir %{libsubdir}/include
2002
%dir %{libsubdir}/include-fixed
2003
%if %{biarch}
2004
%if %{build_primary_64bit}
2005
%dir %{libsubdir}/32
2006
%else
2007
%dir %{libsubdir}/64
2008
%endif
2009
%endif
2010
%{_prefix}/bin/gcc%{binsuffix}
2011
%{_prefix}/bin/%{GCCDIST}-gcc%{binsuffix}
2012
%{_prefix}/bin/gcov%{binsuffix}
2013
%{_prefix}/bin/gcov-dump%{binsuffix}
2014
%{_prefix}/bin/gcov-tool%{binsuffix}
2015
%{_prefix}/bin/gcc-ar%{binsuffix}
2016
%{_prefix}/bin/gcc-nm%{binsuffix}
2017
%{_prefix}/bin/gcc-ranlib%{binsuffix}
2018
%{_prefix}/bin/lto-dump%{binsuffix}
2019
%{libsubdir}/collect2
2020
%{libsubdir}/lto1
2021
%{libsubdir}/lto-wrapper
2022
%{libsubdir}/liblto_plugin.so*
2023
%{libsubdir}/include-fixed/README
2024
%{libsubdir}/include-fixed/limits.h
2025
%{libsubdir}/include-fixed/syslimits.h
2026
%{libsubdir}/include/omp.h
2027
%{libsubdir}/include/float.h
2028
%{libsubdir}/include/iso646.h
2029
%{libsubdir}/include/stdarg.h
2030
%{libsubdir}/include/stdbool.h
2031
%{libsubdir}/include/stdfix.h
2032
%{libsubdir}/include/stddef.h
2033
%{libsubdir}/include/unwind.h
2034
%{libsubdir}/include/varargs.h
2035
%{libsubdir}/include/stdint.h
2036
%{libsubdir}/include/stdint-gcc.h
2037
%{libsubdir}/include/stdnoreturn.h
2038
%{libsubdir}/include/stdalign.h
2039
%{libsubdir}/include/stdatomic.h
2040
%{libsubdir}/include/openacc.h
2041
%{libsubdir}/include/gcov.h
2042
%{libsubdir}/include/acc_prof.h
2043
%ifarch %sparc
2044
%{libsubdir}/include/visintrin.h
2045
%endif
2046
%ifarch ppc ppc64 ppc64le
2047
%{libsubdir}/include/altivec.h
2048
%{libsubdir}/include/ppc-asm.h
2049
%{libsubdir}/include/ppu_intrinsics.h
2050
%{libsubdir}/include/si2vmx.h
2051
%{libsubdir}/include/spu2vmx.h
2052
%{libsubdir}/include/vec_types.h
2053
%{libsubdir}/include/htmintrin.h
2054
%{libsubdir}/include/htmxlintrin.h
2055
%{libsubdir}/include/amo.h
2056
%{libsubdir}/include/bmi2intrin.h
2057
%{libsubdir}/include/bmiintrin.h
2058
%{libsubdir}/include/emmintrin.h
2059
%{libsubdir}/include/mm_malloc.h
2060
%{libsubdir}/include/mmintrin.h
2061
%{libsubdir}/include/x86intrin.h
2062
%{libsubdir}/include/xmmintrin.h
2063
%{libsubdir}/include/pmmintrin.h
2064
%{libsubdir}/include/tmmintrin.h
2065
%{libsubdir}/include/smmintrin.h
2066
%{libsubdir}/include/rs6000-vecdefines.h
2067
%{libsubdir}/include/immintrin.h
2068
%{libsubdir}/include/nmmintrin.h
2069
%{libsubdir}/include/x86gprintrin.h
2070
%endif
2071
%ifarch s390 s390x
2072
%{libsubdir}/include/htmintrin.h
2073
%{libsubdir}/include/htmxlintrin.h
2074
%{libsubdir}/include/s390intrin.h
2075
%{libsubdir}/include/vecintrin.h
2076
%endif
2077
%ifarch ia64
2078
%{libsubdir}/include/ia64intrin.h
2079
%endif
2080
%ifarch %arm
2081
%{libsubdir}/include/mmintrin.h
2082
%{libsubdir}/include/unwind-arm-common.h
2083
%{libsubdir}/include/arm_cmse.h
2084
%{libsubdir}/include/arm_mve.h
2085
%{libsubdir}/include/arm_mve_types.h
2086
%{libsubdir}/include/arm_cde.h
2087
%endif
2088
%ifarch %arm aarch64
2089
%{libsubdir}/include/arm_neon.h
2090
%{libsubdir}/include/arm_acle.h
2091
%{libsubdir}/include/arm_fp16.h
2092
%{libsubdir}/include/arm_bf16.h
2093
%endif
2094
%ifarch aarch64
2095
%{libsubdir}/include/arm_sve.h
2096
%endif
2097
%ifarch %ix86 x86_64
2098
%{libsubdir}/include/cross-stdarg.h
2099
%{libsubdir}/include/cpuid.h
2100
%{libsubdir}/include/mm3dnow.h
2101
%{libsubdir}/include/mmintrin.h
2102
%{libsubdir}/include/ammintrin.h
2103
%{libsubdir}/include/bmmintrin.h
2104
%{libsubdir}/include/emmintrin.h
2105
%{libsubdir}/include/immintrin.h
2106
%{libsubdir}/include/avxintrin.h
2107
%{libsubdir}/include/pmmintrin.h
2108
%{libsubdir}/include/xmmintrin.h
2109
%{libsubdir}/include/tmmintrin.h
2110
%{libsubdir}/include/nmmintrin.h
2111
%{libsubdir}/include/smmintrin.h
2112
%{libsubdir}/include/wmmintrin.h
2113
%{libsubdir}/include/x86intrin.h
2114
%{libsubdir}/include/ia32intrin.h
2115
%{libsubdir}/include/mm_malloc.h
2116
%{libsubdir}/include/fma4intrin.h
2117
%{libsubdir}/include/xopintrin.h
2118
%{libsubdir}/include/lwpintrin.h
2119
%{libsubdir}/include/popcntintrin.h
2120
%{libsubdir}/include/bmiintrin.h
2121
%{libsubdir}/include/tbmintrin.h
2122
%{libsubdir}/include/avx2intrin.h
2123
%{libsubdir}/include/bmi2intrin.h
2124
%{libsubdir}/include/fmaintrin.h
2125
%{libsubdir}/include/lzcntintrin.h
2126
%{libsubdir}/include/f16cintrin.h
2127
%{libsubdir}/include/adxintrin.h
2128
%{libsubdir}/include/fxsrintrin.h
2129
%{libsubdir}/include/prfchwintrin.h
2130
%{libsubdir}/include/rdseedintrin.h
2131
%{libsubdir}/include/rtmintrin.h
2132
%{libsubdir}/include/xsaveintrin.h
2133
%{libsubdir}/include/xsaveoptintrin.h
2134
%{libsubdir}/include/xtestintrin.h
2135
%{libsubdir}/include/avx512cdintrin.h
2136
%{libsubdir}/include/avx512erintrin.h
2137
%{libsubdir}/include/avx512fintrin.h
2138
%{libsubdir}/include/avx512pfintrin.h
2139
%{libsubdir}/include/shaintrin.h
2140
%{libsubdir}/include/avx512bwintrin.h
2141
%{libsubdir}/include/avx512dqintrin.h
2142
%{libsubdir}/include/avx512vlbwintrin.h
2143
%{libsubdir}/include/avx512vldqintrin.h
2144
%{libsubdir}/include/avx512vlintrin.h
2145
%{libsubdir}/include/avx512ifmaintrin.h
2146
%{libsubdir}/include/avx512ifmavlintrin.h
2147
%{libsubdir}/include/avx512vbmiintrin.h
2148
%{libsubdir}/include/avx512vbmivlintrin.h
2149
%{libsubdir}/include/avx5124fmapsintrin.h
2150
%{libsubdir}/include/avx5124vnniwintrin.h
2151
%{libsubdir}/include/avx512vpopcntdqintrin.h
2152
%{libsubdir}/include/avx512vbmi2intrin.h
2153
%{libsubdir}/include/avx512vbmi2vlintrin.h
2154
%{libsubdir}/include/avx512vnniintrin.h
2155
%{libsubdir}/include/avx512vnnivlintrin.h
2156
%{libsubdir}/include/avx512bitalgintrin.h
2157
%{libsubdir}/include/avx512vpopcntdqvlintrin.h
2158
%{libsubdir}/include/avx512bf16intrin.h
2159
%{libsubdir}/include/avx512bf16vlintrin.h
2160
%{libsubdir}/include/avx512vp2intersectintrin.h
2161
%{libsubdir}/include/avx512vp2intersectvlintrin.h
2162
%{libsubdir}/include/vpclmulqdqintrin.h
2163
%{libsubdir}/include/enqcmdintrin.h
2164
%{libsubdir}/include/cet.h
2165
%{libsubdir}/include/vaesintrin.h
2166
%{libsubdir}/include/clwbintrin.h
2167
%{libsubdir}/include/clflushoptintrin.h
2168
%{libsubdir}/include/xsavecintrin.h
2169
%{libsubdir}/include/xsavesintrin.h
2170
%{libsubdir}/include/mwaitxintrin.h
2171
%{libsubdir}/include/clzerointrin.h
2172
%{libsubdir}/include/pkuintrin.h
2173
%{libsubdir}/include/sgxintrin.h
2174
%{libsubdir}/include/cetintrin.h
2175
%{libsubdir}/include/gfniintrin.h
2176
%{libsubdir}/include/pconfigintrin.h
2177
%{libsubdir}/include/wbnoinvdintrin.h
2178
%{libsubdir}/include/movdirintrin.h
2179
%{libsubdir}/include/cldemoteintrin.h
2180
%{libsubdir}/include/waitpkgintrin.h
2181
%{libsubdir}/include/serializeintrin.h
2182
%{libsubdir}/include/tsxldtrkintrin.h
2183
%{libsubdir}/include/amxbf16intrin.h
2184
%{libsubdir}/include/amxint8intrin.h
2185
%{libsubdir}/include/amxtileintrin.h
2186
%{libsubdir}/include/x86gprintrin.h
2187
%{libsubdir}/include/hresetintrin.h
2188
%{libsubdir}/include/uintrintrin.h
2189
%{libsubdir}/include/keylockerintrin.h
2190
%{libsubdir}/include/avxvnniintrin.h
2191
%{libsubdir}/include/mwaitintrin.h
2192
%{libsubdir}/include/avx512fp16intrin.h
2193
%{libsubdir}/include/avx512fp16vlintrin.h
2194
%endif
2195
%ifarch m68k
2196
%{libsubdir}/include/math-68881.h
2197
%endif
2198
%ifarch %asan_arch
2199
%{libsubdir}/include/sanitizer
2200
%endif
2201
%if %{build_fortran}
2202
%{libsubdir}/include/ISO_Fortran_binding.h
2203
%endif
2204
%versmainlib *crt*.o
2205
%versmainlib libgcc*.a
2206
%versmainlib libgcov.a
2207
%versmainlib libgcc_s*.so
2208
%versmainlib libgomp.so
2209
%versmainlib libgomp.a
2210
%versmainlib libgomp.spec
2211
%if %{build_nvptx}
2212
%versmainlib libgomp-plugin-nvptx.so
2213
%endif
2214
%if %{build_gcn}
2215
%versmainlib libgomp-plugin-gcn.so
2216
%endif
2217
%ifarch %itm_arch
2218
%versmainlib libitm.so
2219
%versmainlib libitm.a
2220
%versmainlib libitm.spec
2221
%endif
2222
%ifarch %atomic_arch
2223
%versmainlib libatomic.so
2224
%versmainlib libatomic.a
2225
%endif
2226
%ifarch %asan_arch
2227
%versmainlib libasan.so
2228
%versmainlib libasan.a
2229
%versmainlib libasan_preinit.o
2230
%endif
2231
%ifarch %tsan_arch
2232
%if %build_primary_64bit
2233
%versmainlib libtsan.so
2234
%versmainlib libtsan.a
2235
%versmainlib libtsan_preinit.o
2236
%endif
2237
%endif
2238
%ifarch %lsan_arch
2239
%if %build_primary_64bit
2240
%versmainlib liblsan.so
2241
%versmainlib liblsan.a
2242
%versmainlib liblsan_preinit.o
2243
%endif
2244
%endif
2245
%ifarch %ubsan_arch
2246
%versmainlib libubsan.so
2247
%versmainlib libubsan.a
2248
%endif
2249
%ifarch %hwasan_arch
2250
%versmainlib libhwasan.so
2251
%versmainlib libhwasan.a
2252
%endif
2253
%ifarch %asan_arch %ubsan_arch %tsan_arch %lsan_arch %hwasan_arch
2254
%versmainlib libsanitizer.spec
2255
%endif
2256
%ifarch %vtv_arch
2257
%versmainlib libvtv.so
2258
%versmainlib libvtv.a
2259
%endif
2260
%doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
2261
%doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
2262
%doc %{_mandir}/man1/gcov-dump%{binsuffix}.1.gz
2263
%doc %{_mandir}/man1/gcov-tool%{binsuffix}.1.gz
2264
%doc %{_mandir}/man1/lto-dump%{binsuffix}.1.gz
2265
2266
%if %{separate_biarch}
2267
%files -n gcc@base_ver@%{separate_biarch_suffix}
2268
%defattr(-,root,root)
2269
%versbiarchlib *crt*.o
2270
%versbiarchlib libgcc*.a
2271
%versbiarchlib libgcov.a
2272
%versbiarchlib libgcc_s*.so
2273
%versbiarchlib libgomp.so
2274
%versbiarchlib libgomp.a
2275
%versbiarchlib libgomp.spec
2276
# No 32-bit plugins for nvptx and gcn
2277
%ifarch %itm_arch
2278
%versbiarchlib libitm.so
2279
%versbiarchlib libitm.a
2280
%versbiarchlib libitm.spec
2281
%endif
2282
%ifarch %atomic_arch
2283
%versbiarchlib libatomic.a
2284
%versbiarchlib libatomic.so
2285
%endif
2286
%ifarch %asan_arch
2287
%versbiarchlib libasan.a
2288
%versbiarchlib libasan.so
2289
%versbiarchlib libasan_preinit.o
2290
%endif
2291
%ifarch %ubsan_arch
2292
%versbiarchlib libubsan.a
2293
%versbiarchlib libubsan.so
2294
%endif
2295
%ifarch %tsan_arch
2296
%if %separate_bi64
2297
%versbiarchlib libtsan.a
2298
%versbiarchlib libtsan.so
2299
%versbiarchlib libtsan_preinit.o
2300
%endif
2301
%endif
2302
%ifarch %lsan_arch
2303
%if %separate_bi64
2304
%versbiarchlib liblsan.a
2305
%versbiarchlib liblsan.so
2306
%versbiarchlib liblsan_preinit.o
2307
%endif
2308
%endif
2309
%ifarch %hwasan_arch
2310
%versbiarchlib libhwasan.a
2311
%versbiarchlib libhwasan.so
2312
%endif
2313
%ifarch %asan_arch %ubsan_arch %tsan_arch %lsan_arch %hwasan_arch
2314
%versbiarchlib libsanitizer.spec
2315
%endif
2316
%ifarch %vtv_arch
2317
%versbiarchlib libvtv.a
2318
%versbiarchlib libvtv.so
2319
%endif
2320
%endif
2321
2322
%if %{enable_plugins}
2323
%files devel
2324
%defattr(-,root,root)
2325
%dir %{libsubdir}/plugin
2326
%{libsubdir}/plugin
2327
%endif
2328
2329
%files locale -f gcc@base_ver@-locale.lang
2330
2331
%files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale -f libstdc++.lang
2332
2333
%files PIE
2334
%defattr(-,root,root)
2335
%dir %{libsubdir}
2336
%{libsubdir}/defaults.spec
2337
2338
%if %{build_cp}
2339
%files c++
2340
%defattr(-,root,root)
2341
%dir %{_libdir}/gcc
2342
%dir %{_libdir}/gcc/%{GCCDIST}
2343
%dir %{libsubdir}
2344
%{_prefix}/bin/g++%{binsuffix}
2345
%doc %{_mandir}/man1/g++%{binsuffix}.1.gz
2346
%{libsubdir}/cc1plus
2347
%{libsubdir}/g++-mapper-server
2348
2349
%if %{separate_biarch}
2350
%files c++%{separate_biarch_suffix}
2351
%defattr(-,root,root)
2352
# empty - only for the dependency
2353
%if %{suse_version} < 1310
2354
%doc README
2355
%endif
2356
%endif
2357
2358
%files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
2359
%defattr(-,root,root)
2360
%mainlib libstdc++.so.%{libstdcxx_sover}*
2361
2362
%if %{separate_biarch}
2363
%files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}%{separate_biarch_suffix}
2364
%defattr(-,root,root)
2365
%biarchlib libstdc++.so.%{libstdcxx_sover}*
2366
%endif
2367
2368
%files -n libstdc++%{libstdcxx_sover}-devel%{libdevel_suffix}
2369
%defattr(-,root,root)
2370
%versmainlib libstdc++.a
2371
%versmainlib libstdc++fs.a
2372
%versmainlib libstdc++.so
2373
%versmainlib libsupc++.a
2374
%{_prefix}/include/c++
2375
2376
%files -n libstdc++%{libstdcxx_sover}-pp%{libstdcxx_suffix}
2377
%defattr(-,root,root)
2378
%dir %{_datadir}/gdb
2379
%dir %{_datadir}/gdb/auto-load
2380
%dir %{_datadir}/gdb/auto-load%{_prefix}
2381
%dir %{_datadir}/gdb/auto-load/%{mainlibdir}
2382
%{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
2383
%{_datadir}/gcc%{binsuffix}
2384
2385
%if %{separate_biarch}
2386
%files -n libstdc++%{libstdcxx_sover}-devel%{libdevel_suffix}%{separate_biarch_suffix}
2387
%defattr(-,root,root)
2388
%versbiarchlib libstdc++.a
2389
%versbiarchlib libstdc++fs.a
2390
%versbiarchlib libstdc++.so
2391
%versbiarchlib libsupc++.a
2392
2393
%files -n libstdc++%{libstdcxx_sover}-pp%{libstdcxx_suffix}%{separate_biarch_suffix}
2394
%defattr(-,root,root)
2395
%dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
2396
%{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
2397
%endif
2398
%endif
2399
2400
%files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
2401
%defattr(-,root,root)
2402
%{_slibdir}/libgcc_s.so.%{libgcc_s}
2403
%if %{biarch}
2404
%if %{build_primary_64bit}
2405
%if !%{separate_bi32}
2406
%{slibdir}/libgcc_s.so.%{libgcc_s}
2407
%endif
2408
%else
2409
%if !%{separate_bi64}
2410
%{slibdir64}/libgcc_s.so.%{libgcc_s}
2411
%endif
2412
%endif
2413
%endif
2414
2415
%if %{separate_bi64}
2416
%files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
2417
%defattr(-,root,root)
2418
%{slibdir64}/libgcc_s.so.%{libgcc_s}
2419
%endif
2420
2421
%if %{separate_bi32}
2422
%files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
2423
%defattr(-,root,root)
2424
%{slibdir}/libgcc_s.so.%{libgcc_s}
2425
%endif
2426
2427
2428
%files -n libgomp%{libgomp_sover}%{libgomp_suffix}
2429
%defattr(-,root,root)
2430
%mainlib libgomp.so.%{libgomp_sover}*
2431
%if %{build_nvptx}
2432
%mainlib libgomp-plugin-nvptx.so.%{libgomp_sover}*
2433
%endif
2434
%if %{build_gcn}
2435
%mainlib libgomp-plugin-gcn.so.%{libgomp_sover}*
2436
%endif
2437
2438
%if %{separate_biarch}
2439
%files -n libgomp%{libgomp_sover}%{libgomp_suffix}%{separate_biarch_suffix}
2440
%defattr(-,root,root)
2441
%biarchlib libgomp.so.%{libgomp_sover}*
2442
%endif
2443
# No 32-bit plugins for nvptx and gcn
2444
2445
2446
%ifarch %asan_arch
2447
%files -n libasan%{libasan_sover}%{libasan_suffix}
2448
%defattr(-,root,root)
2449
%mainlib libasan.so.%{libasan_sover}*
2450
2451
%if %{separate_biarch}
2452
%files -n libasan%{libasan_sover}%{libasan_suffix}%{separate_biarch_suffix}
2453
%defattr(-,root,root)
2454
%biarchlib libasan.so.%{libasan_sover}*
2455
%endif
2456
%endif
2457
2458
2459
%ifarch %lsan_arch
2460
%if %build_primary_64bit
2461
%files -n liblsan%{liblsan_sover}%{liblsan_suffix}
2462
%defattr(-,root,root)
2463
%mainlib liblsan.so.%{liblsan_sover}*
2464
%endif
2465
2466
%if %{separate_biarch} && %{separate_bi64}
2467
%files -n liblsan%{liblsan_sover}%{liblsan_suffix}%{separate_biarch_suffix}
2468
%defattr(-,root,root)
2469
%biarchlib liblsan.so.%{liblsan_sover}*
2470
%endif
2471
%endif
2472
2473
2474
%ifarch %tsan_arch
2475
%if %build_primary_64bit
2476
%files -n libtsan%{libtsan_sover}%{libtsan_suffix}
2477
%defattr(-,root,root)
2478
%mainlib libtsan.so.%{libtsan_sover}*
2479
%endif
2480
2481
%if %{separate_biarch} && %{separate_bi64}
2482
%files -n libtsan%{libtsan_sover}%{libtsan_suffix}%{separate_biarch_suffix}
2483
%defattr(-,root,root)
2484
%biarchlib libtsan.so.%{libtsan_sover}*
2485
%endif
2486
%endif
2487
2488
%ifarch %hwasan_arch
2489
%files -n libhwasan%{libhwasan_sover}%{libhwasan_suffix}
2490
%defattr(-,root,root)
2491
%mainlib libhwasan.so.%{libhwasan_sover}*
2492
2493
%if %{separate_biarch}
2494
%files -n libhwasan%{libhwasan_sover}%{libhwasan_suffix}%{separate_biarch_suffix}
2495
%defattr(-,root,root)
2496
%biarchlib libhwasan.so.%{libhwasan_sover}*
2497
%endif
2498
%endif
2499
2500
2501
%ifarch %atomic_arch
2502
%files -n libatomic%{libatomic_sover}%{libatomic_suffix}
2503
%defattr(-,root,root)
2504
%mainlib libatomic.so.%{libatomic_sover}*
2505
2506
%if %{separate_biarch}
2507
%files -n libatomic%{libatomic_sover}%{libatomic_suffix}%{separate_biarch_suffix}
2508
%defattr(-,root,root)
2509
%biarchlib libatomic.so.%{libatomic_sover}*
2510
%endif
2511
%endif
2512
2513
2514
%ifarch %itm_arch
2515
%files -n libitm%{libitm_sover}%{libitm_suffix}
2516
%defattr(-,root,root)
2517
%mainlib libitm.so.%{libitm_sover}*
2518
2519
%if %{separate_biarch}
2520
%files -n libitm%{libitm_sover}%{libitm_suffix}%{separate_biarch_suffix}
2521
%defattr(-,root,root)
2522
%biarchlib libitm.so.%{libitm_sover}*
2523
%endif
2524
%endif
2525
2526
2527
%ifarch %ubsan_arch
2528
%files -n libubsan%{libubsan_sover}%{libubsan_suffix}
2529
%defattr(-,root,root)
2530
%mainlib libubsan.so.%{libubsan_sover}*
2531
2532
%if %{separate_biarch}
2533
%files -n libubsan%{libubsan_sover}%{libubsan_suffix}%{separate_biarch_suffix}
2534
%defattr(-,root,root)
2535
%biarchlib libubsan.so.%{libubsan_sover}*
2536
%endif
2537
%endif
2538
2539
2540
%ifarch %vtv_arch
2541
%files -n libvtv%{libvtv_sover}%{libvtv_suffix}
2542
%defattr(-,root,root)
2543
%mainlib libvtv.so.%{libvtv_sover}*
2544
2545
%if %{separate_biarch}
2546
%files -n libvtv%{libvtv_sover}%{libvtv_suffix}%{separate_biarch_suffix}
2547
%defattr(-,root,root)
2548
%biarchlib libvtv.so.%{libvtv_sover}*
2549
%endif
2550
2551
2552
%endif
2553
2554
2555
%if %{build_fortran}
2556
%files fortran
2557
%defattr(-,root,root)
2558
%dir %{libsubdir}/finclude
2559
%{_prefix}/bin/gfortran%{binsuffix}
2560
%{libsubdir}/f951
2561
%{libsubdir}/finclude/*
2562
%versmainlib libgfortran.a
2563
%versmainlib libgfortran.so
2564
%versmainlib libgfortran.spec
2565
%versmainlib libcaf_single.a
2566
%ifarch %quadmath_arch
2567
%{libsubdir}/include/quadmath.h
2568
%{libsubdir}/include/quadmath_weak.h
2569
%versmainlib libquadmath.a
2570
%versmainlib libquadmath.so
2571
%endif
2572
%doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
2573
2574
%if %{separate_biarch}
2575
%files fortran%{separate_biarch_suffix}
2576
%defattr(-,root,root)
2577
%dir %{versmainlibdirbi}/finclude
2578
%{versmainlibdirbi}/finclude/*
2579
%versbiarchlib libgfortran.a
2580
%versbiarchlib libgfortran.so
2581
%versbiarchlib libgfortran.spec
2582
%versbiarchlib libcaf_single.a
2583
%ifarch %quadmath_arch
2584
%versbiarchlib libquadmath.a
2585
%versbiarchlib libquadmath.so
2586
%endif
2587
%endif
2588
2589
%files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
2590
%defattr(-,root,root)
2591
%mainlib libgfortran.so.%{libgfortran_sover}*
2592
2593
%if %{separate_biarch}
2594
%files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}%{separate_biarch_suffix}
2595
%defattr(-,root,root)
2596
%biarchlib libgfortran.so.%{libgfortran_sover}*
2597
%endif
2598
2599
%ifarch %quadmath_arch
2600
%files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
2601
%defattr(-,root,root)
2602
%mainlib libquadmath.so.%{libquadmath_sover}*
2603
2604
%if %{separate_biarch}
2605
%files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}%{separate_biarch_suffix}
2606
%defattr(-,root,root)
2607
%biarchlib libquadmath.so.%{libquadmath_sover}*
2608
%endif
2609
%endif
2610
%endif
2611
2612
%files info
2613
%defattr(-,root,root)
2614
%doc %{_infodir}/cpp%{binsuffix}.info*.gz
2615
%doc %{_infodir}/cppinternals%{binsuffix}.info*.gz
2616
%doc %{_infodir}/gcc%{binsuffix}.info*.gz
2617
%doc %{_infodir}/gccint%{binsuffix}.info*.gz
2618
%doc %{_infodir}/gccinstall%{binsuffix}.info*.gz
2619
%doc %{_infodir}/libgomp%{binsuffix}.info*.gz
2620
%ifarch %itm_arch
2621
%doc %{_infodir}/libitm%{binsuffix}.info*.gz
2622
%endif
2623
%if %{build_fortran}
2624
%doc %{_infodir}/gfortran%{binsuffix}.info*.gz
2625
%ifarch %quadmath_arch
2626
%doc %{_infodir}/libquadmath%{binsuffix}.info*.gz
2627
%endif
2628
%endif
2629
%if %{build_ada}
2630
%doc %{_infodir}/gnat-style%{binsuffix}.info*gz
2631
%doc %{_infodir}/gnat_rm%{binsuffix}.info*gz
2632
%doc %{_infodir}/gnat_ugn%{binsuffix}.info*gz
2633
%endif
2634
%if %{build_d}
2635
%doc %{_infodir}/gdc%{binsuffix}.info*gz
2636
%endif
2637
2638
%files -n cpp@base_ver@
2639
%defattr(-,root,root)
2640
%dir %{_libdir}/gcc
2641
%dir %{_libdir}/gcc/%{GCCDIST}
2642
%dir %{libsubdir}
2643
%{_prefix}/bin/cpp%{binsuffix}
2644
%{libsubdir}/cc1
2645
%doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
2646
2647
%if %{build_objc}
2648
%files objc
2649
%defattr(-,root,root)
2650
%{libsubdir}/cc1obj
2651
%{libsubdir}/include/objc
2652
%versmainlib libobjc.a
2653
%versmainlib libobjc.so
2654
2655
%if %{separate_biarch}
2656
%files objc%{separate_biarch_suffix}
2657
%defattr(-,root,root)
2658
%versbiarchlib libobjc.a
2659
%versbiarchlib libobjc.so
2660
%endif
2661
2662
%files -n libobjc%{libobjc_sover}%{libobjc_suffix}
2663
%defattr(-,root,root)
2664
%mainlib libobjc.so.%{libobjc_sover}*
2665
2666
%if %{separate_biarch}
2667
%files -n libobjc%{libobjc_sover}%{libobjc_suffix}%{separate_biarch_suffix}
2668
%defattr(-,root,root)
2669
%biarchlib libobjc.so.%{libobjc_sover}*
2670
%endif
2671
%endif
2672
2673
2674
%if %{build_objcp}
2675
%files obj-c++
2676
%defattr(-,root,root)
2677
%{libsubdir}/cc1objplus
2678
2679
%if %{separate_biarch}
2680
%files obj-c++%{separate_biarch_suffix}
2681
%defattr(-,root,root)
2682
# empty - only for the dependency
2683
%if %{suse_version} < 1310
2684
%doc README
2685
%endif
2686
%endif
2687
%endif
2688
2689
2690
%if %{build_ada}
2691
%files ada
2692
%defattr(-,root,root)
2693
%dir %{_libdir}/gcc
2694
%dir %{_libdir}/gcc/%{GCCDIST}
2695
%dir %{libsubdir}
2696
%{_prefix}/bin/gnat*
2697
%dir %{versmainlibdir}/adalib
2698
%{versmainlibdir}/adainclude
2699
%{versmainlibdir}/adalib/*.ali
2700
%{versmainlibdir}/adalib/*.a
2701
%{versmainlibdir}/adalib/libgnarl.so
2702
%{versmainlibdir}/adalib/libgnat.so
2703
%{versmainlibdir}/gnat1
2704
%{versmainlibdir}/ada_target_properties
2705
2706
%if %{separate_biarch}
2707
%files ada%{separate_biarch_suffix}
2708
%defattr(-,root,root)
2709
%dir %{versmainlibdirbi}/adalib
2710
%{versmainlibdirbi}/adainclude
2711
%{versmainlibdirbi}/adalib/*.ali
2712
%{versmainlibdirbi}/adalib/*.a
2713
%{versmainlibdirbi}/adalib/libgnarl.so
2714
%{versmainlibdirbi}/adalib/libgnat.so
2715
%{versmainlibdirbi}/ada_target_properties
2716
%endif
2717
2718
%files -n libada@base_ver@
2719
%defattr(-,root,root)
2720
%mainlib libgnarl%{binsuffix}.so
2721
%mainlib libgnat%{binsuffix}.so
2722
2723
%if %{separate_biarch}
2724
%files -n libada@base_ver@%{separate_biarch_suffix}
2725
%defattr(-,root,root)
2726
%biarchlib libgnarl%{binsuffix}.so
2727
%biarchlib libgnat%{binsuffix}.so
2728
%endif
2729
%endif
2730
2731
%if %{build_go}
2732
%files go
2733
%defattr(-,root,root)
2734
%{_prefix}/bin/gccgo%{binsuffix}
2735
%{_prefix}/bin/go%{binsuffix}
2736
%{_prefix}/bin/gofmt%{binsuffix}
2737
%{libsubdir}/go1
2738
%versmainlib libgo.a
2739
%versmainlib libgo.so
2740
%versmainlib libgobegin.a
2741
%versmainlib libgolibbegin.a
2742
%versmainlibdir/buildid
2743
%versmainlibdir/cgo
2744
%dir %mainlibdir/go
2745
%dir %mainlibdir/go/%{gcc_dir_version}
2746
%mainlibdir/go/%{gcc_dir_version}/%{GCCDIST}
2747
%doc %{_mandir}/man1/gccgo%{binsuffix}.1.gz
2748
%doc %{_mandir}/man1/go%{binsuffix}.1.gz
2749
%doc %{_mandir}/man1/gofmt%{binsuffix}.1.gz
2750
2751
%if %{separate_biarch}
2752
%files go%{separate_biarch_suffix}
2753
%defattr(-,root,root)
2754
%versbiarchlib libgo.a
2755
%versbiarchlib libgo.so
2756
%versbiarchlib libgobegin.a
2757
%versbiarchlib libgolibbegin.a
2758
%dir %mainlibdirbi/go
2759
%dir %mainlibdirbi/go/%{gcc_dir_version}
2760
%mainlibdirbi/go/%{gcc_dir_version}/%{GCCDIST}
2761
%endif
2762
2763
%files -n libgo%{libgo_sover}%{libgo_suffix}
2764
%defattr(-,root,root)
2765
%mainlib libgo.so.%{libgo_sover}*
2766
2767
%if %{separate_biarch}
2768
%files -n libgo%{libgo_sover}%{libgo_suffix}%{separate_biarch_suffix}
2769
%defattr(-,root,root)
2770
%biarchlib libgo.so.%{libgo_sover}*
2771
%endif
2772
%endif
2773
2774
%if %{build_d}
2775
%files d
2776
%defattr(-,root,root)
2777
%{_prefix}/bin/gdc%{binsuffix}
2778
%{libsubdir}/d21
2779
%versmainlib libgphobos.a
2780
%versmainlib libgphobos.so
2781
%versmainlib libgdruntime.a
2782
%versmainlib libgdruntime.so
2783
%versmainlib libgphobos.spec
2784
%{versmainlibdir}/include/d
2785
%doc %{_mandir}/man1/gdc%{binsuffix}.1.gz
2786
2787
%if %{separate_biarch}
2788
%files d%{separate_biarch_suffix}
2789
%defattr(-,root,root)
2790
%versbiarchlib libgphobos.a
2791
%versbiarchlib libgphobos.so
2792
%versbiarchlib libgdruntime.a
2793
%versbiarchlib libgdruntime.so
2794
%versbiarchlib libgphobos.spec
2795
%endif
2796
2797
%files -n libgphobos%{libgphobos_sover}%{libgphobos_suffix}
2798
%defattr(-,root,root)
2799
%mainlib libgphobos.so.%{libgphobos_sover}*
2800
2801
%if %{separate_biarch}
2802
%files -n libgphobos%{libgphobos_sover}%{libgphobos_suffix}%{separate_biarch_suffix}
2803
%defattr(-,root,root)
2804
%biarchlib libgphobos.so.%{libgphobos_sover}*
2805
%endif
2806
2807
%files -n libgdruntime%{libgdruntime_sover}%{libgdruntime_suffix}
2808
%defattr(-,root,root)
2809
%mainlib libgdruntime.so.%{libgdruntime_sover}*
2810
2811
%if %{separate_biarch}
2812
%files -n libgdruntime%{libgdruntime_sover}%{libgdruntime_suffix}%{separate_biarch_suffix}
2813
%defattr(-,root,root)
2814
%biarchlib libgdruntime.so.%{libgdruntime_sover}*
2815
%endif
2816
%endif
2817
2818
%if %{build_jit}
2819
%files -n libgccjit%{libgccjit_sover}%{libgccjit_suffix}
2820
%defattr(-,root,root)
2821
%{_prefix}/%{_lib}/libgccjit.so.%{libgccjit_sover}*
2822
2823
%files -n libgccjit%{libgccjit_sover}-devel%{libdevel_suffix}
2824
%defattr(-,root,root)
2825
%doc gcc/jit/docs/examples
2826
%{_prefix}/%{_lib}/libgccjit.so
2827
%{_prefix}/include/libgccjit.h
2828
%{_prefix}/include/libgccjit++.h
2829
%{_infodir}/libgccjit.info.gz
2830
%endif
2831
2832
# GCC-TESTSUITE-DELETE-END
2833
2834
%if 0%{?run_tests:1}
2835
%files -n gcc@base_ver@-testresults
2836
%defattr(-,root,root)
2837
%doc testresults/test_summary.txt
2838
%doc testresults/*.sum
2839
%doc testresults/*.log
2840
%endif
2841
2842
2843
%changelog
2844