3 # Ada currently fails to build on a few platforms, enable it only
5 # Note that AdaCore only supports %ix86, x86_64 and ia64
7 %define build_ada !0%{?building_libjava:1}%{?building_libffi:1}
12 %define quadmath_arch %ix86 x86_64
14 # We don't want to build java
16 %define build_libjava 0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
19 %define build_fortran 1
21 %define build_objcp !0%{?building_libjava:1}%{?building_libffi:1}
22 %define build_with_mudflap 0
33 # For optional compilers only build C, C++ and Fortran
34 ##%if 0%{?build_optional_compiler:1}%{?build_optional_compiler_languages:1}
35 %if 0%{!?building_libffi:1}
38 %define build_libjava 0
47 BuildRequires: gettext-tools
48 BuildRequires: makeinfo
49 BuildRequires: glibc-devel-32bit
50 BuildRequires: mpc-devel
51 BuildRequires: mpfr-devel
53 BuildRequires: texinfo
54 BuildRequires: zlib-devel
55 %ifarch %ix86 x86_64 %arm
56 BuildRequires: cloog-devel
57 BuildRequires: ppl-devel
60 %define hostsuffix -4.7
61 BuildRequires: gcc47-ada
63 %if 0%{?building_libjava:1}%{?building_testsuite:1}
64 BuildRequires: fastjar
67 %if 0%{?building_libffi:1}
68 BuildRequires: pkg-config
71 BuildRequires: dejagnu
76 # Define version number of libgcc_s
80 %define separate_bi32 0
81 %define separate_bi64 0
83 %define separate_bi32 1
86 # Define two macros to trigger -32bit or -64bit package variants
87 %define separate_biarch 0
89 %define separate_biarch 1
90 %define separate_biarch_suffix -32bit
93 %define separate_biarch 1
94 %define separate_biarch_suffix -64bit
98 # 64-bit is primary build target
99 %define build_primary_64bit 1
101 %define build_primary_64bit 0
104 %define biarch_libjava 0
107 %define biarch_targets x86_64
109 URL: http://gcc.gnu.org/
112 %define gcc_version %(echo %version | sed 's/_.*//')
113 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
114 %define snapshot_date %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/_/-/')
115 %define binsuffix -4.7
118 %if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
119 Requires: binutils glibc-devel
120 Requires: cpp@base_ver@ = %{version}-%{release}
121 %if 0%{!?build_optional_compiler:1}
122 Requires: libgcc%{libgcc_s} >= %{version}-%{release}
123 Requires: libgomp1 >= %{version}-%{release}
124 %if %{build_with_mudflap}
125 Requires: libmudflap0 >= %{version}-%{release}
126 Requires: libmudflapth0 >= %{version}-%{release}
129 Requires: libgcc@base_ver@ = %{version}-%{release}
130 Requires: libgomp@base_ver@ = %{version}-%{release}
135 BuildRoot: %{_tmppath}/%{name}-%{version}-build
136 #Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2
137 Source: gcc-%{version}.tar.bz2
140 Source2: libgcj47-rpmlintrc
141 Source3: gcc47-rpmlintrc
143 Source6: baselibs.conf
144 # Patches auto-generated by git-buildpackage:
145 Patch0: 0001-dir-version.patch
146 Patch1: 0002-textdomain.patch
147 Patch2: 0003-rename-info-files.patch
148 Patch3: 0004-ARM-linker.patch
150 # GCC-TESTSUITE-DELETE-BEGIN
151 # LIBFFI-DELETE-BEGIN
152 # LIBJAVA-DELETE-BEGIN
153 Group: Development/Toolchain
154 Summary: The GNU C Compiler and Support Files
158 Core package for the GNU Compiler Collection, including the C language
161 Language frontends other than C are split to different sub-packages,
162 namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
168 %package -n gcc@base_ver@-32bit
169 Summary: The GNU C Compiler 32bit support
170 Group: Development/Toolchain
171 Requires: gcc@base_ver@ = %{version}-%{release}
172 %if 0%{!?build_optional_compiler:1}
173 Requires: libgcc%{libgcc_s}-32bit >= %{version}-%{release}
174 Requires: libgomp1-32bit >= %{version}-%{release}
175 %if %{build_with_mudflap}
176 Requires: libmudflap0-32bit >= %{version}-%{release}
177 Requires: libmudflapth0-32bit >= %{version}-%{release}
180 Requires: libgcc@base_ver@-32bit = %{version}-%{release}
181 Requires: libgomp@base_ver@-32bit = %{version}-%{release}
183 Requires: glibc-devel-32bit
185 %description -n gcc@base_ver@-32bit
186 This package contains 32bit support for the GNU Compiler Collection.
188 %package -n gcc@base_ver@-64bit
189 Summary: The GNU C Compiler 64bit support
190 Group: Development/Toolchain
191 Requires: gcc@base_ver@ = %{version}-%{release}
192 %if 0%{!?build_optional_compiler:1}
193 Requires: libgcc%{libgcc_s}-64bit >= %{version}-%{release}
194 Requires: libgomp1-64bit >= %{version}-%{release}
195 %if %{build_with_mudflap}
196 Requires: libmudflap0-64bit >= %{version}-%{release}
197 Requires: libmudflapth0-64bit >= %{version}-%{release}
200 Requires: libgcc@base_ver@-64bit = %{version}-%{release}
201 Requires: libgomp@base_ver@-64bit = %{version}-%{release}
203 Requires: glibc-devel-64bit
205 %description -n gcc@base_ver@-64bit
206 This package contains 64bit support for the GNU Compiler Collection.
210 Summary: Locale Data for the GNU Compiler Collection
212 Group: Development/Toolchain
213 Requires: gcc@base_ver@ = %{version}-%{release}
216 Locale data for the GNU Compiler Collection (GCC) to give error message
217 in the current locale.
221 Summary: The GNU C++ Compiler
223 Group: Development/Toolchain
224 Requires: gcc@base_ver@ = %{version}-%{release}
225 Requires: libstdc++@base_ver@-devel = %{version}-%{release}
228 This package contains the GNU compiler for C++.
231 %package -n libstdc++@base_ver@-devel@variant@
232 Summary: Include Files and Libraries mandatory for Development
233 License: GPL-3.0-with-GCC-exception
234 Group: Development/Toolchain
235 %if 0%{!?build_optional_compiler:1}
236 Requires: libstdc++6@variant@ >= %{version}-%{release}
238 Requires: libstdc++@base_ver@@variant@ = %{version}-%{release}
240 Requires: glibc-devel@variant@
242 %description -n libstdc++@base_ver@-devel@variant@
243 This package contains all the headers and libraries of the standard C++
244 library. It is needed for compiling C++ code.
247 %package -n libstdc++@base_ver@-doc
248 Summary: Documentation for the GNU C++ standard library
253 %description -n libstdc++@base_ver@-doc
254 Extensive HTML documentation for the GNU C++ standard library.
258 %package -n libgcc@base_ver@@variant@
259 Summary: C compiler runtime library
260 License: GPL-3.0-with-GCC-exception
261 Group: Base/Libraries
262 %if 0%{!?build_optional_compiler:1}
263 Provides: libgcc%{libgcc_s}@variant@ = %{version}-%{release}
264 Conflicts: libgcc%{libgcc_s}@variant@ < %{version}-%{release}
269 %description -n libgcc@base_ver@@variant@
270 Libgcc is needed for dynamically linked C programs.
272 %post -n libgcc@base_ver@@variant@
275 %postun -n libgcc@base_ver@@variant@
280 %package -n libgomp@base_ver@@variant@
281 Summary: The GNU compiler collection OpenMP runtime library
282 License: GPL-3.0-with-GCC-exception
283 Group: Base/Libraries
284 %if 0%{!?build_optional_compiler:1}
285 Provides: libgomp1@variant@ = %{version}-%{release}
286 Conflicts: libgomp1@variant@ < %{version}-%{release}
291 %description -n libgomp@base_ver@@variant@
292 This is the OpenMP runtime library needed by OpenMP enabled programs
293 that were built with the -fopenmp compiler option and by programs that
294 were auto-parallelized via the -ftree-parallelize-loops compiler
298 %post -n libgomp@base_ver@@variant@
301 %postun -n libgomp@base_ver@@variant@
306 %package -n libstdc++@base_ver@@variant@
307 Summary: The standard C++ shared library
308 License: GPL-3.0-with-GCC-exception
309 Group: Base/Libraries
310 %if 0%{!?build_optional_compiler:1}
311 Provides: libstdc++6@variant@ = %{version}-%{release}
312 Conflicts: libstdc++6@variant@ < %{version}-%{release}
317 %description -n libstdc++@base_ver@@variant@
318 The standard C++ library, needed for dynamically linked C++ programs.
321 %post -n libstdc++@base_ver@@variant@
324 %postun -n libstdc++@base_ver@@variant@
330 Summary: Documentation for the GNU compiler collection
336 GNU info-pages for the GNU compiler collection covering both user-level
337 and internals documentation.
341 %package objc@variant@
342 Summary: GNU Objective C Compiler
344 Group: Development/Toolchain
345 Requires: gcc@base_ver@ = %{version}-%{release}
346 Requires: libobjc2@variant@ >= %{version}-%{release}
348 %description objc@variant@
349 This package contains the GNU Objective C compiler. Objective C is an
350 object oriented language, created by Next Inc. and used in their
351 Nextstep OS. The source code is available in the gcc package.
355 %package -n libobjc@base_ver@@variant@
356 Summary: Library for the GNU Objective C Compiler
357 License: GPL-3.0-with-GCC-exception
358 Group: Development/Libraries/Other
359 Provides: libobjc2@variant@ = %{version}-%{release}
360 Conflicts: libobjc2@variant@ < %{version}-%{release}
362 %description -n libobjc@base_ver@@variant@
363 The library for the GNU Objective C compiler.
365 %post -n libobjc@base_ver@@variant@
368 %postun -n libobjc@base_ver@@variant@
373 Summary: GNU Objective C++ Compiler
375 Group: Development/Toolchain
376 Requires: gcc@base_ver@-objc = %{version}-%{release}
377 Requires: gcc@base_ver@-c++ = %{version}-%{release}
380 This package contains the GNU Objective C++ compiler. Objective C++ is an
381 object oriented language, created by Next Inc. and used in their
382 Nextstep OS. The source code is available in the gcc package.
385 %package -n cpp@base_ver@
386 Summary: The GCC Preprocessor
388 Group: Development/Toolchain
390 %description -n cpp@base_ver@
391 This Package contains just the preprocessor that is used by the X11
396 %package ada@variant@
397 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
399 Group: Development/Toolchain
400 Requires: gcc@base_ver@@variant@ = %{version}-%{release}
401 Requires: libada@base_ver@@variant@ = %{version}-%{release}
403 %description ada@variant@
404 This package contains an Ada95 compiler and associated development
405 tools based on the GNU GCC technology. Ada95 is the object oriented
406 successor of the Ada83 language. To build this package from source you
407 must have installed a binary version to bootstrap the compiler.
411 %package -n libada@base_ver@@variant@
412 Summary: GNU Ada Runtime Libraries
413 License: GPL-3.0-with-GCC-exception
414 Group: System/Libraries
415 Provides: libgnarl-4_7@variant@ = %{version}-%{release}
416 Conflicts: libgnarl-4_7@variant@ < %{version}-%{release}
417 Provides: libgnat-4_7@variant@ = %{version}-%{release}
418 Conflicts: libgnat-4_7@variant@ < %{version}-%{release}
420 %description -n libada@base_ver@@variant@
421 This package contains the shared libraries required to run programs
422 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
423 shared libraries. It also contains the shared libraries for the
424 Implementation of the Ada Semantic Interface Specification (ASIS), the
425 implementation of Distributed Systems Programming (GLADE) and the Posix
426 1003.5 Binding (Florist).
428 %post -n libada@base_ver@@variant@
431 %postun -n libada@base_ver@@variant@
436 %package fortran@variant@
437 Summary: The GNU Fortran Compiler and Support Files
439 Group: Development/Languages/Fortran
440 Requires: gcc@base_ver@ = %{version}-%{release}
441 %if 0%{!?build_optional_compiler:1}
442 Requires: libgfortran3@variant@ >= %{version}-%{release}
443 %ifarch %quadmath_arch
444 Requires: libquadmath0@variant@ >= %{version}-%{release}
447 Requires: libgfortran@base_ver@@variant@ = %{version}-%{release}
448 %ifarch %quadmath_arch
449 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
453 %description fortran@variant@
454 This is the Fortran compiler of the GNU Compiler Collection (GCC).
458 %package -n libgfortran@base_ver@@variant@
459 Summary: The GNU Fortran Compiler Runtime Library
460 License: GPL-3.0-with-GCC-exception
461 Group: Development/Languages/Fortran
462 %if 0%{!?build_optional_compiler:1}
463 Provides: libgfortran3@variant@ = %{version}-%{release}
464 Conflicts: libgfortran3@variant@ < %{version}-%{release}
465 %ifarch %quadmath_arch
466 Requires: libquadmath0@variant@ >= %{version}-%{release}
469 %ifarch %quadmath_arch
470 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
475 %description -n libgfortran@base_ver@@variant@
476 The runtime library needed to run programs compiled with the Fortran compiler
477 of the GNU Compiler Collection (GCC).
479 %post -n libgfortran@base_ver@@variant@
482 %postun -n libgfortran@base_ver@@variant@
487 %package -n libquadmath@base_ver@@variant@
488 Summary: The GNU Fortran Compiler Quadmath Runtime Library
490 Group: Development/Languages/Fortran
491 %if 0%{!?build_optional_compiler:1}
492 Provides: libquadmath0@variant@ = %{version}-%{release}
493 Conflicts: libquadmath0@variant@ < %{version}-%{release}
498 %description -n libquadmath@base_ver@@variant@
499 The runtime library needed to run programs compiled with the Fortran compiler
500 of the GNU Compiler Collection (GCC) and quadruple precision floating point
503 %post -n libquadmath@base_ver@@variant@
506 %postun -n libquadmath@base_ver@@variant@
511 %package -n libmudflap@base_ver@@variant@
512 Summary: The Mudflap Extension Runtime Library
513 License: GPL-3.0-with-GCC-exception
514 Group: Development/Toolchain
515 Provides: libmudflap0@variant@ = %{version}-%{release}
516 Conflicts: libmudflap0@variant@ < %{version}-%{release}
517 Provides: libmudflapth0@variant@ = %{version}-%{release}
518 Conflicts: libmudflapth0@variant@ < %{version}-%{release}
520 %description -n libmudflap@base_ver@@variant@
521 This is the Mudflap Extension Runtime Library.
523 %post -n libmudflap@base_ver@@variant@
526 %postun -n libmudflap@base_ver@@variant@
531 %package -n libgcj@base_ver@
533 Summary: Java Runtime Library for gcc
534 License: GPL-2.0-with-classpath-exception
535 Group: System/Libraries
537 Provides: libgcj%{gcj_sover} = %{version}-%{release}
538 Conflicts: libgcj%{gcj_sover} < %{version}-%{release}
539 Provides: libgij%{gcj_sover} = %{version}-%{release}
540 Conflicts: libgij%{gcj_sover} < %{version}-%{release}
541 Provides: libgcj-tools%{gcj_sover} = %{version}-%{release}
542 Conflicts: libgcj-tools%{gcj_sover} < %{version}-%{release}
544 %description -n libgcj@base_ver@
545 This library is needed if you want to use the GNU Java compiler, gcj.
546 Source code for this package is in gcc.
548 %post -n libgcj@base_ver@
551 %postun -n libgcj@base_ver@
555 %package -n gcc@base_ver@-java
556 Summary: The GNU Java Compiler
558 Group: Development/Languages
559 Requires: gcc@base_ver@ = %{version}
560 Requires: libgcj@base_ver@-devel = %{version}-%{release}
562 %description -n gcc@base_ver@-java
563 The Java compiler from the GCC-tools-suite.
566 %package -n libgcj_bc@base_ver@
567 Summary: Fake library for BC-ABI compatibility.
568 License: GPL-2.0-with-classpath-exception
569 Group: Development/Libraries
570 Provides: libgcj_bc1 = %{version}-%{release}
571 Conflicts: libgcj_bc1 < %{version}-%{release}
572 # libgcj_bc is special in that it just contains a symlink to
573 # a proper libgcj version. So require that library and add
574 # provides for the shlib version as created at link time
575 Requires: libgcj%{gcj_sover}
577 Provides: libgcj_bc.so.1()(64bit)
579 Provides: libgcj_bc.so.1
583 %description -n libgcj_bc@base_ver@
584 A fake library that is used at link time only. It ensures that
585 binaries built with the BC-ABI link against a constant SONAME.
586 This way, BC-ABI binaries continue to work if the SONAME underlying
590 %package -n libgcj@base_ver@-jar
591 Summary: Java runtime library (jar files).
592 License: GPL-2.0-with-classpath-exception
593 Group: Development/Libraries/Java
595 %description -n libgcj@base_ver@-jar
596 These are the jar files that go along with the gcj front end to gcc.
599 %package -n libgcj@base_ver@-devel
600 Summary: Include Files and Libraries mandatory for Development.
601 License: GPL-2.0-with-classpath-exception
602 Group: Development/Libraries
603 Requires: libstdc++@base_ver@-devel = %{version}
604 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
605 Requires: libgcj_bc1 >= %{version}-%{release}
606 Requires: libgcj@base_ver@-jar = %{version}-%{release}
608 Requires: libart_lgpl-devel
609 Requires: glibc-devel
612 %description -n libgcj@base_ver@-devel
613 This package contains all necessary include files and libraries needed
614 to develop applications that require these.
617 %package -n gcc@base_ver@-gij
618 Summary: Java Bytecode Interpreter for gcc
619 License: GPL-2.0-with-classpath-exception
620 Group: Development/Libraries
621 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
623 %description -n gcc@base_ver@-gij
624 This package contains the java bytecode interpreter gij and related tools.
628 %package -n libffi@base_ver@@variant@
629 Summary: Foreign Function Interface library
630 License: BSD-3-Clause
631 Group: Base/Libraries
632 Provides: g-wrap:/usr/lib/libffi.so.4
633 Provides: libffi4@variant@ = %{version}-%{release}
634 Conflicts: libffi4@variant@ < %{version}-%{release}
636 %description -n libffi@base_ver@@variant@
637 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.
639 %post -n libffi@base_ver@@variant@
642 %postun -n libffi@base_ver@@variant@
647 %package -n libffi@base_ver@-devel@variant@
648 Summary: Foreign Function Interface library development files
649 License: BSD 3-Clause
650 Group: Development/Toolchain
651 Requires: libffi4@variant@ >= %{version}-%{release}
652 Provides: libffi-devel@variant@ = %{version}-%{release}
653 Conflicts: libffi-devel@variant@ < %{version}-%{release}
655 %description -n libffi@base_ver@-devel@variant@
656 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.
659 %package -n gcc@base_ver@-testresults
660 # GCC-TESTSUITE-DELETE-END
661 Summary: Testsuite results
662 License: Public-Domain
663 Group: Development/Toolchain
665 %description -n gcc@base_ver@-testresults
666 Results from running the gcc and target library testsuites.
671 # Define the canonical target and host architecture
672 # %gcc_target_arch is supposed to be the full target triple
673 # %TARGET_ARCH is the canonicalized CPU part
674 # %CONFIGURE_TARGET is the target triple used for --target=
675 %if 0%{?gcc_target_arch:1}
676 %define CONFIGURE_TARGET %{gcc_target_arch}
677 %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/;")
678 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
679 %define CONFIGURE_TARGET i586-tizen-linux
681 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
682 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
684 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
685 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
687 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7el"
688 %define CONFIGURE_TARGET armv7el-tizen-linux-gnueabi
690 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el"
691 %define CONFIGURE_TARGET armv5el-tizen-linux-gnueabi
694 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
696 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
698 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
701 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
703 %define GCCDIST %{HOST_ARCH}-tizen-linux
706 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
707 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
711 # Versionspecific directories
712 %define versmainlibdir %{libsubdir}
713 %define versmainlibdirbi32 %{libsubdir}/32
714 %define versmainlibdirbi64 %{libsubdir}/64
715 %if %{build_primary_64bit}
716 %define versmainlibdirbi %{versmainlibdirbi32}
718 %define versmainlibdirbi %{versmainlibdirbi64}
721 %if 0%{?build_optional_compiler:1}
722 %define mainlibdir %{versmainlibdir}
723 %define mainlibdirbi32 %{versmainlibdirbi32}
724 %define mainlibdirbi64 %{versmainlibdirbi64}
725 %define noflibdir %{versnoflibdir}
726 %define mainlibdirbi %{versmainlibdirbi}
728 %define mainlibdir %{_libdir}
729 %define mainlibdirbi32 %{_prefix}/lib
730 %define mainlibdirbi64 %{_prefix}/lib64
731 %define noflibdir %{_prefix}/lib/nof
732 %if %{build_primary_64bit}
733 %define mainlibdirbi %{mainlibdirbi32}
735 %define mainlibdirbi %{mainlibdirbi64}
740 # Now define a few macros that make it easy to package libs and
741 # related files just to the right package, without caring for the
742 # exact path the files are in.
743 # %mainlib package X from all dirs that belong to the main package
744 # %biarchlib package X from all dirs that belong to the -32/64bit package
745 # by default, nof libs go where the 32bit libs go.
747 %define mainlib() %{mainlibdir}/%1\
751 %define mainlib() %{mainlibdir}/%1\
754 %define biarchlib() %{nil}
756 %if !%{separate_biarch}
758 %define mainlib() %{mainlibdir}/%1\
763 %define mainlib() %{mainlibdir}/%1\
769 %define biarchlib() %{mainlibdirbi}/%1\
772 %define mainlib() %{mainlibdir}/%1\
775 %define biarchlib() %{mainlibdirbi}/%1\
782 %define versmainlib() %{versmainlibdir}/%1\
786 %define versmainlib() %{versmainlibdir}/%1\
789 %define versbiarchlib() %{nil}
791 %if !%{separate_biarch}
793 %define versmainlib() %{versmainlibdir}/%1\
794 %{versmainlibdirbi}/%1\
798 %define versmainlib() %{versmainlibdir}/%1\
799 %{versmainlibdirbi}/%1\
804 %define versbiarchlib() %{versmainlibdirbi}/%1\
807 %define versmainlib() %{versmainlibdir}/%1\
810 %define versbiarchlib() %{versmainlibdirbi}/%1\
820 #%setup -q -n gcc-%{gcc_version}%{snapshot_date}
821 %setup -q -n gcc-%{version}
822 # 0001-dir-version.patch
829 # Avoid rebuilding of generated files
830 contrib/gcc_update --touch
831 # Avoid fucking up testsuite results with Java and indirect dispatch
832 export LD_AS_NEEDED=0
833 # Split version file into version used for directories (X.Y) and
834 # version to report with --version (X.Y.Z).
835 # See also gcc-dir-version.patch.
836 # Also decrement the patchlevel version by one
837 if test `cat gcc/DEV-PHASE` == "prerelease"; then
838 ( 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
840 mv gcc/BASE-VER gcc/FULL-VER
842 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
844 rm -rf obj-%{GCCDIST}
847 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
848 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'`
850 # -mcpu is superceded by -mtune but -mtune is not supported by
851 # our bootstrap compiler. -mcpu gives a warning that stops
852 # the build process, so remove it for now. Also remove all other
853 # -march and -mtune flags. They are superseeded by proper
854 # default compiler settings now.
855 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'`
857 %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
858 # Kill all -march/tune/cpu because that screws building the target libs
859 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
861 # Replace 2 spaces by one finally
862 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
866 languages=$languages,c++
869 languages=$languages,objc
872 languages=$languages,fortran
875 languages=$languages,obj-c++
878 languages=$languages,java
881 languages=$languages,ada
885 if test -z "$J"; then
886 J=$(getconf _NPROCESSORS_CONF)
889 test 1 -gt "$J" && J=1
890 JL=$(($(getconf _NPROCESSORS_CONF)*2))
892 if test "$J" == "0"; then
895 if test "$JL" == "0"; then
898 PARALLEL="-j$J -l$JL"
900 # we don't want some miscompiles in the testsuite, or some fault in
901 # the compiler to kill the machine. Hence we limit the amount of memory
902 # by the physical RAM plus half of swap
903 #MEM=$(free -m | awk '/^Mem:/ {print $2}')
904 #SWAP=$(free -m | awk '/^Swap:/ {print $2}')
905 #ulimit -v $(((MEM + SWAP/2)*1024))
907 # In general we want to ship release checking enabled compilers
908 # and run BETA with checking enabled.
909 #ENABLE_CHECKING="--enable-checking=yes"
910 ENABLE_CHECKING="--enable-checking=release"
912 # Work around tail/head -1 changes
913 export _POSIX2_VERSION=199209
915 # configure tries to parse include/features.h to detect
916 # if glibc supports SSP. When cross compiling we would need
917 # to install a cross glibc, which we don't, or make the whole
918 # thing point to the native glibc, which is in /, hence the
922 # Using the host gnatmake like
923 # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
924 # GNATMAKE="gnatmake%{hostsuffix}"
925 # doesn't work due to PR33857, so an un-suffixed gnatmake has to be
927 mkdir -p host-tools/bin
928 cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
929 cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
930 cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
931 cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
932 ln -sf /usr/%{_lib} host-tools/%{_lib}
933 export PATH="`pwd`/host-tools/bin:$PATH"
935 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
937 # --enable-threads=posix \
940 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
941 TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \
943 --prefix=%{_prefix} \
944 --infodir=%{_infodir} \
945 --mandir=%{_mandir} \
946 --libdir=%{_libdir} \
947 --libexecdir=%{_libdir} \
948 --enable-languages=$languages \
950 --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
955 --disable-bootstrap \
958 --with-bugurl="http://bugs.tizen.org/" \
959 --with-pkgversion="Tizen Linux" \
960 %if !%{build_libjava}
963 --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
964 --with-ecj-jar=%{libsubdir}/ecj.jar \
966 %if !%{biarch_libjava}
967 --disable-libjava-multilib \
970 %if !%{build_with_mudflap}
971 --disable-libmudflap \
973 --with-slibdir=/%{_lib} \
975 --enable-__cxa_atexit \
976 --enable-libstdcxx-allocator=new \
977 --disable-libstdcxx-pch \
978 --enable-version-specific-runtime-libs \
979 --enable-linker-build-id \
980 %if 0%{?gcc_target_arch:1}
981 %if 0%{?gcc_icecream:1}
982 --with-build-sysroot=/ \
983 --with-sysroot=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi} \
984 --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/usr/include/c++/%{gcc_dir_version} \
985 --enable-linux-futex \
987 %if 0%{?canonical_target:1}
988 --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
990 %if 0%{?build_static:1}
993 %if "%{TARGET_ARCH}" == "spu"
994 --with-sysroot=/usr/spu \
995 --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \
999 --target=%{CONFIGURE_TARGET} \
1001 --program-suffix=%{binsuffix} \
1002 --enable-linux-futex \
1003 --without-system-libunwind \
1005 %if "%{TARGET_ARCH}" == "armv5tel"
1006 --with-arch=armv5te \
1009 --with-abi=aapcs-linux \
1010 --disable-sjlj-exceptions \
1012 %if "%{TARGET_ARCH}" == "armv7el"
1013 --with-arch=armv7-a \
1014 --with-tune=cortex-a9 \
1018 --disable-sjlj-exceptions \
1020 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
1021 --with-arch=armv7-a \
1022 --with-tune=cortex-a9 \
1024 --with-abi=aapcs-linux \
1025 --with-fpu=vfpv3-d16 \
1026 --disable-sjlj-exceptions \
1028 %if "%{TARGET_ARCH}" == "i586"
1029 --with-arch-32=i586 \
1030 --with-tune=generic \
1032 %if "%{TARGET_ARCH}" == "x86_64"
1033 --with-arch-32=i586 \
1034 --with-tune=generic \
1040 %if 0%{?building_libffi:1}
1041 make stage1-bubble $PARALLEL
1042 make all-target-libffi $PARALLEL
1044 # Only run profiled bootstrap on archs where it works
1045 #%ifarch %ix86 x86_64
1046 #make profiledbootstrap-lean STAGE1_CFLAGS="-O -g" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1051 STAGE1_FLAGS="-O -g"
1053 #make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1054 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1058 %if 0%{?run_tests:1}
1059 echo "Run testsuite"
1060 (make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1061 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1062 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1063 make -k check $PARALLEL || true
1064 mkdir ../testresults
1065 ../contrib/test_summary | tee ../testresults/test_summary.txt
1070 export NO_BRP_CHECK_BYTECODE_VERSION=true
1072 # GCC-TESTSUITE-DELETE-BEGIN
1073 # Work around tail/head -1 changes
1074 export _POSIX2_VERSION=199209
1075 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi}
1076 %if 0%{?building_libffi:1}
1077 make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
1079 %if 0%{?building_libjava:1}
1080 make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
1081 make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
1082 make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
1083 make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
1084 # install-common also installs collect2, gcov and the g++ and gfortran driver
1086 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1088 %if %{build_fortran}
1089 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1091 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1092 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1094 make install DESTDIR=$RPM_BUILD_ROOT
1096 make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
1097 make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT
1098 rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
1099 rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
1100 rm $RPM_BUILD_ROOT%{libsubdir}/jc1
1101 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
1106 # Remove libffi installed files if we did not want to build it
1107 %if !0%{?building_libffi:1}
1108 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.*
1110 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
1112 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h
1113 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h
1114 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3*
1115 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3*
1116 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3*
1119 # Remove some useless .la files
1120 for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \
1121 libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij; do
1122 rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la
1124 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1128 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1130 %if %{build_primary_64bit}
1131 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1133 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1137 # LIBFFI-DELETE-BEGIN
1138 # LIBJAVA-DELETE-BEGIN
1140 # Merge multilib c++config.h to allow omitting the duplicate and
1141 # identical other arch specific headers
1143 cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1144 for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1145 if ! diff -up $cxxconfig $i; then
1160 if ! ( test -f "$file_32" && test -f "$file_64" ); then
1165 cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1166 #ifndef _CPP_CPPCONFIG_WRAPPER
1167 #define _CPP_CPPCONFIG_WRAPPER 1
1168 #include <bits/wordsize.h>
1169 #if __WORDSIZE == 32
1179 rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1180 if ! test -z "$dir_ml"; then
1181 ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1184 # LIBJAVA-DELETE-END
1186 %if 0%{!?build_optional_compiler:1}
1187 # move shared libs from versionspecific dir to main libdir
1189 %if 0%{?building_libjava:1}
1190 libgcj libgij libgcj-tools \
1192 %if %{build_fortran}
1194 %ifarch %quadmath_arch
1205 %if %{build_with_mudflap}
1206 libmudflap libmudflapth \
1210 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1211 mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1213 ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1214 $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
1216 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1217 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1218 mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/
1220 ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1221 $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1226 %if !0%{?building_libjava:1}
1227 # And we want to move the shlib gdb pretty printers to a more sane
1228 # place so ldconfig does not complain
1229 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
1230 mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
1231 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py
1233 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1234 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
1235 mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1236 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1241 %if 0%{?building_libjava:1}
1242 # libgcj_bc is special as the .so file is actually a different
1243 # library as the library refered to by the SONAME which should
1244 # be a simple link to our libgcj.
1245 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do
1248 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.1
1249 %if %{biarch_libjava}
1250 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do
1253 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.1
1258 # LIBJAVA-DELETE-BEGIN
1259 %if 0%{!?build_optional_compiler:1}
1260 # Move libgcc_s around
1261 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1262 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1263 ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1265 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1267 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
1269 %if %{build_primary_64bit}
1270 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1271 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1272 ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1274 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1276 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1277 chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
1279 # 32-bit biarch systems
1280 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1281 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1282 ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1284 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1286 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1287 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1291 # Move libgcc_s around
1292 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/
1293 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1294 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1295 ln -sf %{versmainlibdir}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1297 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1299 chmod a+x $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
1301 %if %{build_primary_64bit}
1302 mv $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1303 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1304 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1305 ln -sf %{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1307 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1309 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1310 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
1312 # 32-bit biarch systems
1313 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1314 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1315 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1316 ln -sf %{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1318 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1320 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1321 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
1326 # Provide a defaults.spec file which adds a proper rpath
1327 %if 0%{?build_optional_compiler:1}
1328 cat > $RPM_BUILD_ROOT%{libsubdir}/defaults.spec << EOF
1330 + %%{!m32:%%{!m64:-rpath=%{libsubdir}}} %%{m32:-rpath=%{libsubdir}/32} %%{m64:-rpath=%{libsubdir}/64}
1333 # LIBJAVA-DELETE-END
1337 mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir}
1338 ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so
1339 ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so
1340 chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
1342 mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
1343 ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1344 ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1345 chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
1349 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1351 # Remove some crap from the .la files:
1352 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
1354 # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g'
1355 sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1356 -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1357 -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1358 -e '/^dependency_libs/s|-L[^ ]* ||g' \
1360 %if %{build_primary_64bit}
1361 -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1362 -e '/^libdir/s|lib64/\.\./||' \
1364 -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1371 # GCC-TESTSUITE-DELETE-END
1372 %if 0%{?run_tests:1}
1373 cp `find . -name "*.sum"` ../testresults/
1374 cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
1375 chmod 644 ../testresults/*
1377 # GCC-TESTSUITE-DELETE-BEGIN
1378 # LIBFFI-DELETE-BEGIN
1380 # Find C++ and Java headers
1381 find $RPM_BUILD_ROOT%{_prefix}/include/c++ \
1382 -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \
1383 -o \( -type d -printf "%%%%dir " , \
1384 -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers
1387 # Remove files that we do not need to clean up filelist
1388 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-*
1389 rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools
1390 #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
1391 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root
1392 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h
1393 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-*
1394 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux
1395 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound
1396 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h
1397 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h
1398 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h
1399 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h
1400 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11
1401 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1402 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h
1403 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h
1404 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h
1405 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1406 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys
1408 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1409 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
1410 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix}
1412 %if !0%{?building_libjava:1}%{?building_libffi:1}
1413 # delete compile flag tracking from crt files
1414 crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o
1416 %if %{build_primary_64bit}
1417 crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o
1419 crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o
1424 %if 0%{?building_libjava:1}
1425 # gcj -static doesn't work properly anyway, unless using --whole-archive
1426 # let's save the space instead.
1427 find $RPM_BUILD_ROOT -name libgcj.a \
1428 -o -name libgcj-tools.a \
1431 -o -name libgcj_bc.a \
1434 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
1435 sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
1437 # security files have broken install locations, also they cause conflicts
1438 # between libgcj versions. Simply delete them here, libgcj will use its
1439 # defaults in this case (which is what these files contain anyway).
1440 rm $RPM_BUILD_ROOT%{_libdir}/logging.properties
1441 rm -r $RPM_BUILD_ROOT%{_libdir}/security
1444 %if 0%{?building_libffi:1}
1445 # Move libffi headers, remove empty libffi libtool file
1446 mkdir -p $RPM_BUILD_ROOT%{_prefix}/include
1447 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/
1448 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/
1449 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la
1451 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
1453 # Generate a simple pkg-config file
1454 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
1455 echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc
1459 %if !%{build_libjava}
1460 rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
1461 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
1462 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
1463 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
1464 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1
1465 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1
1466 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1
1468 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py
1469 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py
1471 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
1472 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
1473 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
1474 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
1476 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/nof/libiberty.a
1479 %if %{build_primary_64bit}
1480 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
1482 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
1485 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
1486 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
1488 # LIBFFI-DELETE-BEGIN
1489 %if 0%{?building_libjava:1}
1490 # For building libjava only we need to delete other info docs
1491 rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
1492 # Remove stale manpages for binaries we do not build
1493 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1
1494 # For building the java frontend we need to copy the ecj jar
1495 mkdir -p $RPM_BUILD_ROOT%{libsubdir}
1496 cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
1498 # For regular build, some info files do not get renamed properly.
1500 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
1501 %if %{build_fortran}
1502 %ifarch %quadmath_arch
1503 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
1507 mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info
1508 mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info
1509 mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info
1513 # LIBJAVA-DELETE-BEGIN
1515 %find_lang gcc@base_ver@-locale --all-name
1518 %install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1519 %install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1520 %install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1521 %install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1522 %install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1523 %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1524 %if %{build_fortran}
1525 %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1526 %ifarch %quadmath_arch
1527 %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1531 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1534 %install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1535 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1536 %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
1540 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1541 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1542 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1543 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1544 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1545 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1546 %if %{build_fortran}
1547 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1548 %ifarch %quadmath_arch
1549 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1553 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1556 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1557 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1558 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
1563 %defattr(-,root,root)
1565 %dir %{_libdir}/gcc/%{GCCDIST}
1567 %dir %{libsubdir}/include
1568 %dir %{libsubdir}/include-fixed
1570 %if %{build_primary_64bit}
1571 %dir %{libsubdir}/32
1573 %dir %{libsubdir}/64
1577 %dir %{libsubdir}/nof
1579 %{_prefix}/bin/gcc%{binsuffix}
1580 %{_prefix}/bin/gcov%{binsuffix}
1581 %{_prefix}/bin/gcc-ar%{binsuffix}
1582 %{_prefix}/bin/gcc-nm%{binsuffix}
1583 %{_prefix}/bin/gcc-ranlib%{binsuffix}
1584 %{libsubdir}/collect2
1586 %{libsubdir}/lto-wrapper
1587 %{libsubdir}/liblto_plugin.so*
1588 %{libsubdir}/include-fixed/README
1589 %{libsubdir}/include-fixed/limits.h
1590 %{libsubdir}/include-fixed/syslimits.h
1591 %{libsubdir}/include/omp.h
1592 %{libsubdir}/include/float.h
1593 %{libsubdir}/include/iso646.h
1594 %{libsubdir}/include/stdarg.h
1595 %{libsubdir}/include/stdbool.h
1596 %{libsubdir}/include/stdfix.h
1597 %{libsubdir}/include/stddef.h
1598 %{libsubdir}/include/unwind.h
1599 %{libsubdir}/include/varargs.h
1600 %{libsubdir}/include/stdint.h
1601 %{libsubdir}/include/stdint-gcc.h
1602 %{libsubdir}/include/stdnoreturn.h
1603 %{libsubdir}/include/stdalign.h
1605 %{libsubdir}/include/mmintrin.h
1606 %{libsubdir}/include/arm_neon.h
1607 %{libsubdir}/include/unwind-arm-common.h
1609 %ifarch %ix86 x86_64
1610 %{libsubdir}/include/cross-stdarg.h
1611 %{libsubdir}/include/cpuid.h
1612 %{libsubdir}/include/mm3dnow.h
1613 %{libsubdir}/include/mmintrin.h
1614 %{libsubdir}/include/ammintrin.h
1615 %{libsubdir}/include/bmmintrin.h
1616 %{libsubdir}/include/emmintrin.h
1617 %{libsubdir}/include/immintrin.h
1618 %{libsubdir}/include/avxintrin.h
1619 %{libsubdir}/include/pmmintrin.h
1620 %{libsubdir}/include/xmmintrin.h
1621 %{libsubdir}/include/tmmintrin.h
1622 %{libsubdir}/include/nmmintrin.h
1623 %{libsubdir}/include/smmintrin.h
1624 %{libsubdir}/include/wmmintrin.h
1625 %{libsubdir}/include/x86intrin.h
1626 %{libsubdir}/include/ia32intrin.h
1627 %{libsubdir}/include/mm_malloc.h
1628 %{libsubdir}/include/fma4intrin.h
1629 %{libsubdir}/include/xopintrin.h
1630 %{libsubdir}/include/lwpintrin.h
1631 %{libsubdir}/include/popcntintrin.h
1632 %{libsubdir}/include/bmiintrin.h
1633 %{libsubdir}/include/tbmintrin.h
1634 %{libsubdir}/include/avx2intrin.h
1635 %{libsubdir}/include/bmi2intrin.h
1636 %{libsubdir}/include/fmaintrin.h
1637 %{libsubdir}/include/lzcntintrin.h
1638 %{libsubdir}/include/f16cintrin.h
1640 %if %{build_with_mudflap}
1641 %{libsubdir}/include/mf-runtime.h
1643 %versmainlib *crt*.o
1644 %versmainlib libgcc*.a
1645 %versmainlib libgcov.a
1646 %versmainlib libgcc_s*.so
1647 %if %{build_with_mudflap}
1648 %versmainlib libmudflap.a
1649 %versmainlib libmudflap.so
1650 %versmainlib libmudflapth.a
1651 %versmainlib libmudflapth.so
1653 %versmainlib libgomp.so
1654 %versmainlib libgomp.a
1655 %versmainlib libgomp.spec
1656 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
1657 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
1658 %if 0%{?build_optional_compiler:1}
1659 %{libsubdir}/defaults.spec
1662 %if %{separate_biarch}
1663 %files -n gcc@base_ver@%{separate_biarch_suffix}
1664 %defattr(-,root,root)
1665 %versbiarchlib *crt*.o
1666 %versbiarchlib libgcc*.a
1667 %versbiarchlib libgcov.a
1668 %versbiarchlib libgcc_s*.so
1669 %if %{build_with_mudflap}
1670 %versbiarchlib libmudflap.a
1671 %versbiarchlib libmudflap.so
1672 %versbiarchlib libmudflapth.a
1673 %versbiarchlib libmudflapth.so
1675 %versbiarchlib libgomp.so
1676 %versbiarchlib libgomp.a
1677 %versbiarchlib libgomp.spec
1680 %files locale -f gcc@base_ver@-locale.lang
1684 %defattr(-,root,root)
1686 %dir %{_libdir}/gcc/%{GCCDIST}
1688 %{_prefix}/bin/g++%{binsuffix}
1689 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
1690 %{libsubdir}/cc1plus
1692 %files -n libstdc++@base_ver@
1693 %defattr(-,root,root)
1697 %mainlib libstdc++.so.*
1699 %if %{separate_biarch}
1700 %files -n libstdc++@base_ver@%{separate_biarch_suffix}
1701 %defattr(-,root,root)
1702 %biarchlib libstdc++.so.*
1705 %files -n libstdc++@base_ver@-devel -f c++-headers
1706 %defattr(-,root,root)
1707 %versmainlib libstdc++.a
1708 %versmainlib libstdc++.so
1709 %versmainlib libsupc++.a
1710 %dir %{_datadir}/gdb
1711 %dir %{_datadir}/gdb/auto-load
1712 %dir %{_datadir}/gdb/auto-load%{_prefix}
1713 %dir %{_datadir}/gdb/auto-load/%{mainlibdir}
1714 %{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
1715 %{_datadir}/gcc%{binsuffix}
1717 %if %{separate_biarch}
1718 %files -n libstdc++@base_ver@-devel%{separate_biarch_suffix}
1719 %defattr(-,root,root)
1720 %versbiarchlib libstdc++.a
1721 %versbiarchlib libstdc++.so
1722 %versbiarchlib libsupc++.a
1723 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
1724 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
1727 %files -n libstdc++@base_ver@-doc
1728 %defattr(-,root,root)
1729 %doc libstdc++-v3/doc/html
1732 %files -n libgcc@base_ver@
1733 %defattr(-,root,root)
1734 %if 0%{!?build_optional_compiler:1}
1735 /%{_lib}/libgcc_s.so.%{libgcc_s}
1738 /lib/nof/libgcc_s.so.%{libgcc_s}
1741 %if %{build_primary_64bit}
1742 %if !%{separate_bi32}
1743 /lib/libgcc_s.so.%{libgcc_s}
1746 %if !%{separate_bi64}
1747 /lib64/libgcc_s.so.%{libgcc_s}
1752 %versmainlib libgcc_s.so.%{libgcc_s}
1755 %if %{separate_bi64}
1756 %files -n libgcc@base_ver@-64bit
1757 %defattr(-,root,root)
1758 %if 0%{!?build_optional_compiler:1}
1759 /lib64/libgcc_s.so.%{libgcc_s}
1761 %versbiarchlib libgcc_s.so.%{libgcc_s}
1765 %if %{separate_bi32}
1766 %files -n libgcc@base_ver@-32bit
1767 %defattr(-,root,root)
1768 %if 0%{!?build_optional_compiler:1}
1769 /lib/libgcc_s.so.%{libgcc_s}
1771 %versbiarchlib libgcc_s.so.%{libgcc_s}
1776 %files -n libgomp@base_ver@
1777 %defattr(-,root,root)
1778 %mainlib libgomp.so.1*
1780 %if %{separate_biarch}
1781 %files -n libgomp@base_ver@%{separate_biarch_suffix}
1782 %defattr(-,root,root)
1783 %biarchlib libgomp.so.1*
1787 %if %{build_fortran}
1789 %defattr(-,root,root)
1790 %dir %{libsubdir}/finclude
1791 %{_prefix}/bin/gfortran%{binsuffix}
1793 %{libsubdir}/finclude/*
1794 %versmainlib libgfortran.a
1795 %versmainlib libgfortran.so
1796 %versmainlib libgfortran.spec
1797 %versmainlib libgfortranbegin.a
1798 %versmainlib libcaf_single.a
1799 %ifarch %quadmath_arch
1800 %{libsubdir}/include/quadmath.h
1801 %{libsubdir}/include/quadmath_weak.h
1802 %versmainlib libquadmath.a
1803 %versmainlib libquadmath.so
1805 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
1807 %if %{separate_biarch}
1808 %files fortran%{separate_biarch_suffix}
1809 %defattr(-,root,root)
1810 %versbiarchlib libgfortran.a
1811 %versbiarchlib libgfortran.so
1812 %versbiarchlib libgfortran.spec
1813 %versbiarchlib libgfortranbegin.a
1814 %versbiarchlib libcaf_single.a
1815 %ifarch %quadmath_arch
1816 %versbiarchlib libquadmath.a
1817 %versbiarchlib libquadmath.so
1821 %files -n libgfortran@base_ver@
1822 %defattr(-,root,root)
1823 %mainlib libgfortran.so.*
1825 %if %{separate_biarch}
1826 %files -n libgfortran@base_ver@%{separate_biarch_suffix}
1827 %defattr(-,root,root)
1828 %biarchlib libgfortran.so.*
1831 %ifarch %quadmath_arch
1832 %files -n libquadmath@base_ver@
1833 %defattr(-,root,root)
1834 %mainlib libquadmath.so.*
1836 %if %{separate_biarch}
1837 %files -n libquadmath@base_ver@%{separate_biarch_suffix}
1838 %defattr(-,root,root)
1839 %biarchlib libquadmath.so.*
1844 %if %{build_with_mudflap}
1845 %files -n libmudflap@base_ver@
1846 %defattr(-,root,root)
1847 %mainlib libmudflap.so.0*
1848 %mainlib libmudflapth.so.0*
1850 %if %{separate_biarch}
1851 %files -n libmudflap@base_ver@%{separate_biarch_suffix}
1852 %defattr(-,root,root)
1853 %biarchlib libmudflap.so.0*
1854 %biarchlib libmudflapth.so.0*
1859 %defattr(-,root,root)
1860 %doc %{_infodir}/*.gz
1862 %files -n cpp@base_ver@
1863 %defattr(-,root,root)
1865 %dir %{_libdir}/gcc/%{GCCDIST}
1867 %{_prefix}/bin/cpp%{binsuffix}
1870 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
1874 %defattr(-,root,root)
1876 %{libsubdir}/include/objc
1877 %versmainlib libobjc.a
1878 %versmainlib libobjc.so
1880 %if %{separate_biarch}
1881 %files objc%{separate_biarch_suffix}
1882 %defattr(-,root,root)
1883 %versbiarchlib libobjc.a
1884 %versbiarchlib libobjc.so
1887 %files -n libobjc@base_ver@
1888 %defattr(-,root,root)
1889 %mainlib libobjc.so.*
1891 %if %{separate_biarch}
1892 %files -n libobjc@base_ver@%{separate_biarch_suffix}
1893 %defattr(-,root,root)
1894 %biarchlib libobjc.so.*
1901 %defattr(-,root,root)
1902 %{libsubdir}/cc1objplus
1908 %defattr(-,root,root)
1910 %dir %{_libdir}/gcc/%{GCCDIST}
1912 %{_prefix}/bin/gnat*
1913 %dir %{versmainlibdir}/adainclude
1914 %dir %{versmainlibdir}/adalib
1915 %{versmainlibdir}/adainclude
1916 %{versmainlibdir}/adalib/*.ali
1917 %{versmainlibdir}/adalib/*.a
1918 %{versmainlibdir}/adalib/libgnarl.so
1919 %{versmainlibdir}/adalib/libgnat.so
1920 %{versmainlibdir}/gnat1
1922 %if %{separate_biarch}
1923 %files ada%{separate_biarch_suffix}
1924 %defattr(-,root,root)
1925 %dir %{versmainlibdirbi}/adainclude
1926 %dir %{versmainlibdirbi}/adalib
1927 %{versmainlibdirbi}/adainclude
1928 %{versmainlibdirbi}/adalib/*.ali
1929 %{versmainlibdirbi}/adalib/*.a
1930 %{versmainlibdirbi}/adalib/libgnarl.so
1931 %{versmainlibdirbi}/adalib/libgnat.so
1934 %files -n libada@base_ver@
1935 %defattr(-,root,root)
1936 %mainlib libgnarl-*.so
1937 %mainlib libgnat-*.so
1939 %if %{separate_biarch}
1940 %files -n libada@base_ver@%{separate_biarch_suffix}
1941 %defattr(-,root,root)
1942 %biarchlib libgnarl-*.so
1943 %biarchlib libgnat-*.so
1946 # LIBJAVA-DELETE-END
1950 %if 0%{?building_libjava:1}
1951 %files -n gcc@base_ver@-java
1952 %defattr(-,root,root)
1953 %{_prefix}/bin/gcj%{binsuffix}
1954 %{_prefix}/bin/gcjh%{binsuffix}
1955 %{_prefix}/bin/gcj-dbtool%{binsuffix}
1956 %{_prefix}/bin/jcf-dump%{binsuffix}
1957 %{_prefix}/bin/jv-convert%{binsuffix}
1958 %{_prefix}/bin/gc-analyze%{binsuffix}
1959 %{_prefix}/bin/aot-compile%{binsuffix}
1960 %{_prefix}/bin/rebuild-gcj-db%{binsuffix}
1962 %{libsubdir}/jvgenmain
1963 %{libsubdir}/ecj.jar
1965 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
1966 %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
1967 %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
1968 %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
1969 %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
1970 %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
1971 %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz
1972 %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz
1977 %if %{build_libjava}
1978 %files -n libgcj@base_ver@
1979 %defattr(-,root,root)
1980 %dir %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}
1982 %dir %{_libdir}/gcc/%{GCCDIST}
1984 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/classmap.db
1985 # We usually do not multilib libjava
1986 %if %{biarch_libjava}
1987 %versbiarchlib libgcj.la
1988 %biarchlib libgcj.so.*
1989 %biarchlib libgij.so.*
1990 %biarchlib libgcj-tools.so.*
1992 %versmainlib libgcj.la
1993 %mainlib libgcj.so.*
1994 %mainlib libgij.so.*
1995 %mainlib libgcj-tools.so.*
1997 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.la
1998 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.so
1999 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.la
2000 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.so
2002 %files -n libgcj_bc@base_ver@
2003 %defattr(-,root,root)
2004 %if %{biarch_libjava}
2005 %biarchlib libgcj_bc.so.*
2007 %mainlib libgcj_bc.so.*
2010 %files -n libgcj@base_ver@-jar
2011 %defattr(-,root,root)
2012 %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
2013 %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
2015 %files -n libgcj@base_ver@-devel
2016 %defattr(-,root,root)
2017 %dir %{_prefix}/include/c++
2019 %dir %{libsubdir}/include
2021 %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
2022 %{libsubdir}/include/jawt.h
2023 %{libsubdir}/include/jawt_md.h
2024 %{libsubdir}/include/jni.h
2025 %{libsubdir}/include/jni_md.h
2026 %{libsubdir}/include/jvmpi.h
2033 %{libsubdir}/include/gcj
2034 %if %{biarch_libjava}
2035 %versbiarchlib libgcj.so
2036 %versbiarchlib libgcj.spec
2037 %versbiarchlib libgcj-tools.so
2038 %versbiarchlib libgij.so
2039 %versbiarchlib libgcj_bc.so
2041 %versmainlib libgcj.so
2042 %versmainlib libgcj.spec
2043 %versmainlib libgcj-tools.so
2044 %versmainlib libgij.so
2045 %versmainlib libgcj_bc.so
2048 %files -n gcc@base_ver@-gij
2049 %defattr(-,root,root)
2050 %{_prefix}/bin/gij%{binsuffix}
2051 %{_prefix}/bin/gappletviewer%{binsuffix}
2052 %{_prefix}/bin/gjar%{binsuffix}
2053 %{_prefix}/bin/gjarsigner%{binsuffix}
2054 %{_prefix}/bin/gjavah%{binsuffix}
2055 %{_prefix}/bin/gkeytool%{binsuffix}
2056 %{_prefix}/bin/gnative2ascii%{binsuffix}
2057 %{_prefix}/bin/gorbd%{binsuffix}
2058 %{_prefix}/bin/grmic%{binsuffix}
2059 %{_prefix}/bin/grmid%{binsuffix}
2060 %{_prefix}/bin/grmiregistry%{binsuffix}
2061 %{_prefix}/bin/gserialver%{binsuffix}
2062 %{_prefix}/bin/gtnameserv%{binsuffix}
2063 %doc %{_mandir}/man1/gij%{binsuffix}.1.gz
2064 %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
2065 %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
2066 %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
2067 %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
2068 %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
2069 %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
2070 %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
2071 %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
2072 %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
2073 %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
2074 %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz
2075 %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz
2081 %if 0%{?building_libffi:1}
2082 %files -n libffi@base_ver@
2083 %defattr(-,root,root)
2084 %mainlib libffi.so.*
2086 %if %{separate_biarch}
2087 %files -n libffi@base_ver@%{separate_biarch_suffix}
2088 %defattr(-,root,root)
2089 %biarchlib libffi.so.*
2092 %files -n libffi@base_ver@-devel
2093 %defattr(-,root,root)
2094 %{_prefix}/include/ffi.h
2095 %{_prefix}/include/ffitarget.h
2098 %{_libdir}/pkgconfig/libffi.pc
2099 %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz
2100 %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz
2101 %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz
2103 %if %{separate_biarch}
2104 %files -n libffi@base_ver@-devel%{separate_biarch_suffix}
2105 %defattr(-,root,root)
2106 %biarchlib libffi.so
2111 # GCC-TESTSUITE-DELETE-END
2113 %if 0%{?run_tests:1}
2114 %files -n gcc@base_ver@-testresults
2115 %defattr(-,root,root)
2116 %doc testresults/test_summary.txt
2117 %doc testresults/*.sum
2118 %doc testresults/*.log