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 ia64
14 # We don't want to build java
17 %define build_libjava 0
20 %define build_libjava 0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
24 %define build_fortran 1
26 %define build_objcp !0%{?building_libjava:1}%{?building_libffi:1}
27 %define build_with_mudflap 0
38 # For optional compilers only build C, C++ and Fortran
39 ##%if 0%{?build_optional_compiler:1}%{?build_optional_compiler_languages:1}
40 %if 0%{!?building_libffi:1}
43 %define build_libjava 0
52 BuildRequires: gettext-tools
53 BuildRequires: makeinfo
54 BuildRequires: glibc-devel-32bit
55 BuildRequires: mpc-devel
56 BuildRequires: mpfr-devel
58 BuildRequires: texinfo
59 BuildRequires: zlib-devel
60 %ifarch %ix86 x86_64 %arm
61 BuildRequires: cloog-devel
62 BuildRequires: ppl-devel
65 %define hostsuffix -4.7
66 BuildRequires: gcc47-ada
68 %if 0%{?building_libjava:1}%{?building_testsuite:1}
69 BuildRequires: fastjar
72 %if 0%{?building_libffi:1}
73 BuildRequires: pkg-config
76 BuildRequires: libunwind-devel
79 BuildRequires: dejagnu
84 # Define version number of libgcc_s
91 # We support building the nof libraries, but don't want this in the
98 %define separate_bi32 0
99 %define separate_bi64 0
101 %define separate_bi32 1
104 # Define two macros to trigger -32bit or -64bit package variants
105 %define separate_biarch 0
107 %define separate_biarch 1
108 %define separate_biarch_suffix -32bit
111 %define separate_biarch 1
112 %define separate_biarch_suffix -64bit
116 # 64-bit is primary build target
117 %define build_primary_64bit 1
119 %define build_primary_64bit 0
122 %define biarch_libjava 0
125 %define biarch_targets x86_64
127 URL: http://gcc.gnu.org/
130 %define gcc_version %(echo %version | sed 's/_.*//')
131 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
132 %define snapshot_date %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/_/-/')
133 %define binsuffix -4.7
136 %if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
137 Requires: binutils glibc-devel
138 Requires: cpp@base_ver@ = %{version}-%{release}
139 %if 0%{!?build_optional_compiler:1}
140 Requires: libgcc%{libgcc_s} >= %{version}-%{release}
141 Requires: libgomp1 >= %{version}-%{release}
142 %if %{build_with_mudflap}
143 Requires: libmudflap0 >= %{version}-%{release}
144 Requires: libmudflapth0 >= %{version}-%{release}
147 Requires: libgcc@base_ver@ = %{version}-%{release}
148 Requires: libgomp@base_ver@ = %{version}-%{release}
153 BuildRoot: %{_tmppath}/%{name}-%{version}-build
154 #Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2
155 Source: gcc-%{version}.tar.bz2
158 Source2: libgcj47-rpmlintrc
159 Source3: gcc47-rpmlintrc
161 Source6: baselibs.conf
162 # Patches auto-generated by git-buildpackage:
163 Patch0: 0001-dir-version.patch
164 Patch1: 0002-textdomain.patch
165 Patch2: 0003-rename-info-files.patch
167 # GCC-TESTSUITE-DELETE-BEGIN
168 # LIBFFI-DELETE-BEGIN
169 # LIBJAVA-DELETE-BEGIN
170 Group: Development/Languages/C and C++
171 Summary: The GNU C Compiler and Support Files
175 Core package for the GNU Compiler Collection, including the C language
178 Language frontends other than C are split to different sub-packages,
179 namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
185 %package -n gcc@base_ver@-32bit
186 Summary: The GNU C Compiler 32bit support
187 Group: Development/Languages/C and C++
188 Requires: gcc@base_ver@ = %{version}-%{release}
189 %if 0%{!?build_optional_compiler:1}
190 Requires: libgcc%{libgcc_s}-32bit >= %{version}-%{release}
191 Requires: libgomp1-32bit >= %{version}-%{release}
192 %if %{build_with_mudflap}
193 Requires: libmudflap0-32bit >= %{version}-%{release}
194 Requires: libmudflapth0-32bit >= %{version}-%{release}
197 Requires: libgcc@base_ver@-32bit = %{version}-%{release}
198 Requires: libgomp@base_ver@-32bit = %{version}-%{release}
200 Requires: glibc-devel-32bit
202 %description -n gcc@base_ver@-32bit
203 This package contains 32bit support for the GNU Compiler Collection.
205 %package -n gcc@base_ver@-64bit
206 Summary: The GNU C Compiler 64bit support
207 Group: Development/Languages/C and C++
208 Requires: gcc@base_ver@ = %{version}-%{release}
209 %if 0%{!?build_optional_compiler:1}
210 Requires: libgcc%{libgcc_s}-64bit >= %{version}-%{release}
211 Requires: libgomp1-64bit >= %{version}-%{release}
212 %if %{build_with_mudflap}
213 Requires: libmudflap0-64bit >= %{version}-%{release}
214 Requires: libmudflapth0-64bit >= %{version}-%{release}
217 Requires: libgcc@base_ver@-64bit = %{version}-%{release}
218 Requires: libgomp@base_ver@-64bit = %{version}-%{release}
220 Requires: glibc-devel-64bit
222 %description -n gcc@base_ver@-64bit
223 This package contains 64bit support for the GNU Compiler Collection.
227 Summary: Locale Data for the GNU Compiler Collection
229 Group: Development/Languages/C and C++
230 Requires: gcc@base_ver@ = %{version}-%{release}
233 Locale data for the GNU Compiler Collection (GCC) to give error message
234 in the current locale.
238 Summary: The GNU C++ Compiler
240 Group: Development/Languages/C and C++
241 Requires: gcc@base_ver@ = %{version}-%{release}
242 Requires: libstdc++@base_ver@-devel = %{version}-%{release}
245 This package contains the GNU compiler for C++.
248 %package -n libstdc++@base_ver@-devel@variant@
249 Summary: Include Files and Libraries mandatory for Development
250 License: GPL-3.0-with-GCC-exception
251 Group: Development/Languages/C and C++
252 %if 0%{!?build_optional_compiler:1}
253 Requires: libstdc++6@variant@ >= %{version}-%{release}
255 Requires: libstdc++@base_ver@@variant@ = %{version}-%{release}
257 Requires: glibc-devel@variant@
259 Requires: libunwind-devel
262 %description -n libstdc++@base_ver@-devel@variant@
263 This package contains all the headers and libraries of the standard C++
264 library. It is needed for compiling C++ code.
267 %package -n libstdc++@base_ver@-doc
268 Summary: Documentation for the GNU C++ standard library
270 Group: Documentation/HTML
273 %description -n libstdc++@base_ver@-doc
274 Extensive HTML documentation for the GNU C++ standard library.
278 %package -n libgcc@base_ver@@variant@
279 Summary: C compiler runtime library
280 License: GPL-3.0-with-GCC-exception
282 %if 0%{!?build_optional_compiler:1}
283 Provides: libgcc%{libgcc_s}@variant@ = %{version}-%{release}
284 Conflicts: libgcc%{libgcc_s}@variant@ < %{version}-%{release}
289 %description -n libgcc@base_ver@@variant@
290 Libgcc is needed for dynamically linked C programs.
292 %post -n libgcc@base_ver@@variant@
295 %postun -n libgcc@base_ver@@variant@
300 %package -n libgomp@base_ver@@variant@
301 Summary: The GNU compiler collection OpenMP runtime library
302 License: GPL-3.0-with-GCC-exception
304 %if 0%{!?build_optional_compiler:1}
305 Provides: libgomp1@variant@ = %{version}-%{release}
306 Conflicts: libgomp1@variant@ < %{version}-%{release}
311 %description -n libgomp@base_ver@@variant@
312 This is the OpenMP runtime library needed by OpenMP enabled programs
313 that were built with the -fopenmp compiler option and by programs that
314 were auto-parallelized via the -ftree-parallelize-loops compiler
318 %post -n libgomp@base_ver@@variant@
321 %postun -n libgomp@base_ver@@variant@
326 %package -n libstdc++@base_ver@@variant@
327 Summary: The standard C++ shared library
328 License: GPL-3.0-with-GCC-exception
329 Group: System/Libraries
330 %if 0%{!?build_optional_compiler:1}
331 Provides: libstdc++6@variant@ = %{version}-%{release}
332 Conflicts: libstdc++6@variant@ < %{version}-%{release}
337 %description -n libstdc++@base_ver@@variant@
338 The standard C++ library, needed for dynamically linked C++ programs.
341 %post -n libstdc++@base_ver@@variant@
344 %postun -n libstdc++@base_ver@@variant@
350 Summary: Documentation for the GNU compiler collection
352 Group: Documentation/Other
356 GNU info-pages for the GNU compiler collection covering both user-level
357 and internals documentation.
361 %package objc@variant@
362 Summary: GNU Objective C Compiler
364 Group: Development/Languages/Other
365 Requires: gcc@base_ver@ = %{version}-%{release}
366 Requires: libobjc2@variant@ >= %{version}-%{release}
368 %description objc@variant@
369 This package contains the GNU Objective C compiler. Objective C is an
370 object oriented language, created by Next Inc. and used in their
371 Nextstep OS. The source code is available in the gcc package.
375 %package -n libobjc@base_ver@@variant@
376 Summary: Library for the GNU Objective C Compiler
377 License: GPL-3.0-with-GCC-exception
378 Group: Development/Libraries/Other
379 Provides: libobjc2@variant@ = %{version}-%{release}
380 Conflicts: libobjc2@variant@ < %{version}-%{release}
382 %description -n libobjc@base_ver@@variant@
383 The library for the GNU Objective C compiler.
385 %post -n libobjc@base_ver@@variant@
388 %postun -n libobjc@base_ver@@variant@
393 Summary: GNU Objective C++ Compiler
395 Group: Development/Languages/Other
396 Requires: gcc@base_ver@-objc = %{version}-%{release}
397 Requires: gcc@base_ver@-c++ = %{version}-%{release}
400 This package contains the GNU Objective C++ compiler. Objective C++ is an
401 object oriented language, created by Next Inc. and used in their
402 Nextstep OS. The source code is available in the gcc package.
405 %package -n cpp@base_ver@
406 Summary: The GCC Preprocessor
408 Group: Development/Languages/C and C++
410 %description -n cpp@base_ver@
411 This Package contains just the preprocessor that is used by the X11
416 %package ada@variant@
417 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
419 Group: Development/Languages/Other
420 Requires: gcc@base_ver@@variant@ = %{version}-%{release}
421 Requires: libada@base_ver@@variant@ = %{version}-%{release}
423 %description ada@variant@
424 This package contains an Ada95 compiler and associated development
425 tools based on the GNU GCC technology. Ada95 is the object oriented
426 successor of the Ada83 language. To build this package from source you
427 must have installed a binary version to bootstrap the compiler.
431 %package -n libada@base_ver@@variant@
432 Summary: GNU Ada Runtime Libraries
433 License: GPL-3.0-with-GCC-exception
434 Group: System/Libraries
435 Provides: libgnarl-4_7@variant@ = %{version}-%{release}
436 Conflicts: libgnarl-4_7@variant@ < %{version}-%{release}
437 Provides: libgnat-4_7@variant@ = %{version}-%{release}
438 Conflicts: libgnat-4_7@variant@ < %{version}-%{release}
440 %description -n libada@base_ver@@variant@
441 This package contains the shared libraries required to run programs
442 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
443 shared libraries. It also contains the shared libraries for the
444 Implementation of the Ada Semantic Interface Specification (ASIS), the
445 implementation of Distributed Systems Programming (GLADE) and the Posix
446 1003.5 Binding (Florist).
448 %post -n libada@base_ver@@variant@
451 %postun -n libada@base_ver@@variant@
456 %package fortran@variant@
457 Summary: The GNU Fortran Compiler and Support Files
459 Group: Development/Languages/Fortran
460 Requires: gcc@base_ver@ = %{version}-%{release}
461 %if 0%{!?build_optional_compiler:1}
462 Requires: libgfortran3@variant@ >= %{version}-%{release}
463 %ifarch %quadmath_arch
464 Requires: libquadmath0@variant@ >= %{version}-%{release}
467 Requires: libgfortran@base_ver@@variant@ = %{version}-%{release}
468 %ifarch %quadmath_arch
469 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
473 %description fortran@variant@
474 This is the Fortran compiler of the GNU Compiler Collection (GCC).
478 %package -n libgfortran@base_ver@@variant@
479 Summary: The GNU Fortran Compiler Runtime Library
480 License: GPL-3.0-with-GCC-exception
481 Group: Development/Languages/Fortran
482 %if 0%{!?build_optional_compiler:1}
483 Provides: libgfortran3@variant@ = %{version}-%{release}
484 Conflicts: libgfortran3@variant@ < %{version}-%{release}
485 %ifarch %quadmath_arch
486 Requires: libquadmath0@variant@ >= %{version}-%{release}
489 %ifarch %quadmath_arch
490 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
495 %description -n libgfortran@base_ver@@variant@
496 The runtime library needed to run programs compiled with the Fortran compiler
497 of the GNU Compiler Collection (GCC).
499 %post -n libgfortran@base_ver@@variant@
502 %postun -n libgfortran@base_ver@@variant@
507 %package -n libquadmath@base_ver@@variant@
508 Summary: The GNU Fortran Compiler Quadmath Runtime Library
510 Group: Development/Languages/Fortran
511 %if 0%{!?build_optional_compiler:1}
512 Provides: libquadmath0@variant@ = %{version}-%{release}
513 Conflicts: libquadmath0@variant@ < %{version}-%{release}
518 %description -n libquadmath@base_ver@@variant@
519 The runtime library needed to run programs compiled with the Fortran compiler
520 of the GNU Compiler Collection (GCC) and quadruple precision floating point
523 %post -n libquadmath@base_ver@@variant@
526 %postun -n libquadmath@base_ver@@variant@
531 %package -n libmudflap@base_ver@@variant@
532 Summary: The Mudflap Extension Runtime Library
533 License: GPL-3.0-with-GCC-exception
534 Group: Development/Languages/C and C++
535 Provides: libmudflap0@variant@ = %{version}-%{release}
536 Conflicts: libmudflap0@variant@ < %{version}-%{release}
537 Provides: libmudflapth0@variant@ = %{version}-%{release}
538 Conflicts: libmudflapth0@variant@ < %{version}-%{release}
540 %description -n libmudflap@base_ver@@variant@
541 This is the Mudflap Extension Runtime Library.
543 %post -n libmudflap@base_ver@@variant@
546 %postun -n libmudflap@base_ver@@variant@
551 %package -n libgcj@base_ver@
553 Summary: Java Runtime Library for gcc
554 License: GPL-2.0-with-classpath-exception
555 Group: System/Libraries
557 Provides: libgcj%{gcj_sover} = %{version}-%{release}
558 Conflicts: libgcj%{gcj_sover} < %{version}-%{release}
559 Provides: libgij%{gcj_sover} = %{version}-%{release}
560 Conflicts: libgij%{gcj_sover} < %{version}-%{release}
561 Provides: libgcj-tools%{gcj_sover} = %{version}-%{release}
562 Conflicts: libgcj-tools%{gcj_sover} < %{version}-%{release}
564 %description -n libgcj@base_ver@
565 This library is needed if you want to use the GNU Java compiler, gcj.
566 Source code for this package is in gcc.
568 %post -n libgcj@base_ver@
571 %postun -n libgcj@base_ver@
575 %package -n gcc@base_ver@-java
576 Summary: The GNU Java Compiler
578 Group: Development/Languages/Java
579 Requires: gcc@base_ver@ = %{version}
580 Requires: libgcj@base_ver@-devel = %{version}-%{release}
582 %description -n gcc@base_ver@-java
583 The Java compiler from the GCC-tools-suite.
586 %package -n libgcj_bc@base_ver@
587 Summary: Fake library for BC-ABI compatibility.
588 License: GPL-2.0-with-classpath-exception
589 Group: Development/Libraries/Java
590 Provides: libgcj_bc1 = %{version}-%{release}
591 Conflicts: libgcj_bc1 < %{version}-%{release}
592 # libgcj_bc is special in that it just contains a symlink to
593 # a proper libgcj version. So require that library and add
594 # provides for the shlib version as created at link time
595 Requires: libgcj%{gcj_sover}
597 Provides: libgcj_bc.so.1()(64bit)
599 Provides: libgcj_bc.so.1
603 %description -n libgcj_bc@base_ver@
604 A fake library that is used at link time only. It ensures that
605 binaries built with the BC-ABI link against a constant SONAME.
606 This way, BC-ABI binaries continue to work if the SONAME underlying
610 %package -n libgcj@base_ver@-jar
611 Summary: Java runtime library (jar files).
612 License: GPL-2.0-with-classpath-exception
613 Group: Development/Libraries/Java
615 %description -n libgcj@base_ver@-jar
616 These are the jar files that go along with the gcj front end to gcc.
619 %package -n libgcj@base_ver@-devel
620 Summary: Include Files and Libraries mandatory for Development.
621 License: GPL-2.0-with-classpath-exception
622 Group: Development/Libraries/Java
623 Requires: libstdc++@base_ver@-devel = %{version}
624 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
625 Requires: libgcj_bc1 >= %{version}-%{release}
626 Requires: libgcj@base_ver@-jar = %{version}-%{release}
628 Requires: libart_lgpl-devel
629 Requires: glibc-devel
632 Requires: libunwind-devel
635 %description -n libgcj@base_ver@-devel
636 This package contains all necessary include files and libraries needed
637 to develop applications that require these.
640 %package -n gcc@base_ver@-gij
641 Summary: Java Bytecode Interpreter for gcc
642 License: GPL-2.0-with-classpath-exception
643 Group: Development/Libraries/Java
644 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
646 %description -n gcc@base_ver@-gij
647 This package contains the java bytecode interpreter gij and related tools.
651 %package -n libffi@base_ver@@variant@
652 Summary: Foreign Function Interface library
653 License: BSD-3-Clause
654 Group: Development/Languages/C and C++
655 Provides: g-wrap:/usr/lib/libffi.so.4
656 Provides: libffi4@variant@ = %{version}-%{release}
657 Conflicts: libffi4@variant@ < %{version}-%{release}
659 %description -n libffi@base_ver@@variant@
660 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.
662 %post -n libffi@base_ver@@variant@
665 %postun -n libffi@base_ver@@variant@
670 %package -n libffi@base_ver@-devel@variant@
671 Summary: Foreign Function Interface library development files
672 License: BSD 3-Clause
673 Group: Development/Languages/C and C++
674 Requires: libffi4@variant@ >= %{version}-%{release}
675 Provides: libffi-devel@variant@ = %{version}-%{release}
676 Conflicts: libffi-devel@variant@ < %{version}-%{release}
678 %description -n libffi@base_ver@-devel@variant@
679 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.
682 %package -n gcc@base_ver@-testresults
683 # GCC-TESTSUITE-DELETE-END
684 Summary: Testsuite results
685 License: SUSE-Public-Domain
686 Group: Development/Languages/C and C++
688 %description -n gcc@base_ver@-testresults
689 Results from running the gcc and target library testsuites.
694 # Define the canonical target and host architecture
695 # %gcc_target_arch is supposed to be the full target triple
696 # %TARGET_ARCH is the canonicalized CPU part
697 # %CONFIGURE_TARGET is the target triple used for --target=
698 %if 0%{?gcc_target_arch:1}
699 %define CONFIGURE_TARGET %{gcc_target_arch}
700 %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/;")
701 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
702 %define CONFIGURE_TARGET i586-tizen-linux
704 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
705 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
707 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
708 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
710 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7el"
711 %define CONFIGURE_TARGET armv7el-tizen-linux-gnueabi
713 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el"
714 %define CONFIGURE_TARGET armv5el-tizen-linux-gnueabi
717 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
719 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
721 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
724 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
726 %define GCCDIST %{HOST_ARCH}-tizen-linux
729 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
730 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
734 # Versionspecific directories
735 %define versmainlibdir %{libsubdir}
736 %define versmainlibdirbi32 %{libsubdir}/32
737 %define versmainlibdirbi64 %{libsubdir}/64
738 %if %{build_primary_64bit}
739 %define versmainlibdirbi %{versmainlibdirbi32}
741 %define versmainlibdirbi %{versmainlibdirbi64}
744 %if 0%{?build_optional_compiler:1}
745 %define mainlibdir %{versmainlibdir}
746 %define mainlibdirbi32 %{versmainlibdirbi32}
747 %define mainlibdirbi64 %{versmainlibdirbi64}
748 %define noflibdir %{versnoflibdir}
749 %define mainlibdirbi %{versmainlibdirbi}
751 %define mainlibdir %{_libdir}
752 %define mainlibdirbi32 %{_prefix}/lib
753 %define mainlibdirbi64 %{_prefix}/lib64
754 %define noflibdir %{_prefix}/lib/nof
755 %if %{build_primary_64bit}
756 %define mainlibdirbi %{mainlibdirbi32}
758 %define mainlibdirbi %{mainlibdirbi64}
763 # Now define a few macros that make it easy to package libs and
764 # related files just to the right package, without caring for the
765 # exact path the files are in.
766 # %mainlib package X from all dirs that belong to the main package
767 # %biarchlib package X from all dirs that belong to the -32/64bit package
768 # by default, nof libs go where the 32bit libs go.
770 %define mainlib() %{mainlibdir}/%1\
774 %define mainlib() %{mainlibdir}/%1\
777 %define biarchlib() %{nil}
779 %if !%{separate_biarch}
781 %define mainlib() %{mainlibdir}/%1\
786 %define mainlib() %{mainlibdir}/%1\
792 %define biarchlib() %{mainlibdirbi}/%1\
795 %define mainlib() %{mainlibdir}/%1\
798 %define biarchlib() %{mainlibdirbi}/%1\
805 %define versmainlib() %{versmainlibdir}/%1\
809 %define versmainlib() %{versmainlibdir}/%1\
812 %define versbiarchlib() %{nil}
814 %if !%{separate_biarch}
816 %define versmainlib() %{versmainlibdir}/%1\
817 %{versmainlibdirbi}/%1\
821 %define versmainlib() %{versmainlibdir}/%1\
822 %{versmainlibdirbi}/%1\
827 %define versbiarchlib() %{versmainlibdirbi}/%1\
830 %define versmainlib() %{versmainlibdir}/%1\
833 %define versbiarchlib() %{versmainlibdirbi}/%1\
843 #%setup -q -n gcc-%{gcc_version}%{snapshot_date}
844 %setup -q -n gcc-%{version}
845 # 0001-dir-version.patch
851 # Avoid rebuilding of generated files
852 contrib/gcc_update --touch
853 # Avoid fucking up testsuite results with Java and indirect dispatch
854 export LD_AS_NEEDED=0
855 # Split version file into version used for directories (X.Y) and
856 # version to report with --version (X.Y.Z).
857 # See also gcc-dir-version.patch.
858 # Also decrement the patchlevel version by one
859 if test `cat gcc/DEV-PHASE` == "prerelease"; then
860 ( 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
862 mv gcc/BASE-VER gcc/FULL-VER
864 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
866 rm -rf obj-%{GCCDIST}
869 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
870 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'`
872 # -mcpu is superceded by -mtune but -mtune is not supported by
873 # our bootstrap compiler. -mcpu gives a warning that stops
874 # the build process, so remove it for now. Also remove all other
875 # -march and -mtune flags. They are superseeded by proper
876 # default compiler settings now.
877 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'`
879 %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
880 # Kill all -march/tune/cpu because that screws building the target libs
881 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
883 # Replace 2 spaces by one finally
884 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
888 languages=$languages,c++
891 languages=$languages,objc
894 languages=$languages,fortran
897 languages=$languages,obj-c++
900 languages=$languages,java
903 languages=$languages,ada
907 if test -z "$J"; then
908 J=$(getconf _NPROCESSORS_CONF)
911 test 1 -gt "$J" && J=1
912 JL=$(($(getconf _NPROCESSORS_CONF)*2))
914 if test "$J" == "0"; then
917 if test "$JL" == "0"; then
920 PARALLEL="-j$J -l$JL"
922 # we don't want some miscompiles in the testsuite, or some fault in
923 # the compiler to kill the machine. Hence we limit the amount of memory
924 # by the physical RAM plus half of swap
925 #MEM=$(free -m | awk '/^Mem:/ {print $2}')
926 #SWAP=$(free -m | awk '/^Swap:/ {print $2}')
927 #ulimit -v $(((MEM + SWAP/2)*1024))
929 # In general we want to ship release checking enabled compilers
930 # and run BETA with checking enabled.
931 #ENABLE_CHECKING="--enable-checking=yes"
932 ENABLE_CHECKING="--enable-checking=release"
934 # Work around tail/head -1 changes
935 export _POSIX2_VERSION=199209
937 # configure tries to parse include/features.h to detect
938 # if glibc supports SSP. When cross compiling we would need
939 # to install a cross glibc, which we don't, or make the whole
940 # thing point to the native glibc, which is in /, hence the
944 # Using the host gnatmake like
945 # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
946 # GNATMAKE="gnatmake%{hostsuffix}"
947 # doesn't work due to PR33857, so an un-suffixed gnatmake has to be
949 mkdir -p host-tools/bin
950 cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
951 cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
952 cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
953 cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
954 ln -sf /usr/%{_lib} host-tools/%{_lib}
955 export PATH="`pwd`/host-tools/bin:$PATH"
957 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
959 # --enable-threads=posix \
962 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
963 TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \
965 --prefix=%{_prefix} \
966 --infodir=%{_infodir} \
967 --mandir=%{_mandir} \
968 --libdir=%{_libdir} \
969 --libexecdir=%{_libdir} \
970 --enable-languages=$languages \
972 --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
977 --disable-bootstrap \
980 --with-bugurl="http://bugs.tizen.org/" \
981 --with-pkgversion="Tizen Linux" \
982 %if !%{build_libjava}
985 --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
986 --with-ecj-jar=%{libsubdir}/ecj.jar \
988 %if !%{biarch_libjava}
989 --disable-libjava-multilib \
992 %if !%{build_with_mudflap}
993 --disable-libmudflap \
995 --with-slibdir=/%{_lib} \
997 --enable-__cxa_atexit \
998 --enable-libstdcxx-allocator=new \
999 --disable-libstdcxx-pch \
1000 --enable-version-specific-runtime-libs \
1001 --enable-linker-build-id \
1002 %if 0%{?gcc_target_arch:1}
1003 %if 0%{?gcc_icecream:1}
1004 --with-build-sysroot=/ \
1005 --with-sysroot=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi} \
1006 --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/usr/include/c++/%{gcc_dir_version} \
1007 --enable-linux-futex \
1009 %if 0%{?canonical_target:1}
1010 --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
1012 %if 0%{?build_static:1}
1015 %if "%{TARGET_ARCH}" == "spu"
1016 --with-sysroot=/usr/spu \
1017 --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \
1021 --target=%{CONFIGURE_TARGET} \
1023 --program-suffix=%{binsuffix} \
1024 --enable-linux-futex \
1026 --with-system-libunwind \
1028 --without-system-libunwind \
1031 %if "%{TARGET_ARCH}" == "armv5tel"
1032 --with-arch=armv5te \
1035 --with-abi=aapcs-linux \
1036 --disable-sjlj-exceptions \
1038 %if "%{TARGET_ARCH}" == "armv7el"
1039 --with-arch=armv7-a \
1040 --with-tune=cortex-a9 \
1044 --disable-sjlj-exceptions \
1046 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
1047 --with-arch=armv7-a \
1048 --with-tune=cortex-a9 \
1050 --with-abi=aapcs-linux \
1051 --with-fpu=vfpv3-d16 \
1052 --disable-sjlj-exceptions \
1054 %if "%{TARGET_ARCH}" == "i586"
1055 --with-arch-32=i586 \
1056 --with-tune=generic \
1058 %if "%{TARGET_ARCH}" == "x86_64"
1059 --with-arch-32=i586 \
1060 --with-tune=generic \
1066 %if 0%{?building_libffi:1}
1067 make stage1-bubble $PARALLEL
1068 make all-target-libffi $PARALLEL
1070 # Only run profiled bootstrap on archs where it works
1071 #%ifarch %ix86 x86_64 ppc ppc64 ia64
1072 #make profiledbootstrap-lean STAGE1_CFLAGS="-O -g" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1077 STAGE1_FLAGS="-O -g"
1079 #make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1080 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1084 %if 0%{?run_tests:1}
1085 echo "Run testsuite"
1086 (make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1087 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1088 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1089 make -k check $PARALLEL || true
1090 mkdir ../testresults
1091 ../contrib/test_summary | tee ../testresults/test_summary.txt
1096 export NO_BRP_CHECK_BYTECODE_VERSION=true
1098 # GCC-TESTSUITE-DELETE-BEGIN
1099 # Work around tail/head -1 changes
1100 export _POSIX2_VERSION=199209
1101 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi}
1102 %if 0%{?building_libffi:1}
1103 make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
1105 %if 0%{?building_libjava:1}
1106 make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
1107 make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
1108 make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
1109 make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
1110 # install-common also installs collect2, gcov and the g++ and gfortran driver
1112 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1114 %if %{build_fortran}
1115 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1117 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1118 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1120 make install DESTDIR=$RPM_BUILD_ROOT
1122 make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
1123 make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT
1124 rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
1125 rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
1126 rm $RPM_BUILD_ROOT%{libsubdir}/jc1
1127 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
1132 # Remove libffi installed files if we did not want to build it
1133 %if !0%{?building_libffi:1}
1134 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.*
1136 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
1138 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h
1139 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h
1140 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3*
1141 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3*
1142 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3*
1145 # Remove some useless .la files
1146 for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \
1147 libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij; do
1148 rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la
1150 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1154 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1156 %if %{build_primary_64bit}
1157 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1159 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1163 # LIBFFI-DELETE-BEGIN
1164 # LIBJAVA-DELETE-BEGIN
1166 # Merge multilib c++config.h to allow omitting the duplicate and
1167 # identical other arch specific headers
1169 cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1170 for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1171 if ! diff -up $cxxconfig $i; then
1186 if ! ( test -f "$file_32" && test -f "$file_64" ); then
1191 cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1192 #ifndef _CPP_CPPCONFIG_WRAPPER
1193 #define _CPP_CPPCONFIG_WRAPPER 1
1194 #include <bits/wordsize.h>
1195 #if __WORDSIZE == 32
1205 rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1206 if ! test -z "$dir_ml"; then
1207 ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1210 # LIBJAVA-DELETE-END
1212 %if 0%{!?build_optional_compiler:1}
1213 # move shared libs from versionspecific dir to main libdir
1215 %if 0%{?building_libjava:1}
1216 libgcj libgij libgcj-tools \
1218 %if %{build_fortran}
1220 %ifarch %quadmath_arch
1231 %if %{build_with_mudflap}
1232 libmudflap libmudflapth \
1236 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1237 mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1239 ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1240 $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
1242 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1243 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1244 mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/
1246 ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1247 $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1252 %if !0%{?building_libjava:1}
1253 # And we want to move the shlib gdb pretty printers to a more sane
1254 # place so ldconfig does not complain
1255 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
1256 mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
1257 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py
1259 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1260 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
1261 mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1262 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1267 %if 0%{?building_libjava:1}
1268 # libgcj_bc is special as the .so file is actually a different
1269 # library as the library refered to by the SONAME which should
1270 # be a simple link to our libgcj.
1271 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do
1274 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.1
1275 %if %{biarch_libjava}
1276 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do
1279 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.1
1284 # LIBJAVA-DELETE-BEGIN
1285 %if 0%{!?build_optional_compiler:1}
1286 # Move libgcc_s around
1287 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1288 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1289 ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1291 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1293 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
1295 %if %{build_primary_64bit}
1296 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1297 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1298 ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1300 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1302 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1303 chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
1305 # 32-bit biarch systems
1306 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1307 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1308 ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1310 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1312 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1313 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1317 # Move libgcc_s around
1318 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/
1319 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1320 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1321 ln -sf %{versmainlibdir}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1323 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1325 chmod a+x $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
1327 %if %{build_primary_64bit}
1328 mv $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1329 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1330 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1331 ln -sf %{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1333 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1335 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1336 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
1338 # 32-bit biarch systems
1339 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1340 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1341 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1342 ln -sf %{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1344 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1346 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1347 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
1352 # Provide a defaults.spec file which adds a proper rpath
1353 %if 0%{?build_optional_compiler:1}
1354 cat > $RPM_BUILD_ROOT%{libsubdir}/defaults.spec << EOF
1356 + %%{!m32:%%{!m64:-rpath=%{libsubdir}}} %%{m32:-rpath=%{libsubdir}/32} %%{m64:-rpath=%{libsubdir}/64}
1359 # LIBJAVA-DELETE-END
1363 mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir}
1364 ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so
1365 ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so
1366 chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
1368 mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
1369 ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1370 ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1371 chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
1375 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1377 # Remove some crap from the .la files:
1378 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
1380 # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g'
1381 sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1382 -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1383 -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1384 -e '/^dependency_libs/s|-L[^ ]* ||g' \
1386 %if %{build_primary_64bit}
1387 -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1388 -e '/^libdir/s|lib64/\.\./||' \
1390 -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1397 # GCC-TESTSUITE-DELETE-END
1398 %if 0%{?run_tests:1}
1399 cp `find . -name "*.sum"` ../testresults/
1400 cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
1401 chmod 644 ../testresults/*
1403 # GCC-TESTSUITE-DELETE-BEGIN
1404 # LIBFFI-DELETE-BEGIN
1406 # Find C++ and Java headers
1407 find $RPM_BUILD_ROOT%{_prefix}/include/c++ \
1408 -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \
1409 -o \( -type d -printf "%%%%dir " , \
1410 -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers
1413 # Remove files that we do not need to clean up filelist
1414 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-*
1415 rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools
1416 #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
1417 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root
1418 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h
1419 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-*
1420 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux
1421 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound
1422 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h
1423 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h
1424 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h
1425 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h
1426 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11
1427 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1428 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h
1429 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h
1430 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h
1431 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1432 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys
1434 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1435 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
1436 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix}
1438 %if !0%{?building_libjava:1}%{?building_libffi:1}
1439 # delete compile flag tracking from crt files
1440 crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o
1442 %if %{build_primary_64bit}
1443 crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o
1445 crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o
1448 for o in $crt_list $crt32_list $crt64_list; do
1449 objcopy -R ".comment.SUSE.OPTs" $o
1453 %if 0%{?building_libjava:1}
1454 # gcj -static doesn't work properly anyway, unless using --whole-archive
1455 # let's save the space instead.
1456 find $RPM_BUILD_ROOT -name libgcj.a \
1457 -o -name libgcj-tools.a \
1460 -o -name libgcj_bc.a \
1463 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
1464 sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
1466 # security files have broken install locations, also they cause conflicts
1467 # between libgcj versions. Simply delete them here, libgcj will use its
1468 # defaults in this case (which is what these files contain anyway).
1469 rm $RPM_BUILD_ROOT%{_libdir}/logging.properties
1470 rm -r $RPM_BUILD_ROOT%{_libdir}/security
1473 %if 0%{?building_libffi:1}
1474 # Move libffi headers, remove empty libffi libtool file
1475 mkdir -p $RPM_BUILD_ROOT%{_prefix}/include
1476 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/
1477 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/
1478 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la
1480 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
1482 # Generate a simple pkg-config file
1483 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
1484 echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc
1488 %if !%{build_libjava}
1489 rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
1490 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
1491 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
1492 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
1493 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1
1494 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1
1495 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1
1497 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py
1498 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py
1500 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
1501 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
1502 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
1503 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
1505 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/nof/libiberty.a
1508 %if %{build_primary_64bit}
1509 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
1511 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
1514 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
1515 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
1517 # LIBFFI-DELETE-BEGIN
1518 %if 0%{?building_libjava:1}
1519 # For building libjava only we need to delete other info docs
1520 rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
1521 # Remove stale manpages for binaries we do not build
1522 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1
1523 # For building the java frontend we need to copy the ecj jar
1524 mkdir -p $RPM_BUILD_ROOT%{libsubdir}
1525 cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
1527 # For regular build, some info files do not get renamed properly.
1529 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
1530 %if %{build_fortran}
1531 %ifarch %quadmath_arch
1532 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
1536 mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info
1537 mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info
1538 mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info
1542 # LIBJAVA-DELETE-BEGIN
1544 %find_lang gcc@base_ver@-locale --all-name
1547 %install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1548 %install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1549 %install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1550 %install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1551 %install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1552 %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1553 %if %{build_fortran}
1554 %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1555 %ifarch %quadmath_arch
1556 %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1560 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1563 %install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1564 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1565 %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
1569 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1570 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1571 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1572 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1573 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1574 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1575 %if %{build_fortran}
1576 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1577 %ifarch %quadmath_arch
1578 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1582 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1585 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1586 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1587 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
1592 %defattr(-,root,root)
1594 %dir %{_libdir}/gcc/%{GCCDIST}
1596 %dir %{libsubdir}/include
1597 %dir %{libsubdir}/include-fixed
1599 %if %{build_primary_64bit}
1600 %dir %{libsubdir}/32
1602 %dir %{libsubdir}/64
1606 %dir %{libsubdir}/nof
1608 %{_prefix}/bin/gcc%{binsuffix}
1609 %{_prefix}/bin/gcov%{binsuffix}
1610 %{_prefix}/bin/gcc-ar%{binsuffix}
1611 %{_prefix}/bin/gcc-nm%{binsuffix}
1612 %{_prefix}/bin/gcc-ranlib%{binsuffix}
1613 %{libsubdir}/collect2
1615 %{libsubdir}/lto-wrapper
1616 %{libsubdir}/liblto_plugin.so*
1617 %{libsubdir}/include-fixed/README
1618 %{libsubdir}/include-fixed/limits.h
1619 %{libsubdir}/include-fixed/syslimits.h
1620 %{libsubdir}/include/omp.h
1621 %{libsubdir}/include/float.h
1622 %{libsubdir}/include/iso646.h
1623 %{libsubdir}/include/stdarg.h
1624 %{libsubdir}/include/stdbool.h
1625 %{libsubdir}/include/stdfix.h
1626 %{libsubdir}/include/stddef.h
1627 %{libsubdir}/include/unwind.h
1628 %{libsubdir}/include/varargs.h
1629 %{libsubdir}/include/stdint.h
1630 %{libsubdir}/include/stdint-gcc.h
1631 %{libsubdir}/include/stdnoreturn.h
1632 %{libsubdir}/include/stdalign.h
1634 %{libsubdir}/include/mmintrin.h
1635 %{libsubdir}/include/arm_neon.h
1636 %{libsubdir}/include/unwind-arm-common.h
1638 %ifarch %ix86 x86_64
1639 %{libsubdir}/include/cross-stdarg.h
1640 %{libsubdir}/include/cpuid.h
1641 %{libsubdir}/include/mm3dnow.h
1642 %{libsubdir}/include/mmintrin.h
1643 %{libsubdir}/include/ammintrin.h
1644 %{libsubdir}/include/bmmintrin.h
1645 %{libsubdir}/include/emmintrin.h
1646 %{libsubdir}/include/immintrin.h
1647 %{libsubdir}/include/avxintrin.h
1648 %{libsubdir}/include/pmmintrin.h
1649 %{libsubdir}/include/xmmintrin.h
1650 %{libsubdir}/include/tmmintrin.h
1651 %{libsubdir}/include/nmmintrin.h
1652 %{libsubdir}/include/smmintrin.h
1653 %{libsubdir}/include/wmmintrin.h
1654 %{libsubdir}/include/x86intrin.h
1655 %{libsubdir}/include/ia32intrin.h
1656 %{libsubdir}/include/mm_malloc.h
1657 %{libsubdir}/include/fma4intrin.h
1658 %{libsubdir}/include/xopintrin.h
1659 %{libsubdir}/include/lwpintrin.h
1660 %{libsubdir}/include/popcntintrin.h
1661 %{libsubdir}/include/bmiintrin.h
1662 %{libsubdir}/include/tbmintrin.h
1663 %{libsubdir}/include/avx2intrin.h
1664 %{libsubdir}/include/bmi2intrin.h
1665 %{libsubdir}/include/fmaintrin.h
1666 %{libsubdir}/include/lzcntintrin.h
1667 %{libsubdir}/include/f16cintrin.h
1669 %if %{build_with_mudflap}
1670 %{libsubdir}/include/mf-runtime.h
1672 %versmainlib *crt*.o
1673 %versmainlib libgcc*.a
1674 %versmainlib libgcov.a
1675 %versmainlib libgcc_s*.so
1676 %if %{build_with_mudflap}
1677 %versmainlib libmudflap.a
1678 %versmainlib libmudflap.so
1679 %versmainlib libmudflapth.a
1680 %versmainlib libmudflapth.so
1682 %versmainlib libgomp.so
1683 %versmainlib libgomp.a
1684 %versmainlib libgomp.spec
1685 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
1686 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
1687 %if 0%{?build_optional_compiler:1}
1688 %{libsubdir}/defaults.spec
1691 %if %{separate_biarch}
1692 %files -n gcc@base_ver@%{separate_biarch_suffix}
1693 %defattr(-,root,root)
1694 %versbiarchlib *crt*.o
1695 %versbiarchlib libgcc*.a
1696 %versbiarchlib libgcov.a
1697 %versbiarchlib libgcc_s*.so
1698 %if %{build_with_mudflap}
1699 %versbiarchlib libmudflap.a
1700 %versbiarchlib libmudflap.so
1701 %versbiarchlib libmudflapth.a
1702 %versbiarchlib libmudflapth.so
1704 %versbiarchlib libgomp.so
1705 %versbiarchlib libgomp.a
1706 %versbiarchlib libgomp.spec
1709 %files locale -f gcc@base_ver@-locale.lang
1713 %defattr(-,root,root)
1715 %dir %{_libdir}/gcc/%{GCCDIST}
1717 %{_prefix}/bin/g++%{binsuffix}
1718 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
1719 %{libsubdir}/cc1plus
1721 %files -n libstdc++@base_ver@
1722 %defattr(-,root,root)
1726 %mainlib libstdc++.so.*
1728 %if %{separate_biarch}
1729 %files -n libstdc++@base_ver@%{separate_biarch_suffix}
1730 %defattr(-,root,root)
1731 %biarchlib libstdc++.so.*
1734 %files -n libstdc++@base_ver@-devel -f c++-headers
1735 %defattr(-,root,root)
1736 %versmainlib libstdc++.a
1737 %versmainlib libstdc++.so
1738 %versmainlib libsupc++.a
1739 %dir %{_datadir}/gdb
1740 %dir %{_datadir}/gdb/auto-load
1741 %dir %{_datadir}/gdb/auto-load%{_prefix}
1742 %dir %{_datadir}/gdb/auto-load/%{mainlibdir}
1743 %{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
1744 %{_datadir}/gcc%{binsuffix}
1746 %if %{separate_biarch}
1747 %files -n libstdc++@base_ver@-devel%{separate_biarch_suffix}
1748 %defattr(-,root,root)
1749 %versbiarchlib libstdc++.a
1750 %versbiarchlib libstdc++.so
1751 %versbiarchlib libsupc++.a
1752 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
1753 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
1756 %files -n libstdc++@base_ver@-doc
1757 %defattr(-,root,root)
1758 %doc libstdc++-v3/doc/html
1761 %files -n libgcc@base_ver@
1762 %defattr(-,root,root)
1763 %if 0%{!?build_optional_compiler:1}
1764 /%{_lib}/libgcc_s.so.%{libgcc_s}
1767 /lib/nof/libgcc_s.so.%{libgcc_s}
1770 %if %{build_primary_64bit}
1771 %if !%{separate_bi32}
1772 /lib/libgcc_s.so.%{libgcc_s}
1775 %if !%{separate_bi64}
1776 /lib64/libgcc_s.so.%{libgcc_s}
1781 %versmainlib libgcc_s.so.%{libgcc_s}
1784 %if %{separate_bi64}
1785 %files -n libgcc@base_ver@-64bit
1786 %defattr(-,root,root)
1787 %if 0%{!?build_optional_compiler:1}
1788 /lib64/libgcc_s.so.%{libgcc_s}
1790 %versbiarchlib libgcc_s.so.%{libgcc_s}
1794 %if %{separate_bi32}
1795 %files -n libgcc@base_ver@-32bit
1796 %defattr(-,root,root)
1797 %if 0%{!?build_optional_compiler:1}
1798 /lib/libgcc_s.so.%{libgcc_s}
1800 %versbiarchlib libgcc_s.so.%{libgcc_s}
1805 %files -n libgomp@base_ver@
1806 %defattr(-,root,root)
1807 %mainlib libgomp.so.1*
1809 %if %{separate_biarch}
1810 %files -n libgomp@base_ver@%{separate_biarch_suffix}
1811 %defattr(-,root,root)
1812 %biarchlib libgomp.so.1*
1816 %if %{build_fortran}
1818 %defattr(-,root,root)
1819 %dir %{libsubdir}/finclude
1820 %{_prefix}/bin/gfortran%{binsuffix}
1822 %{libsubdir}/finclude/*
1823 %versmainlib libgfortran.a
1824 %versmainlib libgfortran.so
1825 %versmainlib libgfortran.spec
1826 %versmainlib libgfortranbegin.a
1827 %versmainlib libcaf_single.a
1828 %ifarch %quadmath_arch
1829 %{libsubdir}/include/quadmath.h
1830 %{libsubdir}/include/quadmath_weak.h
1831 %versmainlib libquadmath.a
1832 %versmainlib libquadmath.so
1834 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
1836 %if %{separate_biarch}
1837 %files fortran%{separate_biarch_suffix}
1838 %defattr(-,root,root)
1839 %versbiarchlib libgfortran.a
1840 %versbiarchlib libgfortran.so
1841 %versbiarchlib libgfortran.spec
1842 %versbiarchlib libgfortranbegin.a
1843 %versbiarchlib libcaf_single.a
1844 %ifarch %quadmath_arch
1845 %versbiarchlib libquadmath.a
1846 %versbiarchlib libquadmath.so
1850 %files -n libgfortran@base_ver@
1851 %defattr(-,root,root)
1852 %mainlib libgfortran.so.*
1854 %if %{separate_biarch}
1855 %files -n libgfortran@base_ver@%{separate_biarch_suffix}
1856 %defattr(-,root,root)
1857 %biarchlib libgfortran.so.*
1860 %ifarch %quadmath_arch
1861 %files -n libquadmath@base_ver@
1862 %defattr(-,root,root)
1863 %mainlib libquadmath.so.*
1865 %if %{separate_biarch}
1866 %files -n libquadmath@base_ver@%{separate_biarch_suffix}
1867 %defattr(-,root,root)
1868 %biarchlib libquadmath.so.*
1873 %if %{build_with_mudflap}
1874 %files -n libmudflap@base_ver@
1875 %defattr(-,root,root)
1876 %mainlib libmudflap.so.0*
1877 %mainlib libmudflapth.so.0*
1879 %if %{separate_biarch}
1880 %files -n libmudflap@base_ver@%{separate_biarch_suffix}
1881 %defattr(-,root,root)
1882 %biarchlib libmudflap.so.0*
1883 %biarchlib libmudflapth.so.0*
1888 %defattr(-,root,root)
1889 %doc %{_infodir}/cpp%{binsuffix}.info*.gz
1890 %doc %{_infodir}/cppinternals%{binsuffix}.info*.gz
1891 %doc %{_infodir}/gcc%{binsuffix}.info*.gz
1892 %doc %{_infodir}/gccint%{binsuffix}.info*.gz
1893 %doc %{_infodir}/gccinstall%{binsuffix}.info*.gz
1894 %doc %{_infodir}/libgomp%{binsuffix}.info*.gz
1895 %if %{build_fortran}
1896 %doc %{_infodir}/gfortran%{binsuffix}.info*.gz
1897 %ifarch %quadmath_arch
1898 %doc %{_infodir}/libquadmath%{binsuffix}.info*.gz
1902 %doc %{_infodir}/gcj%{binsuffix}.info*.gz
1905 %doc %{_infodir}/gnat-style%{binsuffix}.info*gz
1906 %doc %{_infodir}/gnat_rm%{binsuffix}.info*gz
1907 %doc %{_infodir}/gnat_ugn%{binsuffix}.info*gz
1910 %files -n cpp@base_ver@
1911 %defattr(-,root,root)
1913 %dir %{_libdir}/gcc/%{GCCDIST}
1915 %{_prefix}/bin/cpp%{binsuffix}
1918 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
1922 %defattr(-,root,root)
1924 %{libsubdir}/include/objc
1925 %versmainlib libobjc.a
1926 %versmainlib libobjc.so
1928 %if %{separate_biarch}
1929 %files objc%{separate_biarch_suffix}
1930 %defattr(-,root,root)
1931 %versbiarchlib libobjc.a
1932 %versbiarchlib libobjc.so
1935 %files -n libobjc@base_ver@
1936 %defattr(-,root,root)
1937 %mainlib libobjc.so.*
1939 %if %{separate_biarch}
1940 %files -n libobjc@base_ver@%{separate_biarch_suffix}
1941 %defattr(-,root,root)
1942 %biarchlib libobjc.so.*
1949 %defattr(-,root,root)
1950 %{libsubdir}/cc1objplus
1956 %defattr(-,root,root)
1958 %dir %{_libdir}/gcc/%{GCCDIST}
1960 %{_prefix}/bin/gnat*
1961 %dir %{versmainlibdir}/adainclude
1962 %dir %{versmainlibdir}/adalib
1963 %{versmainlibdir}/adainclude
1964 %{versmainlibdir}/adalib/*.ali
1965 %{versmainlibdir}/adalib/*.a
1966 %{versmainlibdir}/adalib/libgnarl.so
1967 %{versmainlibdir}/adalib/libgnat.so
1968 %{versmainlibdir}/gnat1
1970 %if %{separate_biarch}
1971 %files ada%{separate_biarch_suffix}
1972 %defattr(-,root,root)
1973 %dir %{versmainlibdirbi}/adainclude
1974 %dir %{versmainlibdirbi}/adalib
1975 %{versmainlibdirbi}/adainclude
1976 %{versmainlibdirbi}/adalib/*.ali
1977 %{versmainlibdirbi}/adalib/*.a
1978 %{versmainlibdirbi}/adalib/libgnarl.so
1979 %{versmainlibdirbi}/adalib/libgnat.so
1982 %files -n libada@base_ver@
1983 %defattr(-,root,root)
1984 %mainlib libgnarl-*.so
1985 %mainlib libgnat-*.so
1987 %if %{separate_biarch}
1988 %files -n libada@base_ver@%{separate_biarch_suffix}
1989 %defattr(-,root,root)
1990 %biarchlib libgnarl-*.so
1991 %biarchlib libgnat-*.so
1994 # LIBJAVA-DELETE-END
1998 %if 0%{?building_libjava:1}
1999 %files -n gcc@base_ver@-java
2000 %defattr(-,root,root)
2001 %{_prefix}/bin/gcj%{binsuffix}
2002 %{_prefix}/bin/gcjh%{binsuffix}
2003 %{_prefix}/bin/gcj-dbtool%{binsuffix}
2004 %{_prefix}/bin/jcf-dump%{binsuffix}
2005 %{_prefix}/bin/jv-convert%{binsuffix}
2006 %{_prefix}/bin/gc-analyze%{binsuffix}
2007 %{_prefix}/bin/aot-compile%{binsuffix}
2008 %{_prefix}/bin/rebuild-gcj-db%{binsuffix}
2010 %{libsubdir}/jvgenmain
2011 %{libsubdir}/ecj.jar
2013 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
2014 %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
2015 %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
2016 %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
2017 %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
2018 %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
2019 %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz
2020 %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz
2025 %if %{build_libjava}
2026 %files -n libgcj@base_ver@
2027 %defattr(-,root,root)
2028 %dir %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}
2030 %dir %{_libdir}/gcc/%{GCCDIST}
2032 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/classmap.db
2033 # We usually do not multilib libjava
2034 %if %{biarch_libjava}
2035 %versbiarchlib libgcj.la
2036 %biarchlib libgcj.so.*
2037 %biarchlib libgij.so.*
2038 %biarchlib libgcj-tools.so.*
2040 %versmainlib libgcj.la
2041 %mainlib libgcj.so.*
2042 %mainlib libgij.so.*
2043 %mainlib libgcj-tools.so.*
2045 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.la
2046 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.so
2047 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.la
2048 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.so
2050 %files -n libgcj_bc@base_ver@
2051 %defattr(-,root,root)
2052 %if %{biarch_libjava}
2053 %biarchlib libgcj_bc.so.*
2055 %mainlib libgcj_bc.so.*
2058 %files -n libgcj@base_ver@-jar
2059 %defattr(-,root,root)
2060 %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
2061 %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
2063 %files -n libgcj@base_ver@-devel
2064 %defattr(-,root,root)
2065 %dir %{_prefix}/include/c++
2067 %dir %{libsubdir}/include
2069 %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
2070 %{libsubdir}/include/jawt.h
2071 %{libsubdir}/include/jawt_md.h
2072 %{libsubdir}/include/jni.h
2073 %{libsubdir}/include/jni_md.h
2074 %{libsubdir}/include/jvmpi.h
2081 %{libsubdir}/include/gcj
2082 %if %{biarch_libjava}
2083 %versbiarchlib libgcj.so
2084 %versbiarchlib libgcj.spec
2085 %versbiarchlib libgcj-tools.so
2086 %versbiarchlib libgij.so
2087 %versbiarchlib libgcj_bc.so
2089 %versmainlib libgcj.so
2090 %versmainlib libgcj.spec
2091 %versmainlib libgcj-tools.so
2092 %versmainlib libgij.so
2093 %versmainlib libgcj_bc.so
2096 %files -n gcc@base_ver@-gij
2097 %defattr(-,root,root)
2098 %{_prefix}/bin/gij%{binsuffix}
2099 %{_prefix}/bin/gappletviewer%{binsuffix}
2100 %{_prefix}/bin/gjar%{binsuffix}
2101 %{_prefix}/bin/gjarsigner%{binsuffix}
2102 %{_prefix}/bin/gjavah%{binsuffix}
2103 %{_prefix}/bin/gkeytool%{binsuffix}
2104 %{_prefix}/bin/gnative2ascii%{binsuffix}
2105 %{_prefix}/bin/gorbd%{binsuffix}
2106 %{_prefix}/bin/grmic%{binsuffix}
2107 %{_prefix}/bin/grmid%{binsuffix}
2108 %{_prefix}/bin/grmiregistry%{binsuffix}
2109 %{_prefix}/bin/gserialver%{binsuffix}
2110 %{_prefix}/bin/gtnameserv%{binsuffix}
2111 %doc %{_mandir}/man1/gij%{binsuffix}.1.gz
2112 %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
2113 %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
2114 %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
2115 %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
2116 %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
2117 %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
2118 %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
2119 %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
2120 %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
2121 %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
2122 %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz
2123 %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz
2129 %if 0%{?building_libffi:1}
2130 %files -n libffi@base_ver@
2131 %defattr(-,root,root)
2132 %mainlib libffi.so.*
2134 %if %{separate_biarch}
2135 %files -n libffi@base_ver@%{separate_biarch_suffix}
2136 %defattr(-,root,root)
2137 %biarchlib libffi.so.*
2140 %files -n libffi@base_ver@-devel
2141 %defattr(-,root,root)
2142 %{_prefix}/include/ffi.h
2143 %{_prefix}/include/ffitarget.h
2146 %{_libdir}/pkgconfig/libffi.pc
2147 %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz
2148 %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz
2149 %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz
2151 %if %{separate_biarch}
2152 %files -n libffi@base_ver@-devel%{separate_biarch_suffix}
2153 %defattr(-,root,root)
2154 %biarchlib libffi.so
2159 # GCC-TESTSUITE-DELETE-END
2161 %if 0%{?run_tests:1}
2162 %files -n gcc@base_ver@-testresults
2163 %defattr(-,root,root)
2164 %doc testresults/test_summary.txt
2165 %doc testresults/*.sum
2166 %doc testresults/*.log