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
156 Source2: libgcj47-rpmlintrc
157 Source3: gcc47-rpmlintrc
159 Source6: baselibs.conf
160 # Patches auto-generated by git-buildpackage:
161 Patch0: 0001-dir-version.patch
163 # GCC-TESTSUITE-DELETE-BEGIN
164 # LIBFFI-DELETE-BEGIN
165 # LIBJAVA-DELETE-BEGIN
166 Group: Development/Languages/C and C++
167 Summary: The GNU C Compiler and Support Files
171 Core package for the GNU Compiler Collection, including the C language
174 Language frontends other than C are split to different sub-packages,
175 namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
181 %package -n gcc@base_ver@-32bit
182 Summary: The GNU C Compiler 32bit support
183 Group: Development/Languages/C and C++
184 Requires: gcc@base_ver@ = %{version}-%{release}
185 %if 0%{!?build_optional_compiler:1}
186 Requires: libgcc%{libgcc_s}-32bit >= %{version}-%{release}
187 Requires: libgomp1-32bit >= %{version}-%{release}
188 %if %{build_with_mudflap}
189 Requires: libmudflap0-32bit >= %{version}-%{release}
190 Requires: libmudflapth0-32bit >= %{version}-%{release}
193 Requires: libgcc@base_ver@-32bit = %{version}-%{release}
194 Requires: libgomp@base_ver@-32bit = %{version}-%{release}
196 Requires: glibc-devel-32bit
198 %description -n gcc@base_ver@-32bit
199 This package contains 32bit support for the GNU Compiler Collection.
201 %package -n gcc@base_ver@-64bit
202 Summary: The GNU C Compiler 64bit support
203 Group: Development/Languages/C and C++
204 Requires: gcc@base_ver@ = %{version}-%{release}
205 %if 0%{!?build_optional_compiler:1}
206 Requires: libgcc%{libgcc_s}-64bit >= %{version}-%{release}
207 Requires: libgomp1-64bit >= %{version}-%{release}
208 %if %{build_with_mudflap}
209 Requires: libmudflap0-64bit >= %{version}-%{release}
210 Requires: libmudflapth0-64bit >= %{version}-%{release}
213 Requires: libgcc@base_ver@-64bit = %{version}-%{release}
214 Requires: libgomp@base_ver@-64bit = %{version}-%{release}
216 Requires: glibc-devel-64bit
218 %description -n gcc@base_ver@-64bit
219 This package contains 64bit support for the GNU Compiler Collection.
223 Summary: Locale Data for the GNU Compiler Collection
225 Group: Development/Languages/C and C++
226 Requires: gcc@base_ver@ = %{version}-%{release}
229 Locale data for the GNU Compiler Collection (GCC) to give error message
230 in the current locale.
234 Summary: The GNU C++ Compiler
236 Group: Development/Languages/C and C++
237 Requires: gcc@base_ver@ = %{version}-%{release}
238 Requires: libstdc++@base_ver@-devel = %{version}-%{release}
241 This package contains the GNU compiler for C++.
244 %package -n libstdc++@base_ver@-devel@variant@
245 Summary: Include Files and Libraries mandatory for Development
246 License: GPL-3.0-with-GCC-exception
247 Group: Development/Languages/C and C++
248 %if 0%{!?build_optional_compiler:1}
249 Requires: libstdc++6@variant@ >= %{version}-%{release}
251 Requires: libstdc++@base_ver@@variant@ = %{version}-%{release}
253 Requires: glibc-devel@variant@
255 Requires: libunwind-devel
258 %description -n libstdc++@base_ver@-devel@variant@
259 This package contains all the headers and libraries of the standard C++
260 library. It is needed for compiling C++ code.
263 %package -n libstdc++@base_ver@-doc
264 Summary: Documentation for the GNU C++ standard library
266 Group: Documentation/HTML
269 %description -n libstdc++@base_ver@-doc
270 Extensive HTML documentation for the GNU C++ standard library.
274 %package -n libgcc@base_ver@@variant@
275 Summary: C compiler runtime library
276 License: GPL-3.0-with-GCC-exception
278 %if 0%{!?build_optional_compiler:1}
279 Provides: libgcc%{libgcc_s}@variant@ = %{version}-%{release}
280 Conflicts: libgcc%{libgcc_s}@variant@ < %{version}-%{release}
285 %description -n libgcc@base_ver@@variant@
286 Libgcc is needed for dynamically linked C programs.
288 %post -n libgcc@base_ver@@variant@
291 %postun -n libgcc@base_ver@@variant@
296 %package -n libgomp@base_ver@@variant@
297 Summary: The GNU compiler collection OpenMP runtime library
298 License: GPL-3.0-with-GCC-exception
300 %if 0%{!?build_optional_compiler:1}
301 Provides: libgomp1@variant@ = %{version}-%{release}
302 Conflicts: libgomp1@variant@ < %{version}-%{release}
307 %description -n libgomp@base_ver@@variant@
308 This is the OpenMP runtime library needed by OpenMP enabled programs
309 that were built with the -fopenmp compiler option and by programs that
310 were auto-parallelized via the -ftree-parallelize-loops compiler
314 %post -n libgomp@base_ver@@variant@
317 %postun -n libgomp@base_ver@@variant@
322 %package -n libstdc++@base_ver@@variant@
323 Summary: The standard C++ shared library
324 License: GPL-3.0-with-GCC-exception
325 Group: System/Libraries
326 %if 0%{!?build_optional_compiler:1}
327 Provides: libstdc++6@variant@ = %{version}-%{release}
328 Conflicts: libstdc++6@variant@ < %{version}-%{release}
333 %description -n libstdc++@base_ver@@variant@
334 The standard C++ library, needed for dynamically linked C++ programs.
337 %post -n libstdc++@base_ver@@variant@
340 %postun -n libstdc++@base_ver@@variant@
346 Summary: Documentation for the GNU compiler collection
348 Group: Documentation/Other
352 GNU info-pages for the GNU compiler collection covering both user-level
353 and internals documentation.
357 %package objc@variant@
358 Summary: GNU Objective C Compiler
360 Group: Development/Languages/Other
361 Requires: gcc@base_ver@ = %{version}-%{release}
362 Requires: libobjc2@variant@ >= %{version}-%{release}
364 %description objc@variant@
365 This package contains the GNU Objective C compiler. Objective C is an
366 object oriented language, created by Next Inc. and used in their
367 Nextstep OS. The source code is available in the gcc package.
371 %package -n libobjc@base_ver@@variant@
372 Summary: Library for the GNU Objective C Compiler
373 License: GPL-3.0-with-GCC-exception
374 Group: Development/Libraries/Other
375 Provides: libobjc2@variant@ = %{version}-%{release}
376 Conflicts: libobjc2@variant@ < %{version}-%{release}
378 %description -n libobjc@base_ver@@variant@
379 The library for the GNU Objective C compiler.
381 %post -n libobjc@base_ver@@variant@
384 %postun -n libobjc@base_ver@@variant@
389 Summary: GNU Objective C++ Compiler
391 Group: Development/Languages/Other
392 Requires: gcc@base_ver@-objc = %{version}-%{release}
393 Requires: gcc@base_ver@-c++ = %{version}-%{release}
396 This package contains the GNU Objective C++ compiler. Objective C++ is an
397 object oriented language, created by Next Inc. and used in their
398 Nextstep OS. The source code is available in the gcc package.
401 %package -n cpp@base_ver@
402 Summary: The GCC Preprocessor
404 Group: Development/Languages/C and C++
406 %description -n cpp@base_ver@
407 This Package contains just the preprocessor that is used by the X11
412 %package ada@variant@
413 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
415 Group: Development/Languages/Other
416 Requires: gcc@base_ver@@variant@ = %{version}-%{release}
417 Requires: libada@base_ver@@variant@ = %{version}-%{release}
419 %description ada@variant@
420 This package contains an Ada95 compiler and associated development
421 tools based on the GNU GCC technology. Ada95 is the object oriented
422 successor of the Ada83 language. To build this package from source you
423 must have installed a binary version to bootstrap the compiler.
427 %package -n libada@base_ver@@variant@
428 Summary: GNU Ada Runtime Libraries
429 License: GPL-3.0-with-GCC-exception
430 Group: System/Libraries
431 Provides: libgnarl-4_7@variant@ = %{version}-%{release}
432 Conflicts: libgnarl-4_7@variant@ < %{version}-%{release}
433 Provides: libgnat-4_7@variant@ = %{version}-%{release}
434 Conflicts: libgnat-4_7@variant@ < %{version}-%{release}
436 %description -n libada@base_ver@@variant@
437 This package contains the shared libraries required to run programs
438 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
439 shared libraries. It also contains the shared libraries for the
440 Implementation of the Ada Semantic Interface Specification (ASIS), the
441 implementation of Distributed Systems Programming (GLADE) and the Posix
442 1003.5 Binding (Florist).
444 %post -n libada@base_ver@@variant@
447 %postun -n libada@base_ver@@variant@
452 %package fortran@variant@
453 Summary: The GNU Fortran Compiler and Support Files
455 Group: Development/Languages/Fortran
456 Requires: gcc@base_ver@ = %{version}-%{release}
457 %if 0%{!?build_optional_compiler:1}
458 Requires: libgfortran3@variant@ >= %{version}-%{release}
459 %ifarch %quadmath_arch
460 Requires: libquadmath0@variant@ >= %{version}-%{release}
463 Requires: libgfortran@base_ver@@variant@ = %{version}-%{release}
464 %ifarch %quadmath_arch
465 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
469 %description fortran@variant@
470 This is the Fortran compiler of the GNU Compiler Collection (GCC).
474 %package -n libgfortran@base_ver@@variant@
475 Summary: The GNU Fortran Compiler Runtime Library
476 License: GPL-3.0-with-GCC-exception
477 Group: Development/Languages/Fortran
478 %if 0%{!?build_optional_compiler:1}
479 Provides: libgfortran3@variant@ = %{version}-%{release}
480 Conflicts: libgfortran3@variant@ < %{version}-%{release}
481 %ifarch %quadmath_arch
482 Requires: libquadmath0@variant@ >= %{version}-%{release}
485 %ifarch %quadmath_arch
486 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
491 %description -n libgfortran@base_ver@@variant@
492 The runtime library needed to run programs compiled with the Fortran compiler
493 of the GNU Compiler Collection (GCC).
495 %post -n libgfortran@base_ver@@variant@
498 %postun -n libgfortran@base_ver@@variant@
503 %package -n libquadmath@base_ver@@variant@
504 Summary: The GNU Fortran Compiler Quadmath Runtime Library
506 Group: Development/Languages/Fortran
507 %if 0%{!?build_optional_compiler:1}
508 Provides: libquadmath0@variant@ = %{version}-%{release}
509 Conflicts: libquadmath0@variant@ < %{version}-%{release}
514 %description -n libquadmath@base_ver@@variant@
515 The runtime library needed to run programs compiled with the Fortran compiler
516 of the GNU Compiler Collection (GCC) and quadruple precision floating point
519 %post -n libquadmath@base_ver@@variant@
522 %postun -n libquadmath@base_ver@@variant@
527 %package -n libmudflap@base_ver@@variant@
528 Summary: The Mudflap Extension Runtime Library
529 License: GPL-3.0-with-GCC-exception
530 Group: Development/Languages/C and C++
531 Provides: libmudflap0@variant@ = %{version}-%{release}
532 Conflicts: libmudflap0@variant@ < %{version}-%{release}
533 Provides: libmudflapth0@variant@ = %{version}-%{release}
534 Conflicts: libmudflapth0@variant@ < %{version}-%{release}
536 %description -n libmudflap@base_ver@@variant@
537 This is the Mudflap Extension Runtime Library.
539 %post -n libmudflap@base_ver@@variant@
542 %postun -n libmudflap@base_ver@@variant@
547 %package -n libgcj@base_ver@
549 Summary: Java Runtime Library for gcc
550 License: GPL-2.0-with-classpath-exception
551 Group: System/Libraries
553 Provides: libgcj%{gcj_sover} = %{version}-%{release}
554 Conflicts: libgcj%{gcj_sover} < %{version}-%{release}
555 Provides: libgij%{gcj_sover} = %{version}-%{release}
556 Conflicts: libgij%{gcj_sover} < %{version}-%{release}
557 Provides: libgcj-tools%{gcj_sover} = %{version}-%{release}
558 Conflicts: libgcj-tools%{gcj_sover} < %{version}-%{release}
560 %description -n libgcj@base_ver@
561 This library is needed if you want to use the GNU Java compiler, gcj.
562 Source code for this package is in gcc.
564 %post -n libgcj@base_ver@
567 %postun -n libgcj@base_ver@
571 %package -n gcc@base_ver@-java
572 Summary: The GNU Java Compiler
574 Group: Development/Languages/Java
575 Requires: gcc@base_ver@ = %{version}
576 Requires: libgcj@base_ver@-devel = %{version}-%{release}
578 %description -n gcc@base_ver@-java
579 The Java compiler from the GCC-tools-suite.
582 %package -n libgcj_bc@base_ver@
583 Summary: Fake library for BC-ABI compatibility.
584 License: GPL-2.0-with-classpath-exception
585 Group: Development/Libraries/Java
586 Provides: libgcj_bc1 = %{version}-%{release}
587 Conflicts: libgcj_bc1 < %{version}-%{release}
588 # libgcj_bc is special in that it just contains a symlink to
589 # a proper libgcj version. So require that library and add
590 # provides for the shlib version as created at link time
591 Requires: libgcj%{gcj_sover}
593 Provides: libgcj_bc.so.1()(64bit)
595 Provides: libgcj_bc.so.1
599 %description -n libgcj_bc@base_ver@
600 A fake library that is used at link time only. It ensures that
601 binaries built with the BC-ABI link against a constant SONAME.
602 This way, BC-ABI binaries continue to work if the SONAME underlying
606 %package -n libgcj@base_ver@-jar
607 Summary: Java runtime library (jar files).
608 License: GPL-2.0-with-classpath-exception
609 Group: Development/Libraries/Java
611 %description -n libgcj@base_ver@-jar
612 These are the jar files that go along with the gcj front end to gcc.
615 %package -n libgcj@base_ver@-devel
616 Summary: Include Files and Libraries mandatory for Development.
617 License: GPL-2.0-with-classpath-exception
618 Group: Development/Libraries/Java
619 Requires: libstdc++@base_ver@-devel = %{version}
620 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
621 Requires: libgcj_bc1 >= %{version}-%{release}
622 Requires: libgcj@base_ver@-jar = %{version}-%{release}
624 Requires: libart_lgpl-devel
625 Requires: glibc-devel
628 Requires: libunwind-devel
631 %description -n libgcj@base_ver@-devel
632 This package contains all necessary include files and libraries needed
633 to develop applications that require these.
636 %package -n gcc@base_ver@-gij
637 Summary: Java Bytecode Interpreter for gcc
638 License: GPL-2.0-with-classpath-exception
639 Group: Development/Libraries/Java
640 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
642 %description -n gcc@base_ver@-gij
643 This package contains the java bytecode interpreter gij and related tools.
647 %package -n libffi@base_ver@@variant@
648 Summary: Foreign Function Interface library
649 License: BSD-3-Clause
650 Group: Development/Languages/C and C++
651 Provides: g-wrap:/usr/lib/libffi.so.4
652 Provides: libffi4@variant@ = %{version}-%{release}
653 Conflicts: libffi4@variant@ < %{version}-%{release}
655 %description -n libffi@base_ver@@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.
658 %post -n libffi@base_ver@@variant@
661 %postun -n libffi@base_ver@@variant@
666 %package -n libffi@base_ver@-devel@variant@
667 Summary: Foreign Function Interface library development files
668 License: BSD 3-Clause
669 Group: Development/Languages/C and C++
670 Requires: libffi4@variant@ >= %{version}-%{release}
671 Provides: libffi-devel@variant@ = %{version}-%{release}
672 Conflicts: libffi-devel@variant@ < %{version}-%{release}
674 %description -n libffi@base_ver@-devel@variant@
675 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.
678 %package -n gcc@base_ver@-testresults
679 # GCC-TESTSUITE-DELETE-END
680 Summary: Testsuite results
681 License: SUSE-Public-Domain
682 Group: Development/Languages/C and C++
684 %description -n gcc@base_ver@-testresults
685 Results from running the gcc and target library testsuites.
690 # Define the canonical target and host architecture
691 # %gcc_target_arch is supposed to be the full target triple
692 # %TARGET_ARCH is the canonicalized CPU part
693 # %CONFIGURE_TARGET is the target triple used for --target=
694 %if 0%{?gcc_target_arch:1}
695 %define CONFIGURE_TARGET %{gcc_target_arch}
696 %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/;")
697 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
698 %define CONFIGURE_TARGET i586-tizen-linux
700 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
701 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
703 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
704 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
706 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7el"
707 %define CONFIGURE_TARGET armv7el-tizen-linux-gnueabi
709 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el"
710 %define CONFIGURE_TARGET armv5el-tizen-linux-gnueabi
713 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
715 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
717 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
720 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
722 %define GCCDIST %{HOST_ARCH}-tizen-linux
725 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
726 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
730 # Versionspecific directories
731 %define versmainlibdir %{libsubdir}
732 %define versmainlibdirbi32 %{libsubdir}/32
733 %define versmainlibdirbi64 %{libsubdir}/64
734 %if %{build_primary_64bit}
735 %define versmainlibdirbi %{versmainlibdirbi32}
737 %define versmainlibdirbi %{versmainlibdirbi64}
740 %if 0%{?build_optional_compiler:1}
741 %define mainlibdir %{versmainlibdir}
742 %define mainlibdirbi32 %{versmainlibdirbi32}
743 %define mainlibdirbi64 %{versmainlibdirbi64}
744 %define noflibdir %{versnoflibdir}
745 %define mainlibdirbi %{versmainlibdirbi}
747 %define mainlibdir %{_libdir}
748 %define mainlibdirbi32 %{_prefix}/lib
749 %define mainlibdirbi64 %{_prefix}/lib64
750 %define noflibdir %{_prefix}/lib/nof
751 %if %{build_primary_64bit}
752 %define mainlibdirbi %{mainlibdirbi32}
754 %define mainlibdirbi %{mainlibdirbi64}
759 # Now define a few macros that make it easy to package libs and
760 # related files just to the right package, without caring for the
761 # exact path the files are in.
762 # %mainlib package X from all dirs that belong to the main package
763 # %biarchlib package X from all dirs that belong to the -32/64bit package
764 # by default, nof libs go where the 32bit libs go.
766 %define mainlib() %{mainlibdir}/%1\
770 %define mainlib() %{mainlibdir}/%1\
773 %define biarchlib() %{nil}
775 %if !%{separate_biarch}
777 %define mainlib() %{mainlibdir}/%1\
782 %define mainlib() %{mainlibdir}/%1\
788 %define biarchlib() %{mainlibdirbi}/%1\
791 %define mainlib() %{mainlibdir}/%1\
794 %define biarchlib() %{mainlibdirbi}/%1\
801 %define versmainlib() %{versmainlibdir}/%1\
805 %define versmainlib() %{versmainlibdir}/%1\
808 %define versbiarchlib() %{nil}
810 %if !%{separate_biarch}
812 %define versmainlib() %{versmainlibdir}/%1\
813 %{versmainlibdirbi}/%1\
817 %define versmainlib() %{versmainlibdir}/%1\
818 %{versmainlibdirbi}/%1\
823 %define versbiarchlib() %{versmainlibdirbi}/%1\
826 %define versmainlib() %{versmainlibdir}/%1\
829 %define versbiarchlib() %{versmainlibdirbi}/%1\
839 %setup -q -n gcc-%{gcc_version}%{snapshot_date}
840 # 0001-dir-version.patch
844 # Avoid rebuilding of generated files
845 contrib/gcc_update --touch
846 # Avoid fucking up testsuite results with Java and indirect dispatch
847 export LD_AS_NEEDED=0
848 # Split version file into version used for directories (X.Y) and
849 # version to report with --version (X.Y.Z).
850 # See also gcc-dir-version.patch.
851 # Also decrement the patchlevel version by one
852 if test `cat gcc/DEV-PHASE` == "prerelease"; then
853 ( 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
855 mv gcc/BASE-VER gcc/FULL-VER
857 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
859 rm -rf obj-%{GCCDIST}
862 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
863 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'`
865 # -mcpu is superceded by -mtune but -mtune is not supported by
866 # our bootstrap compiler. -mcpu gives a warning that stops
867 # the build process, so remove it for now. Also remove all other
868 # -march and -mtune flags. They are superseeded by proper
869 # default compiler settings now.
870 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'`
872 %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
873 # Kill all -march/tune/cpu because that screws building the target libs
874 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
876 # Replace 2 spaces by one finally
877 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
881 languages=$languages,c++
884 languages=$languages,objc
887 languages=$languages,fortran
890 languages=$languages,obj-c++
893 languages=$languages,java
896 languages=$languages,ada
900 if test -z "$J"; then
901 J=$(getconf _NPROCESSORS_CONF)
904 test 1 -gt "$J" && J=1
905 JL=$(($(getconf _NPROCESSORS_CONF)*2))
907 if test "$J" == "0"; then
910 if test "$JL" == "0"; then
913 PARALLEL="-j$J -l$JL"
915 # we don't want some miscompiles in the testsuite, or some fault in
916 # the compiler to kill the machine. Hence we limit the amount of memory
917 # by the physical RAM plus half of swap
918 #MEM=$(free -m | awk '/^Mem:/ {print $2}')
919 #SWAP=$(free -m | awk '/^Swap:/ {print $2}')
920 #ulimit -v $(((MEM + SWAP/2)*1024))
922 # In general we want to ship release checking enabled compilers
923 # and run BETA with checking enabled.
924 #ENABLE_CHECKING="--enable-checking=yes"
925 ENABLE_CHECKING="--enable-checking=release"
927 # Work around tail/head -1 changes
928 export _POSIX2_VERSION=199209
930 # configure tries to parse include/features.h to detect
931 # if glibc supports SSP. When cross compiling we would need
932 # to install a cross glibc, which we don't, or make the whole
933 # thing point to the native glibc, which is in /, hence the
937 # Using the host gnatmake like
938 # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
939 # GNATMAKE="gnatmake%{hostsuffix}"
940 # doesn't work due to PR33857, so an un-suffixed gnatmake has to be
942 mkdir -p host-tools/bin
943 cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
944 cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
945 cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
946 cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
947 ln -sf /usr/%{_lib} host-tools/%{_lib}
948 export PATH="`pwd`/host-tools/bin:$PATH"
950 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
952 # --enable-threads=posix \
955 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
956 TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \
958 --prefix=%{_prefix} \
959 --infodir=%{_infodir} \
960 --mandir=%{_mandir} \
961 --libdir=%{_libdir} \
962 --libexecdir=%{_libdir} \
963 --enable-languages=$languages \
965 --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
970 --disable-bootstrap \
973 --with-bugurl="http://bugs.tizen.org/" \
974 --with-pkgversion="Tizen Linux" \
975 %if !%{build_libjava}
978 --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
979 --with-ecj-jar=%{libsubdir}/ecj.jar \
981 %if !%{biarch_libjava}
982 --disable-libjava-multilib \
985 %if !%{build_with_mudflap}
986 --disable-libmudflap \
988 --with-slibdir=/%{_lib} \
990 --enable-__cxa_atexit \
991 --enable-libstdcxx-allocator=new \
992 --disable-libstdcxx-pch \
993 --enable-version-specific-runtime-libs \
994 --enable-linker-build-id \
995 %if 0%{?gcc_target_arch:1}
996 %if 0%{?gcc_icecream:1}
997 --with-build-sysroot=/ \
998 --with-sysroot=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi} \
999 --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/usr/include/c++/%{gcc_dir_version} \
1000 --enable-linux-futex \
1002 %if 0%{?canonical_target:1}
1003 --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
1005 %if 0%{?build_static:1}
1008 %if "%{TARGET_ARCH}" == "spu"
1009 --with-sysroot=/usr/spu \
1010 --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \
1014 --target=%{CONFIGURE_TARGET} \
1016 --program-suffix=%{binsuffix} \
1017 --enable-linux-futex \
1019 --with-system-libunwind \
1021 --without-system-libunwind \
1024 %if "%{TARGET_ARCH}" == "armv5tel"
1025 --with-arch=armv5te \
1028 --with-abi=aapcs-linux \
1029 --disable-sjlj-exceptions \
1031 %if "%{TARGET_ARCH}" == "armv7el"
1032 --with-arch=armv7-a \
1033 --with-tune=cortex-a9 \
1037 --disable-sjlj-exceptions \
1039 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
1040 --with-arch=armv7-a \
1041 --with-tune=cortex-a9 \
1043 --with-abi=aapcs-linux \
1044 --with-fpu=vfpv3-d16 \
1045 --disable-sjlj-exceptions \
1047 %if "%{TARGET_ARCH}" == "i586"
1048 --with-arch-32=i586 \
1049 --with-tune=generic \
1051 %if "%{TARGET_ARCH}" == "x86_64"
1052 --with-arch-32=i586 \
1053 --with-tune=generic \
1059 %if 0%{?building_libffi:1}
1060 make stage1-bubble $PARALLEL
1061 make all-target-libffi $PARALLEL
1063 # Only run profiled bootstrap on archs where it works
1064 #%ifarch %ix86 x86_64 ppc ppc64 ia64
1065 #make profiledbootstrap-lean STAGE1_CFLAGS="-O -g" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1070 STAGE1_FLAGS="-O -g"
1072 #make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1073 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1077 %if 0%{?run_tests:1}
1078 echo "Run testsuite"
1079 (make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1080 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1081 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1082 make -k check $PARALLEL || true
1083 mkdir ../testresults
1084 ../contrib/test_summary | tee ../testresults/test_summary.txt
1089 export NO_BRP_CHECK_BYTECODE_VERSION=true
1091 # GCC-TESTSUITE-DELETE-BEGIN
1092 # Work around tail/head -1 changes
1093 export _POSIX2_VERSION=199209
1094 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi}
1095 %if 0%{?building_libffi:1}
1096 make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
1098 %if 0%{?building_libjava:1}
1099 make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
1100 make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
1101 make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
1102 make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
1103 # install-common also installs collect2, gcov and the g++ and gfortran driver
1105 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1107 %if %{build_fortran}
1108 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1110 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1111 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1113 make install DESTDIR=$RPM_BUILD_ROOT
1115 make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
1116 make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT
1117 rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
1118 rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
1119 rm $RPM_BUILD_ROOT%{libsubdir}/jc1
1120 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
1125 # Remove libffi installed files if we did not want to build it
1126 %if !0%{?building_libffi:1}
1127 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.*
1129 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
1131 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h
1132 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h
1133 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3*
1134 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3*
1135 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3*
1138 # Remove some useless .la files
1139 for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \
1140 libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij; do
1141 rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la
1143 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1147 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1149 %if %{build_primary_64bit}
1150 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1152 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1156 # LIBFFI-DELETE-BEGIN
1157 # LIBJAVA-DELETE-BEGIN
1159 # Merge multilib c++config.h to allow omitting the duplicate and
1160 # identical other arch specific headers
1162 cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1163 for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1164 if ! diff -up $cxxconfig $i; then
1179 if ! ( test -f "$file_32" && test -f "$file_64" ); then
1184 cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1185 #ifndef _CPP_CPPCONFIG_WRAPPER
1186 #define _CPP_CPPCONFIG_WRAPPER 1
1187 #include <bits/wordsize.h>
1188 #if __WORDSIZE == 32
1198 rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1199 if ! test -z "$dir_ml"; then
1200 ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1203 # LIBJAVA-DELETE-END
1205 %if 0%{!?build_optional_compiler:1}
1206 # move shared libs from versionspecific dir to main libdir
1208 %if 0%{?building_libjava:1}
1209 libgcj libgij libgcj-tools \
1211 %if %{build_fortran}
1213 %ifarch %quadmath_arch
1224 %if %{build_with_mudflap}
1225 libmudflap libmudflapth \
1229 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1230 mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1232 ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1233 $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
1235 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1236 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1237 mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/
1239 ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1240 $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1245 %if !0%{?building_libjava:1}
1246 # And we want to move the shlib gdb pretty printers to a more sane
1247 # place so ldconfig does not complain
1248 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
1249 mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
1250 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py
1252 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1253 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
1254 mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1255 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1260 %if 0%{?building_libjava:1}
1261 # libgcj_bc is special as the .so file is actually a different
1262 # library as the library refered to by the SONAME which should
1263 # be a simple link to our libgcj.
1264 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do
1267 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.1
1268 %if %{biarch_libjava}
1269 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do
1272 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.1
1277 # LIBJAVA-DELETE-BEGIN
1278 %if 0%{!?build_optional_compiler:1}
1279 # Move libgcc_s around
1280 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1281 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1282 ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1284 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1286 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
1288 %if %{build_primary_64bit}
1289 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1290 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1291 ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1293 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1295 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1296 chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
1298 # 32-bit biarch systems
1299 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1300 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1301 ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1303 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1305 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1306 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1310 # Move libgcc_s around
1311 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/
1312 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1313 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1314 ln -sf %{versmainlibdir}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1316 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1318 chmod a+x $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
1320 %if %{build_primary_64bit}
1321 mv $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1322 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1323 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1324 ln -sf %{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1326 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1328 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1329 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
1331 # 32-bit biarch systems
1332 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1333 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1334 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1335 ln -sf %{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1337 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1339 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1340 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
1345 # Provide a defaults.spec file which adds a proper rpath
1346 %if 0%{?build_optional_compiler:1}
1347 cat > $RPM_BUILD_ROOT%{libsubdir}/defaults.spec << EOF
1349 + %%{!m32:%%{!m64:-rpath=%{libsubdir}}} %%{m32:-rpath=%{libsubdir}/32} %%{m64:-rpath=%{libsubdir}/64}
1352 # LIBJAVA-DELETE-END
1356 mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir}
1357 ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so
1358 ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so
1359 chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
1361 mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
1362 ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1363 ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1364 chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
1368 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1370 # Remove some crap from the .la files:
1371 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
1373 # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g'
1374 sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1375 -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1376 -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1377 -e '/^dependency_libs/s|-L[^ ]* ||g' \
1379 %if %{build_primary_64bit}
1380 -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1381 -e '/^libdir/s|lib64/\.\./||' \
1383 -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1390 # GCC-TESTSUITE-DELETE-END
1391 %if 0%{?run_tests:1}
1392 cp `find . -name "*.sum"` ../testresults/
1393 cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
1394 chmod 644 ../testresults/*
1396 # GCC-TESTSUITE-DELETE-BEGIN
1397 # LIBFFI-DELETE-BEGIN
1399 # Find C++ and Java headers
1400 find $RPM_BUILD_ROOT%{_prefix}/include/c++ \
1401 -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \
1402 -o \( -type d -printf "%%%%dir " , \
1403 -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers
1406 # Remove files that we do not need to clean up filelist
1407 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-*
1408 rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools
1409 #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
1410 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root
1411 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h
1412 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-*
1413 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux
1414 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound
1415 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h
1416 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h
1417 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h
1418 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h
1419 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11
1420 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1421 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h
1422 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h
1423 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h
1424 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1425 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys
1427 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1428 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
1429 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix}
1431 %if !0%{?building_libjava:1}%{?building_libffi:1}
1432 # delete compile flag tracking from crt files
1433 crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o
1435 %if %{build_primary_64bit}
1436 crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o
1438 crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o
1441 for o in $crt_list $crt32_list $crt64_list; do
1442 objcopy -R ".comment.SUSE.OPTs" $o
1446 %if 0%{?building_libjava:1}
1447 # gcj -static doesn't work properly anyway, unless using --whole-archive
1448 # let's save the space instead.
1449 find $RPM_BUILD_ROOT -name libgcj.a \
1450 -o -name libgcj-tools.a \
1453 -o -name libgcj_bc.a \
1456 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
1457 sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
1459 # security files have broken install locations, also they cause conflicts
1460 # between libgcj versions. Simply delete them here, libgcj will use its
1461 # defaults in this case (which is what these files contain anyway).
1462 rm $RPM_BUILD_ROOT%{_libdir}/logging.properties
1463 rm -r $RPM_BUILD_ROOT%{_libdir}/security
1466 %if 0%{?building_libffi:1}
1467 # Move libffi headers, remove empty libffi libtool file
1468 mkdir -p $RPM_BUILD_ROOT%{_prefix}/include
1469 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/
1470 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/
1471 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la
1473 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
1475 # Generate a simple pkg-config file
1476 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
1477 echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc
1481 %if !%{build_libjava}
1482 rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
1483 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
1484 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
1485 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
1486 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1
1487 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1
1488 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1
1490 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py
1491 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py
1493 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
1494 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
1495 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
1496 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
1498 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/nof/libiberty.a
1501 %if %{build_primary_64bit}
1502 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
1504 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
1507 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
1508 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
1510 # LIBFFI-DELETE-BEGIN
1511 %if 0%{?building_libjava:1}
1512 # For building libjava only we need to delete other info docs
1513 rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
1514 # Remove stale manpages for binaries we do not build
1515 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1
1516 # For building the java frontend we need to copy the ecj jar
1517 mkdir -p $RPM_BUILD_ROOT%{libsubdir}
1518 cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
1520 # For regular build, some info files do not get renamed properly.
1522 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
1523 %if %{build_fortran}
1524 %ifarch %quadmath_arch
1525 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
1529 mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info
1530 mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info
1531 mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info
1535 # LIBJAVA-DELETE-BEGIN
1537 %find_lang gcc@base_ver@-locale --all-name
1540 %install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1541 %install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1542 %install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1543 %install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1544 %install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1545 %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1546 %if %{build_fortran}
1547 %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1548 %ifarch %quadmath_arch
1549 %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1553 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1556 %install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1557 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1558 %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
1562 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1563 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1564 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1565 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1566 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1567 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1568 %if %{build_fortran}
1569 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1570 %ifarch %quadmath_arch
1571 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1575 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1578 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1579 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1580 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
1585 %defattr(-,root,root)
1587 %dir %{_libdir}/gcc/%{GCCDIST}
1589 %dir %{libsubdir}/include
1590 %dir %{libsubdir}/include-fixed
1592 %if %{build_primary_64bit}
1593 %dir %{libsubdir}/32
1595 %dir %{libsubdir}/64
1599 %dir %{libsubdir}/nof
1601 %{_prefix}/bin/gcc%{binsuffix}
1602 %{_prefix}/bin/gcov%{binsuffix}
1603 %{_prefix}/bin/gcc-ar%{binsuffix}
1604 %{_prefix}/bin/gcc-nm%{binsuffix}
1605 %{_prefix}/bin/gcc-ranlib%{binsuffix}
1606 %{libsubdir}/collect2
1608 %{libsubdir}/lto-wrapper
1609 %{libsubdir}/liblto_plugin.so*
1610 %{libsubdir}/include-fixed/README
1611 %{libsubdir}/include-fixed/limits.h
1612 %{libsubdir}/include-fixed/syslimits.h
1613 %{libsubdir}/include/omp.h
1614 %{libsubdir}/include/float.h
1615 %{libsubdir}/include/iso646.h
1616 %{libsubdir}/include/stdarg.h
1617 %{libsubdir}/include/stdbool.h
1618 %{libsubdir}/include/stdfix.h
1619 %{libsubdir}/include/stddef.h
1620 %{libsubdir}/include/uchar.h
1621 %{libsubdir}/include/unwind.h
1622 %{libsubdir}/include/varargs.h
1623 %{libsubdir}/include/stdint.h
1624 %{libsubdir}/include/stdint-gcc.h
1625 %{libsubdir}/include/stdnoreturn.h
1626 %{libsubdir}/include/stdalign.h
1628 %{libsubdir}/include/mmintrin.h
1629 %{libsubdir}/include/arm_neon.h
1630 %{libsubdir}/include/unwind-arm-common.h
1632 %ifarch %ix86 x86_64
1633 %{libsubdir}/include/cross-stdarg.h
1634 %{libsubdir}/include/cpuid.h
1635 %{libsubdir}/include/mm3dnow.h
1636 %{libsubdir}/include/mmintrin.h
1637 %{libsubdir}/include/ammintrin.h
1638 %{libsubdir}/include/bmmintrin.h
1639 %{libsubdir}/include/emmintrin.h
1640 %{libsubdir}/include/immintrin.h
1641 %{libsubdir}/include/avxintrin.h
1642 %{libsubdir}/include/pmmintrin.h
1643 %{libsubdir}/include/xmmintrin.h
1644 %{libsubdir}/include/tmmintrin.h
1645 %{libsubdir}/include/nmmintrin.h
1646 %{libsubdir}/include/smmintrin.h
1647 %{libsubdir}/include/wmmintrin.h
1648 %{libsubdir}/include/x86intrin.h
1649 %{libsubdir}/include/ia32intrin.h
1650 %{libsubdir}/include/mm_malloc.h
1651 %{libsubdir}/include/fma4intrin.h
1652 %{libsubdir}/include/xopintrin.h
1653 %{libsubdir}/include/lwpintrin.h
1654 %{libsubdir}/include/popcntintrin.h
1655 %{libsubdir}/include/bmiintrin.h
1656 %{libsubdir}/include/tbmintrin.h
1657 %{libsubdir}/include/avx2intrin.h
1658 %{libsubdir}/include/bmi2intrin.h
1659 %{libsubdir}/include/fmaintrin.h
1660 %{libsubdir}/include/lzcntintrin.h
1661 %{libsubdir}/include/f16cintrin.h
1663 %if %{build_with_mudflap}
1664 %{libsubdir}/include/mf-runtime.h
1666 %versmainlib *crt*.o
1667 %versmainlib libgcc*.a
1668 %versmainlib libgcov.a
1669 %versmainlib libgcc_s*.so
1670 %if %{build_with_mudflap}
1671 %versmainlib libmudflap.a
1672 %versmainlib libmudflap.so
1673 %versmainlib libmudflapth.a
1674 %versmainlib libmudflapth.so
1676 %versmainlib libgomp.so
1677 %versmainlib libgomp.a
1678 %versmainlib libgomp.spec
1679 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
1680 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
1681 %if 0%{?build_optional_compiler:1}
1682 %{libsubdir}/defaults.spec
1685 %if %{separate_biarch}
1686 %files -n gcc@base_ver@%{separate_biarch_suffix}
1687 %defattr(-,root,root)
1688 %versbiarchlib *crt*.o
1689 %versbiarchlib libgcc*.a
1690 %versbiarchlib libgcov.a
1691 %versbiarchlib libgcc_s*.so
1692 %if %{build_with_mudflap}
1693 %versbiarchlib libmudflap.a
1694 %versbiarchlib libmudflap.so
1695 %versbiarchlib libmudflapth.a
1696 %versbiarchlib libmudflapth.so
1698 %versbiarchlib libgomp.so
1699 %versbiarchlib libgomp.a
1700 %versbiarchlib libgomp.spec
1703 %files locale -f gcc@base_ver@-locale.lang
1707 %defattr(-,root,root)
1709 %dir %{_libdir}/gcc/%{GCCDIST}
1711 %{_prefix}/bin/g++%{binsuffix}
1712 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
1713 %{libsubdir}/cc1plus
1715 %files -n libstdc++@base_ver@
1716 %defattr(-,root,root)
1720 %mainlib libstdc++.so.*
1722 %if %{separate_biarch}
1723 %files -n libstdc++@base_ver@%{separate_biarch_suffix}
1724 %defattr(-,root,root)
1725 %biarchlib libstdc++.so.*
1728 %files -n libstdc++@base_ver@-devel -f c++-headers
1729 %defattr(-,root,root)
1730 %versmainlib libstdc++.a
1731 %versmainlib libstdc++.so
1732 %versmainlib libsupc++.a
1733 %dir %{_datadir}/gdb
1734 %dir %{_datadir}/gdb/auto-load
1735 %dir %{_datadir}/gdb/auto-load%{_prefix}
1736 %dir %{_datadir}/gdb/auto-load/%{mainlibdir}
1737 %{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
1738 %{_datadir}/gcc%{binsuffix}
1740 %if %{separate_biarch}
1741 %files -n libstdc++@base_ver@-devel%{separate_biarch_suffix}
1742 %defattr(-,root,root)
1743 %versbiarchlib libstdc++.a
1744 %versbiarchlib libstdc++.so
1745 %versbiarchlib libsupc++.a
1746 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
1747 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
1750 %files -n libstdc++@base_ver@-doc
1751 %defattr(-,root,root)
1752 %doc libstdc++-v3/doc/html
1755 %files -n libgcc@base_ver@
1756 %defattr(-,root,root)
1757 %if 0%{!?build_optional_compiler:1}
1758 /%{_lib}/libgcc_s.so.%{libgcc_s}
1761 /lib/nof/libgcc_s.so.%{libgcc_s}
1764 %if %{build_primary_64bit}
1765 %if !%{separate_bi32}
1766 /lib/libgcc_s.so.%{libgcc_s}
1769 %if !%{separate_bi64}
1770 /lib64/libgcc_s.so.%{libgcc_s}
1775 %versmainlib libgcc_s.so.%{libgcc_s}
1778 %if %{separate_bi64}
1779 %files -n libgcc@base_ver@-64bit
1780 %defattr(-,root,root)
1781 %if 0%{!?build_optional_compiler:1}
1782 /lib64/libgcc_s.so.%{libgcc_s}
1784 %versbiarchlib libgcc_s.so.%{libgcc_s}
1788 %if %{separate_bi32}
1789 %files -n libgcc@base_ver@-32bit
1790 %defattr(-,root,root)
1791 %if 0%{!?build_optional_compiler:1}
1792 /lib/libgcc_s.so.%{libgcc_s}
1794 %versbiarchlib libgcc_s.so.%{libgcc_s}
1799 %files -n libgomp@base_ver@
1800 %defattr(-,root,root)
1801 %mainlib libgomp.so.1*
1803 %if %{separate_biarch}
1804 %files -n libgomp@base_ver@%{separate_biarch_suffix}
1805 %defattr(-,root,root)
1806 %biarchlib libgomp.so.1*
1810 %if %{build_fortran}
1812 %defattr(-,root,root)
1813 %dir %{libsubdir}/finclude
1814 %{_prefix}/bin/gfortran%{binsuffix}
1816 %{libsubdir}/finclude/*
1817 %versmainlib libgfortran.a
1818 %versmainlib libgfortran.so
1819 %versmainlib libgfortran.spec
1820 %versmainlib libgfortranbegin.a
1821 %versmainlib libcaf_single.a
1822 %ifarch %quadmath_arch
1823 %{libsubdir}/include/quadmath.h
1824 %{libsubdir}/include/quadmath_weak.h
1825 %versmainlib libquadmath.a
1826 %versmainlib libquadmath.so
1828 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
1830 %if %{separate_biarch}
1831 %files fortran%{separate_biarch_suffix}
1832 %defattr(-,root,root)
1833 %versbiarchlib libgfortran.a
1834 %versbiarchlib libgfortran.so
1835 %versbiarchlib libgfortran.spec
1836 %versbiarchlib libgfortranbegin.a
1837 %versbiarchlib libcaf_single.a
1838 %ifarch %quadmath_arch
1839 %versbiarchlib libquadmath.a
1840 %versbiarchlib libquadmath.so
1844 %files -n libgfortran@base_ver@
1845 %defattr(-,root,root)
1846 %mainlib libgfortran.so.*
1848 %if %{separate_biarch}
1849 %files -n libgfortran@base_ver@%{separate_biarch_suffix}
1850 %defattr(-,root,root)
1851 %biarchlib libgfortran.so.*
1854 %ifarch %quadmath_arch
1855 %files -n libquadmath@base_ver@
1856 %defattr(-,root,root)
1857 %mainlib libquadmath.so.*
1859 %if %{separate_biarch}
1860 %files -n libquadmath@base_ver@%{separate_biarch_suffix}
1861 %defattr(-,root,root)
1862 %biarchlib libquadmath.so.*
1867 %if %{build_with_mudflap}
1868 %files -n libmudflap@base_ver@
1869 %defattr(-,root,root)
1870 %mainlib libmudflap.so.0*
1871 %mainlib libmudflapth.so.0*
1873 %if %{separate_biarch}
1874 %files -n libmudflap@base_ver@%{separate_biarch_suffix}
1875 %defattr(-,root,root)
1876 %biarchlib libmudflap.so.0*
1877 %biarchlib libmudflapth.so.0*
1882 %defattr(-,root,root)
1883 %doc %{_infodir}/cpp%{binsuffix}.info*.gz
1884 %doc %{_infodir}/cppinternals%{binsuffix}.info*.gz
1885 %doc %{_infodir}/gcc%{binsuffix}.info*.gz
1886 %doc %{_infodir}/gccint%{binsuffix}.info*.gz
1887 %doc %{_infodir}/gccinstall%{binsuffix}.info*.gz
1888 %doc %{_infodir}/libgomp%{binsuffix}.info*.gz
1889 %if %{build_fortran}
1890 %doc %{_infodir}/gfortran%{binsuffix}.info*.gz
1891 %ifarch %quadmath_arch
1892 %doc %{_infodir}/libquadmath%{binsuffix}.info*.gz
1896 %doc %{_infodir}/gcj%{binsuffix}.info*.gz
1899 %doc %{_infodir}/gnat-style%{binsuffix}.info*gz
1900 %doc %{_infodir}/gnat_rm%{binsuffix}.info*gz
1901 %doc %{_infodir}/gnat_ugn%{binsuffix}.info*gz
1904 %files -n cpp@base_ver@
1905 %defattr(-,root,root)
1907 %dir %{_libdir}/gcc/%{GCCDIST}
1909 %{_prefix}/bin/cpp%{binsuffix}
1912 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
1916 %defattr(-,root,root)
1918 %{libsubdir}/include/objc
1919 %versmainlib libobjc.a
1920 %versmainlib libobjc.so
1922 %if %{separate_biarch}
1923 %files objc%{separate_biarch_suffix}
1924 %defattr(-,root,root)
1925 %versbiarchlib libobjc.a
1926 %versbiarchlib libobjc.so
1929 %files -n libobjc@base_ver@
1930 %defattr(-,root,root)
1931 %mainlib libobjc.so.*
1933 %if %{separate_biarch}
1934 %files -n libobjc@base_ver@%{separate_biarch_suffix}
1935 %defattr(-,root,root)
1936 %biarchlib libobjc.so.*
1943 %defattr(-,root,root)
1944 %{libsubdir}/cc1objplus
1950 %defattr(-,root,root)
1952 %dir %{_libdir}/gcc/%{GCCDIST}
1954 %{_prefix}/bin/gnat*
1955 %dir %{versmainlibdir}/adainclude
1956 %dir %{versmainlibdir}/adalib
1957 %{versmainlibdir}/adainclude
1958 %{versmainlibdir}/adalib/*.ali
1959 %{versmainlibdir}/adalib/*.a
1960 %{versmainlibdir}/adalib/libgnarl.so
1961 %{versmainlibdir}/adalib/libgnat.so
1962 %{versmainlibdir}/gnat1
1964 %if %{separate_biarch}
1965 %files ada%{separate_biarch_suffix}
1966 %defattr(-,root,root)
1967 %dir %{versmainlibdirbi}/adainclude
1968 %dir %{versmainlibdirbi}/adalib
1969 %{versmainlibdirbi}/adainclude
1970 %{versmainlibdirbi}/adalib/*.ali
1971 %{versmainlibdirbi}/adalib/*.a
1972 %{versmainlibdirbi}/adalib/libgnarl.so
1973 %{versmainlibdirbi}/adalib/libgnat.so
1976 %files -n libada@base_ver@
1977 %defattr(-,root,root)
1978 %mainlib libgnarl-*.so
1979 %mainlib libgnat-*.so
1981 %if %{separate_biarch}
1982 %files -n libada@base_ver@%{separate_biarch_suffix}
1983 %defattr(-,root,root)
1984 %biarchlib libgnarl-*.so
1985 %biarchlib libgnat-*.so
1988 # LIBJAVA-DELETE-END
1992 %if 0%{?building_libjava:1}
1993 %files -n gcc@base_ver@-java
1994 %defattr(-,root,root)
1995 %{_prefix}/bin/gcj%{binsuffix}
1996 %{_prefix}/bin/gcjh%{binsuffix}
1997 %{_prefix}/bin/gcj-dbtool%{binsuffix}
1998 %{_prefix}/bin/jcf-dump%{binsuffix}
1999 %{_prefix}/bin/jv-convert%{binsuffix}
2000 %{_prefix}/bin/gc-analyze%{binsuffix}
2001 %{_prefix}/bin/aot-compile%{binsuffix}
2002 %{_prefix}/bin/rebuild-gcj-db%{binsuffix}
2004 %{libsubdir}/jvgenmain
2005 %{libsubdir}/ecj.jar
2007 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
2008 %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
2009 %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
2010 %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
2011 %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
2012 %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
2013 %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz
2014 %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz
2019 %if %{build_libjava}
2020 %files -n libgcj@base_ver@
2021 %defattr(-,root,root)
2022 %dir %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}
2024 %dir %{_libdir}/gcc/%{GCCDIST}
2026 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/classmap.db
2027 # We usually do not multilib libjava
2028 %if %{biarch_libjava}
2029 %versbiarchlib libgcj.la
2030 %biarchlib libgcj.so.*
2031 %biarchlib libgij.so.*
2032 %biarchlib libgcj-tools.so.*
2034 %versmainlib libgcj.la
2035 %mainlib libgcj.so.*
2036 %mainlib libgij.so.*
2037 %mainlib libgcj-tools.so.*
2039 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.la
2040 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.so
2041 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.la
2042 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.so
2044 %files -n libgcj_bc@base_ver@
2045 %defattr(-,root,root)
2046 %if %{biarch_libjava}
2047 %biarchlib libgcj_bc.so.*
2049 %mainlib libgcj_bc.so.*
2052 %files -n libgcj@base_ver@-jar
2053 %defattr(-,root,root)
2054 %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
2055 %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
2057 %files -n libgcj@base_ver@-devel
2058 %defattr(-,root,root)
2059 %dir %{_prefix}/include/c++
2061 %dir %{libsubdir}/include
2063 %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
2064 %{libsubdir}/include/jawt.h
2065 %{libsubdir}/include/jawt_md.h
2066 %{libsubdir}/include/jni.h
2067 %{libsubdir}/include/jni_md.h
2068 %{libsubdir}/include/jvmpi.h
2075 %{libsubdir}/include/gcj
2076 %if %{biarch_libjava}
2077 %versbiarchlib libgcj.so
2078 %versbiarchlib libgcj.spec
2079 %versbiarchlib libgcj-tools.so
2080 %versbiarchlib libgij.so
2081 %versbiarchlib libgcj_bc.so
2083 %versmainlib libgcj.so
2084 %versmainlib libgcj.spec
2085 %versmainlib libgcj-tools.so
2086 %versmainlib libgij.so
2087 %versmainlib libgcj_bc.so
2090 %files -n gcc@base_ver@-gij
2091 %defattr(-,root,root)
2092 %{_prefix}/bin/gij%{binsuffix}
2093 %{_prefix}/bin/gappletviewer%{binsuffix}
2094 %{_prefix}/bin/gjar%{binsuffix}
2095 %{_prefix}/bin/gjarsigner%{binsuffix}
2096 %{_prefix}/bin/gjavah%{binsuffix}
2097 %{_prefix}/bin/gkeytool%{binsuffix}
2098 %{_prefix}/bin/gnative2ascii%{binsuffix}
2099 %{_prefix}/bin/gorbd%{binsuffix}
2100 %{_prefix}/bin/grmic%{binsuffix}
2101 %{_prefix}/bin/grmid%{binsuffix}
2102 %{_prefix}/bin/grmiregistry%{binsuffix}
2103 %{_prefix}/bin/gserialver%{binsuffix}
2104 %{_prefix}/bin/gtnameserv%{binsuffix}
2105 %doc %{_mandir}/man1/gij%{binsuffix}.1.gz
2106 %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
2107 %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
2108 %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
2109 %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
2110 %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
2111 %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
2112 %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
2113 %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
2114 %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
2115 %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
2116 %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz
2117 %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz
2123 %if 0%{?building_libffi:1}
2124 %files -n libffi@base_ver@
2125 %defattr(-,root,root)
2126 %mainlib libffi.so.*
2128 %if %{separate_biarch}
2129 %files -n libffi@base_ver@%{separate_biarch_suffix}
2130 %defattr(-,root,root)
2131 %biarchlib libffi.so.*
2134 %files -n libffi@base_ver@-devel
2135 %defattr(-,root,root)
2136 %{_prefix}/include/ffi.h
2137 %{_prefix}/include/ffitarget.h
2140 %{_libdir}/pkgconfig/libffi.pc
2141 %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz
2142 %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz
2143 %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz
2145 %if %{separate_biarch}
2146 %files -n libffi@base_ver@-devel%{separate_biarch_suffix}
2147 %defattr(-,root,root)
2148 %biarchlib libffi.so
2153 # GCC-TESTSUITE-DELETE-END
2155 %if 0%{?run_tests:1}
2156 %files -n gcc@base_ver@-testresults
2157 %defattr(-,root,root)
2158 %doc testresults/test_summary.txt
2159 %doc testresults/*.sum
2160 %doc testresults/*.log