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
165 # GCC-TESTSUITE-DELETE-BEGIN
166 # LIBFFI-DELETE-BEGIN
167 # LIBJAVA-DELETE-BEGIN
168 Group: Development/Languages/C and C++
169 Summary: The GNU C Compiler and Support Files
173 Core package for the GNU Compiler Collection, including the C language
176 Language frontends other than C are split to different sub-packages,
177 namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
183 %package -n gcc@base_ver@-32bit
184 Summary: The GNU C Compiler 32bit support
185 Group: Development/Languages/C and C++
186 Requires: gcc@base_ver@ = %{version}-%{release}
187 %if 0%{!?build_optional_compiler:1}
188 Requires: libgcc%{libgcc_s}-32bit >= %{version}-%{release}
189 Requires: libgomp1-32bit >= %{version}-%{release}
190 %if %{build_with_mudflap}
191 Requires: libmudflap0-32bit >= %{version}-%{release}
192 Requires: libmudflapth0-32bit >= %{version}-%{release}
195 Requires: libgcc@base_ver@-32bit = %{version}-%{release}
196 Requires: libgomp@base_ver@-32bit = %{version}-%{release}
198 Requires: glibc-devel-32bit
200 %description -n gcc@base_ver@-32bit
201 This package contains 32bit support for the GNU Compiler Collection.
203 %package -n gcc@base_ver@-64bit
204 Summary: The GNU C Compiler 64bit support
205 Group: Development/Languages/C and C++
206 Requires: gcc@base_ver@ = %{version}-%{release}
207 %if 0%{!?build_optional_compiler:1}
208 Requires: libgcc%{libgcc_s}-64bit >= %{version}-%{release}
209 Requires: libgomp1-64bit >= %{version}-%{release}
210 %if %{build_with_mudflap}
211 Requires: libmudflap0-64bit >= %{version}-%{release}
212 Requires: libmudflapth0-64bit >= %{version}-%{release}
215 Requires: libgcc@base_ver@-64bit = %{version}-%{release}
216 Requires: libgomp@base_ver@-64bit = %{version}-%{release}
218 Requires: glibc-devel-64bit
220 %description -n gcc@base_ver@-64bit
221 This package contains 64bit support for the GNU Compiler Collection.
225 Summary: Locale Data for the GNU Compiler Collection
227 Group: Development/Languages/C and C++
228 Requires: gcc@base_ver@ = %{version}-%{release}
231 Locale data for the GNU Compiler Collection (GCC) to give error message
232 in the current locale.
236 Summary: The GNU C++ Compiler
238 Group: Development/Languages/C and C++
239 Requires: gcc@base_ver@ = %{version}-%{release}
240 Requires: libstdc++@base_ver@-devel = %{version}-%{release}
243 This package contains the GNU compiler for C++.
246 %package -n libstdc++@base_ver@-devel@variant@
247 Summary: Include Files and Libraries mandatory for Development
248 License: GPL-3.0-with-GCC-exception
249 Group: Development/Languages/C and C++
250 %if 0%{!?build_optional_compiler:1}
251 Requires: libstdc++6@variant@ >= %{version}-%{release}
253 Requires: libstdc++@base_ver@@variant@ = %{version}-%{release}
255 Requires: glibc-devel@variant@
257 Requires: libunwind-devel
260 %description -n libstdc++@base_ver@-devel@variant@
261 This package contains all the headers and libraries of the standard C++
262 library. It is needed for compiling C++ code.
265 %package -n libstdc++@base_ver@-doc
266 Summary: Documentation for the GNU C++ standard library
268 Group: Documentation/HTML
271 %description -n libstdc++@base_ver@-doc
272 Extensive HTML documentation for the GNU C++ standard library.
276 %package -n libgcc@base_ver@@variant@
277 Summary: C compiler runtime library
278 License: GPL-3.0-with-GCC-exception
280 %if 0%{!?build_optional_compiler:1}
281 Provides: libgcc%{libgcc_s}@variant@ = %{version}-%{release}
282 Conflicts: libgcc%{libgcc_s}@variant@ < %{version}-%{release}
287 %description -n libgcc@base_ver@@variant@
288 Libgcc is needed for dynamically linked C programs.
290 %post -n libgcc@base_ver@@variant@
293 %postun -n libgcc@base_ver@@variant@
298 %package -n libgomp@base_ver@@variant@
299 Summary: The GNU compiler collection OpenMP runtime library
300 License: GPL-3.0-with-GCC-exception
302 %if 0%{!?build_optional_compiler:1}
303 Provides: libgomp1@variant@ = %{version}-%{release}
304 Conflicts: libgomp1@variant@ < %{version}-%{release}
309 %description -n libgomp@base_ver@@variant@
310 This is the OpenMP runtime library needed by OpenMP enabled programs
311 that were built with the -fopenmp compiler option and by programs that
312 were auto-parallelized via the -ftree-parallelize-loops compiler
316 %post -n libgomp@base_ver@@variant@
319 %postun -n libgomp@base_ver@@variant@
324 %package -n libstdc++@base_ver@@variant@
325 Summary: The standard C++ shared library
326 License: GPL-3.0-with-GCC-exception
327 Group: System/Libraries
328 %if 0%{!?build_optional_compiler:1}
329 Provides: libstdc++6@variant@ = %{version}-%{release}
330 Conflicts: libstdc++6@variant@ < %{version}-%{release}
335 %description -n libstdc++@base_ver@@variant@
336 The standard C++ library, needed for dynamically linked C++ programs.
339 %post -n libstdc++@base_ver@@variant@
342 %postun -n libstdc++@base_ver@@variant@
348 Summary: Documentation for the GNU compiler collection
350 Group: Documentation/Other
354 GNU info-pages for the GNU compiler collection covering both user-level
355 and internals documentation.
359 %package objc@variant@
360 Summary: GNU Objective C Compiler
362 Group: Development/Languages/Other
363 Requires: gcc@base_ver@ = %{version}-%{release}
364 Requires: libobjc2@variant@ >= %{version}-%{release}
366 %description objc@variant@
367 This package contains the GNU Objective C compiler. Objective C is an
368 object oriented language, created by Next Inc. and used in their
369 Nextstep OS. The source code is available in the gcc package.
373 %package -n libobjc@base_ver@@variant@
374 Summary: Library for the GNU Objective C Compiler
375 License: GPL-3.0-with-GCC-exception
376 Group: Development/Libraries/Other
377 Provides: libobjc2@variant@ = %{version}-%{release}
378 Conflicts: libobjc2@variant@ < %{version}-%{release}
380 %description -n libobjc@base_ver@@variant@
381 The library for the GNU Objective C compiler.
383 %post -n libobjc@base_ver@@variant@
386 %postun -n libobjc@base_ver@@variant@
391 Summary: GNU Objective C++ Compiler
393 Group: Development/Languages/Other
394 Requires: gcc@base_ver@-objc = %{version}-%{release}
395 Requires: gcc@base_ver@-c++ = %{version}-%{release}
398 This package contains the GNU Objective C++ compiler. Objective C++ is an
399 object oriented language, created by Next Inc. and used in their
400 Nextstep OS. The source code is available in the gcc package.
403 %package -n cpp@base_ver@
404 Summary: The GCC Preprocessor
406 Group: Development/Languages/C and C++
408 %description -n cpp@base_ver@
409 This Package contains just the preprocessor that is used by the X11
414 %package ada@variant@
415 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
417 Group: Development/Languages/Other
418 Requires: gcc@base_ver@@variant@ = %{version}-%{release}
419 Requires: libada@base_ver@@variant@ = %{version}-%{release}
421 %description ada@variant@
422 This package contains an Ada95 compiler and associated development
423 tools based on the GNU GCC technology. Ada95 is the object oriented
424 successor of the Ada83 language. To build this package from source you
425 must have installed a binary version to bootstrap the compiler.
429 %package -n libada@base_ver@@variant@
430 Summary: GNU Ada Runtime Libraries
431 License: GPL-3.0-with-GCC-exception
432 Group: System/Libraries
433 Provides: libgnarl-4_7@variant@ = %{version}-%{release}
434 Conflicts: libgnarl-4_7@variant@ < %{version}-%{release}
435 Provides: libgnat-4_7@variant@ = %{version}-%{release}
436 Conflicts: libgnat-4_7@variant@ < %{version}-%{release}
438 %description -n libada@base_ver@@variant@
439 This package contains the shared libraries required to run programs
440 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
441 shared libraries. It also contains the shared libraries for the
442 Implementation of the Ada Semantic Interface Specification (ASIS), the
443 implementation of Distributed Systems Programming (GLADE) and the Posix
444 1003.5 Binding (Florist).
446 %post -n libada@base_ver@@variant@
449 %postun -n libada@base_ver@@variant@
454 %package fortran@variant@
455 Summary: The GNU Fortran Compiler and Support Files
457 Group: Development/Languages/Fortran
458 Requires: gcc@base_ver@ = %{version}-%{release}
459 %if 0%{!?build_optional_compiler:1}
460 Requires: libgfortran3@variant@ >= %{version}-%{release}
461 %ifarch %quadmath_arch
462 Requires: libquadmath0@variant@ >= %{version}-%{release}
465 Requires: libgfortran@base_ver@@variant@ = %{version}-%{release}
466 %ifarch %quadmath_arch
467 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
471 %description fortran@variant@
472 This is the Fortran compiler of the GNU Compiler Collection (GCC).
476 %package -n libgfortran@base_ver@@variant@
477 Summary: The GNU Fortran Compiler Runtime Library
478 License: GPL-3.0-with-GCC-exception
479 Group: Development/Languages/Fortran
480 %if 0%{!?build_optional_compiler:1}
481 Provides: libgfortran3@variant@ = %{version}-%{release}
482 Conflicts: libgfortran3@variant@ < %{version}-%{release}
483 %ifarch %quadmath_arch
484 Requires: libquadmath0@variant@ >= %{version}-%{release}
487 %ifarch %quadmath_arch
488 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
493 %description -n libgfortran@base_ver@@variant@
494 The runtime library needed to run programs compiled with the Fortran compiler
495 of the GNU Compiler Collection (GCC).
497 %post -n libgfortran@base_ver@@variant@
500 %postun -n libgfortran@base_ver@@variant@
505 %package -n libquadmath@base_ver@@variant@
506 Summary: The GNU Fortran Compiler Quadmath Runtime Library
508 Group: Development/Languages/Fortran
509 %if 0%{!?build_optional_compiler:1}
510 Provides: libquadmath0@variant@ = %{version}-%{release}
511 Conflicts: libquadmath0@variant@ < %{version}-%{release}
516 %description -n libquadmath@base_ver@@variant@
517 The runtime library needed to run programs compiled with the Fortran compiler
518 of the GNU Compiler Collection (GCC) and quadruple precision floating point
521 %post -n libquadmath@base_ver@@variant@
524 %postun -n libquadmath@base_ver@@variant@
529 %package -n libmudflap@base_ver@@variant@
530 Summary: The Mudflap Extension Runtime Library
531 License: GPL-3.0-with-GCC-exception
532 Group: Development/Languages/C and C++
533 Provides: libmudflap0@variant@ = %{version}-%{release}
534 Conflicts: libmudflap0@variant@ < %{version}-%{release}
535 Provides: libmudflapth0@variant@ = %{version}-%{release}
536 Conflicts: libmudflapth0@variant@ < %{version}-%{release}
538 %description -n libmudflap@base_ver@@variant@
539 This is the Mudflap Extension Runtime Library.
541 %post -n libmudflap@base_ver@@variant@
544 %postun -n libmudflap@base_ver@@variant@
549 %package -n libgcj@base_ver@
551 Summary: Java Runtime Library for gcc
552 License: GPL-2.0-with-classpath-exception
553 Group: System/Libraries
555 Provides: libgcj%{gcj_sover} = %{version}-%{release}
556 Conflicts: libgcj%{gcj_sover} < %{version}-%{release}
557 Provides: libgij%{gcj_sover} = %{version}-%{release}
558 Conflicts: libgij%{gcj_sover} < %{version}-%{release}
559 Provides: libgcj-tools%{gcj_sover} = %{version}-%{release}
560 Conflicts: libgcj-tools%{gcj_sover} < %{version}-%{release}
562 %description -n libgcj@base_ver@
563 This library is needed if you want to use the GNU Java compiler, gcj.
564 Source code for this package is in gcc.
566 %post -n libgcj@base_ver@
569 %postun -n libgcj@base_ver@
573 %package -n gcc@base_ver@-java
574 Summary: The GNU Java Compiler
576 Group: Development/Languages/Java
577 Requires: gcc@base_ver@ = %{version}
578 Requires: libgcj@base_ver@-devel = %{version}-%{release}
580 %description -n gcc@base_ver@-java
581 The Java compiler from the GCC-tools-suite.
584 %package -n libgcj_bc@base_ver@
585 Summary: Fake library for BC-ABI compatibility.
586 License: GPL-2.0-with-classpath-exception
587 Group: Development/Libraries/Java
588 Provides: libgcj_bc1 = %{version}-%{release}
589 Conflicts: libgcj_bc1 < %{version}-%{release}
590 # libgcj_bc is special in that it just contains a symlink to
591 # a proper libgcj version. So require that library and add
592 # provides for the shlib version as created at link time
593 Requires: libgcj%{gcj_sover}
595 Provides: libgcj_bc.so.1()(64bit)
597 Provides: libgcj_bc.so.1
601 %description -n libgcj_bc@base_ver@
602 A fake library that is used at link time only. It ensures that
603 binaries built with the BC-ABI link against a constant SONAME.
604 This way, BC-ABI binaries continue to work if the SONAME underlying
608 %package -n libgcj@base_ver@-jar
609 Summary: Java runtime library (jar files).
610 License: GPL-2.0-with-classpath-exception
611 Group: Development/Libraries/Java
613 %description -n libgcj@base_ver@-jar
614 These are the jar files that go along with the gcj front end to gcc.
617 %package -n libgcj@base_ver@-devel
618 Summary: Include Files and Libraries mandatory for Development.
619 License: GPL-2.0-with-classpath-exception
620 Group: Development/Libraries/Java
621 Requires: libstdc++@base_ver@-devel = %{version}
622 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
623 Requires: libgcj_bc1 >= %{version}-%{release}
624 Requires: libgcj@base_ver@-jar = %{version}-%{release}
626 Requires: libart_lgpl-devel
627 Requires: glibc-devel
630 Requires: libunwind-devel
633 %description -n libgcj@base_ver@-devel
634 This package contains all necessary include files and libraries needed
635 to develop applications that require these.
638 %package -n gcc@base_ver@-gij
639 Summary: Java Bytecode Interpreter for gcc
640 License: GPL-2.0-with-classpath-exception
641 Group: Development/Libraries/Java
642 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
644 %description -n gcc@base_ver@-gij
645 This package contains the java bytecode interpreter gij and related tools.
649 %package -n libffi@base_ver@@variant@
650 Summary: Foreign Function Interface library
651 License: BSD-3-Clause
652 Group: Development/Languages/C and C++
653 Provides: g-wrap:/usr/lib/libffi.so.4
654 Provides: libffi4@variant@ = %{version}-%{release}
655 Conflicts: libffi4@variant@ < %{version}-%{release}
657 %description -n libffi@base_ver@@variant@
658 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.
660 %post -n libffi@base_ver@@variant@
663 %postun -n libffi@base_ver@@variant@
668 %package -n libffi@base_ver@-devel@variant@
669 Summary: Foreign Function Interface library development files
670 License: BSD 3-Clause
671 Group: Development/Languages/C and C++
672 Requires: libffi4@variant@ >= %{version}-%{release}
673 Provides: libffi-devel@variant@ = %{version}-%{release}
674 Conflicts: libffi-devel@variant@ < %{version}-%{release}
676 %description -n libffi@base_ver@-devel@variant@
677 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.
680 %package -n gcc@base_ver@-testresults
681 # GCC-TESTSUITE-DELETE-END
682 Summary: Testsuite results
683 License: SUSE-Public-Domain
684 Group: Development/Languages/C and C++
686 %description -n gcc@base_ver@-testresults
687 Results from running the gcc and target library testsuites.
692 # Define the canonical target and host architecture
693 # %gcc_target_arch is supposed to be the full target triple
694 # %TARGET_ARCH is the canonicalized CPU part
695 # %CONFIGURE_TARGET is the target triple used for --target=
696 %if 0%{?gcc_target_arch:1}
697 %define CONFIGURE_TARGET %{gcc_target_arch}
698 %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/;")
699 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
700 %define CONFIGURE_TARGET i586-tizen-linux
702 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
703 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
705 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
706 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
708 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7el"
709 %define CONFIGURE_TARGET armv7el-tizen-linux-gnueabi
711 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el"
712 %define CONFIGURE_TARGET armv5el-tizen-linux-gnueabi
715 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
717 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
719 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
722 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
724 %define GCCDIST %{HOST_ARCH}-tizen-linux
727 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
728 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
732 # Versionspecific directories
733 %define versmainlibdir %{libsubdir}
734 %define versmainlibdirbi32 %{libsubdir}/32
735 %define versmainlibdirbi64 %{libsubdir}/64
736 %if %{build_primary_64bit}
737 %define versmainlibdirbi %{versmainlibdirbi32}
739 %define versmainlibdirbi %{versmainlibdirbi64}
742 %if 0%{?build_optional_compiler:1}
743 %define mainlibdir %{versmainlibdir}
744 %define mainlibdirbi32 %{versmainlibdirbi32}
745 %define mainlibdirbi64 %{versmainlibdirbi64}
746 %define noflibdir %{versnoflibdir}
747 %define mainlibdirbi %{versmainlibdirbi}
749 %define mainlibdir %{_libdir}
750 %define mainlibdirbi32 %{_prefix}/lib
751 %define mainlibdirbi64 %{_prefix}/lib64
752 %define noflibdir %{_prefix}/lib/nof
753 %if %{build_primary_64bit}
754 %define mainlibdirbi %{mainlibdirbi32}
756 %define mainlibdirbi %{mainlibdirbi64}
761 # Now define a few macros that make it easy to package libs and
762 # related files just to the right package, without caring for the
763 # exact path the files are in.
764 # %mainlib package X from all dirs that belong to the main package
765 # %biarchlib package X from all dirs that belong to the -32/64bit package
766 # by default, nof libs go where the 32bit libs go.
768 %define mainlib() %{mainlibdir}/%1\
772 %define mainlib() %{mainlibdir}/%1\
775 %define biarchlib() %{nil}
777 %if !%{separate_biarch}
779 %define mainlib() %{mainlibdir}/%1\
784 %define mainlib() %{mainlibdir}/%1\
790 %define biarchlib() %{mainlibdirbi}/%1\
793 %define mainlib() %{mainlibdir}/%1\
796 %define biarchlib() %{mainlibdirbi}/%1\
803 %define versmainlib() %{versmainlibdir}/%1\
807 %define versmainlib() %{versmainlibdir}/%1\
810 %define versbiarchlib() %{nil}
812 %if !%{separate_biarch}
814 %define versmainlib() %{versmainlibdir}/%1\
815 %{versmainlibdirbi}/%1\
819 %define versmainlib() %{versmainlibdir}/%1\
820 %{versmainlibdirbi}/%1\
825 %define versbiarchlib() %{versmainlibdirbi}/%1\
828 %define versmainlib() %{versmainlibdir}/%1\
831 %define versbiarchlib() %{versmainlibdirbi}/%1\
841 #%setup -q -n gcc-%{gcc_version}%{snapshot_date}
842 %setup -q -n gcc-%{version}
843 # 0001-dir-version.patch
847 # Avoid rebuilding of generated files
848 contrib/gcc_update --touch
849 # Avoid fucking up testsuite results with Java and indirect dispatch
850 export LD_AS_NEEDED=0
851 # Split version file into version used for directories (X.Y) and
852 # version to report with --version (X.Y.Z).
853 # See also gcc-dir-version.patch.
854 # Also decrement the patchlevel version by one
855 if test `cat gcc/DEV-PHASE` == "prerelease"; then
856 ( 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
858 mv gcc/BASE-VER gcc/FULL-VER
860 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
862 rm -rf obj-%{GCCDIST}
865 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
866 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'`
868 # -mcpu is superceded by -mtune but -mtune is not supported by
869 # our bootstrap compiler. -mcpu gives a warning that stops
870 # the build process, so remove it for now. Also remove all other
871 # -march and -mtune flags. They are superseeded by proper
872 # default compiler settings now.
873 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'`
875 %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
876 # Kill all -march/tune/cpu because that screws building the target libs
877 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
879 # Replace 2 spaces by one finally
880 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
884 languages=$languages,c++
887 languages=$languages,objc
890 languages=$languages,fortran
893 languages=$languages,obj-c++
896 languages=$languages,java
899 languages=$languages,ada
903 if test -z "$J"; then
904 J=$(getconf _NPROCESSORS_CONF)
907 test 1 -gt "$J" && J=1
908 JL=$(($(getconf _NPROCESSORS_CONF)*2))
910 if test "$J" == "0"; then
913 if test "$JL" == "0"; then
916 PARALLEL="-j$J -l$JL"
918 # we don't want some miscompiles in the testsuite, or some fault in
919 # the compiler to kill the machine. Hence we limit the amount of memory
920 # by the physical RAM plus half of swap
921 #MEM=$(free -m | awk '/^Mem:/ {print $2}')
922 #SWAP=$(free -m | awk '/^Swap:/ {print $2}')
923 #ulimit -v $(((MEM + SWAP/2)*1024))
925 # In general we want to ship release checking enabled compilers
926 # and run BETA with checking enabled.
927 #ENABLE_CHECKING="--enable-checking=yes"
928 ENABLE_CHECKING="--enable-checking=release"
930 # Work around tail/head -1 changes
931 export _POSIX2_VERSION=199209
933 # configure tries to parse include/features.h to detect
934 # if glibc supports SSP. When cross compiling we would need
935 # to install a cross glibc, which we don't, or make the whole
936 # thing point to the native glibc, which is in /, hence the
940 # Using the host gnatmake like
941 # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
942 # GNATMAKE="gnatmake%{hostsuffix}"
943 # doesn't work due to PR33857, so an un-suffixed gnatmake has to be
945 mkdir -p host-tools/bin
946 cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
947 cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
948 cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
949 cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
950 ln -sf /usr/%{_lib} host-tools/%{_lib}
951 export PATH="`pwd`/host-tools/bin:$PATH"
953 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
955 # --enable-threads=posix \
958 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
959 TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \
961 --prefix=%{_prefix} \
962 --infodir=%{_infodir} \
963 --mandir=%{_mandir} \
964 --libdir=%{_libdir} \
965 --libexecdir=%{_libdir} \
966 --enable-languages=$languages \
968 --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
973 --disable-bootstrap \
976 --with-bugurl="http://bugs.tizen.org/" \
977 --with-pkgversion="Tizen Linux" \
978 %if !%{build_libjava}
981 --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
982 --with-ecj-jar=%{libsubdir}/ecj.jar \
984 %if !%{biarch_libjava}
985 --disable-libjava-multilib \
988 %if !%{build_with_mudflap}
989 --disable-libmudflap \
991 --with-slibdir=/%{_lib} \
993 --enable-__cxa_atexit \
994 --enable-libstdcxx-allocator=new \
995 --disable-libstdcxx-pch \
996 --enable-version-specific-runtime-libs \
997 --enable-linker-build-id \
998 %if 0%{?gcc_target_arch:1}
999 %if 0%{?gcc_icecream:1}
1000 --with-build-sysroot=/ \
1001 --with-sysroot=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi} \
1002 --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/usr/include/c++/%{gcc_dir_version} \
1003 --enable-linux-futex \
1005 %if 0%{?canonical_target:1}
1006 --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
1008 %if 0%{?build_static:1}
1011 %if "%{TARGET_ARCH}" == "spu"
1012 --with-sysroot=/usr/spu \
1013 --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \
1017 --target=%{CONFIGURE_TARGET} \
1019 --program-suffix=%{binsuffix} \
1020 --enable-linux-futex \
1022 --with-system-libunwind \
1024 --without-system-libunwind \
1027 %if "%{TARGET_ARCH}" == "armv5tel"
1028 --with-arch=armv5te \
1031 --with-abi=aapcs-linux \
1032 --disable-sjlj-exceptions \
1034 %if "%{TARGET_ARCH}" == "armv7el"
1035 --with-arch=armv7-a \
1036 --with-tune=cortex-a9 \
1040 --disable-sjlj-exceptions \
1042 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
1043 --with-arch=armv7-a \
1044 --with-tune=cortex-a9 \
1046 --with-abi=aapcs-linux \
1047 --with-fpu=vfpv3-d16 \
1048 --disable-sjlj-exceptions \
1050 %if "%{TARGET_ARCH}" == "i586"
1051 --with-arch-32=i586 \
1052 --with-tune=generic \
1054 %if "%{TARGET_ARCH}" == "x86_64"
1055 --with-arch-32=i586 \
1056 --with-tune=generic \
1062 %if 0%{?building_libffi:1}
1063 make stage1-bubble $PARALLEL
1064 make all-target-libffi $PARALLEL
1066 # Only run profiled bootstrap on archs where it works
1067 #%ifarch %ix86 x86_64 ppc ppc64 ia64
1068 #make profiledbootstrap-lean STAGE1_CFLAGS="-O -g" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1073 STAGE1_FLAGS="-O -g"
1075 #make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1076 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1080 %if 0%{?run_tests:1}
1081 echo "Run testsuite"
1082 (make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1083 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1084 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1085 make -k check $PARALLEL || true
1086 mkdir ../testresults
1087 ../contrib/test_summary | tee ../testresults/test_summary.txt
1092 export NO_BRP_CHECK_BYTECODE_VERSION=true
1094 # GCC-TESTSUITE-DELETE-BEGIN
1095 # Work around tail/head -1 changes
1096 export _POSIX2_VERSION=199209
1097 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi}
1098 %if 0%{?building_libffi:1}
1099 make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
1101 %if 0%{?building_libjava:1}
1102 make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
1103 make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
1104 make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
1105 make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
1106 # install-common also installs collect2, gcov and the g++ and gfortran driver
1108 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1110 %if %{build_fortran}
1111 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1113 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1114 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1116 make install DESTDIR=$RPM_BUILD_ROOT
1118 make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
1119 make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT
1120 rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
1121 rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
1122 rm $RPM_BUILD_ROOT%{libsubdir}/jc1
1123 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
1128 # Remove libffi installed files if we did not want to build it
1129 %if !0%{?building_libffi:1}
1130 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.*
1132 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
1134 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h
1135 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h
1136 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3*
1137 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3*
1138 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3*
1141 # Remove some useless .la files
1142 for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \
1143 libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij; do
1144 rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la
1146 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1150 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1152 %if %{build_primary_64bit}
1153 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1155 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1159 # LIBFFI-DELETE-BEGIN
1160 # LIBJAVA-DELETE-BEGIN
1162 # Merge multilib c++config.h to allow omitting the duplicate and
1163 # identical other arch specific headers
1165 cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1166 for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1167 if ! diff -up $cxxconfig $i; then
1182 if ! ( test -f "$file_32" && test -f "$file_64" ); then
1187 cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1188 #ifndef _CPP_CPPCONFIG_WRAPPER
1189 #define _CPP_CPPCONFIG_WRAPPER 1
1190 #include <bits/wordsize.h>
1191 #if __WORDSIZE == 32
1201 rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1202 if ! test -z "$dir_ml"; then
1203 ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1206 # LIBJAVA-DELETE-END
1208 %if 0%{!?build_optional_compiler:1}
1209 # move shared libs from versionspecific dir to main libdir
1211 %if 0%{?building_libjava:1}
1212 libgcj libgij libgcj-tools \
1214 %if %{build_fortran}
1216 %ifarch %quadmath_arch
1227 %if %{build_with_mudflap}
1228 libmudflap libmudflapth \
1232 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1233 mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1235 ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1236 $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
1238 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1239 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1240 mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/
1242 ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1243 $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1248 %if !0%{?building_libjava:1}
1249 # And we want to move the shlib gdb pretty printers to a more sane
1250 # place so ldconfig does not complain
1251 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
1252 mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
1253 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py
1255 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1256 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
1257 mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1258 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1263 %if 0%{?building_libjava:1}
1264 # libgcj_bc is special as the .so file is actually a different
1265 # library as the library refered to by the SONAME which should
1266 # be a simple link to our libgcj.
1267 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do
1270 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.1
1271 %if %{biarch_libjava}
1272 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do
1275 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.1
1280 # LIBJAVA-DELETE-BEGIN
1281 %if 0%{!?build_optional_compiler:1}
1282 # Move libgcc_s around
1283 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1284 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1285 ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1287 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1289 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
1291 %if %{build_primary_64bit}
1292 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1293 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1294 ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1296 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1298 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1299 chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
1301 # 32-bit biarch systems
1302 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1303 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1304 ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1306 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1308 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1309 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1313 # Move libgcc_s around
1314 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/
1315 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1316 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1317 ln -sf %{versmainlibdir}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1319 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1321 chmod a+x $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
1323 %if %{build_primary_64bit}
1324 mv $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1325 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1326 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1327 ln -sf %{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1329 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1331 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1332 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
1334 # 32-bit biarch systems
1335 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1336 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1337 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1338 ln -sf %{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1340 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1342 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1343 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
1348 # Provide a defaults.spec file which adds a proper rpath
1349 %if 0%{?build_optional_compiler:1}
1350 cat > $RPM_BUILD_ROOT%{libsubdir}/defaults.spec << EOF
1352 + %%{!m32:%%{!m64:-rpath=%{libsubdir}}} %%{m32:-rpath=%{libsubdir}/32} %%{m64:-rpath=%{libsubdir}/64}
1355 # LIBJAVA-DELETE-END
1359 mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir}
1360 ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so
1361 ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so
1362 chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
1364 mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
1365 ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1366 ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1367 chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
1371 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1373 # Remove some crap from the .la files:
1374 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
1376 # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g'
1377 sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1378 -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1379 -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1380 -e '/^dependency_libs/s|-L[^ ]* ||g' \
1382 %if %{build_primary_64bit}
1383 -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1384 -e '/^libdir/s|lib64/\.\./||' \
1386 -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1393 # GCC-TESTSUITE-DELETE-END
1394 %if 0%{?run_tests:1}
1395 cp `find . -name "*.sum"` ../testresults/
1396 cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
1397 chmod 644 ../testresults/*
1399 # GCC-TESTSUITE-DELETE-BEGIN
1400 # LIBFFI-DELETE-BEGIN
1402 # Find C++ and Java headers
1403 find $RPM_BUILD_ROOT%{_prefix}/include/c++ \
1404 -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \
1405 -o \( -type d -printf "%%%%dir " , \
1406 -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers
1409 # Remove files that we do not need to clean up filelist
1410 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-*
1411 rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools
1412 #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
1413 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root
1414 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h
1415 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-*
1416 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux
1417 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound
1418 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h
1419 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h
1420 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h
1421 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h
1422 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11
1423 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1424 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h
1425 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h
1426 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h
1427 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1428 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys
1430 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1431 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
1432 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix}
1434 %if !0%{?building_libjava:1}%{?building_libffi:1}
1435 # delete compile flag tracking from crt files
1436 crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o
1438 %if %{build_primary_64bit}
1439 crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o
1441 crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o
1444 for o in $crt_list $crt32_list $crt64_list; do
1445 objcopy -R ".comment.SUSE.OPTs" $o
1449 %if 0%{?building_libjava:1}
1450 # gcj -static doesn't work properly anyway, unless using --whole-archive
1451 # let's save the space instead.
1452 find $RPM_BUILD_ROOT -name libgcj.a \
1453 -o -name libgcj-tools.a \
1456 -o -name libgcj_bc.a \
1459 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
1460 sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
1462 # security files have broken install locations, also they cause conflicts
1463 # between libgcj versions. Simply delete them here, libgcj will use its
1464 # defaults in this case (which is what these files contain anyway).
1465 rm $RPM_BUILD_ROOT%{_libdir}/logging.properties
1466 rm -r $RPM_BUILD_ROOT%{_libdir}/security
1469 %if 0%{?building_libffi:1}
1470 # Move libffi headers, remove empty libffi libtool file
1471 mkdir -p $RPM_BUILD_ROOT%{_prefix}/include
1472 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/
1473 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/
1474 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la
1476 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
1478 # Generate a simple pkg-config file
1479 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
1480 echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc
1484 %if !%{build_libjava}
1485 rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
1486 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
1487 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
1488 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
1489 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1
1490 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1
1491 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1
1493 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py
1494 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py
1496 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
1497 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
1498 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
1499 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
1501 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/nof/libiberty.a
1504 %if %{build_primary_64bit}
1505 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
1507 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
1510 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
1511 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
1513 # LIBFFI-DELETE-BEGIN
1514 %if 0%{?building_libjava:1}
1515 # For building libjava only we need to delete other info docs
1516 rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
1517 # Remove stale manpages for binaries we do not build
1518 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1
1519 # For building the java frontend we need to copy the ecj jar
1520 mkdir -p $RPM_BUILD_ROOT%{libsubdir}
1521 cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
1523 # For regular build, some info files do not get renamed properly.
1525 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
1526 %if %{build_fortran}
1527 %ifarch %quadmath_arch
1528 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
1532 mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info
1533 mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info
1534 mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info
1538 # LIBJAVA-DELETE-BEGIN
1540 %find_lang gcc@base_ver@-locale --all-name
1543 %install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1544 %install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1545 %install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1546 %install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1547 %install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1548 %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1549 %if %{build_fortran}
1550 %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1551 %ifarch %quadmath_arch
1552 %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1556 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1559 %install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1560 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1561 %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
1565 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1566 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1567 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1568 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1569 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1570 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1571 %if %{build_fortran}
1572 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1573 %ifarch %quadmath_arch
1574 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1578 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1581 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1582 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1583 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
1588 %defattr(-,root,root)
1590 %dir %{_libdir}/gcc/%{GCCDIST}
1592 %dir %{libsubdir}/include
1593 %dir %{libsubdir}/include-fixed
1595 %if %{build_primary_64bit}
1596 %dir %{libsubdir}/32
1598 %dir %{libsubdir}/64
1602 %dir %{libsubdir}/nof
1604 %{_prefix}/bin/gcc%{binsuffix}
1605 %{_prefix}/bin/gcov%{binsuffix}
1606 %{_prefix}/bin/gcc-ar%{binsuffix}
1607 %{_prefix}/bin/gcc-nm%{binsuffix}
1608 %{_prefix}/bin/gcc-ranlib%{binsuffix}
1609 %{libsubdir}/collect2
1611 %{libsubdir}/lto-wrapper
1612 %{libsubdir}/liblto_plugin.so*
1613 %{libsubdir}/include-fixed/README
1614 %{libsubdir}/include-fixed/limits.h
1615 %{libsubdir}/include-fixed/syslimits.h
1616 %{libsubdir}/include/omp.h
1617 %{libsubdir}/include/float.h
1618 %{libsubdir}/include/iso646.h
1619 %{libsubdir}/include/stdarg.h
1620 %{libsubdir}/include/stdbool.h
1621 %{libsubdir}/include/stdfix.h
1622 %{libsubdir}/include/stddef.h
1623 %{libsubdir}/include/uchar.h
1624 %{libsubdir}/include/unwind.h
1625 %{libsubdir}/include/varargs.h
1626 %{libsubdir}/include/stdint.h
1627 %{libsubdir}/include/stdint-gcc.h
1628 %{libsubdir}/include/stdnoreturn.h
1629 %{libsubdir}/include/stdalign.h
1631 %{libsubdir}/include/mmintrin.h
1632 %{libsubdir}/include/arm_neon.h
1633 %{libsubdir}/include/unwind-arm-common.h
1635 %ifarch %ix86 x86_64
1636 %{libsubdir}/include/cross-stdarg.h
1637 %{libsubdir}/include/cpuid.h
1638 %{libsubdir}/include/mm3dnow.h
1639 %{libsubdir}/include/mmintrin.h
1640 %{libsubdir}/include/ammintrin.h
1641 %{libsubdir}/include/bmmintrin.h
1642 %{libsubdir}/include/emmintrin.h
1643 %{libsubdir}/include/immintrin.h
1644 %{libsubdir}/include/avxintrin.h
1645 %{libsubdir}/include/pmmintrin.h
1646 %{libsubdir}/include/xmmintrin.h
1647 %{libsubdir}/include/tmmintrin.h
1648 %{libsubdir}/include/nmmintrin.h
1649 %{libsubdir}/include/smmintrin.h
1650 %{libsubdir}/include/wmmintrin.h
1651 %{libsubdir}/include/x86intrin.h
1652 %{libsubdir}/include/ia32intrin.h
1653 %{libsubdir}/include/mm_malloc.h
1654 %{libsubdir}/include/fma4intrin.h
1655 %{libsubdir}/include/xopintrin.h
1656 %{libsubdir}/include/lwpintrin.h
1657 %{libsubdir}/include/popcntintrin.h
1658 %{libsubdir}/include/bmiintrin.h
1659 %{libsubdir}/include/tbmintrin.h
1660 %{libsubdir}/include/avx2intrin.h
1661 %{libsubdir}/include/bmi2intrin.h
1662 %{libsubdir}/include/fmaintrin.h
1663 %{libsubdir}/include/lzcntintrin.h
1664 %{libsubdir}/include/f16cintrin.h
1666 %if %{build_with_mudflap}
1667 %{libsubdir}/include/mf-runtime.h
1669 %versmainlib *crt*.o
1670 %versmainlib libgcc*.a
1671 %versmainlib libgcov.a
1672 %versmainlib libgcc_s*.so
1673 %if %{build_with_mudflap}
1674 %versmainlib libmudflap.a
1675 %versmainlib libmudflap.so
1676 %versmainlib libmudflapth.a
1677 %versmainlib libmudflapth.so
1679 %versmainlib libgomp.so
1680 %versmainlib libgomp.a
1681 %versmainlib libgomp.spec
1682 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
1683 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
1684 %if 0%{?build_optional_compiler:1}
1685 %{libsubdir}/defaults.spec
1688 %if %{separate_biarch}
1689 %files -n gcc@base_ver@%{separate_biarch_suffix}
1690 %defattr(-,root,root)
1691 %versbiarchlib *crt*.o
1692 %versbiarchlib libgcc*.a
1693 %versbiarchlib libgcov.a
1694 %versbiarchlib libgcc_s*.so
1695 %if %{build_with_mudflap}
1696 %versbiarchlib libmudflap.a
1697 %versbiarchlib libmudflap.so
1698 %versbiarchlib libmudflapth.a
1699 %versbiarchlib libmudflapth.so
1701 %versbiarchlib libgomp.so
1702 %versbiarchlib libgomp.a
1703 %versbiarchlib libgomp.spec
1706 %files locale -f gcc@base_ver@-locale.lang
1710 %defattr(-,root,root)
1712 %dir %{_libdir}/gcc/%{GCCDIST}
1714 %{_prefix}/bin/g++%{binsuffix}
1715 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
1716 %{libsubdir}/cc1plus
1718 %files -n libstdc++@base_ver@
1719 %defattr(-,root,root)
1723 %mainlib libstdc++.so.*
1725 %if %{separate_biarch}
1726 %files -n libstdc++@base_ver@%{separate_biarch_suffix}
1727 %defattr(-,root,root)
1728 %biarchlib libstdc++.so.*
1731 %files -n libstdc++@base_ver@-devel -f c++-headers
1732 %defattr(-,root,root)
1733 %versmainlib libstdc++.a
1734 %versmainlib libstdc++.so
1735 %versmainlib libsupc++.a
1736 %dir %{_datadir}/gdb
1737 %dir %{_datadir}/gdb/auto-load
1738 %dir %{_datadir}/gdb/auto-load%{_prefix}
1739 %dir %{_datadir}/gdb/auto-load/%{mainlibdir}
1740 %{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
1741 %{_datadir}/gcc%{binsuffix}
1743 %if %{separate_biarch}
1744 %files -n libstdc++@base_ver@-devel%{separate_biarch_suffix}
1745 %defattr(-,root,root)
1746 %versbiarchlib libstdc++.a
1747 %versbiarchlib libstdc++.so
1748 %versbiarchlib libsupc++.a
1749 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
1750 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
1753 %files -n libstdc++@base_ver@-doc
1754 %defattr(-,root,root)
1755 %doc libstdc++-v3/doc/html
1758 %files -n libgcc@base_ver@
1759 %defattr(-,root,root)
1760 %if 0%{!?build_optional_compiler:1}
1761 /%{_lib}/libgcc_s.so.%{libgcc_s}
1764 /lib/nof/libgcc_s.so.%{libgcc_s}
1767 %if %{build_primary_64bit}
1768 %if !%{separate_bi32}
1769 /lib/libgcc_s.so.%{libgcc_s}
1772 %if !%{separate_bi64}
1773 /lib64/libgcc_s.so.%{libgcc_s}
1778 %versmainlib libgcc_s.so.%{libgcc_s}
1781 %if %{separate_bi64}
1782 %files -n libgcc@base_ver@-64bit
1783 %defattr(-,root,root)
1784 %if 0%{!?build_optional_compiler:1}
1785 /lib64/libgcc_s.so.%{libgcc_s}
1787 %versbiarchlib libgcc_s.so.%{libgcc_s}
1791 %if %{separate_bi32}
1792 %files -n libgcc@base_ver@-32bit
1793 %defattr(-,root,root)
1794 %if 0%{!?build_optional_compiler:1}
1795 /lib/libgcc_s.so.%{libgcc_s}
1797 %versbiarchlib libgcc_s.so.%{libgcc_s}
1802 %files -n libgomp@base_ver@
1803 %defattr(-,root,root)
1804 %mainlib libgomp.so.1*
1806 %if %{separate_biarch}
1807 %files -n libgomp@base_ver@%{separate_biarch_suffix}
1808 %defattr(-,root,root)
1809 %biarchlib libgomp.so.1*
1813 %if %{build_fortran}
1815 %defattr(-,root,root)
1816 %dir %{libsubdir}/finclude
1817 %{_prefix}/bin/gfortran%{binsuffix}
1819 %{libsubdir}/finclude/*
1820 %versmainlib libgfortran.a
1821 %versmainlib libgfortran.so
1822 %versmainlib libgfortran.spec
1823 %versmainlib libgfortranbegin.a
1824 %versmainlib libcaf_single.a
1825 %ifarch %quadmath_arch
1826 %{libsubdir}/include/quadmath.h
1827 %{libsubdir}/include/quadmath_weak.h
1828 %versmainlib libquadmath.a
1829 %versmainlib libquadmath.so
1831 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
1833 %if %{separate_biarch}
1834 %files fortran%{separate_biarch_suffix}
1835 %defattr(-,root,root)
1836 %versbiarchlib libgfortran.a
1837 %versbiarchlib libgfortran.so
1838 %versbiarchlib libgfortran.spec
1839 %versbiarchlib libgfortranbegin.a
1840 %versbiarchlib libcaf_single.a
1841 %ifarch %quadmath_arch
1842 %versbiarchlib libquadmath.a
1843 %versbiarchlib libquadmath.so
1847 %files -n libgfortran@base_ver@
1848 %defattr(-,root,root)
1849 %mainlib libgfortran.so.*
1851 %if %{separate_biarch}
1852 %files -n libgfortran@base_ver@%{separate_biarch_suffix}
1853 %defattr(-,root,root)
1854 %biarchlib libgfortran.so.*
1857 %ifarch %quadmath_arch
1858 %files -n libquadmath@base_ver@
1859 %defattr(-,root,root)
1860 %mainlib libquadmath.so.*
1862 %if %{separate_biarch}
1863 %files -n libquadmath@base_ver@%{separate_biarch_suffix}
1864 %defattr(-,root,root)
1865 %biarchlib libquadmath.so.*
1870 %if %{build_with_mudflap}
1871 %files -n libmudflap@base_ver@
1872 %defattr(-,root,root)
1873 %mainlib libmudflap.so.0*
1874 %mainlib libmudflapth.so.0*
1876 %if %{separate_biarch}
1877 %files -n libmudflap@base_ver@%{separate_biarch_suffix}
1878 %defattr(-,root,root)
1879 %biarchlib libmudflap.so.0*
1880 %biarchlib libmudflapth.so.0*
1885 %defattr(-,root,root)
1886 %doc %{_infodir}/cpp%{binsuffix}.info*.gz
1887 %doc %{_infodir}/cppinternals%{binsuffix}.info*.gz
1888 %doc %{_infodir}/gcc%{binsuffix}.info*.gz
1889 %doc %{_infodir}/gccint%{binsuffix}.info*.gz
1890 %doc %{_infodir}/gccinstall%{binsuffix}.info*.gz
1891 %doc %{_infodir}/libgomp%{binsuffix}.info*.gz
1892 %if %{build_fortran}
1893 %doc %{_infodir}/gfortran%{binsuffix}.info*.gz
1894 %ifarch %quadmath_arch
1895 %doc %{_infodir}/libquadmath%{binsuffix}.info*.gz
1899 %doc %{_infodir}/gcj%{binsuffix}.info*.gz
1902 %doc %{_infodir}/gnat-style%{binsuffix}.info*gz
1903 %doc %{_infodir}/gnat_rm%{binsuffix}.info*gz
1904 %doc %{_infodir}/gnat_ugn%{binsuffix}.info*gz
1907 %files -n cpp@base_ver@
1908 %defattr(-,root,root)
1910 %dir %{_libdir}/gcc/%{GCCDIST}
1912 %{_prefix}/bin/cpp%{binsuffix}
1915 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
1919 %defattr(-,root,root)
1921 %{libsubdir}/include/objc
1922 %versmainlib libobjc.a
1923 %versmainlib libobjc.so
1925 %if %{separate_biarch}
1926 %files objc%{separate_biarch_suffix}
1927 %defattr(-,root,root)
1928 %versbiarchlib libobjc.a
1929 %versbiarchlib libobjc.so
1932 %files -n libobjc@base_ver@
1933 %defattr(-,root,root)
1934 %mainlib libobjc.so.*
1936 %if %{separate_biarch}
1937 %files -n libobjc@base_ver@%{separate_biarch_suffix}
1938 %defattr(-,root,root)
1939 %biarchlib libobjc.so.*
1946 %defattr(-,root,root)
1947 %{libsubdir}/cc1objplus
1953 %defattr(-,root,root)
1955 %dir %{_libdir}/gcc/%{GCCDIST}
1957 %{_prefix}/bin/gnat*
1958 %dir %{versmainlibdir}/adainclude
1959 %dir %{versmainlibdir}/adalib
1960 %{versmainlibdir}/adainclude
1961 %{versmainlibdir}/adalib/*.ali
1962 %{versmainlibdir}/adalib/*.a
1963 %{versmainlibdir}/adalib/libgnarl.so
1964 %{versmainlibdir}/adalib/libgnat.so
1965 %{versmainlibdir}/gnat1
1967 %if %{separate_biarch}
1968 %files ada%{separate_biarch_suffix}
1969 %defattr(-,root,root)
1970 %dir %{versmainlibdirbi}/adainclude
1971 %dir %{versmainlibdirbi}/adalib
1972 %{versmainlibdirbi}/adainclude
1973 %{versmainlibdirbi}/adalib/*.ali
1974 %{versmainlibdirbi}/adalib/*.a
1975 %{versmainlibdirbi}/adalib/libgnarl.so
1976 %{versmainlibdirbi}/adalib/libgnat.so
1979 %files -n libada@base_ver@
1980 %defattr(-,root,root)
1981 %mainlib libgnarl-*.so
1982 %mainlib libgnat-*.so
1984 %if %{separate_biarch}
1985 %files -n libada@base_ver@%{separate_biarch_suffix}
1986 %defattr(-,root,root)
1987 %biarchlib libgnarl-*.so
1988 %biarchlib libgnat-*.so
1991 # LIBJAVA-DELETE-END
1995 %if 0%{?building_libjava:1}
1996 %files -n gcc@base_ver@-java
1997 %defattr(-,root,root)
1998 %{_prefix}/bin/gcj%{binsuffix}
1999 %{_prefix}/bin/gcjh%{binsuffix}
2000 %{_prefix}/bin/gcj-dbtool%{binsuffix}
2001 %{_prefix}/bin/jcf-dump%{binsuffix}
2002 %{_prefix}/bin/jv-convert%{binsuffix}
2003 %{_prefix}/bin/gc-analyze%{binsuffix}
2004 %{_prefix}/bin/aot-compile%{binsuffix}
2005 %{_prefix}/bin/rebuild-gcj-db%{binsuffix}
2007 %{libsubdir}/jvgenmain
2008 %{libsubdir}/ecj.jar
2010 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
2011 %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
2012 %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
2013 %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
2014 %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
2015 %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
2016 %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz
2017 %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz
2022 %if %{build_libjava}
2023 %files -n libgcj@base_ver@
2024 %defattr(-,root,root)
2025 %dir %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}
2027 %dir %{_libdir}/gcc/%{GCCDIST}
2029 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/classmap.db
2030 # We usually do not multilib libjava
2031 %if %{biarch_libjava}
2032 %versbiarchlib libgcj.la
2033 %biarchlib libgcj.so.*
2034 %biarchlib libgij.so.*
2035 %biarchlib libgcj-tools.so.*
2037 %versmainlib libgcj.la
2038 %mainlib libgcj.so.*
2039 %mainlib libgij.so.*
2040 %mainlib libgcj-tools.so.*
2042 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.la
2043 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.so
2044 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.la
2045 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.so
2047 %files -n libgcj_bc@base_ver@
2048 %defattr(-,root,root)
2049 %if %{biarch_libjava}
2050 %biarchlib libgcj_bc.so.*
2052 %mainlib libgcj_bc.so.*
2055 %files -n libgcj@base_ver@-jar
2056 %defattr(-,root,root)
2057 %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
2058 %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
2060 %files -n libgcj@base_ver@-devel
2061 %defattr(-,root,root)
2062 %dir %{_prefix}/include/c++
2064 %dir %{libsubdir}/include
2066 %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
2067 %{libsubdir}/include/jawt.h
2068 %{libsubdir}/include/jawt_md.h
2069 %{libsubdir}/include/jni.h
2070 %{libsubdir}/include/jni_md.h
2071 %{libsubdir}/include/jvmpi.h
2078 %{libsubdir}/include/gcj
2079 %if %{biarch_libjava}
2080 %versbiarchlib libgcj.so
2081 %versbiarchlib libgcj.spec
2082 %versbiarchlib libgcj-tools.so
2083 %versbiarchlib libgij.so
2084 %versbiarchlib libgcj_bc.so
2086 %versmainlib libgcj.so
2087 %versmainlib libgcj.spec
2088 %versmainlib libgcj-tools.so
2089 %versmainlib libgij.so
2090 %versmainlib libgcj_bc.so
2093 %files -n gcc@base_ver@-gij
2094 %defattr(-,root,root)
2095 %{_prefix}/bin/gij%{binsuffix}
2096 %{_prefix}/bin/gappletviewer%{binsuffix}
2097 %{_prefix}/bin/gjar%{binsuffix}
2098 %{_prefix}/bin/gjarsigner%{binsuffix}
2099 %{_prefix}/bin/gjavah%{binsuffix}
2100 %{_prefix}/bin/gkeytool%{binsuffix}
2101 %{_prefix}/bin/gnative2ascii%{binsuffix}
2102 %{_prefix}/bin/gorbd%{binsuffix}
2103 %{_prefix}/bin/grmic%{binsuffix}
2104 %{_prefix}/bin/grmid%{binsuffix}
2105 %{_prefix}/bin/grmiregistry%{binsuffix}
2106 %{_prefix}/bin/gserialver%{binsuffix}
2107 %{_prefix}/bin/gtnameserv%{binsuffix}
2108 %doc %{_mandir}/man1/gij%{binsuffix}.1.gz
2109 %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
2110 %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
2111 %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
2112 %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
2113 %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
2114 %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
2115 %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
2116 %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
2117 %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
2118 %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
2119 %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz
2120 %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz
2126 %if 0%{?building_libffi:1}
2127 %files -n libffi@base_ver@
2128 %defattr(-,root,root)
2129 %mainlib libffi.so.*
2131 %if %{separate_biarch}
2132 %files -n libffi@base_ver@%{separate_biarch_suffix}
2133 %defattr(-,root,root)
2134 %biarchlib libffi.so.*
2137 %files -n libffi@base_ver@-devel
2138 %defattr(-,root,root)
2139 %{_prefix}/include/ffi.h
2140 %{_prefix}/include/ffitarget.h
2143 %{_libdir}/pkgconfig/libffi.pc
2144 %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz
2145 %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz
2146 %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz
2148 %if %{separate_biarch}
2149 %files -n libffi@base_ver@-devel%{separate_biarch_suffix}
2150 %defattr(-,root,root)
2151 %biarchlib libffi.so
2156 # GCC-TESTSUITE-DELETE-END
2158 %if 0%{?run_tests:1}
2159 %files -n gcc@base_ver@-testresults
2160 %defattr(-,root,root)
2161 %doc testresults/test_summary.txt
2162 %doc testresults/*.sum
2163 %doc testresults/*.log