3 # Ada currently fails to build on a few platforms, enable it only
5 # Note that AdaCore only supports %ix86, x86_64 and ia64
7 %define build_ada !0%{?building_libjava:1}%{?building_libffi:1}
12 %define quadmath_arch %ix86 x86_64 ia64
14 # We don't want to build java
17 %define build_libjava 0
20 %define build_libjava 0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
24 %define build_fortran 1
26 %define build_objcp !0%{?building_libjava:1}%{?building_libffi:1}
27 %define build_with_mudflap 0
38 # For optional compilers only build C, C++ and Fortran
39 ##%if 0%{?build_optional_compiler:1}%{?build_optional_compiler_languages:1}
40 %if 0%{!?building_libffi:1}
43 %define build_libjava 0
52 BuildRequires: gettext-tools
53 BuildRequires: makeinfo
54 BuildRequires: glibc-devel-32bit
55 BuildRequires: mpc-devel
56 BuildRequires: mpfr-devel
58 BuildRequires: texinfo
59 BuildRequires: zlib-devel
60 %ifarch %ix86 x86_64 %arm
61 BuildRequires: cloog-devel
62 BuildRequires: ppl-devel
65 %define hostsuffix -4.7
66 BuildRequires: gcc47-ada
68 %if 0%{?building_libjava:1}%{?building_testsuite:1}
69 BuildRequires: fastjar
72 %if 0%{?building_libffi:1}
73 BuildRequires: pkg-config
76 BuildRequires: libunwind-devel
79 BuildRequires: dejagnu
84 # Define version number of libgcc_s
91 # We support building the nof libraries, but don't want this in the
98 %define separate_bi32 0
99 %define separate_bi64 0
101 %define separate_bi32 1
104 # Define two macros to trigger -32bit or -64bit package variants
105 %define separate_biarch 0
107 %define separate_biarch 1
108 %define separate_biarch_suffix -32bit
111 %define separate_biarch 1
112 %define separate_biarch_suffix -64bit
116 # 64-bit is primary build target
117 %define build_primary_64bit 1
119 %define build_primary_64bit 0
122 %define biarch_libjava 0
125 %define biarch_targets x86_64
127 URL: http://gcc.gnu.org/
130 %define gcc_version %(echo %version | sed 's/_.*//')
131 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
132 %define snapshot_date %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/_/-/')
133 %define binsuffix -4.7
136 %if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
137 Requires: binutils glibc-devel
138 Requires: cpp@base_ver@ = %{version}-%{release}
139 %if 0%{!?build_optional_compiler:1}
140 Requires: libgcc%{libgcc_s} >= %{version}-%{release}
141 Requires: libgomp1 >= %{version}-%{release}
142 %if %{build_with_mudflap}
143 Requires: libmudflap0 >= %{version}-%{release}
144 Requires: libmudflapth0 >= %{version}-%{release}
147 Requires: libgcc@base_ver@ = %{version}-%{release}
148 Requires: libgomp@base_ver@ = %{version}-%{release}
153 BuildRoot: %{_tmppath}/%{name}-%{version}-build
154 #Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2
155 Source: gcc-%{version}.tar.bz2
158 Source2: libgcj47-rpmlintrc
159 Source3: gcc47-rpmlintrc
161 Source6: baselibs.conf
162 # Patches auto-generated by git-buildpackage:
163 Patch0: 0001-dir-version.patch
164 Patch1: 0002-textdomain.patch
165 Patch2: 0003-rename-info-files.patch
166 Patch3: 0004-ARM-linker.patch
168 # GCC-TESTSUITE-DELETE-BEGIN
169 # LIBFFI-DELETE-BEGIN
170 # LIBJAVA-DELETE-BEGIN
171 Group: Development/Languages/C and C++
172 Summary: The GNU C Compiler and Support Files
176 Core package for the GNU Compiler Collection, including the C language
179 Language frontends other than C are split to different sub-packages,
180 namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
186 %package -n gcc@base_ver@-32bit
187 Summary: The GNU C Compiler 32bit support
188 Group: Development/Languages/C and C++
189 Requires: gcc@base_ver@ = %{version}-%{release}
190 %if 0%{!?build_optional_compiler:1}
191 Requires: libgcc%{libgcc_s}-32bit >= %{version}-%{release}
192 Requires: libgomp1-32bit >= %{version}-%{release}
193 %if %{build_with_mudflap}
194 Requires: libmudflap0-32bit >= %{version}-%{release}
195 Requires: libmudflapth0-32bit >= %{version}-%{release}
198 Requires: libgcc@base_ver@-32bit = %{version}-%{release}
199 Requires: libgomp@base_ver@-32bit = %{version}-%{release}
201 Requires: glibc-devel-32bit
203 %description -n gcc@base_ver@-32bit
204 This package contains 32bit support for the GNU Compiler Collection.
206 %package -n gcc@base_ver@-64bit
207 Summary: The GNU C Compiler 64bit support
208 Group: Development/Languages/C and C++
209 Requires: gcc@base_ver@ = %{version}-%{release}
210 %if 0%{!?build_optional_compiler:1}
211 Requires: libgcc%{libgcc_s}-64bit >= %{version}-%{release}
212 Requires: libgomp1-64bit >= %{version}-%{release}
213 %if %{build_with_mudflap}
214 Requires: libmudflap0-64bit >= %{version}-%{release}
215 Requires: libmudflapth0-64bit >= %{version}-%{release}
218 Requires: libgcc@base_ver@-64bit = %{version}-%{release}
219 Requires: libgomp@base_ver@-64bit = %{version}-%{release}
221 Requires: glibc-devel-64bit
223 %description -n gcc@base_ver@-64bit
224 This package contains 64bit support for the GNU Compiler Collection.
228 Summary: Locale Data for the GNU Compiler Collection
230 Group: Development/Languages/C and C++
231 Requires: gcc@base_ver@ = %{version}-%{release}
234 Locale data for the GNU Compiler Collection (GCC) to give error message
235 in the current locale.
239 Summary: The GNU C++ Compiler
241 Group: Development/Languages/C and C++
242 Requires: gcc@base_ver@ = %{version}-%{release}
243 Requires: libstdc++@base_ver@-devel = %{version}-%{release}
246 This package contains the GNU compiler for C++.
249 %package -n libstdc++@base_ver@-devel@variant@
250 Summary: Include Files and Libraries mandatory for Development
251 License: GPL-3.0-with-GCC-exception
252 Group: Development/Languages/C and C++
253 %if 0%{!?build_optional_compiler:1}
254 Requires: libstdc++6@variant@ >= %{version}-%{release}
256 Requires: libstdc++@base_ver@@variant@ = %{version}-%{release}
258 Requires: glibc-devel@variant@
260 Requires: libunwind-devel
263 %description -n libstdc++@base_ver@-devel@variant@
264 This package contains all the headers and libraries of the standard C++
265 library. It is needed for compiling C++ code.
268 %package -n libstdc++@base_ver@-doc
269 Summary: Documentation for the GNU C++ standard library
271 Group: Documentation/HTML
274 %description -n libstdc++@base_ver@-doc
275 Extensive HTML documentation for the GNU C++ standard library.
279 %package -n libgcc@base_ver@@variant@
280 Summary: C compiler runtime library
281 License: GPL-3.0-with-GCC-exception
283 %if 0%{!?build_optional_compiler:1}
284 Provides: libgcc%{libgcc_s}@variant@ = %{version}-%{release}
285 Conflicts: libgcc%{libgcc_s}@variant@ < %{version}-%{release}
290 %description -n libgcc@base_ver@@variant@
291 Libgcc is needed for dynamically linked C programs.
293 %post -n libgcc@base_ver@@variant@
296 %postun -n libgcc@base_ver@@variant@
301 %package -n libgomp@base_ver@@variant@
302 Summary: The GNU compiler collection OpenMP runtime library
303 License: GPL-3.0-with-GCC-exception
305 %if 0%{!?build_optional_compiler:1}
306 Provides: libgomp1@variant@ = %{version}-%{release}
307 Conflicts: libgomp1@variant@ < %{version}-%{release}
312 %description -n libgomp@base_ver@@variant@
313 This is the OpenMP runtime library needed by OpenMP enabled programs
314 that were built with the -fopenmp compiler option and by programs that
315 were auto-parallelized via the -ftree-parallelize-loops compiler
319 %post -n libgomp@base_ver@@variant@
322 %postun -n libgomp@base_ver@@variant@
327 %package -n libstdc++@base_ver@@variant@
328 Summary: The standard C++ shared library
329 License: GPL-3.0-with-GCC-exception
330 Group: System/Libraries
331 %if 0%{!?build_optional_compiler:1}
332 Provides: libstdc++6@variant@ = %{version}-%{release}
333 Conflicts: libstdc++6@variant@ < %{version}-%{release}
338 %description -n libstdc++@base_ver@@variant@
339 The standard C++ library, needed for dynamically linked C++ programs.
342 %post -n libstdc++@base_ver@@variant@
345 %postun -n libstdc++@base_ver@@variant@
351 Summary: Documentation for the GNU compiler collection
353 Group: Documentation/Other
357 GNU info-pages for the GNU compiler collection covering both user-level
358 and internals documentation.
362 %package objc@variant@
363 Summary: GNU Objective C Compiler
365 Group: Development/Languages/Other
366 Requires: gcc@base_ver@ = %{version}-%{release}
367 Requires: libobjc2@variant@ >= %{version}-%{release}
369 %description objc@variant@
370 This package contains the GNU Objective C compiler. Objective C is an
371 object oriented language, created by Next Inc. and used in their
372 Nextstep OS. The source code is available in the gcc package.
376 %package -n libobjc@base_ver@@variant@
377 Summary: Library for the GNU Objective C Compiler
378 License: GPL-3.0-with-GCC-exception
379 Group: Development/Libraries/Other
380 Provides: libobjc2@variant@ = %{version}-%{release}
381 Conflicts: libobjc2@variant@ < %{version}-%{release}
383 %description -n libobjc@base_ver@@variant@
384 The library for the GNU Objective C compiler.
386 %post -n libobjc@base_ver@@variant@
389 %postun -n libobjc@base_ver@@variant@
394 Summary: GNU Objective C++ Compiler
396 Group: Development/Languages/Other
397 Requires: gcc@base_ver@-objc = %{version}-%{release}
398 Requires: gcc@base_ver@-c++ = %{version}-%{release}
401 This package contains the GNU Objective C++ compiler. Objective C++ is an
402 object oriented language, created by Next Inc. and used in their
403 Nextstep OS. The source code is available in the gcc package.
406 %package -n cpp@base_ver@
407 Summary: The GCC Preprocessor
409 Group: Development/Languages/C and C++
411 %description -n cpp@base_ver@
412 This Package contains just the preprocessor that is used by the X11
417 %package ada@variant@
418 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
420 Group: Development/Languages/Other
421 Requires: gcc@base_ver@@variant@ = %{version}-%{release}
422 Requires: libada@base_ver@@variant@ = %{version}-%{release}
424 %description ada@variant@
425 This package contains an Ada95 compiler and associated development
426 tools based on the GNU GCC technology. Ada95 is the object oriented
427 successor of the Ada83 language. To build this package from source you
428 must have installed a binary version to bootstrap the compiler.
432 %package -n libada@base_ver@@variant@
433 Summary: GNU Ada Runtime Libraries
434 License: GPL-3.0-with-GCC-exception
435 Group: System/Libraries
436 Provides: libgnarl-4_7@variant@ = %{version}-%{release}
437 Conflicts: libgnarl-4_7@variant@ < %{version}-%{release}
438 Provides: libgnat-4_7@variant@ = %{version}-%{release}
439 Conflicts: libgnat-4_7@variant@ < %{version}-%{release}
441 %description -n libada@base_ver@@variant@
442 This package contains the shared libraries required to run programs
443 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
444 shared libraries. It also contains the shared libraries for the
445 Implementation of the Ada Semantic Interface Specification (ASIS), the
446 implementation of Distributed Systems Programming (GLADE) and the Posix
447 1003.5 Binding (Florist).
449 %post -n libada@base_ver@@variant@
452 %postun -n libada@base_ver@@variant@
457 %package fortran@variant@
458 Summary: The GNU Fortran Compiler and Support Files
460 Group: Development/Languages/Fortran
461 Requires: gcc@base_ver@ = %{version}-%{release}
462 %if 0%{!?build_optional_compiler:1}
463 Requires: libgfortran3@variant@ >= %{version}-%{release}
464 %ifarch %quadmath_arch
465 Requires: libquadmath0@variant@ >= %{version}-%{release}
468 Requires: libgfortran@base_ver@@variant@ = %{version}-%{release}
469 %ifarch %quadmath_arch
470 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
474 %description fortran@variant@
475 This is the Fortran compiler of the GNU Compiler Collection (GCC).
479 %package -n libgfortran@base_ver@@variant@
480 Summary: The GNU Fortran Compiler Runtime Library
481 License: GPL-3.0-with-GCC-exception
482 Group: Development/Languages/Fortran
483 %if 0%{!?build_optional_compiler:1}
484 Provides: libgfortran3@variant@ = %{version}-%{release}
485 Conflicts: libgfortran3@variant@ < %{version}-%{release}
486 %ifarch %quadmath_arch
487 Requires: libquadmath0@variant@ >= %{version}-%{release}
490 %ifarch %quadmath_arch
491 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
496 %description -n libgfortran@base_ver@@variant@
497 The runtime library needed to run programs compiled with the Fortran compiler
498 of the GNU Compiler Collection (GCC).
500 %post -n libgfortran@base_ver@@variant@
503 %postun -n libgfortran@base_ver@@variant@
508 %package -n libquadmath@base_ver@@variant@
509 Summary: The GNU Fortran Compiler Quadmath Runtime Library
511 Group: Development/Languages/Fortran
512 %if 0%{!?build_optional_compiler:1}
513 Provides: libquadmath0@variant@ = %{version}-%{release}
514 Conflicts: libquadmath0@variant@ < %{version}-%{release}
519 %description -n libquadmath@base_ver@@variant@
520 The runtime library needed to run programs compiled with the Fortran compiler
521 of the GNU Compiler Collection (GCC) and quadruple precision floating point
524 %post -n libquadmath@base_ver@@variant@
527 %postun -n libquadmath@base_ver@@variant@
532 %package -n libmudflap@base_ver@@variant@
533 Summary: The Mudflap Extension Runtime Library
534 License: GPL-3.0-with-GCC-exception
535 Group: Development/Languages/C and C++
536 Provides: libmudflap0@variant@ = %{version}-%{release}
537 Conflicts: libmudflap0@variant@ < %{version}-%{release}
538 Provides: libmudflapth0@variant@ = %{version}-%{release}
539 Conflicts: libmudflapth0@variant@ < %{version}-%{release}
541 %description -n libmudflap@base_ver@@variant@
542 This is the Mudflap Extension Runtime Library.
544 %post -n libmudflap@base_ver@@variant@
547 %postun -n libmudflap@base_ver@@variant@
552 %package -n libgcj@base_ver@
554 Summary: Java Runtime Library for gcc
555 License: GPL-2.0-with-classpath-exception
556 Group: System/Libraries
558 Provides: libgcj%{gcj_sover} = %{version}-%{release}
559 Conflicts: libgcj%{gcj_sover} < %{version}-%{release}
560 Provides: libgij%{gcj_sover} = %{version}-%{release}
561 Conflicts: libgij%{gcj_sover} < %{version}-%{release}
562 Provides: libgcj-tools%{gcj_sover} = %{version}-%{release}
563 Conflicts: libgcj-tools%{gcj_sover} < %{version}-%{release}
565 %description -n libgcj@base_ver@
566 This library is needed if you want to use the GNU Java compiler, gcj.
567 Source code for this package is in gcc.
569 %post -n libgcj@base_ver@
572 %postun -n libgcj@base_ver@
576 %package -n gcc@base_ver@-java
577 Summary: The GNU Java Compiler
579 Group: Development/Languages/Java
580 Requires: gcc@base_ver@ = %{version}
581 Requires: libgcj@base_ver@-devel = %{version}-%{release}
583 %description -n gcc@base_ver@-java
584 The Java compiler from the GCC-tools-suite.
587 %package -n libgcj_bc@base_ver@
588 Summary: Fake library for BC-ABI compatibility.
589 License: GPL-2.0-with-classpath-exception
590 Group: Development/Libraries/Java
591 Provides: libgcj_bc1 = %{version}-%{release}
592 Conflicts: libgcj_bc1 < %{version}-%{release}
593 # libgcj_bc is special in that it just contains a symlink to
594 # a proper libgcj version. So require that library and add
595 # provides for the shlib version as created at link time
596 Requires: libgcj%{gcj_sover}
598 Provides: libgcj_bc.so.1()(64bit)
600 Provides: libgcj_bc.so.1
604 %description -n libgcj_bc@base_ver@
605 A fake library that is used at link time only. It ensures that
606 binaries built with the BC-ABI link against a constant SONAME.
607 This way, BC-ABI binaries continue to work if the SONAME underlying
611 %package -n libgcj@base_ver@-jar
612 Summary: Java runtime library (jar files).
613 License: GPL-2.0-with-classpath-exception
614 Group: Development/Libraries/Java
616 %description -n libgcj@base_ver@-jar
617 These are the jar files that go along with the gcj front end to gcc.
620 %package -n libgcj@base_ver@-devel
621 Summary: Include Files and Libraries mandatory for Development.
622 License: GPL-2.0-with-classpath-exception
623 Group: Development/Libraries/Java
624 Requires: libstdc++@base_ver@-devel = %{version}
625 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
626 Requires: libgcj_bc1 >= %{version}-%{release}
627 Requires: libgcj@base_ver@-jar = %{version}-%{release}
629 Requires: libart_lgpl-devel
630 Requires: glibc-devel
633 Requires: libunwind-devel
636 %description -n libgcj@base_ver@-devel
637 This package contains all necessary include files and libraries needed
638 to develop applications that require these.
641 %package -n gcc@base_ver@-gij
642 Summary: Java Bytecode Interpreter for gcc
643 License: GPL-2.0-with-classpath-exception
644 Group: Development/Libraries/Java
645 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
647 %description -n gcc@base_ver@-gij
648 This package contains the java bytecode interpreter gij and related tools.
652 %package -n libffi@base_ver@@variant@
653 Summary: Foreign Function Interface library
654 License: BSD-3-Clause
655 Group: Development/Languages/C and C++
656 Provides: g-wrap:/usr/lib/libffi.so.4
657 Provides: libffi4@variant@ = %{version}-%{release}
658 Conflicts: libffi4@variant@ < %{version}-%{release}
660 %description -n libffi@base_ver@@variant@
661 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.
663 %post -n libffi@base_ver@@variant@
666 %postun -n libffi@base_ver@@variant@
671 %package -n libffi@base_ver@-devel@variant@
672 Summary: Foreign Function Interface library development files
673 License: BSD 3-Clause
674 Group: Development/Languages/C and C++
675 Requires: libffi4@variant@ >= %{version}-%{release}
676 Provides: libffi-devel@variant@ = %{version}-%{release}
677 Conflicts: libffi-devel@variant@ < %{version}-%{release}
679 %description -n libffi@base_ver@-devel@variant@
680 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.
683 %package -n gcc@base_ver@-testresults
684 # GCC-TESTSUITE-DELETE-END
685 Summary: Testsuite results
686 License: SUSE-Public-Domain
687 Group: Development/Languages/C and C++
689 %description -n gcc@base_ver@-testresults
690 Results from running the gcc and target library testsuites.
695 # Define the canonical target and host architecture
696 # %gcc_target_arch is supposed to be the full target triple
697 # %TARGET_ARCH is the canonicalized CPU part
698 # %CONFIGURE_TARGET is the target triple used for --target=
699 %if 0%{?gcc_target_arch:1}
700 %define CONFIGURE_TARGET %{gcc_target_arch}
701 %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/;")
702 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
703 %define CONFIGURE_TARGET i586-tizen-linux
705 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
706 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
708 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
709 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
711 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7el"
712 %define CONFIGURE_TARGET armv7el-tizen-linux-gnueabi
714 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el"
715 %define CONFIGURE_TARGET armv5el-tizen-linux-gnueabi
718 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
720 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
722 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
725 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
727 %define GCCDIST %{HOST_ARCH}-tizen-linux
730 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
731 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
735 # Versionspecific directories
736 %define versmainlibdir %{libsubdir}
737 %define versmainlibdirbi32 %{libsubdir}/32
738 %define versmainlibdirbi64 %{libsubdir}/64
739 %if %{build_primary_64bit}
740 %define versmainlibdirbi %{versmainlibdirbi32}
742 %define versmainlibdirbi %{versmainlibdirbi64}
745 %if 0%{?build_optional_compiler:1}
746 %define mainlibdir %{versmainlibdir}
747 %define mainlibdirbi32 %{versmainlibdirbi32}
748 %define mainlibdirbi64 %{versmainlibdirbi64}
749 %define noflibdir %{versnoflibdir}
750 %define mainlibdirbi %{versmainlibdirbi}
752 %define mainlibdir %{_libdir}
753 %define mainlibdirbi32 %{_prefix}/lib
754 %define mainlibdirbi64 %{_prefix}/lib64
755 %define noflibdir %{_prefix}/lib/nof
756 %if %{build_primary_64bit}
757 %define mainlibdirbi %{mainlibdirbi32}
759 %define mainlibdirbi %{mainlibdirbi64}
764 # Now define a few macros that make it easy to package libs and
765 # related files just to the right package, without caring for the
766 # exact path the files are in.
767 # %mainlib package X from all dirs that belong to the main package
768 # %biarchlib package X from all dirs that belong to the -32/64bit package
769 # by default, nof libs go where the 32bit libs go.
771 %define mainlib() %{mainlibdir}/%1\
775 %define mainlib() %{mainlibdir}/%1\
778 %define biarchlib() %{nil}
780 %if !%{separate_biarch}
782 %define mainlib() %{mainlibdir}/%1\
787 %define mainlib() %{mainlibdir}/%1\
793 %define biarchlib() %{mainlibdirbi}/%1\
796 %define mainlib() %{mainlibdir}/%1\
799 %define biarchlib() %{mainlibdirbi}/%1\
806 %define versmainlib() %{versmainlibdir}/%1\
810 %define versmainlib() %{versmainlibdir}/%1\
813 %define versbiarchlib() %{nil}
815 %if !%{separate_biarch}
817 %define versmainlib() %{versmainlibdir}/%1\
818 %{versmainlibdirbi}/%1\
822 %define versmainlib() %{versmainlibdir}/%1\
823 %{versmainlibdirbi}/%1\
828 %define versbiarchlib() %{versmainlibdirbi}/%1\
831 %define versmainlib() %{versmainlibdir}/%1\
834 %define versbiarchlib() %{versmainlibdirbi}/%1\
844 #%setup -q -n gcc-%{gcc_version}%{snapshot_date}
845 %setup -q -n gcc-%{version}
846 # 0001-dir-version.patch
853 # Avoid rebuilding of generated files
854 contrib/gcc_update --touch
855 # Avoid fucking up testsuite results with Java and indirect dispatch
856 export LD_AS_NEEDED=0
857 # Split version file into version used for directories (X.Y) and
858 # version to report with --version (X.Y.Z).
859 # See also gcc-dir-version.patch.
860 # Also decrement the patchlevel version by one
861 if test `cat gcc/DEV-PHASE` == "prerelease"; then
862 ( 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
864 mv gcc/BASE-VER gcc/FULL-VER
866 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
868 rm -rf obj-%{GCCDIST}
871 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
872 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'`
874 # -mcpu is superceded by -mtune but -mtune is not supported by
875 # our bootstrap compiler. -mcpu gives a warning that stops
876 # the build process, so remove it for now. Also remove all other
877 # -march and -mtune flags. They are superseeded by proper
878 # default compiler settings now.
879 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'`
881 %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
882 # Kill all -march/tune/cpu because that screws building the target libs
883 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
885 # Replace 2 spaces by one finally
886 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
890 languages=$languages,c++
893 languages=$languages,objc
896 languages=$languages,fortran
899 languages=$languages,obj-c++
902 languages=$languages,java
905 languages=$languages,ada
909 if test -z "$J"; then
910 J=$(getconf _NPROCESSORS_CONF)
913 test 1 -gt "$J" && J=1
914 JL=$(($(getconf _NPROCESSORS_CONF)*2))
916 if test "$J" == "0"; then
919 if test "$JL" == "0"; then
922 PARALLEL="-j$J -l$JL"
924 # we don't want some miscompiles in the testsuite, or some fault in
925 # the compiler to kill the machine. Hence we limit the amount of memory
926 # by the physical RAM plus half of swap
927 #MEM=$(free -m | awk '/^Mem:/ {print $2}')
928 #SWAP=$(free -m | awk '/^Swap:/ {print $2}')
929 #ulimit -v $(((MEM + SWAP/2)*1024))
931 # In general we want to ship release checking enabled compilers
932 # and run BETA with checking enabled.
933 #ENABLE_CHECKING="--enable-checking=yes"
934 ENABLE_CHECKING="--enable-checking=release"
936 # Work around tail/head -1 changes
937 export _POSIX2_VERSION=199209
939 # configure tries to parse include/features.h to detect
940 # if glibc supports SSP. When cross compiling we would need
941 # to install a cross glibc, which we don't, or make the whole
942 # thing point to the native glibc, which is in /, hence the
946 # Using the host gnatmake like
947 # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
948 # GNATMAKE="gnatmake%{hostsuffix}"
949 # doesn't work due to PR33857, so an un-suffixed gnatmake has to be
951 mkdir -p host-tools/bin
952 cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
953 cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
954 cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
955 cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
956 ln -sf /usr/%{_lib} host-tools/%{_lib}
957 export PATH="`pwd`/host-tools/bin:$PATH"
959 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
961 # --enable-threads=posix \
964 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
965 TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \
967 --prefix=%{_prefix} \
968 --infodir=%{_infodir} \
969 --mandir=%{_mandir} \
970 --libdir=%{_libdir} \
971 --libexecdir=%{_libdir} \
972 --enable-languages=$languages \
974 --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
979 --disable-bootstrap \
982 --with-bugurl="http://bugs.tizen.org/" \
983 --with-pkgversion="Tizen Linux" \
984 %if !%{build_libjava}
987 --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
988 --with-ecj-jar=%{libsubdir}/ecj.jar \
990 %if !%{biarch_libjava}
991 --disable-libjava-multilib \
994 %if !%{build_with_mudflap}
995 --disable-libmudflap \
997 --with-slibdir=/%{_lib} \
999 --enable-__cxa_atexit \
1000 --enable-libstdcxx-allocator=new \
1001 --disable-libstdcxx-pch \
1002 --enable-version-specific-runtime-libs \
1003 --enable-linker-build-id \
1004 %if 0%{?gcc_target_arch:1}
1005 %if 0%{?gcc_icecream:1}
1006 --with-build-sysroot=/ \
1007 --with-sysroot=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi} \
1008 --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/usr/include/c++/%{gcc_dir_version} \
1009 --enable-linux-futex \
1011 %if 0%{?canonical_target:1}
1012 --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
1014 %if 0%{?build_static:1}
1017 %if "%{TARGET_ARCH}" == "spu"
1018 --with-sysroot=/usr/spu \
1019 --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \
1023 --target=%{CONFIGURE_TARGET} \
1025 --program-suffix=%{binsuffix} \
1026 --enable-linux-futex \
1028 --with-system-libunwind \
1030 --without-system-libunwind \
1033 %if "%{TARGET_ARCH}" == "armv5tel"
1034 --with-arch=armv5te \
1037 --with-abi=aapcs-linux \
1038 --disable-sjlj-exceptions \
1040 %if "%{TARGET_ARCH}" == "armv7el"
1041 --with-arch=armv7-a \
1042 --with-tune=cortex-a9 \
1046 --disable-sjlj-exceptions \
1048 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
1049 --with-arch=armv7-a \
1050 --with-tune=cortex-a9 \
1052 --with-abi=aapcs-linux \
1053 --with-fpu=vfpv3-d16 \
1054 --disable-sjlj-exceptions \
1056 %if "%{TARGET_ARCH}" == "i586"
1057 --with-arch-32=i586 \
1058 --with-tune=generic \
1060 %if "%{TARGET_ARCH}" == "x86_64"
1061 --with-arch-32=i586 \
1062 --with-tune=generic \
1068 %if 0%{?building_libffi:1}
1069 make stage1-bubble $PARALLEL
1070 make all-target-libffi $PARALLEL
1072 # Only run profiled bootstrap on archs where it works
1073 #%ifarch %ix86 x86_64 ppc ppc64 ia64
1074 #make profiledbootstrap-lean STAGE1_CFLAGS="-O -g" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1079 STAGE1_FLAGS="-O -g"
1081 #make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1082 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1086 %if 0%{?run_tests:1}
1087 echo "Run testsuite"
1088 (make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1089 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1090 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1091 make -k check $PARALLEL || true
1092 mkdir ../testresults
1093 ../contrib/test_summary | tee ../testresults/test_summary.txt
1098 export NO_BRP_CHECK_BYTECODE_VERSION=true
1100 # GCC-TESTSUITE-DELETE-BEGIN
1101 # Work around tail/head -1 changes
1102 export _POSIX2_VERSION=199209
1103 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi}
1104 %if 0%{?building_libffi:1}
1105 make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
1107 %if 0%{?building_libjava:1}
1108 make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
1109 make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
1110 make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
1111 make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
1112 # install-common also installs collect2, gcov and the g++ and gfortran driver
1114 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1116 %if %{build_fortran}
1117 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1119 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1120 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1122 make install DESTDIR=$RPM_BUILD_ROOT
1124 make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
1125 make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT
1126 rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
1127 rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
1128 rm $RPM_BUILD_ROOT%{libsubdir}/jc1
1129 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
1134 # Remove libffi installed files if we did not want to build it
1135 %if !0%{?building_libffi:1}
1136 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.*
1138 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
1140 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h
1141 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h
1142 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3*
1143 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3*
1144 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3*
1147 # Remove some useless .la files
1148 for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \
1149 libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij; do
1150 rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la
1152 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1156 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1158 %if %{build_primary_64bit}
1159 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1161 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1165 # LIBFFI-DELETE-BEGIN
1166 # LIBJAVA-DELETE-BEGIN
1168 # Merge multilib c++config.h to allow omitting the duplicate and
1169 # identical other arch specific headers
1171 cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1172 for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1173 if ! diff -up $cxxconfig $i; then
1188 if ! ( test -f "$file_32" && test -f "$file_64" ); then
1193 cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1194 #ifndef _CPP_CPPCONFIG_WRAPPER
1195 #define _CPP_CPPCONFIG_WRAPPER 1
1196 #include <bits/wordsize.h>
1197 #if __WORDSIZE == 32
1207 rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1208 if ! test -z "$dir_ml"; then
1209 ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1212 # LIBJAVA-DELETE-END
1214 %if 0%{!?build_optional_compiler:1}
1215 # move shared libs from versionspecific dir to main libdir
1217 %if 0%{?building_libjava:1}
1218 libgcj libgij libgcj-tools \
1220 %if %{build_fortran}
1222 %ifarch %quadmath_arch
1233 %if %{build_with_mudflap}
1234 libmudflap libmudflapth \
1238 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1239 mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1241 ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1242 $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
1244 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1245 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1246 mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/
1248 ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1249 $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1254 %if !0%{?building_libjava:1}
1255 # And we want to move the shlib gdb pretty printers to a more sane
1256 # place so ldconfig does not complain
1257 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
1258 mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
1259 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py
1261 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1262 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
1263 mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1264 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1269 %if 0%{?building_libjava:1}
1270 # libgcj_bc is special as the .so file is actually a different
1271 # library as the library refered to by the SONAME which should
1272 # be a simple link to our libgcj.
1273 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do
1276 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.1
1277 %if %{biarch_libjava}
1278 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do
1281 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.1
1286 # LIBJAVA-DELETE-BEGIN
1287 %if 0%{!?build_optional_compiler:1}
1288 # Move libgcc_s around
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%{versmainlibdir}/libgcc_s.so
1293 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1295 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
1297 %if %{build_primary_64bit}
1298 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1299 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1300 ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1302 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1304 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1305 chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
1307 # 32-bit biarch systems
1308 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1309 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1310 ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1312 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1314 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1315 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1319 # Move libgcc_s around
1320 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/
1321 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1322 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1323 ln -sf %{versmainlibdir}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1325 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1327 chmod a+x $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
1329 %if %{build_primary_64bit}
1330 mv $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1331 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1332 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1333 ln -sf %{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1335 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1337 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1338 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
1340 # 32-bit biarch systems
1341 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1342 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1343 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1344 ln -sf %{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1346 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1348 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1349 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
1354 # Provide a defaults.spec file which adds a proper rpath
1355 %if 0%{?build_optional_compiler:1}
1356 cat > $RPM_BUILD_ROOT%{libsubdir}/defaults.spec << EOF
1358 + %%{!m32:%%{!m64:-rpath=%{libsubdir}}} %%{m32:-rpath=%{libsubdir}/32} %%{m64:-rpath=%{libsubdir}/64}
1361 # LIBJAVA-DELETE-END
1365 mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir}
1366 ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so
1367 ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so
1368 chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
1370 mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
1371 ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1372 ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1373 chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
1377 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1379 # Remove some crap from the .la files:
1380 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
1382 # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g'
1383 sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1384 -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1385 -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1386 -e '/^dependency_libs/s|-L[^ ]* ||g' \
1388 %if %{build_primary_64bit}
1389 -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1390 -e '/^libdir/s|lib64/\.\./||' \
1392 -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1399 # GCC-TESTSUITE-DELETE-END
1400 %if 0%{?run_tests:1}
1401 cp `find . -name "*.sum"` ../testresults/
1402 cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
1403 chmod 644 ../testresults/*
1405 # GCC-TESTSUITE-DELETE-BEGIN
1406 # LIBFFI-DELETE-BEGIN
1408 # Find C++ and Java headers
1409 find $RPM_BUILD_ROOT%{_prefix}/include/c++ \
1410 -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \
1411 -o \( -type d -printf "%%%%dir " , \
1412 -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers
1415 # Remove files that we do not need to clean up filelist
1416 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-*
1417 rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools
1418 #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
1419 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root
1420 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h
1421 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-*
1422 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux
1423 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound
1424 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h
1425 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h
1426 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h
1427 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h
1428 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11
1429 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1430 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h
1431 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h
1432 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h
1433 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1434 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys
1436 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1437 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
1438 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix}
1440 %if !0%{?building_libjava:1}%{?building_libffi:1}
1441 # delete compile flag tracking from crt files
1442 crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o
1444 %if %{build_primary_64bit}
1445 crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o
1447 crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o
1450 for o in $crt_list $crt32_list $crt64_list; do
1451 objcopy -R ".comment.SUSE.OPTs" $o
1455 %if 0%{?building_libjava:1}
1456 # gcj -static doesn't work properly anyway, unless using --whole-archive
1457 # let's save the space instead.
1458 find $RPM_BUILD_ROOT -name libgcj.a \
1459 -o -name libgcj-tools.a \
1462 -o -name libgcj_bc.a \
1465 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
1466 sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
1468 # security files have broken install locations, also they cause conflicts
1469 # between libgcj versions. Simply delete them here, libgcj will use its
1470 # defaults in this case (which is what these files contain anyway).
1471 rm $RPM_BUILD_ROOT%{_libdir}/logging.properties
1472 rm -r $RPM_BUILD_ROOT%{_libdir}/security
1475 %if 0%{?building_libffi:1}
1476 # Move libffi headers, remove empty libffi libtool file
1477 mkdir -p $RPM_BUILD_ROOT%{_prefix}/include
1478 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/
1479 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/
1480 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la
1482 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
1484 # Generate a simple pkg-config file
1485 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
1486 echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc
1490 %if !%{build_libjava}
1491 rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
1492 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
1493 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
1494 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
1495 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1
1496 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1
1497 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1
1499 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py
1500 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py
1502 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
1503 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
1504 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
1505 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
1507 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/nof/libiberty.a
1510 %if %{build_primary_64bit}
1511 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
1513 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
1516 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
1517 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
1519 # LIBFFI-DELETE-BEGIN
1520 %if 0%{?building_libjava:1}
1521 # For building libjava only we need to delete other info docs
1522 rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
1523 # Remove stale manpages for binaries we do not build
1524 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1
1525 # For building the java frontend we need to copy the ecj jar
1526 mkdir -p $RPM_BUILD_ROOT%{libsubdir}
1527 cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
1529 # For regular build, some info files do not get renamed properly.
1531 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
1532 %if %{build_fortran}
1533 %ifarch %quadmath_arch
1534 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
1538 mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info
1539 mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info
1540 mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info
1544 # LIBJAVA-DELETE-BEGIN
1546 %find_lang gcc@base_ver@-locale --all-name
1549 %install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1550 %install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1551 %install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1552 %install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1553 %install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1554 %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1555 %if %{build_fortran}
1556 %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1557 %ifarch %quadmath_arch
1558 %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1562 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1565 %install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1566 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1567 %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
1571 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1572 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1573 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1574 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1575 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1576 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1577 %if %{build_fortran}
1578 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1579 %ifarch %quadmath_arch
1580 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1584 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1587 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1588 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1589 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
1594 %defattr(-,root,root)
1596 %dir %{_libdir}/gcc/%{GCCDIST}
1598 %dir %{libsubdir}/include
1599 %dir %{libsubdir}/include-fixed
1601 %if %{build_primary_64bit}
1602 %dir %{libsubdir}/32
1604 %dir %{libsubdir}/64
1608 %dir %{libsubdir}/nof
1610 %{_prefix}/bin/gcc%{binsuffix}
1611 %{_prefix}/bin/gcov%{binsuffix}
1612 %{_prefix}/bin/gcc-ar%{binsuffix}
1613 %{_prefix}/bin/gcc-nm%{binsuffix}
1614 %{_prefix}/bin/gcc-ranlib%{binsuffix}
1615 %{libsubdir}/collect2
1617 %{libsubdir}/lto-wrapper
1618 %{libsubdir}/liblto_plugin.so*
1619 %{libsubdir}/include-fixed/README
1620 %{libsubdir}/include-fixed/limits.h
1621 %{libsubdir}/include-fixed/syslimits.h
1622 %{libsubdir}/include/omp.h
1623 %{libsubdir}/include/float.h
1624 %{libsubdir}/include/iso646.h
1625 %{libsubdir}/include/stdarg.h
1626 %{libsubdir}/include/stdbool.h
1627 %{libsubdir}/include/stdfix.h
1628 %{libsubdir}/include/stddef.h
1629 %{libsubdir}/include/unwind.h
1630 %{libsubdir}/include/varargs.h
1631 %{libsubdir}/include/stdint.h
1632 %{libsubdir}/include/stdint-gcc.h
1633 %{libsubdir}/include/stdnoreturn.h
1634 %{libsubdir}/include/stdalign.h
1636 %{libsubdir}/include/mmintrin.h
1637 %{libsubdir}/include/arm_neon.h
1638 %{libsubdir}/include/unwind-arm-common.h
1640 %ifarch %ix86 x86_64
1641 %{libsubdir}/include/cross-stdarg.h
1642 %{libsubdir}/include/cpuid.h
1643 %{libsubdir}/include/mm3dnow.h
1644 %{libsubdir}/include/mmintrin.h
1645 %{libsubdir}/include/ammintrin.h
1646 %{libsubdir}/include/bmmintrin.h
1647 %{libsubdir}/include/emmintrin.h
1648 %{libsubdir}/include/immintrin.h
1649 %{libsubdir}/include/avxintrin.h
1650 %{libsubdir}/include/pmmintrin.h
1651 %{libsubdir}/include/xmmintrin.h
1652 %{libsubdir}/include/tmmintrin.h
1653 %{libsubdir}/include/nmmintrin.h
1654 %{libsubdir}/include/smmintrin.h
1655 %{libsubdir}/include/wmmintrin.h
1656 %{libsubdir}/include/x86intrin.h
1657 %{libsubdir}/include/ia32intrin.h
1658 %{libsubdir}/include/mm_malloc.h
1659 %{libsubdir}/include/fma4intrin.h
1660 %{libsubdir}/include/xopintrin.h
1661 %{libsubdir}/include/lwpintrin.h
1662 %{libsubdir}/include/popcntintrin.h
1663 %{libsubdir}/include/bmiintrin.h
1664 %{libsubdir}/include/tbmintrin.h
1665 %{libsubdir}/include/avx2intrin.h
1666 %{libsubdir}/include/bmi2intrin.h
1667 %{libsubdir}/include/fmaintrin.h
1668 %{libsubdir}/include/lzcntintrin.h
1669 %{libsubdir}/include/f16cintrin.h
1671 %if %{build_with_mudflap}
1672 %{libsubdir}/include/mf-runtime.h
1674 %versmainlib *crt*.o
1675 %versmainlib libgcc*.a
1676 %versmainlib libgcov.a
1677 %versmainlib libgcc_s*.so
1678 %if %{build_with_mudflap}
1679 %versmainlib libmudflap.a
1680 %versmainlib libmudflap.so
1681 %versmainlib libmudflapth.a
1682 %versmainlib libmudflapth.so
1684 %versmainlib libgomp.so
1685 %versmainlib libgomp.a
1686 %versmainlib libgomp.spec
1687 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
1688 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
1689 %if 0%{?build_optional_compiler:1}
1690 %{libsubdir}/defaults.spec
1693 %if %{separate_biarch}
1694 %files -n gcc@base_ver@%{separate_biarch_suffix}
1695 %defattr(-,root,root)
1696 %versbiarchlib *crt*.o
1697 %versbiarchlib libgcc*.a
1698 %versbiarchlib libgcov.a
1699 %versbiarchlib libgcc_s*.so
1700 %if %{build_with_mudflap}
1701 %versbiarchlib libmudflap.a
1702 %versbiarchlib libmudflap.so
1703 %versbiarchlib libmudflapth.a
1704 %versbiarchlib libmudflapth.so
1706 %versbiarchlib libgomp.so
1707 %versbiarchlib libgomp.a
1708 %versbiarchlib libgomp.spec
1711 %files locale -f gcc@base_ver@-locale.lang
1715 %defattr(-,root,root)
1717 %dir %{_libdir}/gcc/%{GCCDIST}
1719 %{_prefix}/bin/g++%{binsuffix}
1720 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
1721 %{libsubdir}/cc1plus
1723 %files -n libstdc++@base_ver@
1724 %defattr(-,root,root)
1728 %mainlib libstdc++.so.*
1730 %if %{separate_biarch}
1731 %files -n libstdc++@base_ver@%{separate_biarch_suffix}
1732 %defattr(-,root,root)
1733 %biarchlib libstdc++.so.*
1736 %files -n libstdc++@base_ver@-devel -f c++-headers
1737 %defattr(-,root,root)
1738 %versmainlib libstdc++.a
1739 %versmainlib libstdc++.so
1740 %versmainlib libsupc++.a
1741 %dir %{_datadir}/gdb
1742 %dir %{_datadir}/gdb/auto-load
1743 %dir %{_datadir}/gdb/auto-load%{_prefix}
1744 %dir %{_datadir}/gdb/auto-load/%{mainlibdir}
1745 %{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
1746 %{_datadir}/gcc%{binsuffix}
1748 %if %{separate_biarch}
1749 %files -n libstdc++@base_ver@-devel%{separate_biarch_suffix}
1750 %defattr(-,root,root)
1751 %versbiarchlib libstdc++.a
1752 %versbiarchlib libstdc++.so
1753 %versbiarchlib libsupc++.a
1754 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
1755 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
1758 %files -n libstdc++@base_ver@-doc
1759 %defattr(-,root,root)
1760 %doc libstdc++-v3/doc/html
1763 %files -n libgcc@base_ver@
1764 %defattr(-,root,root)
1765 %if 0%{!?build_optional_compiler:1}
1766 /%{_lib}/libgcc_s.so.%{libgcc_s}
1769 /lib/nof/libgcc_s.so.%{libgcc_s}
1772 %if %{build_primary_64bit}
1773 %if !%{separate_bi32}
1774 /lib/libgcc_s.so.%{libgcc_s}
1777 %if !%{separate_bi64}
1778 /lib64/libgcc_s.so.%{libgcc_s}
1783 %versmainlib libgcc_s.so.%{libgcc_s}
1786 %if %{separate_bi64}
1787 %files -n libgcc@base_ver@-64bit
1788 %defattr(-,root,root)
1789 %if 0%{!?build_optional_compiler:1}
1790 /lib64/libgcc_s.so.%{libgcc_s}
1792 %versbiarchlib libgcc_s.so.%{libgcc_s}
1796 %if %{separate_bi32}
1797 %files -n libgcc@base_ver@-32bit
1798 %defattr(-,root,root)
1799 %if 0%{!?build_optional_compiler:1}
1800 /lib/libgcc_s.so.%{libgcc_s}
1802 %versbiarchlib libgcc_s.so.%{libgcc_s}
1807 %files -n libgomp@base_ver@
1808 %defattr(-,root,root)
1809 %mainlib libgomp.so.1*
1811 %if %{separate_biarch}
1812 %files -n libgomp@base_ver@%{separate_biarch_suffix}
1813 %defattr(-,root,root)
1814 %biarchlib libgomp.so.1*
1818 %if %{build_fortran}
1820 %defattr(-,root,root)
1821 %dir %{libsubdir}/finclude
1822 %{_prefix}/bin/gfortran%{binsuffix}
1824 %{libsubdir}/finclude/*
1825 %versmainlib libgfortran.a
1826 %versmainlib libgfortran.so
1827 %versmainlib libgfortran.spec
1828 %versmainlib libgfortranbegin.a
1829 %versmainlib libcaf_single.a
1830 %ifarch %quadmath_arch
1831 %{libsubdir}/include/quadmath.h
1832 %{libsubdir}/include/quadmath_weak.h
1833 %versmainlib libquadmath.a
1834 %versmainlib libquadmath.so
1836 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
1838 %if %{separate_biarch}
1839 %files fortran%{separate_biarch_suffix}
1840 %defattr(-,root,root)
1841 %versbiarchlib libgfortran.a
1842 %versbiarchlib libgfortran.so
1843 %versbiarchlib libgfortran.spec
1844 %versbiarchlib libgfortranbegin.a
1845 %versbiarchlib libcaf_single.a
1846 %ifarch %quadmath_arch
1847 %versbiarchlib libquadmath.a
1848 %versbiarchlib libquadmath.so
1852 %files -n libgfortran@base_ver@
1853 %defattr(-,root,root)
1854 %mainlib libgfortran.so.*
1856 %if %{separate_biarch}
1857 %files -n libgfortran@base_ver@%{separate_biarch_suffix}
1858 %defattr(-,root,root)
1859 %biarchlib libgfortran.so.*
1862 %ifarch %quadmath_arch
1863 %files -n libquadmath@base_ver@
1864 %defattr(-,root,root)
1865 %mainlib libquadmath.so.*
1867 %if %{separate_biarch}
1868 %files -n libquadmath@base_ver@%{separate_biarch_suffix}
1869 %defattr(-,root,root)
1870 %biarchlib libquadmath.so.*
1875 %if %{build_with_mudflap}
1876 %files -n libmudflap@base_ver@
1877 %defattr(-,root,root)
1878 %mainlib libmudflap.so.0*
1879 %mainlib libmudflapth.so.0*
1881 %if %{separate_biarch}
1882 %files -n libmudflap@base_ver@%{separate_biarch_suffix}
1883 %defattr(-,root,root)
1884 %biarchlib libmudflap.so.0*
1885 %biarchlib libmudflapth.so.0*
1890 %defattr(-,root,root)
1891 %doc %{_infodir}/cpp%{binsuffix}.info*.gz
1892 %doc %{_infodir}/cppinternals%{binsuffix}.info*.gz
1893 %doc %{_infodir}/gcc%{binsuffix}.info*.gz
1894 %doc %{_infodir}/gccint%{binsuffix}.info*.gz
1895 %doc %{_infodir}/gccinstall%{binsuffix}.info*.gz
1896 %doc %{_infodir}/libgomp%{binsuffix}.info*.gz
1897 %if %{build_fortran}
1898 %doc %{_infodir}/gfortran%{binsuffix}.info*.gz
1899 %ifarch %quadmath_arch
1900 %doc %{_infodir}/libquadmath%{binsuffix}.info*.gz
1904 %doc %{_infodir}/gcj%{binsuffix}.info*.gz
1907 %doc %{_infodir}/gnat-style%{binsuffix}.info*gz
1908 %doc %{_infodir}/gnat_rm%{binsuffix}.info*gz
1909 %doc %{_infodir}/gnat_ugn%{binsuffix}.info*gz
1912 %files -n cpp@base_ver@
1913 %defattr(-,root,root)
1915 %dir %{_libdir}/gcc/%{GCCDIST}
1917 %{_prefix}/bin/cpp%{binsuffix}
1920 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
1924 %defattr(-,root,root)
1926 %{libsubdir}/include/objc
1927 %versmainlib libobjc.a
1928 %versmainlib libobjc.so
1930 %if %{separate_biarch}
1931 %files objc%{separate_biarch_suffix}
1932 %defattr(-,root,root)
1933 %versbiarchlib libobjc.a
1934 %versbiarchlib libobjc.so
1937 %files -n libobjc@base_ver@
1938 %defattr(-,root,root)
1939 %mainlib libobjc.so.*
1941 %if %{separate_biarch}
1942 %files -n libobjc@base_ver@%{separate_biarch_suffix}
1943 %defattr(-,root,root)
1944 %biarchlib libobjc.so.*
1951 %defattr(-,root,root)
1952 %{libsubdir}/cc1objplus
1958 %defattr(-,root,root)
1960 %dir %{_libdir}/gcc/%{GCCDIST}
1962 %{_prefix}/bin/gnat*
1963 %dir %{versmainlibdir}/adainclude
1964 %dir %{versmainlibdir}/adalib
1965 %{versmainlibdir}/adainclude
1966 %{versmainlibdir}/adalib/*.ali
1967 %{versmainlibdir}/adalib/*.a
1968 %{versmainlibdir}/adalib/libgnarl.so
1969 %{versmainlibdir}/adalib/libgnat.so
1970 %{versmainlibdir}/gnat1
1972 %if %{separate_biarch}
1973 %files ada%{separate_biarch_suffix}
1974 %defattr(-,root,root)
1975 %dir %{versmainlibdirbi}/adainclude
1976 %dir %{versmainlibdirbi}/adalib
1977 %{versmainlibdirbi}/adainclude
1978 %{versmainlibdirbi}/adalib/*.ali
1979 %{versmainlibdirbi}/adalib/*.a
1980 %{versmainlibdirbi}/adalib/libgnarl.so
1981 %{versmainlibdirbi}/adalib/libgnat.so
1984 %files -n libada@base_ver@
1985 %defattr(-,root,root)
1986 %mainlib libgnarl-*.so
1987 %mainlib libgnat-*.so
1989 %if %{separate_biarch}
1990 %files -n libada@base_ver@%{separate_biarch_suffix}
1991 %defattr(-,root,root)
1992 %biarchlib libgnarl-*.so
1993 %biarchlib libgnat-*.so
1996 # LIBJAVA-DELETE-END
2000 %if 0%{?building_libjava:1}
2001 %files -n gcc@base_ver@-java
2002 %defattr(-,root,root)
2003 %{_prefix}/bin/gcj%{binsuffix}
2004 %{_prefix}/bin/gcjh%{binsuffix}
2005 %{_prefix}/bin/gcj-dbtool%{binsuffix}
2006 %{_prefix}/bin/jcf-dump%{binsuffix}
2007 %{_prefix}/bin/jv-convert%{binsuffix}
2008 %{_prefix}/bin/gc-analyze%{binsuffix}
2009 %{_prefix}/bin/aot-compile%{binsuffix}
2010 %{_prefix}/bin/rebuild-gcj-db%{binsuffix}
2012 %{libsubdir}/jvgenmain
2013 %{libsubdir}/ecj.jar
2015 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
2016 %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
2017 %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
2018 %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
2019 %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
2020 %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
2021 %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz
2022 %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz
2027 %if %{build_libjava}
2028 %files -n libgcj@base_ver@
2029 %defattr(-,root,root)
2030 %dir %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}
2032 %dir %{_libdir}/gcc/%{GCCDIST}
2034 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/classmap.db
2035 # We usually do not multilib libjava
2036 %if %{biarch_libjava}
2037 %versbiarchlib libgcj.la
2038 %biarchlib libgcj.so.*
2039 %biarchlib libgij.so.*
2040 %biarchlib libgcj-tools.so.*
2042 %versmainlib libgcj.la
2043 %mainlib libgcj.so.*
2044 %mainlib libgij.so.*
2045 %mainlib libgcj-tools.so.*
2047 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.la
2048 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.so
2049 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.la
2050 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.so
2052 %files -n libgcj_bc@base_ver@
2053 %defattr(-,root,root)
2054 %if %{biarch_libjava}
2055 %biarchlib libgcj_bc.so.*
2057 %mainlib libgcj_bc.so.*
2060 %files -n libgcj@base_ver@-jar
2061 %defattr(-,root,root)
2062 %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
2063 %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
2065 %files -n libgcj@base_ver@-devel
2066 %defattr(-,root,root)
2067 %dir %{_prefix}/include/c++
2069 %dir %{libsubdir}/include
2071 %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
2072 %{libsubdir}/include/jawt.h
2073 %{libsubdir}/include/jawt_md.h
2074 %{libsubdir}/include/jni.h
2075 %{libsubdir}/include/jni_md.h
2076 %{libsubdir}/include/jvmpi.h
2083 %{libsubdir}/include/gcj
2084 %if %{biarch_libjava}
2085 %versbiarchlib libgcj.so
2086 %versbiarchlib libgcj.spec
2087 %versbiarchlib libgcj-tools.so
2088 %versbiarchlib libgij.so
2089 %versbiarchlib libgcj_bc.so
2091 %versmainlib libgcj.so
2092 %versmainlib libgcj.spec
2093 %versmainlib libgcj-tools.so
2094 %versmainlib libgij.so
2095 %versmainlib libgcj_bc.so
2098 %files -n gcc@base_ver@-gij
2099 %defattr(-,root,root)
2100 %{_prefix}/bin/gij%{binsuffix}
2101 %{_prefix}/bin/gappletviewer%{binsuffix}
2102 %{_prefix}/bin/gjar%{binsuffix}
2103 %{_prefix}/bin/gjarsigner%{binsuffix}
2104 %{_prefix}/bin/gjavah%{binsuffix}
2105 %{_prefix}/bin/gkeytool%{binsuffix}
2106 %{_prefix}/bin/gnative2ascii%{binsuffix}
2107 %{_prefix}/bin/gorbd%{binsuffix}
2108 %{_prefix}/bin/grmic%{binsuffix}
2109 %{_prefix}/bin/grmid%{binsuffix}
2110 %{_prefix}/bin/grmiregistry%{binsuffix}
2111 %{_prefix}/bin/gserialver%{binsuffix}
2112 %{_prefix}/bin/gtnameserv%{binsuffix}
2113 %doc %{_mandir}/man1/gij%{binsuffix}.1.gz
2114 %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
2115 %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
2116 %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
2117 %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
2118 %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
2119 %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
2120 %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
2121 %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
2122 %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
2123 %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
2124 %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz
2125 %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz
2131 %if 0%{?building_libffi:1}
2132 %files -n libffi@base_ver@
2133 %defattr(-,root,root)
2134 %mainlib libffi.so.*
2136 %if %{separate_biarch}
2137 %files -n libffi@base_ver@%{separate_biarch_suffix}
2138 %defattr(-,root,root)
2139 %biarchlib libffi.so.*
2142 %files -n libffi@base_ver@-devel
2143 %defattr(-,root,root)
2144 %{_prefix}/include/ffi.h
2145 %{_prefix}/include/ffitarget.h
2148 %{_libdir}/pkgconfig/libffi.pc
2149 %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz
2150 %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz
2151 %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz
2153 %if %{separate_biarch}
2154 %files -n libffi@base_ver@-devel%{separate_biarch_suffix}
2155 %defattr(-,root,root)
2156 %biarchlib libffi.so
2161 # GCC-TESTSUITE-DELETE-END
2163 %if 0%{?run_tests:1}
2164 %files -n gcc@base_ver@-testresults
2165 %defattr(-,root,root)
2166 %doc testresults/test_summary.txt
2167 %doc testresults/*.sum
2168 %doc testresults/*.log