2 # spec file for package gcc49
4 # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
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.
15 # Please submit bugfixes or comments via http://bugs.opensuse.org/
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
34 %define cilkrts_arch x86_64 %ix86
36 # We don't want to build java
38 %define build_libjava 0
40 # Also go and objc aren't needed right now
46 %define build_fortran !0%{?building_libjava:1}%{?building_libffi:1}
57 # For optional compilers only build C, C++ and Fortran
58 %if 0%{?build_optional_compiler_languages:1}
61 %define build_libjava 0
67 # Shared library SONAME versions
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}
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@
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@}
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@}
132 %define selfconflict() %1
135 # With generated files in src we could drop the following
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
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
152 %define hostsuffix -4.9
153 BuildRequires: gcc49-ada
155 %if 0%{?building_libjava:1}%{?building_testsuite:1}
156 BuildRequires: fastjar
158 %if 0%{?building_libffi:1}
159 BuildRequires: pkg-config
162 BuildRequires: libunwind-devel
165 BuildRequires: dejagnu
166 BuildRequires: expect
170 %define separate_bi32 0
171 %define separate_bi64 0
173 # Beware, this does _not_ separate libgcj, as for that one multilibing
174 # is inactive for the time being
175 %define separate_bi64 1
177 %ifarch x86_64 s390x ppc64 sparc64
178 %define separate_bi32 1
181 # Define two macros to trigger -32bit or -64bit package variants
182 %define separate_biarch 0
184 %define separate_biarch 1
185 %define separate_biarch_suffix -32bit
188 %define separate_biarch 1
189 %define separate_biarch_suffix -64bit
192 %ifarch x86_64 ia64 s390x alpha ppc64 sparc64 aarch64
193 # 64-bit is primary build target
194 %define build_primary_64bit 1
196 %define build_primary_64bit 0
199 %define biarch_libjava 0
202 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
204 URL: http://gcc.gnu.org/
207 %define gcc_dir_version 4.9
208 %define binsuffix -4.9
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}
217 Requires: libasan%{libasan_sover} >= %{version}-%{release}
220 Requires: libtsan%{libtsan_sover} >= %{version}-%{release}
223 Requires: libatomic%{libatomic_sover} >= %{version}-%{release}
226 Requires: libitm%{libitm_sover} >= %{version}-%{release}
228 %ifarch %cilkrts_arch
229 Requires: libcilkrts%{libcilkrts_sover} >= %{version}-%{release}
232 Requires: liblsan%{liblsan_sover} >= %{version}-%{release}
235 Requires: libubsan%{libubsan_sover} >= %{version}-%{release}
238 Requires: libvtv%{libvtv_sover} >= %{version}-%{release}
240 Requires: gcc@base_ver@-info gcc@base_ver@-locale
244 BuildRoot: %{_tmppath}/%{name}-%{version}-build
245 Source: gcc-%{version}.tar.bz2
247 Source2: libffi49-rpmlintrc
248 Source3: gcc49-rpmlintrc
250 Source5: baselibs.conf
251 Source6: libgcj49-rpmlintrc
253 # GCC-TESTSUITE-DELETE-BEGIN
254 # LIBJAVA-DELETE-BEGIN
255 Group: Development/Building
256 Summary: The GNU C Compiler and Support Files
260 Core package for the GNU Compiler Collection, including the C language
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
266 # LIBFFI-DELETE-BEGIN
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}
278 Requires: libasan%{libasan_sover}-32bit >= %{version}-%{release}
281 # tsan on x86_64 has no multilib
284 Requires: libtsan%{libtsan_sover}-32bit >= %{version}-%{release}
288 Requires: libatomic%{libatomic_sover}-32bit >= %{version}-%{release}
291 Requires: libitm%{libitm_sover}-32bit >= %{version}-%{release}
293 %ifarch %cilkrts_arch
294 Requires: libcilkrts%{libcilkrts_sover}-32bit >= %{version}-%{release}
296 # lsan on x86_64 has no multilib
300 Requires: liblsan%{liblsan_sover} >= %{version}-%{release}
304 Requires: libubsan%{libubsan_sover}-32bit >= %{version}-%{release}
307 Requires: libvtv%{libvtv_sover}-32bit >= %{version}-%{release}
309 Requires: glibc-devel-32bit
311 %description -n gcc@base_ver@-32bit
312 This package contains 32bit support for the GNU Compiler Collection.
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}
321 Requires: libasan%{libasan_sover}-64bit >= %{version}-%{release}
324 Requires: libtsan%{libtsan_sover}-64bit >= %{version}-%{release}
327 Requires: libatomic%{libatomic_sover}-64bit >= %{version}-%{release}
330 Requires: libitm%{libitm_sover}-64bit >= %{version}-%{release}
332 %ifarch %cilkrts_arch
333 Requires: libcilkrts%{libcilkrts_sover}-64bit >= %{version}-%{release}
336 Requires: liblsan%{liblsan_sover}-64bit >= %{version}-%{release}
339 Requires: libubsan%{libubsan_sover}-64bit >= %{version}-%{release}
342 Requires: libvtv%{libvtv_sover}-64bit >= %{version}-%{release}
344 Requires: glibc-devel-64bit
346 %description -n gcc@base_ver@-64bit
347 This package contains 64bit support for the GNU Compiler Collection.
351 Summary: Locale Data for the GNU Compiler Collection
353 Group: Development/Building
354 Requires: gcc@base_ver@ = %{version}-%{release}
357 Locale data for the GNU Compiler Collection (GCC) to give error message
358 in the current locale.
362 Summary: The GNU C++ Compiler
364 Group: Development/Languages
365 Requires: gcc@base_ver@ = %{version}-%{release}
366 Requires: libstdc++@base_ver@-devel = %{version}-%{release}
369 This package contains the GNU compiler for C++.
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@
379 Requires: libunwind-devel
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.
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}
395 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@
396 Libgcc is needed for dynamically linked C programs.
398 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@ -p /sbin/ldconfig
400 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@ -p /sbin/ldconfig
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}
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
417 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@ -p /sbin/ldconfig
419 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}@variant@ -p /sbin/ldconfig
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}
430 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@
431 The standard C++ library, needed for dynamically linked C++ programs.
434 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@ -p /sbin/ldconfig
436 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}@variant@ -p /sbin/ldconfig
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}
445 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
446 The standard C++ library locale data.
450 Summary: Documentation for the GNU compiler collection
452 Group: Development/Building
456 GNU info-pages for the GNU compiler collection covering both user-level
457 and internals documentation.
461 %package objc@variant@
462 Summary: GNU Objective C Compiler
464 Group: Development/Languages
465 Requires: gcc@base_ver@ = %{version}-%{release}
466 Requires: libobjc%{libobjc_sover}@variant@ >= %{version}-%{release}
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.
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}
481 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@
482 The library for the GNU Objective C compiler.
484 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@ -p /sbin/ldconfig
486 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}@variant@ -p /sbin/ldconfig
490 Summary: GNU Objective C++ Compiler
492 Group: Development/Languages
493 Requires: gcc@base_ver@-objc = %{version}-%{release}
494 Requires: gcc@base_ver@-c++ = %{version}-%{release}
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.
502 %package -n cpp@base_ver@
503 Summary: The GCC Preprocessor
505 Group: Development/Languages
507 %description -n cpp@base_ver@
508 This Package contains just the preprocessor that is used by the X11
513 %package ada@variant@
514 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
516 Group: Development/Languages
517 Requires: gcc@base_ver@@variant@ = %{version}-%{release}
518 Requires: libada@base_ver@@variant@ = %{version}-%{release}
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.
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}
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).
543 %post -n libada@base_ver@@variant@ -p /sbin/ldconfig
545 %postun -n libada@base_ver@@variant@ -p /sbin/ldconfig
549 %package fortran@variant@
550 Summary: The GNU Fortran Compiler and Support Files
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}
559 %description fortran@variant@
560 This is the Fortran compiler of the GNU Compiler Collection (GCC).
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}
571 Provides: libgfortran%{libgfortran_sover}@variant@ = %{version}-%{release}
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).
577 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@ -p /sbin/ldconfig
579 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}@variant@ -p /sbin/ldconfig
583 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@
584 Summary: The GNU Fortran Compiler Quadmath Runtime Library
586 Group: Development/Languages
587 Provides: libquadmath%{libquadmath_sover}@variant@ = %{version}-%{release}
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
594 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@ -p /sbin/ldconfig
596 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}@variant@ -p /sbin/ldconfig
600 %package -n libitm%{libitm_sover}%{libitm_suffix}@variant@
601 Summary: The GNU Compiler Transactional Memory Runtime Library
603 Group: Development/Languages
604 Provides: libitm%{libitm_sover}@variant@ = %{version}-%{release}
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).
610 %post -n libitm%{libitm_sover}%{libitm_suffix}@variant@ -p /sbin/ldconfig
612 %postun -n libitm%{libitm_sover}%{libitm_suffix}@variant@ -p /sbin/ldconfig
616 %package -n libasan%{libasan_sover}%{libasan_suffix}@variant@
617 Summary: The GNU Compiler Address Sanitizer Runtime Library
619 Group: Development/Languages
620 Provides: libasan%{libasan_sover}@variant@ = %{version}-%{release}
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).
626 %post -n libasan%{libasan_sover}%{libasan_suffix}@variant@ -p /sbin/ldconfig
628 %postun -n libasan%{libasan_sover}%{libasan_suffix}@variant@ -p /sbin/ldconfig
632 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}@variant@
633 Summary: The GNU Compiler Thread Sanitizer Runtime Library
635 Group: Development/Languages
636 Provides: libtsan%{libtsan_sover}@variant@ = %{version}-%{release}
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).
642 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}@variant@ -p /sbin/ldconfig
644 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}@variant@ -p /sbin/ldconfig
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}
654 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}@variant@
655 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
657 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}@variant@ -p /sbin/ldconfig
659 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}@variant@ -p /sbin/ldconfig
663 %package -n libcilkrts%{libcilkrts_sover}%{libcilkrts_suffix}@variant@
664 Summary: The GNU Compiler Cilk+ Runtime Library
666 Group: Development/Languages
667 Provides: libcilkrts%{libcilkrts_sover}@variant@ = %{version}-%{release}
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).
673 %post -n libcilkrts%{libcilkrts_sover}%{libcilkrts_suffix}@variant@ -p /sbin/ldconfig
675 %postun -n libcilkrts%{libcilkrts_sover}%{libcilkrts_suffix}@variant@ -p /sbin/ldconfig
679 %package -n liblsan%{liblsan_sover}%{liblsan_suffix}@variant@
680 Summary: The GNU Compiler Leak Sanitizer Runtime Library
682 Group: Development/Languages
683 Provides: liblsan%{liblsan_sover}@variant@ = %{version}-%{release}
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).
689 %post -n liblsan%{liblsan_sover}%{liblsan_suffix}@variant@ -p /sbin/ldconfig
691 %postun -n liblsan%{liblsan_sover}%{liblsan_suffix}@variant@ -p /sbin/ldconfig
695 %package -n libubsan%{libubsan_sover}%{libubsan_suffix}@variant@
696 Summary: The GNU Compiler Undefined Sanitizer Runtime Library
698 Group: Development/Languages
699 Provides: libubsan%{libubsan_sover}@variant@ = %{version}-%{release}
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).
705 %post -n libubsan%{libubsan_sover}%{libubsan_suffix}@variant@ -p /sbin/ldconfig
707 %postun -n libubsan%{libubsan_sover}%{libubsan_suffix}@variant@ -p /sbin/ldconfig
711 %package -n libvtv%{libvtv_sover}%{libvtv_suffix}@variant@
712 Summary: The GNU Compiler Vtable Verifier Runtime Library
714 Group: Development/Languages
715 Provides: libvtv%{libvtv_sover}@variant@ = %{version}-%{release}
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).
721 %post -n libvtv%{libvtv_sover}%{libvtv_suffix}@variant@ -p /sbin/ldconfig
723 %postun -n libvtv%{libvtv_sover}%{libvtv_suffix}@variant@ -p /sbin/ldconfig
727 %package -n libgcj@base_ver@
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}
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.
741 %post -n libgcj@base_ver@ -p /sbin/ldconfig
743 %postun -n libgcj@base_ver@ -p /sbin/ldconfig
746 %package -n gcc@base_ver@-java
747 Summary: The GNU Java Compiler
749 Group: Development/Languages
750 Requires: gcc@base_ver@ = %{version}
751 Requires: libgcj@base_ver@-devel = %{version}-%{release}
753 %description -n gcc@base_ver@-java
754 The Java compiler from the GCC-tools-suite.
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)
768 Provides: libgcj_bc.so.%{libgcj_bc_sover}
770 Provides: libgcj_bc%{libgcj_bc_sover} = %{version}-%{release}
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
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
784 %description -n libgcj@base_ver@-jar
785 These are the jar files that go along with the gcj front end to gcc.
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}
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.
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}
807 %description -n gcc@base_ver@-gij
808 This package contains the java bytecode interpreter gij and related tools.
811 %package -n libstdc++@base_ver@-doc
812 Summary: Documentation for the GNU C++ standard library
814 Group: Development/Building
817 %description -n libstdc++@base_ver@-doc
818 Extensive HTML documentation for the GNU C++ standard library.
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}
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.
832 %post -n libffi%{libffi_sover}%{libffi_suffix}@variant@ -p /sbin/ldconfig
834 %postun -n libffi%{libffi_sover}%{libffi_suffix}@variant@ -p /sbin/ldconfig
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}
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.
851 Summary: GNU Go Compiler
853 Group: Development/Languages
854 Requires: gcc@base_ver@@variant@ = %{version}-%{release}
855 Requires: libgo%{libgo_sover}@variant@ >= %{version}-%{release}
857 %description go@variant@
858 This package contains a Go compiler and associated development
859 files based on the GNU GCC technology.
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}
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.
872 %post -n libgo%{libgo_sover}%{libgo_suffix}@variant@ -p /sbin/ldconfig
874 %postun -n libgo%{libgo_sover}%{libgo_suffix}@variant@ -p /sbin/ldconfig
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
884 %description -n gcc@base_ver@-testresults
885 Results from running the gcc and target library testsuites.
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
901 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64"
902 %define CONFIGURE_TARGET powerpc64-tizen-linux
904 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
905 %define CONFIGURE_TARGET i586-tizen-linux
907 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "aarch64"
908 %define CONFIGURE_TARGET aarch64-tizen-linux
910 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
911 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
913 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
914 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
916 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5tel"
917 %define CONFIGURE_TARGET armv5tel-tizen-linux-gnueabi
920 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
922 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
924 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
926 %define GCCDIST powerpc64-tizen-linux
929 %define GCCDIST sparc64-tizen-linux
932 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
934 %define GCCDIST %{HOST_ARCH}-tizen-linux
939 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
940 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
944 # Versionspecific directories
945 %define versmainlibdir %{libsubdir}
946 %define versmainlibdirbi32 %{libsubdir}/32
947 %define versmainlibdirbi64 %{libsubdir}/64
949 %define versmainlibdirbi32 %{libsubdir}
950 %define versmainlibdirbi64 %{libsubdir}/64
952 %if %{build_primary_64bit}
953 %define versmainlibdirbi %{versmainlibdirbi32}
955 %define versmainlibdirbi %{versmainlibdirbi64}
958 %define mainlibdir %{_libdir}
959 %define mainlibdirbi32 %{_prefix}/lib
960 %define mainlibdirbi64 %{_prefix}/lib64
961 %if %{build_primary_64bit}
962 %define mainlibdirbi %{mainlibdirbi32}
964 %define mainlibdirbi %{mainlibdirbi64}
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\
975 %define biarchlib() %{nil}
977 %if !%{separate_biarch}
978 %define mainlib() %{mainlibdir}/%1\
982 %define biarchlib() %{mainlibdirbi}/%1\
987 %define versmainlib() %{versmainlibdir}/%1\
989 %define versbiarchlib() %{nil}
991 %if !%{separate_biarch}
992 %define versmainlib() %{versmainlibdir}/%1\
993 %{versmainlibdirbi}/%1\
996 %define versbiarchlib() %{versmainlibdirbi}/%1\
1005 %setup -q -n gcc-%{version}
1007 # We are configuring ppc as ppc64 but with switched multilibs. Adjust
1008 # the libstdc++ abi testsuite baseline files accordingly
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/
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
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
1035 mv gcc/BASE-VER gcc/FULL-VER
1037 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
1039 rm -rf obj-%{GCCDIST}
1040 mkdir 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"`
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'`
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'`
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'`
1060 # Replace 2 spaces by one finally
1061 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
1065 languages=$languages,c++
1068 languages=$languages,objc
1070 %if %{build_fortran}
1071 languages=$languages,fortran
1074 languages=$languages,obj-c++
1077 languages=$languages,java
1080 languages=$languages,ada
1083 languages=$languages,go
1087 if test -z "$J"; then
1088 J=$(getconf _NPROCESSORS_CONF)
1091 test 1 -gt "$J" && J=1
1092 JL=$(($(getconf _NPROCESSORS_CONF)*2))
1094 if test "$J" == "0"; then
1097 if test "$JL" == "0"; then
1100 PARALLEL="-j$J -l$JL"
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))
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"
1114 # Work around tail/head -1 changes
1115 export _POSIX2_VERSION=199209
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
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"
1131 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
1133 # --enable-threads=posix \
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"
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" \
1144 --prefix=%{_prefix} \
1145 --infodir=%{_infodir} \
1146 --mandir=%{_mandir} \
1147 --libdir=%{_libdir} \
1148 --libexecdir=%{_libdir} \
1149 --enable-languages=$languages \
1151 --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
1154 --disable-bootstrap \
1155 %if 0%{!?build_libvtv:1}
1159 --with-bugurl="http://bugs.tizen.org/" \
1160 --with-pkgversion="Tizen" \
1161 %if !%{build_fortran}
1162 --disable-libquadmath \
1164 %if !%{build_libjava}
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 \
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}
1185 --with-system-libunwind \
1187 --without-system-libunwind \
1190 %if 0%{?gcc_target_arch:1}
1191 --program-prefix=%{gcc_target_arch}- \
1192 --target=%{gcc_target_arch} \
1195 --with-sysroot=%sysroot \
1197 --with-sysroot=%{_prefix}/%{gcc_target_arch} \
1199 %if 0%{?build_sysroot:1}
1200 --with-build-sysroot=%{build_sysroot} \
1203 --with-build-sysroot=%{sysroot} \
1205 --with-build-sysroot=%{_prefix}/%{gcc_target_arch} \
1208 %if 0%{?canonical_target:1}
1209 --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
1211 %if "%{TARGET_ARCH}" == "spu"
1212 --with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
1216 %if "%{TARGET_ARCH}" == "armv5tel"
1217 --with-arch=armv5te \
1220 --with-abi=aapcs-linux \
1221 --disable-sjlj-exceptions \
1223 %if "%{TARGET_ARCH}" == "armv7l"
1224 --with-arch=armv7-a \
1225 --with-tune=cortex-a8 \
1226 --with-float=softfp \
1229 --disable-sjlj-exceptions \
1231 %if "%{TARGET_ARCH}" == "armv7hl"
1232 --with-arch=armv7-a \
1233 --with-tune=cortex-a9 \
1235 --with-abi=aapcs-linux \
1236 --with-fpu=vfpv3-d16 \
1237 --disable-sjlj-exceptions \
1239 %if "%{TARGET_ARCH}" == "aarch64"
1240 --with-arch=armv8-a \
1241 --disable-sjlj-exceptions \
1243 %if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64"
1244 %if "%{TARGET_ARCH}" == "powerpc"
1245 --with-cpu=default32 \
1247 %if "%{TARGET_ARCH}" == "powerpc64le"
1250 --with-cpu-64=power4 \
1252 --enable-secureplt \
1253 --with-long-double-128 \
1254 %if "%{TARGET_ARCH}" == "powerpc64le"
1255 --disable-multilib \
1258 %if "%{TARGET_ARCH}" == "sparc64"
1259 --with-cpu=ultrasparc \
1260 --with-long-double-128 \
1262 %if "%{TARGET_ARCH}" == "sparc"
1264 --with-long-double-128 \
1266 %if "%{TARGET_ARCH}" == "i586"
1267 --with-arch-32=i586 \
1268 --with-tune=generic \
1270 %if "%{TARGET_ARCH}" == "x86_64"
1271 --with-arch-32=i586 \
1272 --with-tune=generic \
1275 %if "%{TARGET_ARCH}" == "s390"
1276 --with-tune=zEC12 --with-arch=z196 \
1277 --with-long-double-128 \
1278 --enable-decimal-float \
1280 %if "%{TARGET_ARCH}" == "s390x"
1281 --with-tune=zEC12 --with-arch=z196 \
1282 --with-long-double-128 \
1283 --enable-decimal-float \
1285 %if "%{TARGET_ARCH}" == "m68k"
1286 --disable-multilib \
1288 --build=%{GCCDIST} \
1293 %if 0%{?building_libffi:1}
1294 make stage1-bubble $PARALLEL
1295 make all-target-libffi $PARALLEL
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
1302 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1305 %if 0%{?building_libjava:1}
1306 make -C %{GCCDIST}/libstdc++-v3/doc doc-html-doxygen
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
1322 export NO_BRP_CHECK_BYTECODE_VERSION=true
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
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
1340 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1342 %if %{build_fortran}
1343 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1345 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1346 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1348 make install DESTDIR=$RPM_BUILD_ROOT
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
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.*
1364 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
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*
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
1380 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1384 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1386 %if %{build_primary_64bit}
1387 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1389 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1393 # LIBFFI-DELETE-BEGIN
1394 # LIBJAVA-DELETE-BEGIN
1396 # Merge multilib c++config.h to allow omitting the duplicate and
1397 # identical other arch specific headers
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
1416 if ! ( test -f "$file_32" && test -f "$file_64" ); then
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
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
1440 # LIBJAVA-DELETE-END
1442 # move shared libs from versionspecific dir to main libdir
1444 %if 0%{?building_libjava:1}
1445 libgcj libgij libgcj-tools \
1447 %if %{build_fortran}
1449 %ifarch %quadmath_arch
1463 %ifarch %atomic_arch
1475 %ifarch %cilkrts_arch
1489 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1490 mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1492 ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1493 $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
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}/
1499 ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1500 $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1504 # FIXME, tsan and lsan are not multilib
1507 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/libtsan.so
1512 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/liblsan.so
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
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
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
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
1543 ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.%{libgcj_bc_sover}
1545 mv $RPM_BUILD_ROOT%{libsubdir}/pkgconfig $RPM_BUILD_ROOT%{_libdir}/
1548 # LIBJAVA-DELETE-BEGIN
1549 # Move libgcc_s around
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
1555 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1557 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
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
1563 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1565 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
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
1574 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
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}
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
1584 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
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}
1591 # LIBJAVA-DELETE-END
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
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
1607 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1609 # Remove some crap from the .la files:
1610 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
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' \
1618 %if %{build_primary_64bit}
1619 -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1620 -e '/^libdir/s|lib64/\.\./||' \
1622 -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
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/*
1635 # GCC-TESTSUITE-DELETE-BEGIN
1636 # LIBFFI-DELETE-BEGIN
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
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
1653 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1654 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
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 \
1664 -o -name libgcj_bc.a \
1667 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
1668 sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
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
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
1684 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
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
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
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
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
1709 %if %{build_primary_64bit}
1710 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
1712 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
1715 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
1716 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
1718 # gccgo.info isn't properly versioned
1719 rm $RPM_BUILD_ROOT%{_infodir}/gccgo.info*
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}
1732 # For regular build, some info files do not get renamed properly.
1734 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
1736 mv $RPM_BUILD_ROOT%{_infodir}/libitm.info $RPM_BUILD_ROOT%{_infodir}/libitm%{binsuffix}.info
1738 %if %{build_fortran}
1739 %ifarch %quadmath_arch
1740 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
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
1750 %ifnarch %quadmath_arch
1751 rm -vf $RPM_BUILD_ROOT%{_infodir}/libquadmath*.info*
1754 # LIBJAVA-DELETE-BEGIN
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
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
1775 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
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
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
1797 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
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
1806 %defattr(-,root,root)
1808 %dir %{_libdir}/gcc/%{GCCDIST}
1810 %dir %{libsubdir}/include
1811 %dir %{libsubdir}/include-fixed
1813 %if %{build_primary_64bit}
1814 %dir %{libsubdir}/32
1816 %dir %{libsubdir}/64
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
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
1849 %{libsubdir}/include/visintrin.h
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
1864 %{libsubdir}/include/htmintrin.h
1865 %{libsubdir}/include/htmxlintrin.h
1866 %{libsubdir}/include/s390intrin.h
1869 %{libsubdir}/include/ia64intrin.h
1871 %ifarch %arm aarch64
1872 %{libsubdir}/include/arm_neon.h
1875 %{libsubdir}/include/mmintrin.h
1876 %{libsubdir}/include/arm_neon.h
1877 %{libsubdir}/include/unwind-arm-common.h
1878 %{libsubdir}/include/arm_acle.h
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
1925 %{libsubdir}/include/math-68881.h
1927 %ifarch %cilkrts_arch
1928 %{libsubdir}/include/cilk
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
1938 %versmainlib libitm.so
1939 %versmainlib libitm.a
1940 %versmainlib libitm.spec
1942 %ifarch %atomic_arch
1943 %versmainlib libatomic.so
1944 %versmainlib libatomic.a
1947 %versmainlib libasan.so
1948 %versmainlib libasan.a
1949 %versmainlib libasan_preinit.o
1952 %versmainlib libtsan.so
1953 %versmainlib libtsan.a
1955 %ifarch %cilkrts_arch
1956 %versmainlib libcilkrts.so
1957 %versmainlib libcilkrts.a
1958 %versmainlib libcilkrts.spec
1961 %versmainlib liblsan.so
1962 %versmainlib liblsan.a
1965 %versmainlib libubsan.so
1966 %versmainlib libubsan.a
1968 %ifarch %asan_arch %ubsan_arch %tsan_arch %lsan_arch
1969 %versmainlib libsanitizer.spec
1972 %versmainlib libvtv.so
1973 %versmainlib libvtv.a
1975 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
1976 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
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
1989 %versbiarchlib libitm.so
1990 %versbiarchlib libitm.a
1991 %versbiarchlib libitm.spec
1993 %ifarch %atomic_arch
1994 %versbiarchlib libatomic.a
1995 %versbiarchlib libatomic.so
1998 %versbiarchlib libasan.a
1999 %versbiarchlib libasan.so
2000 %versbiarchlib libasan_preinit.o
2003 %versbiarchlib libubsan.a
2004 %versbiarchlib libubsan.so
2006 %ifarch %cilkrts_arch
2007 %versbiarchlib libcilkrts.a
2008 %versbiarchlib libcilkrts.so
2009 %versbiarchlib libcilkrts.spec
2013 %versbiarchlib libtsan.a
2014 %versbiarchlib libtsan.so
2017 %versbiarchlib liblsan.a
2018 %versbiarchlib liblsan.so
2021 %ifarch %asan_arch %ubsan_arch %tsan_arch %lsan_arch
2022 %versbiarchlib libsanitizer.spec
2025 %versbiarchlib libvtv.a
2026 %versbiarchlib libvtv.so
2030 %files locale -f gcc@base_ver@-locale.lang
2032 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale -f libstdc++.lang
2036 %defattr(-,root,root)
2038 %dir %{_libdir}/gcc/%{GCCDIST}
2040 %{_prefix}/bin/g++%{binsuffix}
2041 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
2042 %{libsubdir}/cc1plus
2044 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
2045 %defattr(-,root,root)
2046 %mainlib libstdc++.so.%{libstdcxx_sover}*
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}*
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}
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
2077 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
2078 %defattr(-,root,root)
2079 /%{_lib}/libgcc_s.so.%{libgcc_s}
2081 %if %{build_primary_64bit}
2082 %if !%{separate_bi32}
2083 /lib/libgcc_s.so.%{libgcc_s}
2086 %if !%{separate_bi64}
2087 /lib64/libgcc_s.so.%{libgcc_s}
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}
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}
2105 %files -n libgomp%{libgomp_sover}%{libgomp_suffix}
2106 %defattr(-,root,root)
2107 %mainlib libgomp.so.%{libgomp_sover}*
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}*
2117 %files -n libasan%{libasan_sover}%{libasan_suffix}
2118 %defattr(-,root,root)
2119 %mainlib libasan.so.%{libasan_sover}*
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}*
2130 %files -n liblsan%{liblsan_sover}%{liblsan_suffix}
2131 %defattr(-,root,root)
2132 %mainlib liblsan.so.%{liblsan_sover}*
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}*
2145 %files -n libtsan%{libtsan_sover}%{libtsan_suffix}
2146 %defattr(-,root,root)
2147 %mainlib libtsan.so.%{libtsan_sover}*
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}*
2159 %ifarch %atomic_arch
2160 %files -n libatomic%{libatomic_sover}%{libatomic_suffix}
2161 %defattr(-,root,root)
2162 %mainlib libatomic.so.%{libatomic_sover}*
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}*
2173 %files -n libitm%{libitm_sover}%{libitm_suffix}
2174 %defattr(-,root,root)
2175 %mainlib libitm.so.%{libitm_sover}*
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}*
2185 %ifarch %cilkrts_arch
2186 %files -n libcilkrts%{libcilkrts_sover}%{libcilkrts_suffix}
2187 %defattr(-,root,root)
2188 %mainlib libcilkrts.so.%{libcilkrts_sover}*
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}*
2199 %files -n libubsan%{libubsan_sover}%{libubsan_suffix}
2200 %defattr(-,root,root)
2201 %mainlib libubsan.so.%{libubsan_sover}*
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}*
2212 %files -n libvtv%{libvtv_sover}%{libvtv_suffix}
2213 %defattr(-,root,root)
2214 %mainlib libvtv.so.%{libvtv_sover}*
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}*
2224 %if %{build_fortran}
2226 %defattr(-,root,root)
2227 %dir %{libsubdir}/finclude
2228 %{_prefix}/bin/gfortran%{binsuffix}
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
2242 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
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
2258 %files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
2259 %defattr(-,root,root)
2260 %mainlib libgfortran.so.%{libgfortran_sover}*
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}*
2268 %ifarch %quadmath_arch
2269 %files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
2270 %defattr(-,root,root)
2271 %mainlib libquadmath.so.%{libquadmath_sover}*
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}*
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
2290 %doc %{_infodir}/libitm%{binsuffix}.info*.gz
2292 %if %{build_fortran}
2293 %doc %{_infodir}/gfortran%{binsuffix}.info*.gz
2294 %ifarch %quadmath_arch
2295 %doc %{_infodir}/libquadmath%{binsuffix}.info*.gz
2299 %doc %{_infodir}/gcj%{binsuffix}.info*.gz
2302 %doc %{_infodir}/gnat-style%{binsuffix}.info*gz
2303 %doc %{_infodir}/gnat_rm%{binsuffix}.info*gz
2304 %doc %{_infodir}/gnat_ugn%{binsuffix}.info*gz
2307 %files -n cpp@base_ver@
2308 %defattr(-,root,root)
2310 %dir %{_libdir}/gcc/%{GCCDIST}
2312 %{_prefix}/bin/cpp%{binsuffix}
2315 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
2319 %defattr(-,root,root)
2321 %{libsubdir}/include/objc
2322 %versmainlib libobjc.a
2323 %versmainlib libobjc.so
2325 %if %{separate_biarch}
2326 %files objc%{separate_biarch_suffix}
2327 %defattr(-,root,root)
2328 %versbiarchlib libobjc.a
2329 %versbiarchlib libobjc.so
2332 %files -n libobjc%{libobjc_sover}%{libobjc_suffix}
2333 %defattr(-,root,root)
2334 %mainlib libobjc.so.%{libobjc_sover}*
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}*
2346 %defattr(-,root,root)
2347 %{libsubdir}/cc1objplus
2353 %defattr(-,root,root)
2355 %dir %{_libdir}/gcc/%{GCCDIST}
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
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
2377 %files -n libada@base_ver@
2378 %defattr(-,root,root)
2379 %mainlib libgnarl-*.so
2380 %mainlib libgnat-*.so
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
2389 # LIBJAVA-DELETE-END
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}
2405 %{libsubdir}/jvgenmain
2406 %{libsubdir}/ecj.jar
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
2420 %if %{build_libjava}
2421 %files -n libgcj@base_ver@
2422 %defattr(-,root,root)
2423 %dir %{libsubdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}
2425 %dir %{_libdir}/gcc/%{GCCDIST}
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.*
2435 %versmainlib libgcj.la
2436 %mainlib libgcj.so.*
2437 %mainlib libgij.so.*
2438 %mainlib libgcj-tools.so.*
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
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}*
2450 %mainlib libgcj_bc.so.%{libgcj_bc_sover}*
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
2458 %files -n libgcj@base_ver@-devel
2459 %defattr(-,root,root)
2460 %dir %{_prefix}/include/c++
2462 %dir %{libsubdir}/include
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
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
2484 %versmainlib libgcj.so
2485 %versmainlib libgcj.spec
2486 %versmainlib libgcj-tools.so
2487 %versmainlib libgij.so
2488 %versmainlib libgcj_bc.so
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
2522 %if 0%{?building_libjava:1}
2523 %files -n libstdc++@base_ver@-doc
2524 %defattr(-,root,root)
2525 %doc libstdc++-v3/doc/html
2530 %if 0%{?building_libffi:1}
2531 %files -n libffi%{libffi_sover}%{libffi_suffix}
2532 %defattr(-,root,root)
2533 %mainlib libffi.so.%{libffi_sover}*
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}*
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
2546 %files -n libffi@base_ver@-devel
2547 %defattr(-,root,root)
2548 %{_prefix}/include/ffi.h
2549 %{_prefix}/include/ffitarget.h
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
2559 %if %{separate_biarch}
2560 %files -n libffi@base_ver@-devel%{separate_biarch_suffix}
2561 %defattr(-,root,root)
2562 %biarchlib libffi.so
2570 %{_prefix}/bin/gccgo%{binsuffix}
2572 %versmainlib libgo.a
2573 %versmainlib libgo.so
2574 %versmainlib libgobegin.a
2576 %dir %mainlibdir/go/%{gcc_dir_version}
2577 %mainlibdir/go/%{gcc_dir_version}/%{GCCDIST}
2578 %doc %{_mandir}/man1/gccgo%{binsuffix}.1.gz
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}
2590 %files -n libgo%{libgo_sover}%{libgo_suffix}
2591 %defattr(-,root,root)
2592 %mainlib libgo.so.%{libgo_sover}*
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}*
2600 # GCC-TESTSUITE-DELETE-END
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