packaging: add aarch64 in itm_arch
[platform/upstream/gcc49.git] / packaging / gcc.spec.in
1 #
2 # spec file for package gcc49
3 #
4 # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
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 http://bugs.opensuse.org/
16 #
17
18 # norootforbuild
19 # icecream 0
20
21
22 %define build_ada 0
23
24 %define quadmath_arch %ix86 x86_64 ia64
25 %define tsan_arch x86_64
26 %define asan_arch x86_64 %ix86 ppc ppc64 %sparc %arm
27 %define itm_arch x86_64 %ix86 %arm ppc ppc64 ppc64le s390 s390x %sparc aarch64
28 %define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k
29 %define lsan_arch x86_64
30 %define ubsan_arch x86_64 %ix86 ppc ppc64 %arm
31 %if 0%{?build_libvtv:1}
32 %define vtv_arch x86_64 %ix86
33 %endif
34 %define cilkrts_arch x86_64 %ix86
35
36 # We don't want to build java
37 %define build_java 0
38 %define build_libjava 0
39
40 # Also go and objc aren't needed right now
41 %define build_objc 0
42 %define build_objcp 0
43 %define build_go 0
44
45 %define build_cp 1
46 %define build_fortran !0%{?building_libjava:1}%{?building_libffi:1}
47
48 %if %{build_objcp}
49 %define build_cp 1
50 %define build_objc 1
51 %endif
52
53 %if %{build_libjava}
54 %define build_cp 1
55 %endif
56
57 # For optional compilers only build C, C++ and Fortran
58 %if 0%{?build_optional_compiler_languages:1}
59 %define build_ada 0
60 %define build_java 0
61 %define build_libjava 0
62 %define build_objc 0
63 %define build_objcp 0
64 %define build_go 0
65 %endif
66
67 # Shared library SONAME versions
68 %ifarch hppa
69 %define libgcc_s 4
70 %else
71 %ifarch m68k
72 %define libgcc_s 2
73 %else
74 %define libgcc_s 1
75 %endif
76 %endif
77 %define libgcj_sover %{nil}
78 %define libgcj_bc_sover %{nil}
79 %define libffi_sover %{nil}
80 %define libgomp_sover %{nil}
81 %define libstdcxx_sover %{nil}
82 %define libobjc_sover %{nil}
83 %define libgfortran_sover %{nil}
84 %define libquadmath_sover %{nil}
85 %define libasan_sover %{nil}
86 %define libtsan_sover %{nil}
87 %define libatomic_sover %{nil}
88 %define libitm_sover %{nil}
89 %define libubsan_sover %{nil}
90 %define liblsan_sover %{nil}
91 %define libvtv_sover %{nil}
92 %define libcilkrts_sover %{nil}
93 %define libgo_sover %{nil}
94
95 # Shared library package suffix
96 # This is used for the "non-standard" set of libraries, the standard
97 # being defined by %product_libs_gcc_ver, the GCC version that should
98 # provide un-suffixed shared library packages following the shared-library
99 # policy.  Even suffixed variants should provide the shared-library policy
100 # mandated names and ensure they conflict with each other.
101 # Note that on SONAME changes of any library the %product_libs_gcc_ver
102 # define needs to be either split or the newest GCC version still providing
103 # the old SONAME needs to unconditionally produce an un-suffixed library
104 # if %product_libs_gcc_ver is newer than it.  Similar the _oldest_ GCC
105 # version first providing a new SONAME needs to unconditionally produce
106 # an un-suffixed library if %product_libs_gcc_ver is lower that it.
107 %if %{!?product_libs_gcc_ver:@base_ver@}%{?product_libs_gcc_ver} != @base_ver@
108 %define pne 1
109 %endif
110 %define libgcc_s_suffix %{?pne:-gcc@base_ver@}
111 # libgcj SONAME changes with every GCC version
112 %define libgcj_suffix %nil
113 %define libgcj_bc_suffix %{?pne:-gcc@base_ver@}
114 %define libffi_suffix %{?pne:-gcc@base_ver@}
115 %define libgomp_suffix %{?pne:-gcc@base_ver@}
116 %define libstdcxx_suffix %{?pne:-gcc@base_ver@}
117 %define libobjc_suffix %{?pne:-gcc@base_ver@}
118 %define libgfortran_suffix %{?pne:-gcc@base_ver@}
119 %define libquadmath_suffix %{?pne:-gcc@base_ver@}
120 %define libasan_suffix %{?pne:-gcc@base_ver@}
121 %define libtsan_suffix %{?pne:-gcc@base_ver@}
122 %define libatomic_suffix %{?pne:-gcc@base_ver@}
123 %define libitm_suffix %{?pne:-gcc@base_ver@}
124
125
126 %define libubsan_suffix %{?pne:-gcc@base_ver@}
127 %define liblsan_suffix %{?pne:-gcc@base_ver@}
128 %define libvtv_suffix %{?pne:-gcc@base_ver@}
129 %define libcilkrts_suffix %{?pne:-gcc@base_ver@}
130 %define libgo_suffix %{?pne:-gcc@base_ver@}
131
132 %define selfconflict() %1
133
134 Name:         gcc@base_ver@
135 # With generated files in src we could drop the following
136 BuildRequires: bison
137 BuildRequires: flex
138 BuildRequires: gettext-devel
139 BuildRequires: makeinfo
140 # until here, but at least renaming and patching info files breaks this
141 BuildRequires: gcc-c++
142 BuildRequires: glibc-devel-32bit
143 BuildRequires: mpc-devel
144 BuildRequires: mpfr-devel
145 BuildRequires: perl
146 BuildRequires: zlib-devel
147 %ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm aarch64
148 BuildRequires: cloog-isl-devel
149 BuildRequires: isl-devel
150 %endif
151 %if %{build_ada}
152 %define hostsuffix -4.9
153 BuildRequires: gcc49-ada
154 %endif
155 %if 0%{?building_libjava:1}%{?building_testsuite:1}
156 BuildRequires: fastjar
157 %endif
158 %if 0%{?building_libffi:1}
159 BuildRequires: pkg-config
160 %endif
161 %ifarch ia64
162 BuildRequires: libunwind-devel
163 %endif
164 %if 0%{?run_tests:1}
165 BuildRequires: dejagnu
166 BuildRequires: expect
167 BuildRequires: gdb
168 %endif
169
170 %define separate_bi32 0
171 %define separate_bi64 0
172 %ifarch ppc sparcv9
173 # Beware, this does _not_ separate libgcj, as for that one multilibing
174 # is inactive for the time being
175 %define separate_bi64 1
176 %endif
177 %ifarch x86_64 s390x ppc64 sparc64
178 %define separate_bi32 1
179 %endif
180
181 # Define two macros to trigger -32bit or -64bit package variants
182 %define separate_biarch 0
183 %if %{separate_bi32}
184 %define separate_biarch 1
185 %define separate_biarch_suffix -32bit
186 %endif
187 %if %{separate_bi64}
188 %define separate_biarch 1
189 %define separate_biarch_suffix -64bit
190 %endif
191
192 %ifarch x86_64 ia64 s390x alpha ppc64 sparc64 aarch64
193 # 64-bit is primary build target
194 %define build_primary_64bit 1
195 %else
196 %define build_primary_64bit 0
197 %endif
198
199 %define biarch_libjava 0
200
201 # COMMON-BEGIN
202 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
203
204 URL:          http://gcc.gnu.org/
205 Version: 4.9.2
206 Release:      1
207 %define gcc_dir_version 4.9
208 %define binsuffix -4.9
209 # COMMON-END
210
211 %if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
212 Requires: binutils glibc-devel
213 Requires: cpp@base_ver@ = %{version}-%{release}
214 Requires: libgcc_s%{libgcc_s} >= %{version}-%{release}
215 Requires: libgomp%{libgomp_sover} >= %{version}-%{release}
216 %ifarch %asan_arch
217 Requires: libasan%{libasan_sover} >= %{version}-%{release}
218 %endif
219 %ifarch %tsan_arch
220 Requires: libtsan%{libtsan_sover} >= %{version}-%{release}
221 %endif
222 %ifarch %atomic_arch
223 Requires: libatomic%{libatomic_sover} >= %{version}-%{release}
224 %endif
225 %ifarch %itm_arch
226 Requires: libitm%{libitm_sover} >= %{version}-%{release}
227 %endif
228 %ifarch %cilkrts_arch
229 Requires: libcilkrts%{libcilkrts_sover} >= %{version}-%{release}
230 %endif
231 %ifarch %lsan_arch
232 Requires: liblsan%{liblsan_sover} >= %{version}-%{release}
233 %endif
234 %ifarch %ubsan_arch
235 Requires: libubsan%{libubsan_sover} >= %{version}-%{release}
236 %endif
237 %ifarch %vtv_arch
238 Requires: libvtv%{libvtv_sover} >= %{version}-%{release}
239 %endif
240 Requires: gcc@base_ver@-info gcc@base_ver@-locale
241 %endif
242
243 # COMMON-BEGIN
244 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
245 Source:         gcc-%{version}.tar.bz2
246 Source1:        change_spec
247 Source2:        libffi49-rpmlintrc
248 Source3:        gcc49-rpmlintrc
249 Source4:        ecj.jar
250 Source5:        baselibs.conf
251 Source6:        libgcj49-rpmlintrc
252
253 # GCC-TESTSUITE-DELETE-BEGIN
254 # LIBJAVA-DELETE-BEGIN
255 Group:          Development/Building
256 Summary:        The GNU C Compiler and Support Files
257 License:        GPL-3.0+
258
259 %description
260 Core package for the GNU Compiler Collection, including the C language
261 frontend.
262
263 Language frontends other than C are split to different sub-packages,
264 namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
265 gcc-obj-c++.
266 # LIBFFI-DELETE-BEGIN
267
268
269
270 # COMMON-END
271 %package -n gcc@base_ver@-32bit
272 Summary:      The GNU C Compiler 32bit support
273 Group:          Development/Building
274 Requires: gcc@base_ver@ = %{version}-%{release}
275 Requires: libgcc_s%{libgcc_s}-32bit >= %{version}-%{release}
276 Requires: libgomp%{libgomp_sover}-32bit >= %{version}-%{release}
277 %ifarch %asan_arch
278 Requires: libasan%{libasan_sover}-32bit >= %{version}-%{release}
279 %endif
280 %ifarch %tsan_arch
281 # tsan on x86_64 has no multilib
282 %ifarch x86_64
283 %else
284 Requires: libtsan%{libtsan_sover}-32bit >= %{version}-%{release}
285 %endif
286 %endif
287 %ifarch %atomic_arch
288 Requires: libatomic%{libatomic_sover}-32bit >= %{version}-%{release}
289 %endif
290 %ifarch %itm_arch
291 Requires: libitm%{libitm_sover}-32bit >= %{version}-%{release}
292 %endif
293 %ifarch %cilkrts_arch
294 Requires: libcilkrts%{libcilkrts_sover}-32bit >= %{version}-%{release}
295 %endif
296 # lsan on x86_64 has no multilib
297 %ifarch x86_64
298 %else
299 %ifarch %lsan_arch
300 Requires: liblsan%{liblsan_sover} >= %{version}-%{release}
301 %endif
302 %endif
303 %ifarch %ubsan_arch
304 Requires: libubsan%{libubsan_sover}-32bit >= %{version}-%{release}
305 %endif
306 %ifarch %vtv_arch
307 Requires: libvtv%{libvtv_sover}-32bit >= %{version}-%{release}
308 %endif
309 Requires: glibc-devel-32bit
310
311 %description -n gcc@base_ver@-32bit
312 This package contains 32bit support for the GNU Compiler Collection.
313
314 %package -n gcc@base_ver@-64bit
315 Summary:      The GNU C Compiler 64bit support
316 Group:          Development/Building
317 Requires: gcc@base_ver@ = %{version}-%{release}
318 Requires: libgcc_s%{libgcc_s}-64bit >= %{version}-%{release}
319 Requires: libgomp%{libgomp_sover}-64bit >= %{version}-%{release}
320 %ifarch %asan_arch
321 Requires: libasan%{libasan_sover}-64bit >= %{version}-%{release}
322 %endif
323 %ifarch %tsan_arch
324 Requires: libtsan%{libtsan_sover}-64bit >= %{version}-%{release}
325 %endif
326 %ifarch %atomic_arch
327 Requires: libatomic%{libatomic_sover}-64bit >= %{version}-%{release}
328 %endif
329 %ifarch %itm_arch
330 Requires: libitm%{libitm_sover}-64bit >= %{version}-%{release}
331 %endif
332 %ifarch %cilkrts_arch
333 Requires: libcilkrts%{libcilkrts_sover}-64bit >= %{version}-%{release}
334 %endif
335 %ifarch %lsan_arch
336 Requires: liblsan%{liblsan_sover}-64bit >= %{version}-%{release}
337 %endif
338 %ifarch %ubsan_arch
339 Requires: libubsan%{libubsan_sover}-64bit >= %{version}-%{release}
340 %endif
341 %ifarch %vtv_arch
342 Requires: libvtv%{libvtv_sover}-64bit >= %{version}-%{release}
343 %endif
344 Requires: glibc-devel-64bit
345
346 %description -n gcc@base_ver@-64bit
347 This package contains 64bit support for the GNU Compiler Collection.
348
349
350 %package locale
351 Summary:      Locale Data for the GNU Compiler Collection
352 License:        GPL-3.0+
353 Group:          Development/Building
354 Requires: gcc@base_ver@ = %{version}-%{release}
355
356 %description locale
357 Locale data for the GNU Compiler Collection (GCC) to give error message
358 in the current locale.
359
360
361 %package c++
362 Summary:      The GNU C++ Compiler
363 License:        GPL-3.0+
364 Group:        Development/Languages
365 Requires: gcc@base_ver@ = %{version}-%{release}
366 Requires: libstdc++@base_ver@-devel = %{version}-%{release}
367
368 %description c++
369 This package contains the GNU compiler for C++.
370
371 # PACKAGE-BEGIN
372 %package -n libstdc++@base_ver@-devel@variant@
373 Summary:      Include Files and Libraries mandatory for Development
374 License:        GPL-3.0-with-GCC-exception
375 Group:          Development/Building
376 Requires: libstdc++%{libstdcxx_sover}@variant@ >= %{version}-%{release}
377 Requires: glibc-devel@variant@
378 %ifarch ia64
379 Requires: libunwind-devel
380 %endif
381
382 %description -n libstdc++@base_ver@-devel@variant@
383 This package contains all the headers and libraries of the standard C++
384 library. It is needed for compiling C++ code.
385 # PACKAGE-END
386
387
388 # PACKAGE-BEGIN
389 %package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@
390 Summary:      C compiler runtime library
391 License:        GPL-3.0-with-GCC-exception
392 Group:          Development/Building
393 Provides:       libgcc_s%{libgcc_s}@variant@ = %{version}-%{release}
394
395 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@
396 Libgcc is needed for dynamically linked C programs.
397
398 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@ -p /sbin/ldconfig
399
400 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@ -p /sbin/ldconfig
401 # PACKAGE-END
402
403 # PACKAGE-BEGIN
404 %package -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@
405 Summary:      The GNU compiler collection OpenMP runtime library
406 License:        GPL-3.0-with-GCC-exception
407 Group:          Development/Building
408 Provides:       libgomp%{libgomp_sover}@variant@ = %{version}-%{release}
409
410 %description -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@
411 This is the OpenMP runtime library needed by OpenMP enabled programs
412 that were built with the -fopenmp compiler option and by programs that
413 were auto-parallelized via the -ftree-parallelize-loops compiler
414 option.
415
416
417 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@ -p /sbin/ldconfig
418
419 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@ -p /sbin/ldconfig
420 # PACKAGE-END
421
422 # PACKAGE-BEGIN
423 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@
424 Summary:      The standard C++ shared library
425 License:        GPL-3.0-with-GCC-exception
426 Group:          Development/Building
427 Requires:       libstdc++%{libstdcxx_sover}-locale
428 Provides:       libstdc++%{libstdcxx_sover}@variant@ = %{version}-%{release}
429
430 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@
431 The standard C++ library, needed for dynamically linked C++ programs.
432
433
434 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@ -p /sbin/ldconfig
435
436 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@ -p /sbin/ldconfig
437 # PACKAGE-END
438
439 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
440 Summary:        Locale Data for the standard C++ shared library
441 License:        GPL-3.0-with-GCC-exception
442 Group:          Development/Building
443 Provides:       libstdc++%{libstdcxx_sover}-locale = %{version}-%{release}
444
445 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
446 The standard C++ library locale data.
447
448
449 %package info
450 Summary:      Documentation for the GNU compiler collection
451 License:      GFDL-1.2
452 Group:        Development/Building
453 BuildArch:    noarch
454
455 %description info
456 GNU info-pages for the GNU compiler collection covering both user-level
457 and internals documentation.
458
459
460 # PACKAGE-BEGIN
461 %package objc@variant@
462 Summary:      GNU Objective C Compiler
463 License:        GPL-3.0+
464 Group:        Development/Languages
465 Requires: gcc@base_ver@ = %{version}-%{release}
466 Requires: libobjc%{libobjc_sover}@variant@ >= %{version}-%{release}
467
468 %description objc@variant@
469 This package contains the GNU Objective C compiler. Objective C is an
470 object oriented language, created by Next Inc. and used in their
471 Nextstep OS. The source code is available in the gcc package.
472 # PACKAGE-END
473
474 # PACKAGE-BEGIN
475 %package -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@
476 Summary:      Library for the GNU Objective C Compiler
477 License:        GPL-3.0-with-GCC-exception
478 Group:        Development/Building
479 Provides:       libobjc%{libobjc_sover}@variant@ = %{version}-%{release}
480
481 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@
482 The library for the GNU Objective C compiler.
483
484 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@ -p /sbin/ldconfig
485
486 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@ -p /sbin/ldconfig
487 # PACKAGE-END
488
489 %package obj-c++
490 Summary:      GNU Objective C++ Compiler
491 License:        GPL-3.0+
492 Group:        Development/Languages
493 Requires: gcc@base_ver@-objc = %{version}-%{release}
494 Requires: gcc@base_ver@-c++ = %{version}-%{release}
495
496 %description obj-c++
497 This package contains the GNU Objective C++ compiler. Objective C++ is an
498 object oriented language, created by Next Inc. and used in their
499 Nextstep OS. The source code is available in the gcc package.
500
501
502 %package -n cpp@base_ver@
503 Summary:      The GCC Preprocessor
504 License:        GPL-3.0+
505 Group:        Development/Languages
506
507 %description -n cpp@base_ver@
508 This Package contains just the preprocessor that is used by the X11
509 packages.
510
511
512 # PACKAGE-BEGIN
513 %package ada@variant@
514 Summary:      GNU Ada95 Compiler Based on GCC (GNAT)
515 License:        GPL-3.0+
516 Group:        Development/Languages
517 Requires: gcc@base_ver@@variant@ = %{version}-%{release}
518 Requires: libada@base_ver@@variant@ = %{version}-%{release}
519
520 %description ada@variant@
521 This package contains an Ada95 compiler and associated development
522 tools based on the GNU GCC technology. Ada95 is the object oriented
523 successor of the Ada83 language. To build this package from source you
524 must have installed a binary version to bootstrap the compiler.
525 # PACKAGE-END
526
527 # PACKAGE-BEGIN
528 %package -n libada@base_ver@@variant@
529 Summary:      GNU Ada Runtime Libraries
530 License:      GPL-3.0-with-GCC-exception
531 Group:        Development/Languages
532 Provides: libgnarl-4_9@variant@ = %{version}-%{release}
533 Provides: libgnat-4_9@variant@ = %{version}-%{release}
534
535 %description -n libada@base_ver@@variant@
536 This package contains the shared libraries required to run programs
537 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
538 shared libraries. It also contains the shared libraries for the
539 Implementation of the Ada Semantic Interface Specification (ASIS), the
540 implementation of Distributed Systems Programming (GLADE) and the Posix
541 1003.5 Binding (Florist).
542
543 %post -n libada@base_ver@@variant@ -p /sbin/ldconfig
544
545 %postun -n libada@base_ver@@variant@ -p /sbin/ldconfig
546 # PACKAGE-END
547
548 # PACKAGE-BEGIN
549 %package fortran@variant@
550 Summary:      The GNU Fortran Compiler and Support Files
551 License:        GPL-3.0+
552 Group:        Development/Languages
553 Requires: gcc@base_ver@ = %{version}-%{release}
554 Requires: libgfortran%{libgfortran_sover}@variant@ >= %{version}-%{release}
555 %ifarch %quadmath_arch
556 Requires: libquadmath%{libquadmath_sover}@variant@ >= %{version}-%{release}
557 %endif
558
559 %description fortran@variant@
560 This is the Fortran compiler of the GNU Compiler Collection (GCC).
561 # PACKAGE-END
562
563 # PACKAGE-BEGIN
564 %package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@
565 Summary:      The GNU Fortran Compiler Runtime Library
566 License:        GPL-3.0-with-GCC-exception
567 Group:        Development/Languages
568 %ifarch %quadmath_arch
569 Requires: libquadmath%{libquadmath_sover}@variant@ >= %{version}-%{release}
570 %endif
571 Provides:       libgfortran%{libgfortran_sover}@variant@ = %{version}-%{release}
572
573 %description -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@
574 The runtime library needed to run programs compiled with the Fortran compiler
575 of the GNU Compiler Collection (GCC).
576
577 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@ -p /sbin/ldconfig
578
579 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@ -p /sbin/ldconfig
580 # PACKAGE-END
581
582 # PACKAGE-BEGIN
583 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@
584 Summary:      The GNU Fortran Compiler Quadmath Runtime Library
585 License:        LGPL-2.1
586 Group:        Development/Languages
587 Provides:       libquadmath%{libquadmath_sover}@variant@ = %{version}-%{release}
588
589 %description -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@
590 The runtime library needed to run programs compiled with the Fortran compiler
591 of the GNU Compiler Collection (GCC) and quadruple precision floating point
592 operations.
593
594 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@ -p /sbin/ldconfig
595
596 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@ -p /sbin/ldconfig
597 # PACKAGE-END
598
599 # PACKAGE-BEGIN
600 %package -n libitm%{libitm_sover}%{libitm_suffix}@variant@
601 Summary:      The GNU Compiler Transactional Memory Runtime Library
602 License:        MIT
603 Group:        Development/Languages
604 Provides:       libitm%{libitm_sover}@variant@ = %{version}-%{release}
605
606 %description -n libitm%{libitm_sover}%{libitm_suffix}@variant@
607 The runtime library needed to run programs compiled with the
608 -fgnu-tm option of the GNU Compiler Collection (GCC).
609
610 %post -n libitm%{libitm_sover}%{libitm_suffix}@variant@ -p /sbin/ldconfig
611
612 %postun -n libitm%{libitm_sover}%{libitm_suffix}@variant@ -p /sbin/ldconfig
613 # PACKAGE-END
614
615 # PACKAGE-BEGIN
616 %package -n libasan%{libasan_sover}%{libasan_suffix}@variant@
617 Summary:      The GNU Compiler Address Sanitizer Runtime Library
618 License:        MIT
619 Group:        Development/Languages
620 Provides:       libasan%{libasan_sover}@variant@ = %{version}-%{release}
621
622 %description -n libasan%{libasan_sover}%{libasan_suffix}@variant@
623 The runtime library needed to run programs compiled with the
624 -fsanitize=address option of the GNU Compiler Collection (GCC).
625
626 %post -n libasan%{libasan_sover}%{libasan_suffix}@variant@ -p /sbin/ldconfig
627
628 %postun -n libasan%{libasan_sover}%{libasan_suffix}@variant@ -p /sbin/ldconfig
629 # PACKAGE-END
630
631 # PACKAGE-BEGIN
632 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}@variant@
633 Summary:      The GNU Compiler Thread Sanitizer Runtime Library
634 License:        MIT
635 Group:        Development/Languages
636 Provides:       libtsan%{libtsan_sover}@variant@ = %{version}-%{release}
637
638 %description -n libtsan%{libtsan_sover}%{libtsan_suffix}@variant@
639 The runtime library needed to run programs compiled with the
640 -fsanitize=thread option of the GNU Compiler Collection (GCC).
641
642 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}@variant@ -p /sbin/ldconfig
643
644 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}@variant@ -p /sbin/ldconfig
645 # PACKAGE-END
646
647 # PACKAGE-BEGIN
648 %package -n libatomic%{libatomic_sover}%{libatomic_suffix}@variant@
649 Summary:      The GNU Compiler Atomic Operations Runtime Library
650 License:      GPL-3.0-with-GCC-exception
651 Group:        Development/Languages
652 Provides:       libatomic%{libatomic_sover}@variant@ = %{version}-%{release}
653
654 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}@variant@
655 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
656
657 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}@variant@ -p /sbin/ldconfig
658
659 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}@variant@ -p /sbin/ldconfig
660 # PACKAGE-END
661
662 # PACKAGE-BEGIN
663 %package -n libcilkrts%{libcilkrts_sover}%{libcilkrts_suffix}@variant@
664 Summary:      The GNU Compiler Cilk+ Runtime Library
665 License:        MIT
666 Group:        Development/Languages
667 Provides:       libcilkrts%{libcilkrts_sover}@variant@ = %{version}-%{release}
668
669 %description -n libcilkrts%{libcilkrts_sover}%{libcilkrts_suffix}@variant@
670 The runtime library needed to run programs compiled with the
671 -fcilkplus option of the GNU Compiler Collection (GCC).
672
673 %post -n libcilkrts%{libcilkrts_sover}%{libcilkrts_suffix}@variant@ -p /sbin/ldconfig
674
675 %postun -n libcilkrts%{libcilkrts_sover}%{libcilkrts_suffix}@variant@ -p /sbin/ldconfig
676 # PACKAGE-END
677
678 # PACKAGE-BEGIN
679 %package -n liblsan%{liblsan_sover}%{liblsan_suffix}@variant@
680 Summary:      The GNU Compiler Leak Sanitizer Runtime Library
681 License:        MIT
682 Group:        Development/Languages
683 Provides:       liblsan%{liblsan_sover}@variant@ = %{version}-%{release}
684
685 %description -n liblsan%{liblsan_sover}%{liblsan_suffix}@variant@
686 The runtime library needed to run programs compiled with the
687 -fsanitize=leak option of the GNU Compiler Collection (GCC).
688
689 %post -n liblsan%{liblsan_sover}%{liblsan_suffix}@variant@ -p /sbin/ldconfig
690
691 %postun -n liblsan%{liblsan_sover}%{liblsan_suffix}@variant@ -p /sbin/ldconfig
692 # PACKAGE-END
693
694 # PACKAGE-BEGIN
695 %package -n libubsan%{libubsan_sover}%{libubsan_suffix}@variant@
696 Summary:      The GNU Compiler Undefined Sanitizer Runtime Library
697 License:        MIT
698 Group:        Development/Languages
699 Provides:       libubsan%{libubsan_sover}@variant@ = %{version}-%{release}
700
701 %description -n libubsan%{libubsan_sover}%{libubsan_suffix}@variant@
702 The runtime library needed to run programs compiled with the
703 -fsanitize=undefined option of the GNU Compiler Collection (GCC).
704
705 %post -n libubsan%{libubsan_sover}%{libubsan_suffix}@variant@ -p /sbin/ldconfig
706
707 %postun -n libubsan%{libubsan_sover}%{libubsan_suffix}@variant@ -p /sbin/ldconfig
708 # PACKAGE-END
709
710 # PACKAGE-BEGIN
711 %package -n libvtv%{libvtv_sover}%{libvtv_suffix}@variant@
712 Summary:      The GNU Compiler Vtable Verifier Runtime Library
713 License:        MIT
714 Group:        Development/Languages
715 Provides:       libvtv%{libvtv_sover}@variant@ = %{version}-%{release}
716
717 %description -n libvtv%{libvtv_sover}%{libvtv_suffix}@variant@
718 The runtime library needed to run programs compiled with the
719 -fvtable-verify option of the GNU Compiler Collection (GCC).
720
721 %post -n libvtv%{libvtv_sover}%{libvtv_suffix}@variant@ -p /sbin/ldconfig
722
723 %postun -n libvtv%{libvtv_sover}%{libvtv_suffix}@variant@ -p /sbin/ldconfig
724 # PACKAGE-END
725
726
727 %package -n libgcj@base_ver@
728 # LIBJAVA-DELETE-END
729 Summary:      Java Runtime Library for gcc
730 License:      GPL-2.0-with-classpath-exception
731 Group:        Development/Building
732 Requires:   libgcj@base_ver@-jar = %{version}-%{release}
733 Provides: libgcj%{libgcj_sover} = %{version}-%{release}
734 Provides: libgij%{libgcj_sover} = %{version}-%{release}
735 Provides: libgcj-tools%{libgcj_sover} = %{version}-%{release}
736
737 %description -n libgcj@base_ver@
738 This library is needed if you want to use the GNU Java compiler, gcj.
739 Source code for this package is in gcc.
740
741 %post -n libgcj@base_ver@ -p /sbin/ldconfig
742
743 %postun -n libgcj@base_ver@ -p /sbin/ldconfig
744
745
746 %package -n gcc@base_ver@-java
747 Summary:      The GNU Java Compiler
748 License:        GPL-3.0+
749 Group:        Development/Languages
750 Requires: gcc@base_ver@ = %{version}
751 Requires: libgcj@base_ver@-devel = %{version}-%{release}
752
753 %description -n gcc@base_ver@-java
754 The Java compiler from the GCC-tools-suite.
755
756
757 %package -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
758 Summary:      Fake library for BC-ABI compatibility.
759 License:        GPL-2.0-with-classpath-exception
760 Group:        Development/Languages
761 # libgcj_bc is special in that it just contains a symlink to
762 # a proper libgcj version.  So require that library and add
763 # provides for the shlib version as created at link time
764 Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
765 %ifarch x86_64 ia64 ppc64 s390x sparc64 aarch64
766 Provides: libgcj_bc.so.%{libgcj_bc_sover}()(64bit)
767 %else
768 Provides: libgcj_bc.so.%{libgcj_bc_sover}
769 %endif
770 Provides:       libgcj_bc%{libgcj_bc_sover} = %{version}-%{release}
771
772 %description -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
773 A fake library that is used at link time only. It ensures that
774 binaries built with the BC-ABI link against a constant SONAME.
775 This way, BC-ABI binaries continue to work if the SONAME underlying
776 libgcj.so changes.
777
778
779 %package -n libgcj@base_ver@-jar
780 Summary:      Java runtime library (jar files).
781 License:        GPL-2.0-with-classpath-exception
782 Group:        Development/Languages
783
784 %description -n libgcj@base_ver@-jar
785 These are the jar files that go along with the gcj front end to gcc.
786
787
788 %package -n libgcj@base_ver@-devel
789 Summary:      Include Files and Libraries mandatory for Development.
790 License:        GPL-2.0-with-classpath-exception
791 Group:        Development/Languages
792 Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
793 Requires: libgcj_bc%{libgcj_bc_sover} >= %{version}-%{release}
794 Requires: libgcj@base_ver@-jar = %{version}-%{release}
795
796 %description -n libgcj@base_ver@-devel
797 This package contains all necessary include files and libraries needed
798 to develop applications that require these.
799
800
801 %package -n gcc@base_ver@-gij
802 Summary:      Java Bytecode Interpreter for gcc
803 License:      GPL-2.0-with-classpath-exception
804 Group:        Development/Languages
805 Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
806
807 %description -n gcc@base_ver@-gij
808 This package contains the java bytecode interpreter gij and related tools.
809
810
811 %package -n libstdc++@base_ver@-doc
812 Summary:      Documentation for the GNU C++ standard library
813 License:        GPL-3.0+
814 Group:        Development/Building
815 BuildArch:    noarch
816
817 %description -n libstdc++@base_ver@-doc
818 Extensive HTML documentation for the GNU C++ standard library.
819
820
821 # LIBFFI-DELETE-END
822 # PACKAGE-BEGIN
823 %package -n libffi%{libffi_sover}%{libffi_suffix}@variant@
824 Summary:      Foreign Function Interface library
825 License:        BSD-3-Clause
826 Group:        Development/Building
827 Provides:       libffi%{libffi_sover}@variant@ = %{version}-%{release}
828
829 %description -n libffi%{libffi_sover}%{libffi_suffix}@variant@
830 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
831
832 %post -n libffi%{libffi_sover}%{libffi_suffix}@variant@ -p /sbin/ldconfig
833
834 %postun -n libffi%{libffi_sover}%{libffi_suffix}@variant@ -p /sbin/ldconfig
835 # PACKAGE-END
836
837 # PACKAGE-BEGIN
838 %package -n libffi@base_ver@-devel@variant@
839 Summary:      Foreign Function Interface library development files
840 License:        BSD 3-Clause
841 Group:        Development/Building
842 Requires: libffi%{libffi_sover}@variant@ >= %{version}-%{release}
843 Provides: libffi-devel@variant@ = %{version}-%{release}
844
845 %description -n libffi@base_ver@-devel@variant@
846 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
847 # PACKAGE-END
848
849 # PACKAGE-BEGIN
850 %package go@variant@
851 Summary:      GNU Go Compiler
852 License:        GPL-3.0+
853 Group:        Development/Languages
854 Requires: gcc@base_ver@@variant@ = %{version}-%{release}
855 Requires: libgo%{libgo_sover}@variant@ >= %{version}-%{release}
856
857 %description go@variant@
858 This package contains a Go compiler and associated development
859 files based on the GNU GCC technology.
860 # PACKAGE-END
861
862 # PACKAGE-BEGIN
863 %package -n libgo%{libgo_sover}%{libgo_suffix}@variant@
864 Summary:      GNU Go compiler runtime library
865 License:        BSD-3-Clause
866 Group:        Development/Languages
867 Provides:       libgo%{libgo_sover}@variant@ = %{version}-%{release}
868
869 %description -n libgo%{libgo_sover}%{libgo_suffix}@variant@
870 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
871
872 %post -n libgo%{libgo_sover}%{libgo_suffix}@variant@ -p /sbin/ldconfig
873
874 %postun -n libgo%{libgo_sover}%{libgo_suffix}@variant@ -p /sbin/ldconfig
875 # PACKAGE-END
876
877
878 %package -n gcc@base_ver@-testresults
879 # GCC-TESTSUITE-DELETE-END
880 Summary:      Testsuite results
881 License:        SUSE-Public-Domain
882 Group:        Development/Languages
883
884 %description -n gcc@base_ver@-testresults
885 Results from running the gcc and target library testsuites.
886
887
888
889 # COMMON-BEGIN
890
891 # Define the canonical target and host architecture
892 #   %gcc_target_arch  is supposed to be the full target triple
893 #   %TARGET_ARCH      is the canonicalized CPU part
894 #   %CONFIGURE_TARGET is the target triple used for --target=
895 %if 0%{?gcc_target_arch:1}
896 %define CONFIGURE_TARGET %{gcc_target_arch}
897 %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
898 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc"
899 %define CONFIGURE_TARGET powerpc64-tizen-linux
900 %endif
901 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64"
902 %define CONFIGURE_TARGET powerpc64-tizen-linux
903 %endif
904 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
905 %define CONFIGURE_TARGET i586-tizen-linux
906 %endif
907 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "aarch64"
908 %define CONFIGURE_TARGET aarch64-tizen-linux
909 %endif
910 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
911 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
912 %endif
913 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
914 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
915 %endif
916 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5tel"
917 %define CONFIGURE_TARGET armv5tel-tizen-linux-gnueabi
918 %endif
919 %else
920 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
921 %endif
922 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
923
924 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
925 %ifarch ppc
926 %define GCCDIST powerpc64-tizen-linux
927 %else
928 %ifarch %sparc
929 %define GCCDIST sparc64-tizen-linux
930 %else
931 %ifarch %arm
932 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
933 %else
934 %define GCCDIST %{HOST_ARCH}-tizen-linux
935 %endif
936 %endif
937 %endif
938
939 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
940 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
941
942 # COMMON-END
943
944 # Versionspecific directories
945 %define versmainlibdir %{libsubdir}
946 %define versmainlibdirbi32 %{libsubdir}/32
947 %define versmainlibdirbi64 %{libsubdir}/64
948 %ifarch ppc
949 %define versmainlibdirbi32 %{libsubdir}
950 %define versmainlibdirbi64 %{libsubdir}/64
951 %endif
952 %if %{build_primary_64bit}
953 %define versmainlibdirbi %{versmainlibdirbi32}
954 %else
955 %define versmainlibdirbi %{versmainlibdirbi64}
956 %endif
957
958 %define mainlibdir %{_libdir}
959 %define mainlibdirbi32 %{_prefix}/lib
960 %define mainlibdirbi64 %{_prefix}/lib64
961 %if %{build_primary_64bit}
962 %define mainlibdirbi %{mainlibdirbi32}
963 %else
964 %define mainlibdirbi %{mainlibdirbi64}
965 %endif
966
967
968 # Now define a few macros that make it easy to package libs and
969 # related files just to the right package, without caring for the
970 # exact path the files are in.
971 #   %mainlib  package X from all dirs that belong to the main package
972 #   %biarchlib   package X from all dirs that belong to the -32/64bit package
973 %define mainlib() %{mainlibdir}/%1\
974 %{nil}
975 %define biarchlib() %{nil}
976 %if %{biarch}
977 %if !%{separate_biarch}
978 %define mainlib() %{mainlibdir}/%1\
979 %{mainlibdirbi}/%1\
980 %{nil}
981 %else
982 %define biarchlib() %{mainlibdirbi}/%1\
983 %{nil}
984 %endif
985 %endif
986
987 %define versmainlib() %{versmainlibdir}/%1\
988 %{nil}
989 %define versbiarchlib() %{nil}
990 %if %{biarch}
991 %if !%{separate_biarch}
992 %define versmainlib() %{versmainlibdir}/%1\
993 %{versmainlibdirbi}/%1\
994 %{nil}
995 %else
996 %define versbiarchlib() %{versmainlibdirbi}/%1\
997 %{nil}
998 %endif
999 %endif
1000
1001
1002 # COMMON-BEGIN
1003
1004 %prep
1005 %setup -q -n gcc-%{version}
1006
1007 # We are configuring ppc as ppc64 but with switched multilibs.  Adjust
1008 # the libstdc++ abi testsuite baseline files accordingly
1009 %ifarch ppc
1010 if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
1011   mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
1012   mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
1013         libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
1014   mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
1015         libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
1016 fi
1017 %endif
1018
1019 %build
1020 # Avoid rebuilding of generated files
1021 contrib/gcc_update --touch
1022 # Avoid fucking up testsuite results with Java and indirect dispatch
1023 export LD_AS_NEEDED=0
1024 # Split version file into version used for directories (X.Y) and
1025 # version to report with --version (X.Y.Z).
1026 # See also gcc-dir-version.patch.
1027 # Also decrement the patchlevel version by one if possible and remove
1028 # the 'prerelease' tagging in this case
1029 if test `cat gcc/DEV-PHASE` == "prerelease"; then
1030   if test `cat gcc/BASE-VER | cut -d '.' -f 3` != "0"; then
1031     : > gcc/DEV-PHASE
1032   fi
1033   ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER
1034 else
1035   mv gcc/BASE-VER gcc/FULL-VER
1036 fi
1037 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
1038
1039 rm -rf obj-%{GCCDIST}
1040 mkdir obj-%{GCCDIST}
1041 cd obj-%{GCCDIST}
1042 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' -e 's/-fexceptions//' -e 's/\([[:space:]]\+.*-D_FORTIFY_SOURCE=\)[[:alnum:]]\+/\10/g'
1043 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -D__USE_FORTIFY_LEVEL=0"`
1044 %ifarch %ix86
1045 # -mcpu is superceded by -mtune but -mtune is not supported by
1046 # our bootstrap compiler.  -mcpu gives a warning that stops
1047 # the build process, so remove it for now.  Also remove all other
1048 # -march and -mtune flags.  They are superseeded by proper
1049 # default compiler settings now.
1050 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'`
1051 %endif
1052 %ifarch s390 s390x
1053 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
1054 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
1055 %endif
1056 %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
1057 # Kill all -march/tune/cpu because that screws building the target libs
1058 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
1059 %endif
1060 # Replace 2 spaces by one finally
1061 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/  / /g'`
1062
1063 languages=c
1064 %if %{build_cp}
1065 languages=$languages,c++
1066 %endif
1067 %if %{build_objc}
1068 languages=$languages,objc
1069 %endif
1070 %if %{build_fortran}
1071 languages=$languages,fortran
1072 %endif
1073 %if %{build_objcp}
1074 languages=$languages,obj-c++
1075 %endif
1076 %if %{build_java}
1077 languages=$languages,java
1078 %endif
1079 %if %{build_ada}
1080 languages=$languages,ada
1081 %endif
1082 %if %{build_go}
1083 languages=$languages,go
1084 %endif
1085
1086 J=%{?jobs:%jobs}
1087 if test -z "$J"; then
1088   J=$(getconf _NPROCESSORS_CONF)
1089   JL=$(($J * 2))
1090 else
1091   test 1 -gt "$J" && J=1
1092   JL=$(($(getconf _NPROCESSORS_CONF)*2))
1093 fi
1094 if test "$J" == "0"; then
1095   J=1
1096 fi
1097 if test "$JL" == "0"; then
1098   JL=1
1099 fi
1100 PARALLEL="-j$J -l$JL"
1101
1102 # we don't want some miscompiles in the testsuite, or some fault in
1103 # the compiler to kill the machine.  Hence we limit the amount of memory
1104 # by the physical RAM plus half of swap
1105 #MEM=$(free -m | awk '/^Mem:/ {print $2}')
1106 #SWAP=$(free -m | awk '/^Swap:/ {print $2}')
1107 #ulimit -v $(((MEM + SWAP/2)*1024))
1108
1109 # In general we want to ship release checking enabled compilers
1110 # and run BETA with checking enabled.
1111 #ENABLE_CHECKING="--enable-checking=yes"
1112 ENABLE_CHECKING="--enable-checking=release"
1113
1114 # Work around tail/head -1 changes
1115 export _POSIX2_VERSION=199209
1116
1117 %if %{build_ada}
1118 # Using the host gnatmake like
1119 #   CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
1120 #   GNATMAKE="gnatmake%{hostsuffix}"
1121 # doesn't work due to PR33857, so an un-suffixed gnatmake has to be
1122 # available
1123 mkdir -p host-tools/bin
1124 cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
1125 cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
1126 cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
1127 cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
1128 ln -sf /usr/%{_lib} host-tools/%{_lib}
1129 export PATH="`pwd`/host-tools/bin:$PATH"
1130 %endif
1131 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
1132 #%else
1133 #       --enable-threads=posix \
1134 #%endif
1135 #       --enable-shared \
1136 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
1137 # temporary workaround for a miscompilation of hash functions in java code
1138 GCJ_EXTRA_FLAGS="-marm"
1139 %endif
1140
1141 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
1142 TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
1143 ../configure \
1144         --prefix=%{_prefix} \
1145         --infodir=%{_infodir} \
1146         --mandir=%{_mandir} \
1147         --libdir=%{_libdir} \
1148         --libexecdir=%{_libdir} \
1149         --enable-languages=$languages \
1150         $ENABLE_CHECKING \
1151         --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
1152         --enable-ssp \
1153         --disable-libssp \
1154         --disable-bootstrap \
1155 %if 0%{!?build_libvtv:1}
1156         --disable-libvtv \
1157 %endif
1158         --disable-plugin \
1159         --with-bugurl="http://bugs.tizen.org/" \
1160         --with-pkgversion="Tizen" \
1161 %if !%{build_fortran}
1162         --disable-libquadmath \
1163 %endif
1164 %if !%{build_libjava}
1165         --disable-libgcj \
1166 %else
1167         --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
1168         --with-ecj-jar=%{libsubdir}/ecj.jar \
1169         --disable-java-awt \
1170 %if !%{biarch_libjava}
1171         --disable-libjava-multilib \
1172 %endif
1173 %endif
1174         --with-slibdir=/%{_lib} \
1175         --with-system-zlib \
1176         --enable-__cxa_atexit \
1177         --enable-libstdcxx-allocator=new \
1178         --disable-libstdcxx-pch \
1179         --enable-version-specific-runtime-libs \
1180         --enable-linker-build-id \
1181         --enable-linux-futex \
1182         --program-suffix=%{binsuffix} \
1183 %if 0%{!?gcc_target_arch:1}
1184 %ifarch ia64
1185         --with-system-libunwind \
1186 %else
1187         --without-system-libunwind \
1188 %endif
1189 %endif
1190 %if 0%{?gcc_target_arch:1}
1191         --program-prefix=%{gcc_target_arch}- \
1192         --target=%{gcc_target_arch} \
1193         --disable-nls \
1194 %if 0%{?sysroot:1}
1195         --with-sysroot=%sysroot \
1196 %else
1197         --with-sysroot=%{_prefix}/%{gcc_target_arch} \
1198 %endif
1199 %if 0%{?build_sysroot:1}
1200         --with-build-sysroot=%{build_sysroot} \
1201 %else
1202 %if 0%{?sysroot:1}
1203         --with-build-sysroot=%{sysroot} \
1204 %else
1205         --with-build-sysroot=%{_prefix}/%{gcc_target_arch} \
1206 %endif
1207 %endif
1208 %if 0%{?canonical_target:1}
1209         --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
1210 %endif
1211 %if "%{TARGET_ARCH}" == "spu"
1212         --with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
1213         --with-newlib \
1214 %endif
1215 %endif
1216 %if "%{TARGET_ARCH}" == "armv5tel"
1217         --with-arch=armv5te \
1218         --with-float=soft \
1219         --with-mode=arm \
1220         --with-abi=aapcs-linux \
1221         --disable-sjlj-exceptions \
1222 %endif
1223 %if "%{TARGET_ARCH}" == "armv7l"
1224         --with-arch=armv7-a \
1225         --with-tune=cortex-a8 \
1226         --with-float=softfp \
1227         --with-fpu=vfpv3 \
1228         --with-mode=thumb \
1229         --disable-sjlj-exceptions \
1230 %endif
1231 %if "%{TARGET_ARCH}" == "armv7hl"
1232         --with-arch=armv7-a \
1233         --with-tune=cortex-a9 \
1234         --with-float=hard \
1235         --with-abi=aapcs-linux \
1236         --with-fpu=vfpv3-d16 \
1237         --disable-sjlj-exceptions \
1238 %endif
1239 %if  "%{TARGET_ARCH}" == "aarch64"
1240         --with-arch=armv8-a \
1241         --disable-sjlj-exceptions \
1242 %endif
1243 %if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64"
1244 %if "%{TARGET_ARCH}" == "powerpc"
1245         --with-cpu=default32 \
1246 %endif
1247 %if "%{TARGET_ARCH}" == "powerpc64le"
1248         --with-cpu=power7 \
1249 %else
1250         --with-cpu-64=power4 \
1251 %endif
1252         --enable-secureplt \
1253         --with-long-double-128 \
1254 %if "%{TARGET_ARCH}" == "powerpc64le"
1255         --disable-multilib \
1256 %endif
1257 %endif
1258 %if "%{TARGET_ARCH}" == "sparc64"
1259         --with-cpu=ultrasparc \
1260         --with-long-double-128 \
1261 %endif
1262 %if "%{TARGET_ARCH}" == "sparc"
1263         --with-cpu=v8 \
1264         --with-long-double-128 \
1265 %endif
1266 %if "%{TARGET_ARCH}" == "i586"
1267         --with-arch-32=i586 \
1268         --with-tune=generic \
1269 %endif
1270 %if "%{TARGET_ARCH}" == "x86_64"
1271         --with-arch-32=i586 \
1272         --with-tune=generic \
1273         --enable-multilib \
1274 %endif
1275 %if "%{TARGET_ARCH}" == "s390"
1276         --with-tune=zEC12 --with-arch=z196 \
1277         --with-long-double-128 \
1278         --enable-decimal-float \
1279 %endif
1280 %if "%{TARGET_ARCH}" == "s390x"
1281         --with-tune=zEC12 --with-arch=z196 \
1282         --with-long-double-128 \
1283         --enable-decimal-float \
1284 %endif
1285 %if "%{TARGET_ARCH}" == "m68k"
1286         --disable-multilib \
1287 %endif
1288         --build=%{GCCDIST} \
1289         --host=%{GCCDIST}
1290
1291 # COMMON-END
1292
1293 %if 0%{?building_libffi:1}
1294 make stage1-bubble $PARALLEL
1295 make all-target-libffi $PARALLEL
1296 %else
1297 STAGE1_FLAGS="-g"
1298 # Only run profiled bootstrap on archs where it works and matters
1299 %ifarch ppc64le s390x
1300 make profiledbootstrap STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1301 %else
1302 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1303 %endif
1304 make info
1305 %if 0%{?building_libjava:1}
1306 make -C %{GCCDIST}/libstdc++-v3/doc doc-html-doxygen
1307 %endif
1308 %if 0%{?run_tests:1}
1309 echo "Run testsuite"
1310 (make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1311 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1312 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1313 # asan needs a whole shadow address space
1314 ulimit -v unlimited || true
1315 make -k check $PARALLEL || true
1316 mkdir ../testresults
1317 ../contrib/test_summary | tee ../testresults/test_summary.txt
1318 %endif
1319 %endif
1320
1321 %install
1322 export NO_BRP_CHECK_BYTECODE_VERSION=true
1323 cd obj-%{GCCDIST}
1324 # GCC-TESTSUITE-DELETE-BEGIN
1325 # Work around tail/head -1 changes
1326 export _POSIX2_VERSION=199209
1327 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi}
1328 %if 0%{?building_libffi:1}
1329 make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
1330 %else
1331 %if 0%{?building_libjava:1}
1332 make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
1333 make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
1334 make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
1335 make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
1336 # copy the libstdc++ API reference
1337 cp -r %{GCCDIST}/libstdc++-v3/doc/doxygen/html ../libstdc++-v3/doc/html/api
1338 # install-common also installs collect2, gcov and the g++ and gfortran driver
1339 %if %{build_cp}
1340 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1341 %endif
1342 %if %{build_fortran}
1343 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1344 %endif
1345 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1346 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1347 %else
1348 make install DESTDIR=$RPM_BUILD_ROOT
1349 %if %{build_java}
1350 make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
1351 make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT
1352 rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
1353 rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
1354 rm $RPM_BUILD_ROOT%{libsubdir}/jc1
1355 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
1356 %endif
1357 %endif
1358 %endif
1359
1360 # Remove libffi installed files if we did not want to build it
1361 %if !0%{?building_libffi:1}
1362 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.*
1363 %if %{biarch}
1364   rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
1365 %endif
1366 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h
1367 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h
1368 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3*
1369 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3*
1370 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3*
1371 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3*
1372 %endif
1373
1374 # Remove some useless .la files
1375 for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \
1376     libgomp libstdc++ libsupc++ libgcj-tools libgij libgo \
1377     libasan libatomic libitm libtsan libcilkrts liblsan libubsan libvtv; do
1378   rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la
1379 %if %{biarch}
1380   rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1381 %endif
1382 done
1383
1384 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1385 %if %{biarch}
1386 %if %{build_primary_64bit}
1387 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1388 %else
1389 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1390 %endif
1391 %endif
1392
1393 # LIBFFI-DELETE-BEGIN
1394 # LIBJAVA-DELETE-BEGIN
1395 %if %{build_cp}
1396 # Merge multilib c++config.h to allow omitting the duplicate and
1397 # identical other arch specific headers
1398 dir_ml=
1399 cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1400 for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1401   if ! diff -up $cxxconfig $i; then
1402     file_32=x
1403     file_64=x
1404     case $i in
1405       %{GCCDIST}/32/*)
1406         file_32=$i
1407         file_64=$cxxconfig
1408         dir_ml=32
1409         ;;
1410       %{GCCDIST}/64/*)
1411         file_32=$cxxconfig
1412         file_64=$i
1413         dir_ml=64
1414         ;;
1415     esac
1416     if ! ( test -f "$file_32" && test -f "$file_64" ); then
1417       echo "Urgs?"
1418       exit 1
1419     fi
1420
1421     cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1422 #ifndef _CPP_CPPCONFIG_WRAPPER
1423 #define _CPP_CPPCONFIG_WRAPPER 1
1424 #include <bits/wordsize.h>
1425 #if __WORDSIZE == 32
1426 `cat $file_32`
1427 #else
1428 `cat $file_64`
1429 #endif
1430 #endif
1431 EOF
1432     break
1433   fi
1434 done
1435 rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1436 if ! test -z "$dir_ml"; then
1437   ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1438 fi
1439 %endif
1440 # LIBJAVA-DELETE-END
1441
1442 # move shared libs from versionspecific dir to main libdir
1443 for libname in \
1444 %if 0%{?building_libjava:1}
1445   libgcj libgij libgcj-tools \
1446 %else
1447 %if %{build_fortran}
1448   libgfortran \
1449 %ifarch %quadmath_arch
1450   libquadmath \
1451 %endif
1452 %endif
1453 %if %{build_objc}
1454   libobjc \
1455 %endif
1456 %if %{build_cp}
1457   libstdc++ \
1458 %endif
1459 %if %{build_go}
1460   libgo \
1461 %endif
1462   libgomp \
1463 %ifarch %atomic_arch
1464   libatomic \
1465 %endif
1466 %ifarch %itm_arch
1467   libitm \
1468 %endif
1469 %ifarch %asan_arch
1470   libasan \
1471 %endif
1472 %ifarch %tsan_arch
1473   libtsan \
1474 %endif
1475 %ifarch %cilkrts_arch
1476   libcilkrts \
1477 %endif
1478 %ifarch %lsan_arch
1479   liblsan \
1480 %endif
1481 %ifarch %ubsan_arch
1482   libubsan \
1483 %endif
1484 %ifarch %vtv_arch
1485   libvtv \
1486 %endif
1487 %endif
1488     ; do
1489   for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1490     mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1491   done
1492   ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'`  \
1493          $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
1494 %if %{biarch}
1495   if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1496     for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1497       mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/
1498     done
1499     ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'`  \
1500          $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1501   fi
1502 %endif
1503 done
1504 # FIXME, tsan and lsan are not multilib
1505 %ifarch %tsan_arch
1506 %if %{biarch}
1507 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/libtsan.so
1508 %endif
1509 %endif
1510 %ifarch %lsan_arch
1511 %if %{biarch}
1512 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/liblsan.so
1513 %endif
1514 %endif
1515 %if %{build_cp}
1516 %if !0%{?building_libjava:1}
1517 # And we want to move the shlib gdb pretty printers to a more sane
1518 # place so ldconfig does not complain
1519 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
1520 mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
1521 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py
1522 %if %{biarch}
1523   if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1524     mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
1525     mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1526     sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1527   fi
1528 %endif
1529 %endif
1530 %endif
1531 %if 0%{?building_libjava:1}
1532 # libgcj_bc is special as the .so file is actually a different
1533 # library as the library refered to by the SONAME which should
1534 # be a simple link to our libgcj.
1535 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do
1536   rm $lib
1537 done
1538 ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.%{libgcj_bc_sover}
1539 %if %{biarch_libjava}
1540 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do
1541   rm $lib
1542 done
1543 ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.%{libgcj_bc_sover}
1544 %endif
1545 mv $RPM_BUILD_ROOT%{libsubdir}/pkgconfig $RPM_BUILD_ROOT%{_libdir}/
1546 %endif
1547
1548 # LIBJAVA-DELETE-BEGIN
1549 # Move libgcc_s around
1550 %ifarch aarch64
1551 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1552   rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1553   ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1554 else
1555   mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1556 fi
1557 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1558 %else
1559 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1560   rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1561   ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1562 else
1563   mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1564 fi
1565 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
1566 %endif
1567
1568 %if %{biarch}
1569 %if %{build_primary_64bit}
1570 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1571   rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1572   ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1573 else
1574   mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1575 fi
1576 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1577 chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
1578 %else
1579 # 32-bit biarch systems
1580 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1581   rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1582   ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1583 else
1584   mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1585 fi
1586 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1587 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1588 %endif
1589 %endif
1590
1591 # LIBJAVA-DELETE-END
1592 # LIBFFI-DELETE-END
1593
1594 %if %{build_ada}
1595 mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir}
1596 ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so
1597 ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so
1598 chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
1599 %if %{biarch}
1600 mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
1601 ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1602 ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1603 chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
1604 %endif
1605 %endif
1606
1607 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1608
1609 # Remove some crap from the .la files:
1610 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
1611   echo "changing $l"
1612 # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g'
1613   sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1614       -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1615       -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1616       -e '/^dependency_libs/s|-L[^ ]* ||g' \
1617 %if %{biarch}
1618 %if %{build_primary_64bit}
1619       -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1620       -e '/^libdir/s|lib64/\.\./||' \
1621 %else
1622       -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1623 %endif
1624 %endif
1625       < $l  > $l.new
1626   mv $l.new $l
1627 done
1628
1629 # GCC-TESTSUITE-DELETE-END
1630 %if 0%{?run_tests:1}
1631 cp `find . -name "*.sum"` ../testresults/
1632 cp `find . -name "*.log"  \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
1633 chmod 644 ../testresults/*
1634 %endif
1635 # GCC-TESTSUITE-DELETE-BEGIN
1636 # LIBFFI-DELETE-BEGIN
1637 %if %{build_cp}
1638 # Find C++ and Java headers
1639 find $RPM_BUILD_ROOT%{_prefix}/include/c++ \
1640   -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \
1641   -o \( -type d -printf "%%%%dir " , \
1642         -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers
1643 %endif
1644 # LIBFFI-DELETE-END
1645 # Remove files that we do not need to clean up filelist
1646 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-*
1647 rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools
1648 #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
1649 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h
1650 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux/a.out.h
1651 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-generic/socket.h
1652 # no plugins
1653 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1654 rm -f  $RPM_BUILD_ROOT%{_infodir}/dir
1655
1656
1657 %if 0%{?building_libjava:1}
1658 # gcj -static doesn't work properly anyway, unless using --whole-archive
1659 # let's save the space instead.
1660 find $RPM_BUILD_ROOT -name libgcj.a \
1661         -o -name libgcj-tools.a \
1662         -o -name libgij.a \
1663         -o -name libjvm.a \
1664         -o -name libgcj_bc.a \
1665   | xargs rm -f
1666
1667 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
1668   sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
1669
1670 # security files have broken install locations, also they cause conflicts
1671 # between libgcj versions.  Simply delete them here, libgcj will use its
1672 # defaults in this case (which is what these files contain anyway).
1673 rm -f $RPM_BUILD_ROOT%{libsubdir}/logging.properties
1674 rm -r $RPM_BUILD_ROOT%{libsubdir}/security
1675 %endif
1676
1677 %if 0%{?building_libffi:1}
1678 # Move libffi headers, remove empty libffi libtool file
1679 mkdir -p $RPM_BUILD_ROOT%{_prefix}/include
1680 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/
1681 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/
1682 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la
1683 %if %{biarch}
1684 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
1685 %endif
1686 # Generate a simple pkg-config file
1687 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
1688 echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc
1689 %endif
1690
1691 %if %{build_java}
1692 %if !%{build_libjava}
1693 rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
1694 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
1695 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
1696 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
1697 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1
1698 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1
1699 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1
1700 %endif
1701 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py
1702 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py
1703 %endif
1704 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
1705 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
1706 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
1707 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
1708 %if %{biarch}
1709 %if %{build_primary_64bit}
1710 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
1711 %else
1712 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
1713 %endif
1714 %endif
1715 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
1716 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
1717 %if %{build_go}
1718 # gccgo.info isn't properly versioned
1719 rm $RPM_BUILD_ROOT%{_infodir}/gccgo.info*
1720 %endif
1721
1722 # LIBFFI-DELETE-BEGIN
1723 %if 0%{?building_libjava:1}
1724 # For building libjava only we need to delete other info docs
1725 rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
1726 # Remove stale manpages for binaries we do not build
1727 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1
1728 # For building the java frontend we need to copy the ecj jar
1729 mkdir -p $RPM_BUILD_ROOT%{libsubdir}
1730 cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
1731 %else
1732 # For regular build, some info files do not get renamed properly.
1733 # Do so here.
1734 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
1735 %ifarch %itm_arch
1736 mv $RPM_BUILD_ROOT%{_infodir}/libitm.info $RPM_BUILD_ROOT%{_infodir}/libitm%{binsuffix}.info
1737 %endif
1738 %if %{build_fortran}
1739 %ifarch %quadmath_arch
1740 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
1741 %endif
1742 %endif
1743 %if %{build_ada}
1744 mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info
1745 mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info
1746 mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info
1747 %endif
1748 %endif
1749
1750 %ifnarch %quadmath_arch
1751 rm -vf $RPM_BUILD_ROOT%{_infodir}/libquadmath*.info*
1752 %endif
1753
1754 # LIBJAVA-DELETE-BEGIN
1755 cd ..
1756 %find_lang cpplib%{binsuffix}
1757 %find_lang gcc%{binsuffix}
1758 %find_lang libstdc++
1759 cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc@base_ver@-locale.lang
1760
1761 %post info
1762 %install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1763 %install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1764 %install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1765 %install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1766 %install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1767 %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1768 %if %{build_fortran}
1769 %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1770 %ifarch %quadmath_arch
1771 %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1772 %endif
1773 %endif
1774 %if %{build_java}
1775 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1776 %endif
1777 %if %{build_ada}
1778 %install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1779 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1780 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
1781 %endif
1782
1783 %postun info
1784 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1785 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1786 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1787 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1788 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1789 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1790 %if %{build_fortran}
1791 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1792 %ifarch %quadmath_arch
1793 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1794 %endif
1795 %endif
1796 %if %{build_java}
1797 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1798 %endif
1799 %if %{build_ada}
1800 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1801 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1802 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
1803 %endif
1804
1805 %files
1806 %defattr(-,root,root)
1807 %dir %{_libdir}/gcc
1808 %dir %{_libdir}/gcc/%{GCCDIST}
1809 %dir %{libsubdir}
1810 %dir %{libsubdir}/include
1811 %dir %{libsubdir}/include-fixed
1812 %if %{biarch}
1813 %if %{build_primary_64bit}
1814 %dir %{libsubdir}/32
1815 %else
1816 %dir %{libsubdir}/64
1817 %endif
1818 %endif
1819 %{_prefix}/bin/gcc%{binsuffix}
1820 %{_prefix}/bin/gcov%{binsuffix}
1821 %{_prefix}/bin/gcc-ar%{binsuffix}
1822 %{_prefix}/bin/gcc-nm%{binsuffix}
1823 %{_prefix}/bin/gcc-ranlib%{binsuffix}
1824 %{libsubdir}/collect2
1825 %{libsubdir}/lto1
1826 %{libsubdir}/lto-wrapper
1827 %{libsubdir}/liblto_plugin.so*
1828 %{libsubdir}/include-fixed/README
1829 %{libsubdir}/include-fixed/limits.h
1830 %{libsubdir}/include-fixed/syslimits.h
1831 %{libsubdir}/include/omp.h
1832 %{libsubdir}/include/float.h
1833 %{libsubdir}/include/iso646.h
1834 %{libsubdir}/include/stdarg.h
1835 %{libsubdir}/include/stdbool.h
1836 %{libsubdir}/include/stdfix.h
1837 %{libsubdir}/include/stddef.h
1838 %{libsubdir}/include/unwind.h
1839 %{libsubdir}/include/varargs.h
1840 %{libsubdir}/include/stdint.h
1841 %{libsubdir}/include/stdint-gcc.h
1842 %{libsubdir}/include/stdnoreturn.h
1843 %{libsubdir}/include/stdalign.h
1844 %{libsubdir}/include/stdatomic.h
1845 %ifarch %asan_arch %ubsan_arch %tsan_arch %lsan_arch
1846 %{libsubdir}/include/sanitizer/*.h
1847 %endif
1848 %ifarch %sparc
1849 %{libsubdir}/include/visintrin.h
1850 %endif
1851 %ifarch ppc ppc64 ppc64le
1852 %{libsubdir}/include/altivec.h
1853 %{libsubdir}/include/ppc-asm.h
1854 %{libsubdir}/include/paired.h
1855 %{libsubdir}/include/ppu_intrinsics.h
1856 %{libsubdir}/include/si2vmx.h
1857 %{libsubdir}/include/spe.h
1858 %{libsubdir}/include/spu2vmx.h
1859 %{libsubdir}/include/vec_types.h
1860 %{libsubdir}/include/htmintrin.h
1861 %{libsubdir}/include/htmxlintrin.h
1862 %endif
1863 %ifarch s390 s390x
1864 %{libsubdir}/include/htmintrin.h
1865 %{libsubdir}/include/htmxlintrin.h
1866 %{libsubdir}/include/s390intrin.h
1867 %endif
1868 %ifarch ia64
1869 %{libsubdir}/include/ia64intrin.h
1870 %endif
1871 %ifarch %arm aarch64
1872 %{libsubdir}/include/arm_neon.h
1873 %endif
1874 %ifarch %arm
1875 %{libsubdir}/include/mmintrin.h
1876 %{libsubdir}/include/arm_neon.h
1877 %{libsubdir}/include/unwind-arm-common.h
1878 %{libsubdir}/include/arm_acle.h
1879 %endif
1880 %ifarch %ix86 x86_64
1881 %{libsubdir}/include/cross-stdarg.h
1882 %{libsubdir}/include/cpuid.h
1883 %{libsubdir}/include/mm3dnow.h
1884 %{libsubdir}/include/mmintrin.h
1885 %{libsubdir}/include/ammintrin.h
1886 %{libsubdir}/include/bmmintrin.h
1887 %{libsubdir}/include/emmintrin.h
1888 %{libsubdir}/include/immintrin.h
1889 %{libsubdir}/include/avxintrin.h
1890 %{libsubdir}/include/pmmintrin.h
1891 %{libsubdir}/include/xmmintrin.h
1892 %{libsubdir}/include/tmmintrin.h
1893 %{libsubdir}/include/nmmintrin.h
1894 %{libsubdir}/include/smmintrin.h
1895 %{libsubdir}/include/wmmintrin.h
1896 %{libsubdir}/include/x86intrin.h
1897 %{libsubdir}/include/ia32intrin.h
1898 %{libsubdir}/include/mm_malloc.h
1899 %{libsubdir}/include/fma4intrin.h
1900 %{libsubdir}/include/xopintrin.h
1901 %{libsubdir}/include/lwpintrin.h
1902 %{libsubdir}/include/popcntintrin.h
1903 %{libsubdir}/include/bmiintrin.h
1904 %{libsubdir}/include/tbmintrin.h
1905 %{libsubdir}/include/avx2intrin.h
1906 %{libsubdir}/include/bmi2intrin.h
1907 %{libsubdir}/include/fmaintrin.h
1908 %{libsubdir}/include/lzcntintrin.h
1909 %{libsubdir}/include/f16cintrin.h
1910 %{libsubdir}/include/adxintrin.h
1911 %{libsubdir}/include/fxsrintrin.h
1912 %{libsubdir}/include/prfchwintrin.h
1913 %{libsubdir}/include/rdseedintrin.h
1914 %{libsubdir}/include/rtmintrin.h
1915 %{libsubdir}/include/xsaveintrin.h
1916 %{libsubdir}/include/xsaveoptintrin.h
1917 %{libsubdir}/include/xtestintrin.h
1918 %{libsubdir}/include/avx512cdintrin.h
1919 %{libsubdir}/include/avx512erintrin.h
1920 %{libsubdir}/include/avx512fintrin.h
1921 %{libsubdir}/include/avx512pfintrin.h
1922 %{libsubdir}/include/shaintrin.h
1923 %endif
1924 %ifarch m68k
1925 %{libsubdir}/include/math-68881.h
1926 %endif
1927 %ifarch %cilkrts_arch
1928 %{libsubdir}/include/cilk
1929 %endif
1930 %versmainlib *crt*.o
1931 %versmainlib libgcc*.a
1932 %versmainlib libgcov.a
1933 %versmainlib libgcc_s*.so
1934 %versmainlib libgomp.so
1935 %versmainlib libgomp.a
1936 %versmainlib libgomp.spec
1937 %ifarch %itm_arch
1938 %versmainlib libitm.so
1939 %versmainlib libitm.a
1940 %versmainlib libitm.spec
1941 %endif
1942 %ifarch %atomic_arch
1943 %versmainlib libatomic.so
1944 %versmainlib libatomic.a
1945 %endif
1946 %ifarch %asan_arch
1947 %versmainlib libasan.so
1948 %versmainlib libasan.a
1949 %versmainlib libasan_preinit.o
1950 %endif
1951 %ifarch %tsan_arch
1952 %versmainlib libtsan.so
1953 %versmainlib libtsan.a
1954 %endif
1955 %ifarch %cilkrts_arch
1956 %versmainlib libcilkrts.so
1957 %versmainlib libcilkrts.a
1958 %versmainlib libcilkrts.spec
1959 %endif
1960 %ifarch %lsan_arch
1961 %versmainlib liblsan.so
1962 %versmainlib liblsan.a
1963 %endif
1964 %ifarch %ubsan_arch
1965 %versmainlib libubsan.so
1966 %versmainlib libubsan.a
1967 %endif
1968 %ifarch %asan_arch %ubsan_arch %tsan_arch %lsan_arch
1969 %versmainlib libsanitizer.spec
1970 %endif
1971 %ifarch %vtv_arch
1972 %versmainlib libvtv.so
1973 %versmainlib libvtv.a
1974 %endif
1975 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
1976 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
1977
1978 %if %{separate_biarch}
1979 %files -n gcc@base_ver@%{separate_biarch_suffix}
1980 %defattr(-,root,root)
1981 %versbiarchlib *crt*.o
1982 %versbiarchlib libgcc*.a
1983 %versbiarchlib libgcov.a
1984 %versbiarchlib libgcc_s*.so
1985 %versbiarchlib libgomp.so
1986 %versbiarchlib libgomp.a
1987 %versbiarchlib libgomp.spec
1988 %ifarch %itm_arch
1989 %versbiarchlib libitm.so
1990 %versbiarchlib libitm.a
1991 %versbiarchlib libitm.spec
1992 %endif
1993 %ifarch %atomic_arch
1994 %versbiarchlib libatomic.a
1995 %versbiarchlib libatomic.so
1996 %endif
1997 %ifarch %asan_arch
1998 %versbiarchlib libasan.a
1999 %versbiarchlib libasan.so
2000 %versbiarchlib libasan_preinit.o
2001 %endif
2002 %ifarch %ubsan_arch
2003 %versbiarchlib libubsan.a
2004 %versbiarchlib libubsan.so
2005 %endif
2006 %ifarch %cilkrts_arch
2007 %versbiarchlib libcilkrts.a
2008 %versbiarchlib libcilkrts.so
2009 %versbiarchlib libcilkrts.spec
2010 %endif
2011 %if 0
2012 %ifarch %tsan_arch
2013 %versbiarchlib libtsan.a
2014 %versbiarchlib libtsan.so
2015 %endif
2016 %ifarch %lsan_arch
2017 %versbiarchlib liblsan.a
2018 %versbiarchlib liblsan.so
2019 %endif
2020 %endif
2021 %ifarch %asan_arch %ubsan_arch %tsan_arch %lsan_arch
2022 %versbiarchlib libsanitizer.spec
2023 %endif
2024 %ifarch %vtv_arch
2025 %versbiarchlib libvtv.a
2026 %versbiarchlib libvtv.so
2027 %endif
2028 %endif
2029
2030 %files locale -f gcc@base_ver@-locale.lang
2031
2032 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale -f libstdc++.lang
2033
2034 %if %{build_cp}
2035 %files c++
2036 %defattr(-,root,root)
2037 %dir %{_libdir}/gcc
2038 %dir %{_libdir}/gcc/%{GCCDIST}
2039 %dir %{libsubdir}
2040 %{_prefix}/bin/g++%{binsuffix}
2041 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
2042 %{libsubdir}/cc1plus
2043
2044 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
2045 %defattr(-,root,root)
2046 %mainlib libstdc++.so.%{libstdcxx_sover}*
2047
2048 %if %{separate_biarch}
2049 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}%{separate_biarch_suffix}
2050 %defattr(-,root,root)
2051 %biarchlib libstdc++.so.%{libstdcxx_sover}*
2052 %endif
2053
2054 %files -n libstdc++@base_ver@-devel -f c++-headers
2055 %defattr(-,root,root)
2056 %versmainlib libstdc++.a
2057 %versmainlib libstdc++.so
2058 %versmainlib libsupc++.a
2059 %dir %{_datadir}/gdb
2060 %dir %{_datadir}/gdb/auto-load
2061 %dir %{_datadir}/gdb/auto-load%{_prefix}
2062 %dir %{_datadir}/gdb/auto-load/%{mainlibdir}
2063 %{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
2064 %{_datadir}/gcc%{binsuffix}
2065
2066 %if %{separate_biarch}
2067 %files -n libstdc++@base_ver@-devel%{separate_biarch_suffix}
2068 %defattr(-,root,root)
2069 %versbiarchlib libstdc++.a
2070 %versbiarchlib libstdc++.so
2071 %versbiarchlib libsupc++.a
2072 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
2073 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
2074 %endif
2075 %endif
2076
2077 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
2078 %defattr(-,root,root)
2079 /%{_lib}/libgcc_s.so.%{libgcc_s}
2080 %if %{biarch}
2081 %if %{build_primary_64bit}
2082 %if !%{separate_bi32}
2083 /lib/libgcc_s.so.%{libgcc_s}
2084 %endif
2085 %else
2086 %if !%{separate_bi64}
2087 /lib64/libgcc_s.so.%{libgcc_s}
2088 %endif
2089 %endif
2090 %endif
2091
2092 %if %{separate_bi64}
2093 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
2094 %defattr(-,root,root)
2095 /lib64/libgcc_s.so.%{libgcc_s}
2096 %endif
2097
2098 %if %{separate_bi32}
2099 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
2100 %defattr(-,root,root)
2101 /lib/libgcc_s.so.%{libgcc_s}
2102 %endif
2103
2104
2105 %files -n libgomp%{libgomp_sover}%{libgomp_suffix}
2106 %defattr(-,root,root)
2107 %mainlib libgomp.so.%{libgomp_sover}*
2108
2109 %if %{separate_biarch}
2110 %files -n libgomp%{libgomp_sover}%{libgomp_suffix}%{separate_biarch_suffix}
2111 %defattr(-,root,root)
2112 %biarchlib libgomp.so.%{libgomp_sover}*
2113 %endif
2114
2115
2116 %ifarch %asan_arch
2117 %files -n libasan%{libasan_sover}%{libasan_suffix}
2118 %defattr(-,root,root)
2119 %mainlib libasan.so.%{libasan_sover}*
2120
2121 %if %{separate_biarch}
2122 %files -n libasan%{libasan_sover}%{libasan_suffix}%{separate_biarch_suffix}
2123 %defattr(-,root,root)
2124 %biarchlib libasan.so.%{libasan_sover}*
2125 %endif
2126 %endif
2127
2128
2129 %ifarch %lsan_arch
2130 %files -n liblsan%{liblsan_sover}%{liblsan_suffix}
2131 %defattr(-,root,root)
2132 %mainlib liblsan.so.%{liblsan_sover}*
2133
2134 %if 0
2135 %if %{separate_biarch}
2136 %files -n liblsan%{liblsan_sover}%{liblsan_suffix}%{separate_biarch_suffix}
2137 %defattr(-,root,root)
2138 %biarchlib liblsan.so.%{liblsan_sover}*
2139 %endif
2140 %endif
2141 %endif
2142
2143
2144 %ifarch %tsan_arch
2145 %files -n libtsan%{libtsan_sover}%{libtsan_suffix}
2146 %defattr(-,root,root)
2147 %mainlib libtsan.so.%{libtsan_sover}*
2148
2149 %if 0
2150 %if %{separate_biarch}
2151 %files -n libtsan%{libtsan_sover}%{libtsan_suffix}%{separate_biarch_suffix}
2152 %defattr(-,root,root)
2153 %biarchlib libtsan.so.%{libtsan_sover}*
2154 %endif
2155 %endif
2156 %endif
2157
2158
2159 %ifarch %atomic_arch
2160 %files -n libatomic%{libatomic_sover}%{libatomic_suffix}
2161 %defattr(-,root,root)
2162 %mainlib libatomic.so.%{libatomic_sover}*
2163
2164 %if %{separate_biarch}
2165 %files -n libatomic%{libatomic_sover}%{libatomic_suffix}%{separate_biarch_suffix}
2166 %defattr(-,root,root)
2167 %biarchlib libatomic.so.%{libatomic_sover}*
2168 %endif
2169 %endif
2170
2171
2172 %ifarch %itm_arch
2173 %files -n libitm%{libitm_sover}%{libitm_suffix}
2174 %defattr(-,root,root)
2175 %mainlib libitm.so.%{libitm_sover}*
2176
2177 %if %{separate_biarch}
2178 %files -n libitm%{libitm_sover}%{libitm_suffix}%{separate_biarch_suffix}
2179 %defattr(-,root,root)
2180 %biarchlib libitm.so.%{libitm_sover}*
2181 %endif
2182 %endif
2183
2184
2185 %ifarch %cilkrts_arch
2186 %files -n libcilkrts%{libcilkrts_sover}%{libcilkrts_suffix}
2187 %defattr(-,root,root)
2188 %mainlib libcilkrts.so.%{libcilkrts_sover}*
2189
2190 %if %{separate_biarch}
2191 %files -n libcilkrts%{libcilkrts_sover}%{libcilkrts_suffix}%{separate_biarch_suffix}
2192 %defattr(-,root,root)
2193 %biarchlib libcilkrts.so.%{libcilkrts_sover}*
2194 %endif
2195 %endif
2196
2197
2198 %ifarch %ubsan_arch
2199 %files -n libubsan%{libubsan_sover}%{libubsan_suffix}
2200 %defattr(-,root,root)
2201 %mainlib libubsan.so.%{libubsan_sover}*
2202
2203 %if %{separate_biarch}
2204 %files -n libubsan%{libubsan_sover}%{libubsan_suffix}%{separate_biarch_suffix}
2205 %defattr(-,root,root)
2206 %biarchlib libubsan.so.%{libubsan_sover}*
2207 %endif
2208 %endif
2209
2210
2211 %ifarch %vtv_arch
2212 %files -n libvtv%{libvtv_sover}%{libvtv_suffix}
2213 %defattr(-,root,root)
2214 %mainlib libvtv.so.%{libvtv_sover}*
2215
2216 %if %{separate_biarch}
2217 %files -n libvtv%{libvtv_sover}%{libvtv_suffix}%{separate_biarch_suffix}
2218 %defattr(-,root,root)
2219 %biarchlib libvtv.so.%{libvtv_sover}*
2220 %endif
2221 %endif
2222
2223
2224 %if %{build_fortran}
2225 %files fortran
2226 %defattr(-,root,root)
2227 %dir %{libsubdir}/finclude
2228 %{_prefix}/bin/gfortran%{binsuffix}
2229 %{libsubdir}/f951
2230 %{libsubdir}/finclude/*
2231 %versmainlib libgfortran.a
2232 %versmainlib libgfortran.so
2233 %versmainlib libgfortran.spec
2234 %versmainlib libgfortranbegin.a
2235 %versmainlib libcaf_single.a
2236 %ifarch %quadmath_arch
2237 %{libsubdir}/include/quadmath.h
2238 %{libsubdir}/include/quadmath_weak.h
2239 %versmainlib libquadmath.a
2240 %versmainlib libquadmath.so
2241 %endif
2242 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
2243
2244 %if %{separate_biarch}
2245 %files fortran%{separate_biarch_suffix}
2246 %defattr(-,root,root)
2247 %versbiarchlib libgfortran.a
2248 %versbiarchlib libgfortran.so
2249 %versbiarchlib libgfortran.spec
2250 %versbiarchlib libgfortranbegin.a
2251 %versbiarchlib libcaf_single.a
2252 %ifarch %quadmath_arch
2253 %versbiarchlib libquadmath.a
2254 %versbiarchlib libquadmath.so
2255 %endif
2256 %endif
2257
2258 %files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
2259 %defattr(-,root,root)
2260 %mainlib libgfortran.so.%{libgfortran_sover}*
2261
2262 %if %{separate_biarch}
2263 %files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}%{separate_biarch_suffix}
2264 %defattr(-,root,root)
2265 %biarchlib libgfortran.so.%{libgfortran_sover}*
2266 %endif
2267
2268 %ifarch %quadmath_arch
2269 %files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
2270 %defattr(-,root,root)
2271 %mainlib libquadmath.so.%{libquadmath_sover}*
2272
2273 %if %{separate_biarch}
2274 %files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}%{separate_biarch_suffix}
2275 %defattr(-,root,root)
2276 %biarchlib libquadmath.so.%{libquadmath_sover}*
2277 %endif
2278 %endif
2279 %endif
2280
2281 %files info
2282 %defattr(-,root,root)
2283 %doc %{_infodir}/cpp%{binsuffix}.info*.gz
2284 %doc %{_infodir}/cppinternals%{binsuffix}.info*.gz
2285 %doc %{_infodir}/gcc%{binsuffix}.info*.gz
2286 %doc %{_infodir}/gccint%{binsuffix}.info*.gz
2287 %doc %{_infodir}/gccinstall%{binsuffix}.info*.gz
2288 %doc %{_infodir}/libgomp%{binsuffix}.info*.gz
2289 %ifarch %itm_arch
2290 %doc %{_infodir}/libitm%{binsuffix}.info*.gz
2291 %endif
2292 %if %{build_fortran}
2293 %doc %{_infodir}/gfortran%{binsuffix}.info*.gz
2294 %ifarch %quadmath_arch
2295 %doc %{_infodir}/libquadmath%{binsuffix}.info*.gz
2296 %endif
2297 %endif
2298 %if %{build_java}
2299 %doc %{_infodir}/gcj%{binsuffix}.info*.gz
2300 %endif
2301 %if %{build_ada}
2302 %doc %{_infodir}/gnat-style%{binsuffix}.info*gz
2303 %doc %{_infodir}/gnat_rm%{binsuffix}.info*gz
2304 %doc %{_infodir}/gnat_ugn%{binsuffix}.info*gz
2305 %endif
2306
2307 %files -n cpp@base_ver@
2308 %defattr(-,root,root)
2309 %dir %{_libdir}/gcc
2310 %dir %{_libdir}/gcc/%{GCCDIST}
2311 %dir %{libsubdir}
2312 %{_prefix}/bin/cpp%{binsuffix}
2313 %{libsubdir}/cc1
2314 #%{libsubdir}/specs
2315 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
2316
2317 %if %{build_objc}
2318 %files objc
2319 %defattr(-,root,root)
2320 %{libsubdir}/cc1obj
2321 %{libsubdir}/include/objc
2322 %versmainlib libobjc.a
2323 %versmainlib libobjc.so
2324
2325 %if %{separate_biarch}
2326 %files objc%{separate_biarch_suffix}
2327 %defattr(-,root,root)
2328 %versbiarchlib libobjc.a
2329 %versbiarchlib libobjc.so
2330 %endif
2331
2332 %files -n libobjc%{libobjc_sover}%{libobjc_suffix}
2333 %defattr(-,root,root)
2334 %mainlib libobjc.so.%{libobjc_sover}*
2335
2336 %if %{separate_biarch}
2337 %files -n libobjc%{libobjc_sover}%{libobjc_suffix}%{separate_biarch_suffix}
2338 %defattr(-,root,root)
2339 %biarchlib libobjc.so.%{libobjc_sover}*
2340 %endif
2341 %endif
2342
2343
2344 %if %{build_objcp}
2345 %files obj-c++
2346 %defattr(-,root,root)
2347 %{libsubdir}/cc1objplus
2348 %endif
2349
2350
2351 %if %{build_ada}
2352 %files ada
2353 %defattr(-,root,root)
2354 %dir %{_libdir}/gcc
2355 %dir %{_libdir}/gcc/%{GCCDIST}
2356 %dir %{libsubdir}
2357 %{_prefix}/bin/gnat*
2358 %dir %{versmainlibdir}/adalib
2359 %{versmainlibdir}/adainclude
2360 %{versmainlibdir}/adalib/*.ali
2361 %{versmainlibdir}/adalib/*.a
2362 %{versmainlibdir}/adalib/libgnarl.so
2363 %{versmainlibdir}/adalib/libgnat.so
2364 %{versmainlibdir}/gnat1
2365
2366 %if %{separate_biarch}
2367 %files ada%{separate_biarch_suffix}
2368 %defattr(-,root,root)
2369 %dir %{versmainlibdirbi}/adalib
2370 %{versmainlibdirbi}/adainclude
2371 %{versmainlibdirbi}/adalib/*.ali
2372 %{versmainlibdirbi}/adalib/*.a
2373 %{versmainlibdirbi}/adalib/libgnarl.so
2374 %{versmainlibdirbi}/adalib/libgnat.so
2375 %endif
2376
2377 %files -n libada@base_ver@
2378 %defattr(-,root,root)
2379 %mainlib libgnarl-*.so
2380 %mainlib libgnat-*.so
2381
2382 %if %{separate_biarch}
2383 %files -n libada@base_ver@%{separate_biarch_suffix}
2384 %defattr(-,root,root)
2385 %biarchlib libgnarl-*.so
2386 %biarchlib libgnat-*.so
2387 %endif
2388 %endif
2389 # LIBJAVA-DELETE-END
2390
2391
2392 %if %{build_java}
2393 %if 0%{?building_libjava:1}
2394 %files -n gcc@base_ver@-java
2395 %defattr(-,root,root)
2396 %{_prefix}/bin/gcj%{binsuffix}
2397 %{_prefix}/bin/gcjh%{binsuffix}
2398 %{_prefix}/bin/gcj-dbtool%{binsuffix}
2399 %{_prefix}/bin/jcf-dump%{binsuffix}
2400 %{_prefix}/bin/jv-convert%{binsuffix}
2401 %{_prefix}/bin/gc-analyze%{binsuffix}
2402 %{_prefix}/bin/aot-compile%{binsuffix}
2403 %{_prefix}/bin/rebuild-gcj-db%{binsuffix}
2404 %{libsubdir}/jc1
2405 %{libsubdir}/jvgenmain
2406 %{libsubdir}/ecj.jar
2407 %{libsubdir}/ecj1
2408 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
2409 %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
2410 %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
2411 %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
2412 %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
2413 %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
2414 %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz
2415 %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz
2416 %endif
2417 %endif
2418
2419 %if %{build_java}
2420 %if %{build_libjava}
2421 %files -n libgcj@base_ver@
2422 %defattr(-,root,root)
2423 %dir %{libsubdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}
2424 %dir %{_libdir}/gcc
2425 %dir %{_libdir}/gcc/%{GCCDIST}
2426 %dir %{libsubdir}
2427 %{libsubdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/classmap.db
2428 # We usually do not multilib libjava
2429 %if %{biarch_libjava}
2430 %versbiarchlib libgcj.la
2431 %biarchlib libgcj.so.*
2432 %biarchlib libgij.so.*
2433 %biarchlib libgcj-tools.so.*
2434 %else
2435 %versmainlib libgcj.la
2436 %mainlib libgcj.so.*
2437 %mainlib libgij.so.*
2438 %mainlib libgcj-tools.so.*
2439 %endif
2440 %{libsubdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.la
2441 %{libsubdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.so
2442 %{libsubdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.la
2443 %{libsubdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.so
2444
2445 %files -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
2446 %defattr(-,root,root)
2447 %if %{biarch_libjava}
2448 %biarchlib libgcj_bc.so.%{libgcj_bc_sover}*
2449 %else
2450 %mainlib libgcj_bc.so.%{libgcj_bc_sover}*
2451 %endif
2452
2453 %files -n libgcj@base_ver@-jar
2454 %defattr(-,root,root)
2455 %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
2456 %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
2457
2458 %files -n libgcj@base_ver@-devel
2459 %defattr(-,root,root)
2460 %dir %{_prefix}/include/c++
2461 %dir %{libsubdir}
2462 %dir %{libsubdir}/include
2463 %dir %{gxxinclude}
2464 %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
2465 %{libsubdir}/include/jawt.h
2466 %{libsubdir}/include/jawt_md.h
2467 %{libsubdir}/include/jni.h
2468 %{libsubdir}/include/jni_md.h
2469 %{libsubdir}/include/jvmpi.h
2470 %{gxxinclude}/gnu
2471 %{gxxinclude}/gcj
2472 %{gxxinclude}/java
2473 %{gxxinclude}/javax
2474 %{gxxinclude}/org
2475 %{gxxinclude}/sun
2476 %{libsubdir}/include/gcj
2477 %if %{biarch_libjava}
2478 %versbiarchlib libgcj.so
2479 %versbiarchlib libgcj.spec
2480 %versbiarchlib libgcj-tools.so
2481 %versbiarchlib libgij.so
2482 %versbiarchlib libgcj_bc.so
2483 %else
2484 %versmainlib libgcj.so
2485 %versmainlib libgcj.spec
2486 %versmainlib libgcj-tools.so
2487 %versmainlib libgij.so
2488 %versmainlib libgcj_bc.so
2489 %endif
2490
2491 %files -n gcc@base_ver@-gij
2492 %defattr(-,root,root)
2493 %{_prefix}/bin/gij%{binsuffix}
2494 %{_prefix}/bin/gappletviewer%{binsuffix}
2495 %{_prefix}/bin/gjar%{binsuffix}
2496 %{_prefix}/bin/gjarsigner%{binsuffix}
2497 %{_prefix}/bin/gjavah%{binsuffix}
2498 %{_prefix}/bin/gkeytool%{binsuffix}
2499 %{_prefix}/bin/gnative2ascii%{binsuffix}
2500 %{_prefix}/bin/gorbd%{binsuffix}
2501 %{_prefix}/bin/grmic%{binsuffix}
2502 %{_prefix}/bin/grmid%{binsuffix}
2503 %{_prefix}/bin/grmiregistry%{binsuffix}
2504 %{_prefix}/bin/gserialver%{binsuffix}
2505 %{_prefix}/bin/gtnameserv%{binsuffix}
2506 %doc %{_mandir}/man1/gij%{binsuffix}.1.gz
2507 %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
2508 %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
2509 %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
2510 %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
2511 %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
2512 %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
2513 %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
2514 %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
2515 %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
2516 %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
2517 %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz
2518 %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz
2519 %endif
2520 %endif
2521
2522 %if 0%{?building_libjava:1}
2523 %files -n libstdc++@base_ver@-doc
2524 %defattr(-,root,root)
2525 %doc libstdc++-v3/doc/html
2526 %endif
2527 # LIBFFI-DELETE-END
2528
2529 %if %{build_java}
2530 %if 0%{?building_libffi:1}
2531 %files -n libffi%{libffi_sover}%{libffi_suffix}
2532 %defattr(-,root,root)
2533 %mainlib libffi.so.%{libffi_sover}*
2534
2535 %if %{separate_biarch}
2536 %files -n libffi%{libffi_sover}%{libffi_suffix}%{separate_biarch_suffix}
2537 %defattr(-,root,root)
2538 %biarchlib libffi.so.%{libffi_sover}*
2539 %endif
2540
2541 %post -n libffi@base_ver@-devel
2542 %install_info --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz
2543 %postun -n libffi@base_ver@-devel
2544 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz
2545
2546 %files -n libffi@base_ver@-devel
2547 %defattr(-,root,root)
2548 %{_prefix}/include/ffi.h
2549 %{_prefix}/include/ffitarget.h
2550 %mainlib libffi.so
2551 %mainlib libffi.a
2552 %{_libdir}/pkgconfig/libffi.pc
2553 %doc %{_infodir}/libffi%{binsuffix}.info.gz
2554 %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz
2555 %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz
2556 %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz
2557 %doc %{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3.gz
2558
2559 %if %{separate_biarch}
2560 %files -n libffi@base_ver@-devel%{separate_biarch_suffix}
2561 %defattr(-,root,root)
2562 %biarchlib libffi.so
2563 %biarchlib libffi.a
2564 %endif
2565 %endif
2566 %endif
2567
2568 %if %{build_go}
2569 %files go
2570 %{_prefix}/bin/gccgo%{binsuffix}
2571 %{libsubdir}/go1
2572 %versmainlib libgo.a
2573 %versmainlib libgo.so
2574 %versmainlib libgobegin.a
2575 %dir %mainlibdir/go
2576 %dir %mainlibdir/go/%{gcc_dir_version}
2577 %mainlibdir/go/%{gcc_dir_version}/%{GCCDIST}
2578 %doc %{_mandir}/man1/gccgo%{binsuffix}.1.gz
2579
2580 %if %{separate_biarch}
2581 %files go%{separate_biarch_suffix}
2582 %versbiarchlib libgo.a
2583 %versbiarchlib libgo.so
2584 %versbiarchlib libgobegin.a
2585 %dir %mainlibdirbi/go
2586 %dir %mainlibdirbi/go/%{gcc_dir_version}
2587 %mainlibdirbi/go/%{gcc_dir_version}/%{GCCDIST}
2588 %endif
2589
2590 %files -n libgo%{libgo_sover}%{libgo_suffix}
2591 %defattr(-,root,root)
2592 %mainlib libgo.so.%{libgo_sover}*
2593
2594 %if %{separate_biarch}
2595 %files -n libgo%{libgo_sover}%{libgo_suffix}%{separate_biarch_suffix}
2596 %defattr(-,root,root)
2597 %biarchlib libgo.so.%{libgo_sover}*
2598 %endif
2599 %endif
2600 # GCC-TESTSUITE-DELETE-END
2601
2602 %if 0%{?run_tests:1}
2603 %files -n gcc@base_ver@-testresults
2604 %defattr(-,root,root)
2605 %doc testresults/test_summary.txt
2606 %doc testresults/*.sum
2607 %doc testresults/*.log
2608 %endif
2609
2610
2611 %changelog