3 # Ada currently fails to build on a few platforms, enable it only
5 # Note that AdaCore only supports %ix86, x86_64 and ia64
7 %define build_ada !0%{?building_libjava:1}%{?building_libffi:1}
12 %define quadmath_arch %ix86 x86_64
14 # We don't want to build java
16 %define build_libjava 0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
19 %define build_fortran 1
21 %define build_objcp !0%{?building_libjava:1}%{?building_libffi:1}
22 %define build_with_mudflap 0
33 # For optional compilers only build C, C++ and Fortran
34 ##%if 0%{?build_optional_compiler:1}%{?build_optional_compiler_languages:1}
35 %if 0%{!?building_libffi:1}
38 %define build_libjava 0
47 BuildRequires: gettext-tools
48 BuildRequires: makeinfo
49 BuildRequires: glibc-devel-32bit
50 BuildRequires: mpc-devel
51 BuildRequires: mpfr-devel
53 BuildRequires: texinfo
54 BuildRequires: zlib-devel
55 %ifarch %ix86 x86_64 %arm
56 BuildRequires: cloog-devel
57 BuildRequires: ppl-devel
60 %define hostsuffix -4.8
61 BuildRequires: gcc48-ada
63 %if 0%{?building_libjava:1}%{?building_testsuite:1}
64 BuildRequires: fastjar
67 %if 0%{?building_libffi:1}
68 BuildRequires: pkg-config
71 BuildRequires: dejagnu
76 # Define version number of libgcc_s
80 %define separate_bi32 0
81 %define separate_bi64 0
83 %define separate_bi32 1
86 # Define two macros to trigger -32bit or -64bit package variants
87 %define separate_biarch 0
89 %define separate_biarch 1
90 %define separate_biarch_suffix -32bit
93 %define separate_biarch 1
94 %define separate_biarch_suffix -64bit
98 # 64-bit is primary build target
99 %define build_primary_64bit 1
101 %define build_primary_64bit 0
104 %define biarch_libjava 0
107 %define biarch_targets x86_64
109 URL: http://gcc.gnu.org/
112 %define gcc_version %(echo %version | sed 's/_.*//')
113 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
114 %define snapshot_date %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/_/-/')
115 %define binsuffix -4.8
118 %if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
119 Requires: binutils glibc-devel
120 Requires: cpp48 = %{version}-%{release}
121 %if 0%{!?build_optional_compiler:1}
122 Requires: libgcc%{libgcc_s} >= %{version}-%{release}
123 Requires: libgomp1 >= %{version}-%{release}
124 %if %{build_with_mudflap}
125 Requires: libmudflap0 >= %{version}-%{release}
126 Requires: libmudflapth0 >= %{version}-%{release}
129 Requires: libgcc48 = %{version}-%{release}
130 Requires: libgomp48 = %{version}-%{release}
135 BuildRoot: %{_tmppath}/%{name}-%{version}-build
136 #Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2
137 Source: gcc-%{version}.tar.bz2
140 Source2: libgcj48-rpmlintrc
141 Source3: gcc48-rpmlintrc
143 Source6: baselibs.conf
144 # Patches auto-generated by git-buildpackage:
145 Patch0: 0001-dir-version.patch
146 Patch1: 0002-textdomain.patch
147 Patch2: 0003-rename-info-files.patch
148 Patch3: 0004-ARM-linker.patch
150 # GCC-TESTSUITE-DELETE-BEGIN
151 # LIBFFI-DELETE-BEGIN
152 # LIBJAVA-DELETE-BEGIN
153 Group: Development/Toolchain
154 Summary: The GNU C Compiler and Support Files
158 Core package for the GNU Compiler Collection, including the C language
161 Language frontends other than C are split to different sub-packages,
162 namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
168 %package -n gcc48-32bit
169 Summary: The GNU C Compiler 32bit support
170 Group: Development/Toolchain
171 Requires: gcc48 = %{version}-%{release}
172 %if 0%{!?build_optional_compiler:1}
173 Requires: libgcc%{libgcc_s}-32bit >= %{version}-%{release}
174 Requires: libgomp1-32bit >= %{version}-%{release}
175 %if %{build_with_mudflap}
176 Requires: libmudflap0-32bit >= %{version}-%{release}
177 Requires: libmudflapth0-32bit >= %{version}-%{release}
180 Requires: libgcc48-32bit = %{version}-%{release}
181 Requires: libgomp48-32bit = %{version}-%{release}
183 Requires: glibc-devel-32bit
185 %description -n gcc48-32bit
186 This package contains 32bit support for the GNU Compiler Collection.
188 %package -n gcc48-64bit
189 Summary: The GNU C Compiler 64bit support
190 Group: Development/Toolchain
191 Requires: gcc48 = %{version}-%{release}
192 %if 0%{!?build_optional_compiler:1}
193 Requires: libgcc%{libgcc_s}-64bit >= %{version}-%{release}
194 Requires: libgomp1-64bit >= %{version}-%{release}
195 %if %{build_with_mudflap}
196 Requires: libmudflap0-64bit >= %{version}-%{release}
197 Requires: libmudflapth0-64bit >= %{version}-%{release}
200 Requires: libgcc48-64bit = %{version}-%{release}
201 Requires: libgomp48-64bit = %{version}-%{release}
203 Requires: glibc-devel-64bit
205 %description -n gcc48-64bit
206 This package contains 64bit support for the GNU Compiler Collection.
210 Summary: Locale Data for the GNU Compiler Collection
212 Group: Development/Toolchain
213 Requires: gcc48 = %{version}-%{release}
216 Locale data for the GNU Compiler Collection (GCC) to give error message
217 in the current locale.
221 Summary: The GNU C++ Compiler
223 Group: Development/Toolchain
224 Requires: gcc48 = %{version}-%{release}
225 Requires: libstdc++48-devel = %{version}-%{release}
228 This package contains the GNU compiler for C++.
232 %package -n libstdc++48-devel
233 Summary: Include Files and Libraries mandatory for Development
234 License: GPL-3.0-with-GCC-exception
235 Group: Development/Toolchain
236 %if 0%{!?build_optional_compiler:1}
237 Requires: libstdc++6 >= %{version}-%{release}
239 Requires: libstdc++48 = %{version}-%{release}
241 Requires: glibc-devel
243 %description -n libstdc++48-devel
244 This package contains all the headers and libraries of the standard C++
245 library. It is needed for compiling C++ code.
249 %package -n libstdc++48-devel-32bit
250 Summary: Include Files and Libraries mandatory for Development
251 License: GPL-3.0-with-GCC-exception
252 Group: Development/Toolchain
253 %if 0%{!?build_optional_compiler:1}
254 Requires: libstdc++6-32bit >= %{version}-%{release}
256 Requires: libstdc++48-32bit = %{version}-%{release}
258 Requires: glibc-devel-32bit
260 %description -n libstdc++48-devel-32bit
261 This package contains all the headers and libraries of the standard C++
262 library. It is needed for compiling C++ code.
266 %package -n libstdc++48-devel-64bit
267 Summary: Include Files and Libraries mandatory for Development
268 License: GPL-3.0-with-GCC-exception
269 Group: Development/Toolchain
270 %if 0%{!?build_optional_compiler:1}
271 Requires: libstdc++6-64bit >= %{version}-%{release}
273 Requires: libstdc++48-64bit = %{version}-%{release}
275 Requires: glibc-devel-64bit
277 %description -n libstdc++48-devel-64bit
278 This package contains all the headers and libraries of the standard C++
279 library. It is needed for compiling C++ code.
282 %package -n libstdc++48-doc
283 Summary: Documentation for the GNU C++ standard library
288 %description -n libstdc++48-doc
289 Extensive HTML documentation for the GNU C++ standard library.
295 Summary: C compiler runtime library
296 License: GPL-3.0-with-GCC-exception
297 Group: Base/Libraries
298 %if 0%{!?build_optional_compiler:1}
299 Provides: libgcc%{libgcc_s} = %{version}-%{release}
300 Conflicts: libgcc%{libgcc_s} < %{version}-%{release}
305 %description -n libgcc48
306 Libgcc is needed for dynamically linked C programs.
316 %package -n libgcc48-32bit
317 Summary: C compiler runtime library
318 License: GPL-3.0-with-GCC-exception
319 Group: Base/Libraries
320 %if 0%{!?build_optional_compiler:1}
321 Provides: libgcc%{libgcc_s}-32bit = %{version}-%{release}
322 Conflicts: libgcc%{libgcc_s}-32bit < %{version}-%{release}
327 %description -n libgcc48-32bit
328 Libgcc is needed for dynamically linked C programs.
330 %post -n libgcc48-32bit
333 %postun -n libgcc48-32bit
338 %package -n libgcc48-64bit
339 Summary: C compiler runtime library
340 License: GPL-3.0-with-GCC-exception
341 Group: Base/Libraries
342 %if 0%{!?build_optional_compiler:1}
343 Provides: libgcc%{libgcc_s}-64bit = %{version}-%{release}
344 Conflicts: libgcc%{libgcc_s}-64bit < %{version}-%{release}
349 %description -n libgcc48-64bit
350 Libgcc is needed for dynamically linked C programs.
352 %post -n libgcc48-64bit
355 %postun -n libgcc48-64bit
361 %package -n libgomp48
362 Summary: The GNU compiler collection OpenMP runtime library
363 License: GPL-3.0-with-GCC-exception
364 Group: Base/Libraries
365 %if 0%{!?build_optional_compiler:1}
366 Provides: libgomp1 = %{version}-%{release}
367 Conflicts: libgomp1 < %{version}-%{release}
372 %description -n libgomp48
373 This is the OpenMP runtime library needed by OpenMP enabled programs
374 that were built with the -fopenmp compiler option and by programs that
375 were auto-parallelized via the -ftree-parallelize-loops compiler
387 %package -n libgomp48-32bit
388 Summary: The GNU compiler collection OpenMP runtime library
389 License: GPL-3.0-with-GCC-exception
390 Group: Base/Libraries
391 %if 0%{!?build_optional_compiler:1}
392 Provides: libgomp1-32bit = %{version}-%{release}
393 Conflicts: libgomp1-32bit < %{version}-%{release}
398 %description -n libgomp48-32bit
399 This is the OpenMP runtime library needed by OpenMP enabled programs
400 that were built with the -fopenmp compiler option and by programs that
401 were auto-parallelized via the -ftree-parallelize-loops compiler
405 %post -n libgomp48-32bit
408 %postun -n libgomp48-32bit
413 %package -n libgomp48-64bit
414 Summary: The GNU compiler collection OpenMP runtime library
415 License: GPL-3.0-with-GCC-exception
416 Group: Base/Libraries
417 %if 0%{!?build_optional_compiler:1}
418 Provides: libgomp1-64bit = %{version}-%{release}
419 Conflicts: libgomp1-64bit < %{version}-%{release}
424 %description -n libgomp48-64bit
425 This is the OpenMP runtime library needed by OpenMP enabled programs
426 that were built with the -fopenmp compiler option and by programs that
427 were auto-parallelized via the -ftree-parallelize-loops compiler
431 %post -n libgomp48-64bit
434 %postun -n libgomp48-64bit
440 %package -n libstdc++48
441 Summary: The standard C++ shared library
442 License: GPL-3.0-with-GCC-exception
443 Group: Base/Libraries
444 %if 0%{!?build_optional_compiler:1}
445 Provides: libstdc++6 = %{version}-%{release}
446 Conflicts: libstdc++6 < %{version}-%{release}
451 %description -n libstdc++48
452 The standard C++ library, needed for dynamically linked C++ programs.
458 %postun -n libstdc++48
463 %package -n libstdc++48-32bit
464 Summary: The standard C++ shared library
465 License: GPL-3.0-with-GCC-exception
466 Group: Base/Libraries
467 %if 0%{!?build_optional_compiler:1}
468 Provides: libstdc++6-32bit = %{version}-%{release}
469 Conflicts: libstdc++6-32bit < %{version}-%{release}
474 %description -n libstdc++48-32bit
475 The standard C++ library, needed for dynamically linked C++ programs.
478 %post -n libstdc++48-32bit
481 %postun -n libstdc++48-32bit
486 %package -n libstdc++48-64bit
487 Summary: The standard C++ shared library
488 License: GPL-3.0-with-GCC-exception
489 Group: Base/Libraries
490 %if 0%{!?build_optional_compiler:1}
491 Provides: libstdc++6-64bit = %{version}-%{release}
492 Conflicts: libstdc++6-64bit < %{version}-%{release}
497 %description -n libstdc++48-64bit
498 The standard C++ library, needed for dynamically linked C++ programs.
501 %post -n libstdc++48-64bit
504 %postun -n libstdc++48-64bit
510 Summary: Documentation for the GNU compiler collection
516 GNU info-pages for the GNU compiler collection covering both user-level
517 and internals documentation.
523 Summary: GNU Objective C Compiler
525 Group: Development/Toolchain
526 Requires: gcc48 = %{version}-%{release}
527 Requires: libobjc2 >= %{version}-%{release}
530 This package contains the GNU Objective C compiler. Objective C is an
531 object oriented language, created by Next Inc. and used in their
532 Nextstep OS. The source code is available in the gcc package.
537 Summary: GNU Objective C Compiler
539 Group: Development/Toolchain
540 Requires: gcc48 = %{version}-%{release}
541 Requires: libobjc2-32bit >= %{version}-%{release}
543 %description objc-32bit
544 This package contains the GNU Objective C compiler. Objective C is an
545 object oriented language, created by Next Inc. and used in their
546 Nextstep OS. The source code is available in the gcc package.
551 Summary: GNU Objective C Compiler
553 Group: Development/Toolchain
554 Requires: gcc48 = %{version}-%{release}
555 Requires: libobjc2-64bit >= %{version}-%{release}
557 %description objc-64bit
558 This package contains the GNU Objective C compiler. Objective C is an
559 object oriented language, created by Next Inc. and used in their
560 Nextstep OS. The source code is available in the gcc package.
565 %package -n libobjc48
566 Summary: Library for the GNU Objective C Compiler
567 License: GPL-3.0-with-GCC-exception
568 Group: Development/Libraries/Other
569 Provides: libobjc2 = %{version}-%{release}
570 Conflicts: libobjc2 < %{version}-%{release}
572 %description -n libobjc48
573 The library for the GNU Objective C compiler.
583 %package -n libobjc48-32bit
584 Summary: Library for the GNU Objective C Compiler
585 License: GPL-3.0-with-GCC-exception
586 Group: Development/Libraries/Other
587 Provides: libobjc2-32bit = %{version}-%{release}
588 Conflicts: libobjc2-32bit < %{version}-%{release}
590 %description -n libobjc48-32bit
591 The library for the GNU Objective C compiler.
593 %post -n libobjc48-32bit
596 %postun -n libobjc48-32bit
601 %package -n libobjc48-64bit
602 Summary: Library for the GNU Objective C Compiler
603 License: GPL-3.0-with-GCC-exception
604 Group: Development/Libraries/Other
605 Provides: libobjc2-64bit = %{version}-%{release}
606 Conflicts: libobjc2-64bit < %{version}-%{release}
608 %description -n libobjc48-64bit
609 The library for the GNU Objective C compiler.
611 %post -n libobjc48-64bit
614 %postun -n libobjc48-64bit
619 Summary: GNU Objective C++ Compiler
621 Group: Development/Toolchain
622 Requires: gcc48-objc = %{version}-%{release}
623 Requires: gcc48-c++ = %{version}-%{release}
626 This package contains the GNU Objective C++ compiler. Objective C++ is an
627 object oriented language, created by Next Inc. and used in their
628 Nextstep OS. The source code is available in the gcc package.
632 Summary: The GCC Preprocessor
634 Group: Development/Toolchain
636 %description -n cpp48
637 This Package contains just the preprocessor that is used by the X11
644 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
646 Group: Development/Toolchain
647 Requires: gcc48 = %{version}-%{release}
648 Requires: libada48 = %{version}-%{release}
651 This package contains an Ada95 compiler and associated development
652 tools based on the GNU GCC technology. Ada95 is the object oriented
653 successor of the Ada83 language. To build this package from source you
654 must have installed a binary version to bootstrap the compiler.
659 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
661 Group: Development/Toolchain
662 Requires: gcc48-32bit = %{version}-%{release}
663 Requires: libada48-32bit = %{version}-%{release}
665 %description ada-32bit
666 This package contains an Ada95 compiler and associated development
667 tools based on the GNU GCC technology. Ada95 is the object oriented
668 successor of the Ada83 language. To build this package from source you
669 must have installed a binary version to bootstrap the compiler.
674 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
676 Group: Development/Toolchain
677 Requires: gcc48-64bit = %{version}-%{release}
678 Requires: libada48-64bit = %{version}-%{release}
680 %description ada-64bit
681 This package contains an Ada95 compiler and associated development
682 tools based on the GNU GCC technology. Ada95 is the object oriented
683 successor of the Ada83 language. To build this package from source you
684 must have installed a binary version to bootstrap the compiler.
690 Summary: GNU Ada Runtime Libraries
691 License: GPL-3.0-with-GCC-exception
692 Group: System/Libraries
693 Provides: libgnarl-4_8 = %{version}-%{release}
694 Conflicts: libgnarl-4_8 < %{version}-%{release}
695 Provides: libgnat-4_8 = %{version}-%{release}
696 Conflicts: libgnat-4_8 < %{version}-%{release}
698 %description -n libada48
699 This package contains the shared libraries required to run programs
700 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
701 shared libraries. It also contains the shared libraries for the
702 Implementation of the Ada Semantic Interface Specification (ASIS), the
703 implementation of Distributed Systems Programming (GLADE) and the Posix
704 1003.5 Binding (Florist).
714 %package -n libada48-32bit
715 Summary: GNU Ada Runtime Libraries
716 License: GPL-3.0-with-GCC-exception
717 Group: System/Libraries
718 Provides: libgnarl-4_8-32bit = %{version}-%{release}
719 Conflicts: libgnarl-4_8-32bit < %{version}-%{release}
720 Provides: libgnat-4_8-32bit = %{version}-%{release}
721 Conflicts: libgnat-4_8-32bit < %{version}-%{release}
723 %description -n libada48-32bit
724 This package contains the shared libraries required to run programs
725 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
726 shared libraries. It also contains the shared libraries for the
727 Implementation of the Ada Semantic Interface Specification (ASIS), the
728 implementation of Distributed Systems Programming (GLADE) and the Posix
729 1003.5 Binding (Florist).
731 %post -n libada48-32bit
734 %postun -n libada48-32bit
739 %package -n libada48-64bit
740 Summary: GNU Ada Runtime Libraries
741 License: GPL-3.0-with-GCC-exception
742 Group: System/Libraries
743 Provides: libgnarl-4_8-64bit = %{version}-%{release}
744 Conflicts: libgnarl-4_8-64bit < %{version}-%{release}
745 Provides: libgnat-4_8-64bit = %{version}-%{release}
746 Conflicts: libgnat-4_8-64bit < %{version}-%{release}
748 %description -n libada48-64bit
749 This package contains the shared libraries required to run programs
750 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
751 shared libraries. It also contains the shared libraries for the
752 Implementation of the Ada Semantic Interface Specification (ASIS), the
753 implementation of Distributed Systems Programming (GLADE) and the Posix
754 1003.5 Binding (Florist).
756 %post -n libada48-64bit
759 %postun -n libada48-64bit
766 Summary: The GNU Fortran Compiler and Support Files
768 Group: Development/Languages/Fortran
769 Requires: gcc48 = %{version}-%{release}
770 %if 0%{!?build_optional_compiler:1}
771 Requires: libgfortran3 >= %{version}-%{release}
772 %ifarch %quadmath_arch
773 Requires: libquadmath0 >= %{version}-%{release}
776 Requires: libgfortran48 = %{version}-%{release}
777 %ifarch %quadmath_arch
778 Requires: libquadmath48 = %{version}-%{release}
783 This is the Fortran compiler of the GNU Compiler Collection (GCC).
787 %package fortran-32bit
788 Summary: The GNU Fortran Compiler and Support Files
790 Group: Development/Languages/Fortran
791 Requires: gcc48 = %{version}-%{release}
792 %if 0%{!?build_optional_compiler:1}
793 Requires: libgfortran3-32bit >= %{version}-%{release}
794 %ifarch %quadmath_arch
795 Requires: libquadmath0-32bit >= %{version}-%{release}
798 Requires: libgfortran48-32bit = %{version}-%{release}
799 %ifarch %quadmath_arch
800 Requires: libquadmath48-32bit = %{version}-%{release}
804 %description fortran-32bit
805 This is the Fortran compiler of the GNU Compiler Collection (GCC).
809 %package fortran-64bit
810 Summary: The GNU Fortran Compiler and Support Files
812 Group: Development/Languages/Fortran
813 Requires: gcc48 = %{version}-%{release}
814 %if 0%{!?build_optional_compiler:1}
815 Requires: libgfortran3-64bit >= %{version}-%{release}
816 %ifarch %quadmath_arch
817 Requires: libquadmath0-64bit >= %{version}-%{release}
820 Requires: libgfortran48-64bit = %{version}-%{release}
821 %ifarch %quadmath_arch
822 Requires: libquadmath48-64bit = %{version}-%{release}
826 %description fortran-64bit
827 This is the Fortran compiler of the GNU Compiler Collection (GCC).
832 %package -n libgfortran48
833 Summary: The GNU Fortran Compiler Runtime Library
834 License: GPL-3.0-with-GCC-exception
835 Group: Development/Languages/Fortran
836 %if 0%{!?build_optional_compiler:1}
837 Provides: libgfortran3 = %{version}-%{release}
838 Conflicts: libgfortran3 < %{version}-%{release}
839 %ifarch %quadmath_arch
840 Requires: libquadmath0 >= %{version}-%{release}
843 %ifarch %quadmath_arch
844 Requires: libquadmath48 = %{version}-%{release}
849 %description -n libgfortran48
850 The runtime library needed to run programs compiled with the Fortran compiler
851 of the GNU Compiler Collection (GCC).
853 %post -n libgfortran48
856 %postun -n libgfortran48
861 %package -n libgfortran48-32bit
862 Summary: The GNU Fortran Compiler Runtime Library
863 License: GPL-3.0-with-GCC-exception
864 Group: Development/Languages/Fortran
865 %if 0%{!?build_optional_compiler:1}
866 Provides: libgfortran3-32bit = %{version}-%{release}
867 Conflicts: libgfortran3-32bit < %{version}-%{release}
868 %ifarch %quadmath_arch
869 Requires: libquadmath0-32bit >= %{version}-%{release}
872 %ifarch %quadmath_arch
873 Requires: libquadmath48-32bit = %{version}-%{release}
878 %description -n libgfortran48-32bit
879 The runtime library needed to run programs compiled with the Fortran compiler
880 of the GNU Compiler Collection (GCC).
882 %post -n libgfortran48-32bit
885 %postun -n libgfortran48-32bit
890 %package -n libgfortran48-64bit
891 Summary: The GNU Fortran Compiler Runtime Library
892 License: GPL-3.0-with-GCC-exception
893 Group: Development/Languages/Fortran
894 %if 0%{!?build_optional_compiler:1}
895 Provides: libgfortran3-64bit = %{version}-%{release}
896 Conflicts: libgfortran3-64bit < %{version}-%{release}
897 %ifarch %quadmath_arch
898 Requires: libquadmath0-64bit >= %{version}-%{release}
901 %ifarch %quadmath_arch
902 Requires: libquadmath48-64bit = %{version}-%{release}
907 %description -n libgfortran48-64bit
908 The runtime library needed to run programs compiled with the Fortran compiler
909 of the GNU Compiler Collection (GCC).
911 %post -n libgfortran48-64bit
914 %postun -n libgfortran48-64bit
920 %package -n libquadmath48
921 Summary: The GNU Fortran Compiler Quadmath Runtime Library
923 Group: Development/Languages/Fortran
924 %if 0%{!?build_optional_compiler:1}
925 Provides: libquadmath0 = %{version}-%{release}
926 Conflicts: libquadmath0 < %{version}-%{release}
931 %description -n libquadmath48
932 The runtime library needed to run programs compiled with the Fortran compiler
933 of the GNU Compiler Collection (GCC) and quadruple precision floating point
936 %post -n libquadmath48
939 %postun -n libquadmath48
944 %package -n libquadmath48-32bit
945 Summary: The GNU Fortran Compiler Quadmath Runtime Library
947 Group: Development/Languages/Fortran
948 %if 0%{!?build_optional_compiler:1}
949 Provides: libquadmath0-32bit = %{version}-%{release}
950 Conflicts: libquadmath0-32bit < %{version}-%{release}
955 %description -n libquadmath48-32bit
956 The runtime library needed to run programs compiled with the Fortran compiler
957 of the GNU Compiler Collection (GCC) and quadruple precision floating point
960 %post -n libquadmath48-32bit
963 %postun -n libquadmath48-32bit
968 %package -n libquadmath48-64bit
969 Summary: The GNU Fortran Compiler Quadmath Runtime Library
971 Group: Development/Languages/Fortran
972 %if 0%{!?build_optional_compiler:1}
973 Provides: libquadmath0-64bit = %{version}-%{release}
974 Conflicts: libquadmath0-64bit < %{version}-%{release}
979 %description -n libquadmath48-64bit
980 The runtime library needed to run programs compiled with the Fortran compiler
981 of the GNU Compiler Collection (GCC) and quadruple precision floating point
984 %post -n libquadmath48-64bit
987 %postun -n libquadmath48-64bit
993 %package -n libmudflap48
994 Summary: The Mudflap Extension Runtime Library
995 License: GPL-3.0-with-GCC-exception
996 Group: Development/Toolchain
997 Provides: libmudflap0 = %{version}-%{release}
998 Conflicts: libmudflap0 < %{version}-%{release}
999 Provides: libmudflapth0 = %{version}-%{release}
1000 Conflicts: libmudflapth0 < %{version}-%{release}
1002 %description -n libmudflap48
1003 This is the Mudflap Extension Runtime Library.
1005 %post -n libmudflap48
1008 %postun -n libmudflap48
1013 %package -n libmudflap48-32bit
1014 Summary: The Mudflap Extension Runtime Library
1015 License: GPL-3.0-with-GCC-exception
1016 Group: Development/Toolchain
1017 Provides: libmudflap0-32bit = %{version}-%{release}
1018 Conflicts: libmudflap0-32bit < %{version}-%{release}
1019 Provides: libmudflapth0-32bit = %{version}-%{release}
1020 Conflicts: libmudflapth0-32bit < %{version}-%{release}
1022 %description -n libmudflap48-32bit
1023 This is the Mudflap Extension Runtime Library.
1025 %post -n libmudflap48-32bit
1028 %postun -n libmudflap48-32bit
1033 %package -n libmudflap48-64bit
1034 Summary: The Mudflap Extension Runtime Library
1035 License: GPL-3.0-with-GCC-exception
1036 Group: Development/Toolchain
1037 Provides: libmudflap0-64bit = %{version}-%{release}
1038 Conflicts: libmudflap0-64bit < %{version}-%{release}
1039 Provides: libmudflapth0-64bit = %{version}-%{release}
1040 Conflicts: libmudflapth0-64bit < %{version}-%{release}
1042 %description -n libmudflap48-64bit
1043 This is the Mudflap Extension Runtime Library.
1045 %post -n libmudflap48-64bit
1048 %postun -n libmudflap48-64bit
1053 %package -n libgcj48
1054 # LIBJAVA-DELETE-END
1055 Summary: Java Runtime Library for gcc
1056 License: GPL-2.0-with-classpath-exception
1057 Group: System/Libraries
1058 %define gcj_sover 13
1059 Provides: libgcj%{gcj_sover} = %{version}-%{release}
1060 Conflicts: libgcj%{gcj_sover} < %{version}-%{release}
1061 Provides: libgij%{gcj_sover} = %{version}-%{release}
1062 Conflicts: libgij%{gcj_sover} < %{version}-%{release}
1063 Provides: libgcj-tools%{gcj_sover} = %{version}-%{release}
1064 Conflicts: libgcj-tools%{gcj_sover} < %{version}-%{release}
1066 %description -n libgcj48
1067 This library is needed if you want to use the GNU Java compiler, gcj.
1068 Source code for this package is in gcc.
1077 %package -n gcc48-java
1078 Summary: The GNU Java Compiler
1080 Group: Development/Languages
1081 Requires: gcc48 = %{version}
1082 Requires: libgcj48-devel = %{version}-%{release}
1084 %description -n gcc48-java
1085 The Java compiler from the GCC-tools-suite.
1088 %package -n libgcj_bc48
1089 Summary: Fake library for BC-ABI compatibility.
1090 License: GPL-2.0-with-classpath-exception
1091 Group: Development/Libraries
1092 Provides: libgcj_bc1 = %{version}-%{release}
1093 Conflicts: libgcj_bc1 < %{version}-%{release}
1094 # libgcj_bc is special in that it just contains a symlink to
1095 # a proper libgcj version. So require that library and add
1096 # provides for the shlib version as created at link time
1097 Requires: libgcj%{gcj_sover}
1099 Provides: libgcj_bc.so.1()(64bit)
1101 Provides: libgcj_bc.so.1
1105 %description -n libgcj_bc48
1106 A fake library that is used at link time only. It ensures that
1107 binaries built with the BC-ABI link against a constant SONAME.
1108 This way, BC-ABI binaries continue to work if the SONAME underlying
1112 %package -n libgcj48-jar
1113 Summary: Java runtime library (jar files).
1114 License: GPL-2.0-with-classpath-exception
1115 Group: Development/Libraries/Java
1117 %description -n libgcj48-jar
1118 These are the jar files that go along with the gcj front end to gcc.
1121 %package -n libgcj48-devel
1122 Summary: Include Files and Libraries mandatory for Development.
1123 License: GPL-2.0-with-classpath-exception
1124 Group: Development/Libraries
1125 Requires: libstdc++48-devel = %{version}
1126 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
1127 Requires: libgcj_bc1 >= %{version}-%{release}
1128 Requires: libgcj48-jar = %{version}-%{release}
1129 Requires: gtk2-devel
1130 Requires: libart_lgpl-devel
1131 Requires: glibc-devel
1132 Requires: zlib-devel
1134 %description -n libgcj48-devel
1135 This package contains all necessary include files and libraries needed
1136 to develop applications that require these.
1139 %package -n gcc48-gij
1140 Summary: Java Bytecode Interpreter for gcc
1141 License: GPL-2.0-with-classpath-exception
1142 Group: Development/Libraries
1143 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
1145 %description -n gcc48-gij
1146 This package contains the java bytecode interpreter gij and related tools.
1151 %package -n libffi48
1152 Summary: Foreign Function Interface library
1153 License: BSD-3-Clause
1154 Group: Base/Libraries
1155 Provides: g-wrap:/usr/lib/libffi.so.4
1156 Provides: libffi4 = %{version}-%{release}
1157 Conflicts: libffi4 < %{version}-%{release}
1159 %description -n libffi48
1160 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.
1170 %package -n libffi48-32bit
1171 Summary: Foreign Function Interface library
1172 License: BSD-3-Clause
1173 Group: Base/Libraries
1174 Provides: g-wrap:/usr/lib/libffi.so.4
1175 Provides: libffi4-32bit = %{version}-%{release}
1176 Conflicts: libffi4-32bit < %{version}-%{release}
1178 %description -n libffi48-32bit
1179 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.
1181 %post -n libffi48-32bit
1184 %postun -n libffi48-32bit
1189 %package -n libffi48-64bit
1190 Summary: Foreign Function Interface library
1191 License: BSD-3-Clause
1192 Group: Base/Libraries
1193 Provides: g-wrap:/usr/lib/libffi.so.4
1194 Provides: libffi4-64bit = %{version}-%{release}
1195 Conflicts: libffi4-64bit < %{version}-%{release}
1197 %description -n libffi48-64bit
1198 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.
1200 %post -n libffi48-64bit
1203 %postun -n libffi48-64bit
1209 %package -n libffi48-devel
1210 Summary: Foreign Function Interface library development files
1211 License: BSD 3-Clause
1212 Group: Development/Toolchain
1213 Requires: libffi4 >= %{version}-%{release}
1214 Provides: libffi-devel = %{version}-%{release}
1215 Conflicts: libffi-devel < %{version}-%{release}
1217 %description -n libffi48-devel
1218 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.
1222 %package -n libffi48-devel-32bit
1223 Summary: Foreign Function Interface library development files
1224 License: BSD 3-Clause
1225 Group: Development/Toolchain
1226 Requires: libffi4-32bit >= %{version}-%{release}
1227 Provides: libffi-devel-32bit = %{version}-%{release}
1228 Conflicts: libffi-devel-32bit < %{version}-%{release}
1230 %description -n libffi48-devel-32bit
1231 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.
1235 %package -n libffi48-devel-64bit
1236 Summary: Foreign Function Interface library development files
1237 License: BSD 3-Clause
1238 Group: Development/Toolchain
1239 Requires: libffi4-64bit >= %{version}-%{release}
1240 Provides: libffi-devel-64bit = %{version}-%{release}
1241 Conflicts: libffi-devel-64bit < %{version}-%{release}
1243 %description -n libffi48-devel-64bit
1244 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.
1247 %package -n gcc48-testresults
1248 # GCC-TESTSUITE-DELETE-END
1249 Summary: Testsuite results
1250 License: Public-Domain
1251 Group: Development/Toolchain
1253 %description -n gcc48-testresults
1254 Results from running the gcc and target library testsuites.
1259 # Define the canonical target and host architecture
1260 # %gcc_target_arch is supposed to be the full target triple
1261 # %TARGET_ARCH is the canonicalized CPU part
1262 # %CONFIGURE_TARGET is the target triple used for --target=
1263 %if 0%{?gcc_target_arch:1}
1264 %define CONFIGURE_TARGET %{gcc_target_arch}
1265 %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/;")
1266 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
1267 %define CONFIGURE_TARGET i586-tizen-linux
1269 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
1270 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
1272 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
1273 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
1275 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7el"
1276 %define CONFIGURE_TARGET armv7el-tizen-linux-gnueabi
1278 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el"
1279 %define CONFIGURE_TARGET armv5el-tizen-linux-gnueabi
1282 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1284 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1286 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
1289 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
1291 %define GCCDIST %{HOST_ARCH}-tizen-linux
1294 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
1295 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
1299 # Versionspecific directories
1300 %define versmainlibdir %{libsubdir}
1301 %define versmainlibdirbi32 %{libsubdir}/32
1302 %define versmainlibdirbi64 %{libsubdir}/64
1303 %if %{build_primary_64bit}
1304 %define versmainlibdirbi %{versmainlibdirbi32}
1306 %define versmainlibdirbi %{versmainlibdirbi64}
1309 %if 0%{?build_optional_compiler:1}
1310 %define mainlibdir %{versmainlibdir}
1311 %define mainlibdirbi32 %{versmainlibdirbi32}
1312 %define mainlibdirbi64 %{versmainlibdirbi64}
1313 %define noflibdir %{versnoflibdir}
1314 %define mainlibdirbi %{versmainlibdirbi}
1316 %define mainlibdir %{_libdir}
1317 %define mainlibdirbi32 %{_prefix}/lib
1318 %define mainlibdirbi64 %{_prefix}/lib64
1319 %define noflibdir %{_prefix}/lib/nof
1320 %if %{build_primary_64bit}
1321 %define mainlibdirbi %{mainlibdirbi32}
1323 %define mainlibdirbi %{mainlibdirbi64}
1328 # Now define a few macros that make it easy to package libs and
1329 # related files just to the right package, without caring for the
1330 # exact path the files are in.
1331 # %mainlib package X from all dirs that belong to the main package
1332 # %biarchlib package X from all dirs that belong to the -32/64bit package
1333 # by default, nof libs go where the 32bit libs go.
1335 %define mainlib() %{mainlibdir}/%1\
1339 %define mainlib() %{mainlibdir}/%1\
1342 %define biarchlib() %{nil}
1344 %if !%{separate_biarch}
1346 %define mainlib() %{mainlibdir}/%1\
1351 %define mainlib() %{mainlibdir}/%1\
1357 %define biarchlib() %{mainlibdirbi}/%1\
1360 %define mainlib() %{mainlibdir}/%1\
1363 %define biarchlib() %{mainlibdirbi}/%1\
1370 %define versmainlib() %{versmainlibdir}/%1\
1371 %{versnoflibdir}/%1\
1374 %define versmainlib() %{versmainlibdir}/%1\
1377 %define versbiarchlib() %{nil}
1379 %if !%{separate_biarch}
1381 %define versmainlib() %{versmainlibdir}/%1\
1382 %{versmainlibdirbi}/%1\
1383 %{versnoflibdir}/%1\
1386 %define versmainlib() %{versmainlibdir}/%1\
1387 %{versmainlibdirbi}/%1\
1392 %define versbiarchlib() %{versmainlibdirbi}/%1\
1393 %{versnoflibdir}/%1\
1395 %define versmainlib() %{versmainlibdir}/%1\
1398 %define versbiarchlib() %{versmainlibdirbi}/%1\
1408 #%setup -q -n gcc-%{gcc_version}%{snapshot_date}
1409 %setup -q -n gcc-%{version}
1410 # 0001-dir-version.patch
1417 # Avoid rebuilding of generated files
1418 contrib/gcc_update --touch
1419 # Avoid fucking up testsuite results with Java and indirect dispatch
1420 export LD_AS_NEEDED=0
1421 # Split version file into version used for directories (X.Y) and
1422 # version to report with --version (X.Y.Z).
1423 # See also gcc-dir-version.patch.
1424 # Also decrement the patchlevel version by one
1425 if test `cat gcc/DEV-PHASE` == "prerelease"; then
1426 ( 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
1428 mv gcc/BASE-VER gcc/FULL-VER
1430 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
1432 rm -rf obj-%{GCCDIST}
1433 mkdir obj-%{GCCDIST}
1435 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
1436 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'`
1438 # -mcpu is superceded by -mtune but -mtune is not supported by
1439 # our bootstrap compiler. -mcpu gives a warning that stops
1440 # the build process, so remove it for now. Also remove all other
1441 # -march and -mtune flags. They are superseeded by proper
1442 # default compiler settings now.
1443 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'`
1445 %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
1446 # Kill all -march/tune/cpu because that screws building the target libs
1447 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
1449 # Replace 2 spaces by one finally
1450 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
1454 languages=$languages,c++
1457 languages=$languages,objc
1459 %if %{build_fortran}
1460 languages=$languages,fortran
1463 languages=$languages,obj-c++
1466 languages=$languages,java
1469 languages=$languages,ada
1473 if test -z "$J"; then
1474 J=$(getconf _NPROCESSORS_CONF)
1477 test 1 -gt "$J" && J=1
1478 JL=$(($(getconf _NPROCESSORS_CONF)*2))
1480 if test "$J" == "0"; then
1483 if test "$JL" == "0"; then
1486 PARALLEL="-j$J -l$JL"
1488 # we don't want some miscompiles in the testsuite, or some fault in
1489 # the compiler to kill the machine. Hence we limit the amount of memory
1490 # by the physical RAM plus half of swap
1491 #MEM=$(free -m | awk '/^Mem:/ {print $2}')
1492 #SWAP=$(free -m | awk '/^Swap:/ {print $2}')
1493 #ulimit -v $(((MEM + SWAP/2)*1024))
1495 # In general we want to ship release checking enabled compilers
1496 # and run BETA with checking enabled.
1497 #ENABLE_CHECKING="--enable-checking=yes"
1498 ENABLE_CHECKING="--enable-checking=release"
1500 # Work around tail/head -1 changes
1501 export _POSIX2_VERSION=199209
1503 # configure tries to parse include/features.h to detect
1504 # if glibc supports SSP. When cross compiling we would need
1505 # to install a cross glibc, which we don't, or make the whole
1506 # thing point to the native glibc, which is in /, hence the
1510 # Using the host gnatmake like
1511 # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
1512 # GNATMAKE="gnatmake%{hostsuffix}"
1513 # doesn't work due to PR33857, so an un-suffixed gnatmake has to be
1515 mkdir -p host-tools/bin
1516 cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
1517 cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
1518 cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
1519 cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
1520 ln -sf /usr/%{_lib} host-tools/%{_lib}
1521 export PATH="`pwd`/host-tools/bin:$PATH"
1523 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
1525 # --enable-threads=posix \
1528 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
1529 TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \
1531 --prefix=%{_prefix} \
1532 --infodir=%{_infodir} \
1533 --mandir=%{_mandir} \
1534 --libdir=%{_libdir} \
1535 --libexecdir=%{_libdir} \
1536 --enable-languages=$languages \
1538 --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
1543 --disable-bootstrap \
1546 --with-bugurl="http://bugs.tizen.org/" \
1547 --with-pkgversion="Tizen Linux" \
1548 %if !%{build_libjava}
1551 --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
1552 --with-ecj-jar=%{libsubdir}/ecj.jar \
1553 --disable-java-awt \
1554 %if !%{biarch_libjava}
1555 --disable-libjava-multilib \
1558 %if !%{build_with_mudflap}
1559 --disable-libmudflap \
1561 --with-slibdir=/%{_lib} \
1562 --with-system-zlib \
1563 --enable-__cxa_atexit \
1564 --enable-libstdcxx-allocator=new \
1565 --disable-libstdcxx-pch \
1566 --enable-version-specific-runtime-libs \
1567 --enable-linker-build-id \
1568 %if 0%{?gcc_target_arch:1}
1569 %if 0%{?gcc_icecream:1}
1570 --with-build-sysroot=/ \
1571 --with-sysroot=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi} \
1572 --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/usr/include/c++/%{gcc_dir_version} \
1573 --enable-linux-futex \
1575 %if 0%{?canonical_target:1}
1576 --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
1578 %if 0%{?build_static:1}
1581 %if "%{TARGET_ARCH}" == "spu"
1582 --with-sysroot=/usr/spu \
1583 --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \
1587 --target=%{CONFIGURE_TARGET} \
1589 --program-suffix=%{binsuffix} \
1590 --enable-linux-futex \
1591 --without-system-libunwind \
1593 %if "%{TARGET_ARCH}" == "armv5tel"
1594 --with-arch=armv5te \
1597 --with-abi=aapcs-linux \
1598 --disable-sjlj-exceptions \
1600 %if "%{TARGET_ARCH}" == "armv7el"
1601 --with-arch=armv7-a \
1602 --with-tune=cortex-a9 \
1606 --disable-sjlj-exceptions \
1608 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
1609 --with-arch=armv7-a \
1610 --with-tune=cortex-a9 \
1612 --with-abi=aapcs-linux \
1613 --with-fpu=vfpv3-d16 \
1614 --disable-sjlj-exceptions \
1616 %if "%{TARGET_ARCH}" == "i586"
1617 --with-arch-32=i586 \
1618 --with-tune=generic \
1620 %if "%{TARGET_ARCH}" == "x86_64"
1621 --with-arch-32=i586 \
1622 --with-tune=generic \
1628 %if 0%{?building_libffi:1}
1629 make stage1-bubble $PARALLEL
1630 make all-target-libffi $PARALLEL
1632 # Only run profiled bootstrap on archs where it works
1633 #%ifarch %ix86 x86_64
1634 #make profiledbootstrap-lean STAGE1_CFLAGS="-O -g" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1639 STAGE1_FLAGS="-O -g"
1641 #make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1642 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1646 %if 0%{?run_tests:1}
1647 echo "Run testsuite"
1648 (make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1649 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1650 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1651 make -k check $PARALLEL || true
1652 mkdir ../testresults
1653 ../contrib/test_summary | tee ../testresults/test_summary.txt
1658 export NO_BRP_CHECK_BYTECODE_VERSION=true
1660 # GCC-TESTSUITE-DELETE-BEGIN
1661 # Work around tail/head -1 changes
1662 export _POSIX2_VERSION=199209
1663 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi}
1664 %if 0%{?building_libffi:1}
1665 make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
1667 %if 0%{?building_libjava:1}
1668 make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
1669 make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
1670 make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
1671 make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
1672 # install-common also installs collect2, gcov and the g++ and gfortran driver
1674 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1676 %if %{build_fortran}
1677 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1679 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1680 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1682 make install DESTDIR=$RPM_BUILD_ROOT
1684 make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
1685 make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT
1686 rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
1687 rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
1688 rm $RPM_BUILD_ROOT%{libsubdir}/jc1
1689 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
1694 # Remove libffi installed files if we did not want to build it
1695 %if !0%{?building_libffi:1}
1696 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.*
1698 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
1700 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h
1701 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h
1702 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3*
1703 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3*
1704 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3*
1707 # Remove some useless .la files
1708 for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \
1709 libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij; do
1710 rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la
1712 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1716 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1718 %if %{build_primary_64bit}
1719 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1721 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1725 # LIBFFI-DELETE-BEGIN
1726 # LIBJAVA-DELETE-BEGIN
1728 # Merge multilib c++config.h to allow omitting the duplicate and
1729 # identical other arch specific headers
1731 cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1732 for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1733 if ! diff -up $cxxconfig $i; then
1748 if ! ( test -f "$file_32" && test -f "$file_64" ); then
1753 cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1754 #ifndef _CPP_CPPCONFIG_WRAPPER
1755 #define _CPP_CPPCONFIG_WRAPPER 1
1756 #include <bits/wordsize.h>
1757 #if __WORDSIZE == 32
1767 rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1768 if ! test -z "$dir_ml"; then
1769 ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1772 # LIBJAVA-DELETE-END
1774 %if 0%{!?build_optional_compiler:1}
1775 # move shared libs from versionspecific dir to main libdir
1777 %if 0%{?building_libjava:1}
1778 libgcj libgij libgcj-tools \
1780 %if %{build_fortran}
1782 %ifarch %quadmath_arch
1793 %if %{build_with_mudflap}
1794 libmudflap libmudflapth \
1798 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1799 mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1801 ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1802 $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
1804 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1805 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1806 mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/
1808 ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1809 $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1814 %if !0%{?building_libjava:1}
1815 # And we want to move the shlib gdb pretty printers to a more sane
1816 # place so ldconfig does not complain
1817 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
1818 mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
1819 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py
1821 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1822 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
1823 mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1824 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1829 %if 0%{?building_libjava:1}
1830 # libgcj_bc is special as the .so file is actually a different
1831 # library as the library refered to by the SONAME which should
1832 # be a simple link to our libgcj.
1833 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do
1836 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.1
1837 %if %{biarch_libjava}
1838 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do
1841 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.1
1846 # LIBJAVA-DELETE-BEGIN
1847 %if 0%{!?build_optional_compiler:1}
1848 # Move libgcc_s around
1849 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1850 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1851 ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1853 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1855 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
1857 %if %{build_primary_64bit}
1858 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1859 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1860 ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1862 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1864 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1865 chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
1867 # 32-bit biarch systems
1868 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1869 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1870 ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1872 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1874 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1875 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1879 # Move libgcc_s around
1880 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/
1881 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1882 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1883 ln -sf %{versmainlibdir}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1885 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1887 chmod a+x $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
1889 %if %{build_primary_64bit}
1890 mv $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1891 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1892 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1893 ln -sf %{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1895 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1897 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1898 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
1900 # 32-bit biarch systems
1901 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1902 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1903 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1904 ln -sf %{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1906 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1908 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1909 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
1914 # Provide a defaults.spec file which adds a proper rpath
1915 %if 0%{?build_optional_compiler:1}
1916 cat > $RPM_BUILD_ROOT%{libsubdir}/defaults.spec << EOF
1918 + %%{!m32:%%{!m64:-rpath=%{libsubdir}}} %%{m32:-rpath=%{libsubdir}/32} %%{m64:-rpath=%{libsubdir}/64}
1921 # LIBJAVA-DELETE-END
1925 mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir}
1926 ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so
1927 ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so
1928 chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
1930 mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
1931 ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1932 ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1933 chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
1937 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1939 # Remove some crap from the .la files:
1940 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
1942 # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g'
1943 sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1944 -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1945 -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1946 -e '/^dependency_libs/s|-L[^ ]* ||g' \
1948 %if %{build_primary_64bit}
1949 -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1950 -e '/^libdir/s|lib64/\.\./||' \
1952 -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1959 # GCC-TESTSUITE-DELETE-END
1960 %if 0%{?run_tests:1}
1961 cp `find . -name "*.sum"` ../testresults/
1962 cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
1963 chmod 644 ../testresults/*
1965 # GCC-TESTSUITE-DELETE-BEGIN
1966 # LIBFFI-DELETE-BEGIN
1968 # Find C++ and Java headers
1969 find $RPM_BUILD_ROOT%{_prefix}/include/c++ \
1970 -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \
1971 -o \( -type d -printf "%%%%dir " , \
1972 -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers
1975 # Remove files that we do not need to clean up filelist
1976 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-*
1977 rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools
1978 #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
1979 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root
1980 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h
1981 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-*
1982 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux
1983 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound
1984 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h
1985 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h
1986 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h
1987 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h
1988 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11
1989 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1990 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h
1991 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h
1992 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h
1993 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1994 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys
1996 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1997 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
1998 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix}
2000 %if !0%{?building_libjava:1}%{?building_libffi:1}
2001 # delete compile flag tracking from crt files
2002 crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o
2004 %if %{build_primary_64bit}
2005 crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o
2007 crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o
2012 %if 0%{?building_libjava:1}
2013 # gcj -static doesn't work properly anyway, unless using --whole-archive
2014 # let's save the space instead.
2015 find $RPM_BUILD_ROOT -name libgcj.a \
2016 -o -name libgcj-tools.a \
2019 -o -name libgcj_bc.a \
2022 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
2023 sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
2025 # security files have broken install locations, also they cause conflicts
2026 # between libgcj versions. Simply delete them here, libgcj will use its
2027 # defaults in this case (which is what these files contain anyway).
2028 rm $RPM_BUILD_ROOT%{_libdir}/logging.properties
2029 rm -r $RPM_BUILD_ROOT%{_libdir}/security
2032 %if 0%{?building_libffi:1}
2033 # Move libffi headers, remove empty libffi libtool file
2034 mkdir -p $RPM_BUILD_ROOT%{_prefix}/include
2035 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/
2036 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/
2037 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la
2039 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
2041 # Generate a simple pkg-config file
2042 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
2043 echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc
2047 %if !%{build_libjava}
2048 rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
2049 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
2050 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
2051 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
2052 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1
2053 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1
2054 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1
2056 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py
2057 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py
2059 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
2060 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
2061 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
2062 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
2064 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/nof/libiberty.a
2067 %if %{build_primary_64bit}
2068 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
2070 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
2073 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
2074 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
2076 # LIBFFI-DELETE-BEGIN
2077 %if 0%{?building_libjava:1}
2078 # For building libjava only we need to delete other info docs
2079 rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
2080 # Remove stale manpages for binaries we do not build
2081 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1
2082 # For building the java frontend we need to copy the ecj jar
2083 mkdir -p $RPM_BUILD_ROOT%{libsubdir}
2084 cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
2086 # For regular build, some info files do not get renamed properly.
2088 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
2089 %if %{build_fortran}
2090 %ifarch %quadmath_arch
2091 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
2095 mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info
2096 mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info
2097 mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info
2101 # LIBJAVA-DELETE-BEGIN
2103 %find_lang gcc48-locale --all-name
2106 %install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
2107 %install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
2108 %install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
2109 %install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
2110 %install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
2111 %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
2112 %if %{build_fortran}
2113 %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
2114 %ifarch %quadmath_arch
2115 %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
2119 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
2122 %install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
2123 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
2124 %install_info --info-dir=%{_infodir} --section="GNU Ada tools" --entry="* GNAT User's Guide: (gnat_ugn). GNAT User's Guide for Unix Platforms" %{_infodir}/gnat_ugn%{binsuffix}.info.gz
2128 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
2129 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
2130 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
2131 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
2132 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
2133 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
2134 %if %{build_fortran}
2135 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
2136 %ifarch %quadmath_arch
2137 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
2141 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
2144 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
2145 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
2146 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
2151 %license COPYING COPYING3 COPYING3.LIB COPYING.LIB COPYING.RUNTIME
2152 %defattr(-,root,root)
2154 %dir %{_libdir}/gcc/%{GCCDIST}
2156 %dir %{libsubdir}/include
2157 %dir %{libsubdir}/include-fixed
2159 %if %{build_primary_64bit}
2160 %dir %{libsubdir}/32
2162 %dir %{libsubdir}/64
2166 %dir %{libsubdir}/nof
2168 %{_prefix}/bin/gcc%{binsuffix}
2169 %{_prefix}/bin/gcov%{binsuffix}
2170 %{_prefix}/bin/gcc-ar%{binsuffix}
2171 %{_prefix}/bin/gcc-nm%{binsuffix}
2172 %{_prefix}/bin/gcc-ranlib%{binsuffix}
2173 %{libsubdir}/collect2
2175 %{libsubdir}/lto-wrapper
2176 %{libsubdir}/liblto_plugin.so*
2177 %{libsubdir}/include-fixed/README
2178 %{libsubdir}/include-fixed/limits.h
2179 %{libsubdir}/include-fixed/syslimits.h
2180 %{libsubdir}/include/omp.h
2181 %{libsubdir}/include/float.h
2182 %{libsubdir}/include/iso646.h
2183 %{libsubdir}/include/stdarg.h
2184 %{libsubdir}/include/stdbool.h
2185 %{libsubdir}/include/stdfix.h
2186 %{libsubdir}/include/stddef.h
2187 %{libsubdir}/include/unwind.h
2188 %{libsubdir}/include/varargs.h
2189 %{libsubdir}/include/stdint.h
2190 %{libsubdir}/include/stdint-gcc.h
2191 %{libsubdir}/include/stdnoreturn.h
2192 %{libsubdir}/include/stdalign.h
2194 %{libsubdir}/include/mmintrin.h
2195 %{libsubdir}/include/arm_neon.h
2196 %{libsubdir}/include/unwind-arm-common.h
2198 %ifarch %ix86 x86_64
2199 %{libsubdir}/include/cross-stdarg.h
2200 %{libsubdir}/include/cpuid.h
2201 %{libsubdir}/include/mm3dnow.h
2202 %{libsubdir}/include/mmintrin.h
2203 %{libsubdir}/include/ammintrin.h
2204 %{libsubdir}/include/bmmintrin.h
2205 %{libsubdir}/include/emmintrin.h
2206 %{libsubdir}/include/immintrin.h
2207 %{libsubdir}/include/avxintrin.h
2208 %{libsubdir}/include/pmmintrin.h
2209 %{libsubdir}/include/xmmintrin.h
2210 %{libsubdir}/include/tmmintrin.h
2211 %{libsubdir}/include/nmmintrin.h
2212 %{libsubdir}/include/smmintrin.h
2213 %{libsubdir}/include/wmmintrin.h
2214 %{libsubdir}/include/x86intrin.h
2215 %{libsubdir}/include/ia32intrin.h
2216 %{libsubdir}/include/mm_malloc.h
2217 %{libsubdir}/include/fma4intrin.h
2218 %{libsubdir}/include/xopintrin.h
2219 %{libsubdir}/include/lwpintrin.h
2220 %{libsubdir}/include/popcntintrin.h
2221 %{libsubdir}/include/bmiintrin.h
2222 %{libsubdir}/include/tbmintrin.h
2223 %{libsubdir}/include/avx2intrin.h
2224 %{libsubdir}/include/bmi2intrin.h
2225 %{libsubdir}/include/fmaintrin.h
2226 %{libsubdir}/include/lzcntintrin.h
2227 %{libsubdir}/include/f16cintrin.h
2229 %if %{build_with_mudflap}
2230 %{libsubdir}/include/mf-runtime.h
2232 %versmainlib *crt*.o
2233 %versmainlib libgcc*.a
2234 %versmainlib libgcov.a
2235 %versmainlib libgcc_s*.so
2236 %if %{build_with_mudflap}
2237 %versmainlib libmudflap.a
2238 %versmainlib libmudflap.so
2239 %versmainlib libmudflapth.a
2240 %versmainlib libmudflapth.so
2242 %versmainlib libgomp.so
2243 %versmainlib libgomp.a
2244 %versmainlib libgomp.spec
2245 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
2246 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
2247 %if 0%{?build_optional_compiler:1}
2248 %{libsubdir}/defaults.spec
2251 %if %{separate_biarch}
2252 %files -n gcc48%{separate_biarch_suffix}
2253 %defattr(-,root,root)
2254 %versbiarchlib *crt*.o
2255 %versbiarchlib libgcc*.a
2256 %versbiarchlib libgcov.a
2257 %versbiarchlib libgcc_s*.so
2258 %if %{build_with_mudflap}
2259 %versbiarchlib libmudflap.a
2260 %versbiarchlib libmudflap.so
2261 %versbiarchlib libmudflapth.a
2262 %versbiarchlib libmudflapth.so
2264 %versbiarchlib libgomp.so
2265 %versbiarchlib libgomp.a
2266 %versbiarchlib libgomp.spec
2269 %files locale -f gcc48-locale.lang
2273 %defattr(-,root,root)
2275 %dir %{_libdir}/gcc/%{GCCDIST}
2277 %{_prefix}/bin/g++%{binsuffix}
2278 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
2279 %{libsubdir}/cc1plus
2281 %files -n libstdc++48
2282 %defattr(-,root,root)
2286 %mainlib libstdc++.so.*
2288 %if %{separate_biarch}
2289 %files -n libstdc++48%{separate_biarch_suffix}
2290 %defattr(-,root,root)
2291 %biarchlib libstdc++.so.*
2294 %files -n libstdc++48-devel -f c++-headers
2295 %defattr(-,root,root)
2296 %versmainlib libstdc++.a
2297 %versmainlib libstdc++.so
2298 %versmainlib libsupc++.a
2299 %dir %{_datadir}/gdb
2300 %dir %{_datadir}/gdb/auto-load
2301 %dir %{_datadir}/gdb/auto-load%{_prefix}
2302 %dir %{_datadir}/gdb/auto-load/%{mainlibdir}
2303 %{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
2304 %{_datadir}/gcc%{binsuffix}
2306 %if %{separate_biarch}
2307 %files -n libstdc++48-devel%{separate_biarch_suffix}
2308 %defattr(-,root,root)
2309 %versbiarchlib libstdc++.a
2310 %versbiarchlib libstdc++.so
2311 %versbiarchlib libsupc++.a
2312 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
2313 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
2316 %files -n libstdc++48-doc
2317 %defattr(-,root,root)
2318 %doc libstdc++-v3/doc/html
2322 %defattr(-,root,root)
2323 %if 0%{!?build_optional_compiler:1}
2324 /%{_lib}/libgcc_s.so.%{libgcc_s}
2327 /lib/nof/libgcc_s.so.%{libgcc_s}
2330 %if %{build_primary_64bit}
2331 %if !%{separate_bi32}
2332 /lib/libgcc_s.so.%{libgcc_s}
2335 %if !%{separate_bi64}
2336 /lib64/libgcc_s.so.%{libgcc_s}
2341 %versmainlib libgcc_s.so.%{libgcc_s}
2344 %if %{separate_bi64}
2345 %files -n libgcc48-64bit
2346 %defattr(-,root,root)
2347 %if 0%{!?build_optional_compiler:1}
2348 /lib64/libgcc_s.so.%{libgcc_s}
2350 %versbiarchlib libgcc_s.so.%{libgcc_s}
2354 %if %{separate_bi32}
2355 %files -n libgcc48-32bit
2356 %defattr(-,root,root)
2357 %if 0%{!?build_optional_compiler:1}
2358 /lib/libgcc_s.so.%{libgcc_s}
2360 %versbiarchlib libgcc_s.so.%{libgcc_s}
2366 %defattr(-,root,root)
2367 %mainlib libgomp.so.1*
2369 %if %{separate_biarch}
2370 %files -n libgomp48%{separate_biarch_suffix}
2371 %defattr(-,root,root)
2372 %biarchlib libgomp.so.1*
2376 %if %{build_fortran}
2378 %defattr(-,root,root)
2379 %dir %{libsubdir}/finclude
2380 %{_prefix}/bin/gfortran%{binsuffix}
2382 %{libsubdir}/finclude/*
2383 %versmainlib libgfortran.a
2384 %versmainlib libgfortran.so
2385 %versmainlib libgfortran.spec
2386 %versmainlib libgfortranbegin.a
2387 %versmainlib libcaf_single.a
2388 %ifarch %quadmath_arch
2389 %{libsubdir}/include/quadmath.h
2390 %{libsubdir}/include/quadmath_weak.h
2391 %versmainlib libquadmath.a
2392 %versmainlib libquadmath.so
2394 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
2396 %if %{separate_biarch}
2397 %files fortran%{separate_biarch_suffix}
2398 %defattr(-,root,root)
2399 %versbiarchlib libgfortran.a
2400 %versbiarchlib libgfortran.so
2401 %versbiarchlib libgfortran.spec
2402 %versbiarchlib libgfortranbegin.a
2403 %versbiarchlib libcaf_single.a
2404 %ifarch %quadmath_arch
2405 %versbiarchlib libquadmath.a
2406 %versbiarchlib libquadmath.so
2410 %files -n libgfortran48
2411 %defattr(-,root,root)
2412 %mainlib libgfortran.so.*
2414 %if %{separate_biarch}
2415 %files -n libgfortran48%{separate_biarch_suffix}
2416 %defattr(-,root,root)
2417 %biarchlib libgfortran.so.*
2420 %ifarch %quadmath_arch
2421 %files -n libquadmath48
2422 %defattr(-,root,root)
2423 %mainlib libquadmath.so.*
2425 %if %{separate_biarch}
2426 %files -n libquadmath48%{separate_biarch_suffix}
2427 %defattr(-,root,root)
2428 %biarchlib libquadmath.so.*
2433 %if %{build_with_mudflap}
2434 %files -n libmudflap48
2435 %defattr(-,root,root)
2436 %mainlib libmudflap.so.0*
2437 %mainlib libmudflapth.so.0*
2439 %if %{separate_biarch}
2440 %files -n libmudflap48%{separate_biarch_suffix}
2441 %defattr(-,root,root)
2442 %biarchlib libmudflap.so.0*
2443 %biarchlib libmudflapth.so.0*
2448 %defattr(-,root,root)
2449 %doc %{_infodir}/*.gz
2452 %defattr(-,root,root)
2454 %dir %{_libdir}/gcc/%{GCCDIST}
2456 %{_prefix}/bin/cpp%{binsuffix}
2459 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
2463 %defattr(-,root,root)
2465 %{libsubdir}/include/objc
2466 %versmainlib libobjc.a
2467 %versmainlib libobjc.so
2469 %if %{separate_biarch}
2470 %files objc%{separate_biarch_suffix}
2471 %defattr(-,root,root)
2472 %versbiarchlib libobjc.a
2473 %versbiarchlib libobjc.so
2477 %defattr(-,root,root)
2478 %mainlib libobjc.so.*
2480 %if %{separate_biarch}
2481 %files -n libobjc48%{separate_biarch_suffix}
2482 %defattr(-,root,root)
2483 %biarchlib libobjc.so.*
2490 %defattr(-,root,root)
2491 %{libsubdir}/cc1objplus
2497 %defattr(-,root,root)
2499 %dir %{_libdir}/gcc/%{GCCDIST}
2501 %{_prefix}/bin/gnat*
2502 %dir %{versmainlibdir}/adainclude
2503 %dir %{versmainlibdir}/adalib
2504 %{versmainlibdir}/adainclude
2505 %{versmainlibdir}/adalib/*.ali
2506 %{versmainlibdir}/adalib/*.a
2507 %{versmainlibdir}/adalib/libgnarl.so
2508 %{versmainlibdir}/adalib/libgnat.so
2509 %{versmainlibdir}/gnat1
2511 %if %{separate_biarch}
2512 %files ada%{separate_biarch_suffix}
2513 %defattr(-,root,root)
2514 %dir %{versmainlibdirbi}/adainclude
2515 %dir %{versmainlibdirbi}/adalib
2516 %{versmainlibdirbi}/adainclude
2517 %{versmainlibdirbi}/adalib/*.ali
2518 %{versmainlibdirbi}/adalib/*.a
2519 %{versmainlibdirbi}/adalib/libgnarl.so
2520 %{versmainlibdirbi}/adalib/libgnat.so
2524 %defattr(-,root,root)
2525 %mainlib libgnarl-*.so
2526 %mainlib libgnat-*.so
2528 %if %{separate_biarch}
2529 %files -n libada48%{separate_biarch_suffix}
2530 %defattr(-,root,root)
2531 %biarchlib libgnarl-*.so
2532 %biarchlib libgnat-*.so
2535 # LIBJAVA-DELETE-END
2539 %if 0%{?building_libjava:1}
2540 %files -n gcc48-java
2541 %defattr(-,root,root)
2542 %{_prefix}/bin/gcj%{binsuffix}
2543 %{_prefix}/bin/gcjh%{binsuffix}
2544 %{_prefix}/bin/gcj-dbtool%{binsuffix}
2545 %{_prefix}/bin/jcf-dump%{binsuffix}
2546 %{_prefix}/bin/jv-convert%{binsuffix}
2547 %{_prefix}/bin/gc-analyze%{binsuffix}
2548 %{_prefix}/bin/aot-compile%{binsuffix}
2549 %{_prefix}/bin/rebuild-gcj-db%{binsuffix}
2551 %{libsubdir}/jvgenmain
2552 %{libsubdir}/ecj.jar
2554 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
2555 %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
2556 %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
2557 %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
2558 %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
2559 %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
2560 %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz
2561 %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz
2566 %if %{build_libjava}
2568 %defattr(-,root,root)
2569 %dir %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}
2571 %dir %{_libdir}/gcc/%{GCCDIST}
2573 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/classmap.db
2574 # We usually do not multilib libjava
2575 %if %{biarch_libjava}
2576 %versbiarchlib libgcj.la
2577 %biarchlib libgcj.so.*
2578 %biarchlib libgij.so.*
2579 %biarchlib libgcj-tools.so.*
2581 %versmainlib libgcj.la
2582 %mainlib libgcj.so.*
2583 %mainlib libgij.so.*
2584 %mainlib libgcj-tools.so.*
2586 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.la
2587 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.so
2588 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.la
2589 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.so
2591 %files -n libgcj_bc48
2592 %defattr(-,root,root)
2593 %if %{biarch_libjava}
2594 %biarchlib libgcj_bc.so.*
2596 %mainlib libgcj_bc.so.*
2599 %files -n libgcj48-jar
2600 %defattr(-,root,root)
2601 %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
2602 %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
2604 %files -n libgcj48-devel
2605 %defattr(-,root,root)
2606 %dir %{_prefix}/include/c++
2608 %dir %{libsubdir}/include
2610 %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
2611 %{libsubdir}/include/jawt.h
2612 %{libsubdir}/include/jawt_md.h
2613 %{libsubdir}/include/jni.h
2614 %{libsubdir}/include/jni_md.h
2615 %{libsubdir}/include/jvmpi.h
2622 %{libsubdir}/include/gcj
2623 %if %{biarch_libjava}
2624 %versbiarchlib libgcj.so
2625 %versbiarchlib libgcj.spec
2626 %versbiarchlib libgcj-tools.so
2627 %versbiarchlib libgij.so
2628 %versbiarchlib libgcj_bc.so
2630 %versmainlib libgcj.so
2631 %versmainlib libgcj.spec
2632 %versmainlib libgcj-tools.so
2633 %versmainlib libgij.so
2634 %versmainlib libgcj_bc.so
2638 %defattr(-,root,root)
2639 %{_prefix}/bin/gij%{binsuffix}
2640 %{_prefix}/bin/gappletviewer%{binsuffix}
2641 %{_prefix}/bin/gjar%{binsuffix}
2642 %{_prefix}/bin/gjarsigner%{binsuffix}
2643 %{_prefix}/bin/gjavah%{binsuffix}
2644 %{_prefix}/bin/gkeytool%{binsuffix}
2645 %{_prefix}/bin/gnative2ascii%{binsuffix}
2646 %{_prefix}/bin/gorbd%{binsuffix}
2647 %{_prefix}/bin/grmic%{binsuffix}
2648 %{_prefix}/bin/grmid%{binsuffix}
2649 %{_prefix}/bin/grmiregistry%{binsuffix}
2650 %{_prefix}/bin/gserialver%{binsuffix}
2651 %{_prefix}/bin/gtnameserv%{binsuffix}
2652 %doc %{_mandir}/man1/gij%{binsuffix}.1.gz
2653 %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
2654 %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
2655 %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
2656 %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
2657 %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
2658 %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
2659 %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
2660 %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
2661 %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
2662 %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
2663 %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz
2664 %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz
2670 %if 0%{?building_libffi:1}
2672 %defattr(-,root,root)
2673 %mainlib libffi.so.*
2675 %if %{separate_biarch}
2676 %files -n libffi48%{separate_biarch_suffix}
2677 %defattr(-,root,root)
2678 %biarchlib libffi.so.*
2681 %files -n libffi48-devel
2682 %defattr(-,root,root)
2683 %{_prefix}/include/ffi.h
2684 %{_prefix}/include/ffitarget.h
2687 %{_libdir}/pkgconfig/libffi.pc
2688 %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz
2689 %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz
2690 %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz
2692 %if %{separate_biarch}
2693 %files -n libffi48-devel%{separate_biarch_suffix}
2694 %defattr(-,root,root)
2695 %biarchlib libffi.so
2700 # GCC-TESTSUITE-DELETE-END
2702 %if 0%{?run_tests:1}
2703 %files -n gcc48-testresults
2704 %defattr(-,root,root)
2705 %doc testresults/test_summary.txt
2706 %doc testresults/*.sum
2707 %doc testresults/*.log