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 Source5: README.First-for.SuSE.packagers
160 Source6: baselibs.conf
162 # GCC-TESTSUITE-DELETE-BEGIN
163 # LIBFFI-DELETE-BEGIN
164 # LIBJAVA-DELETE-BEGIN
165 Group: Development/Languages/C and C++
166 Summary: The GNU C Compiler and Support Files
170 Core package for the GNU Compiler Collection, including the C language
173 Language frontends other than C are split to different sub-packages,
174 namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
180 %package -n gcc@base_ver@-32bit
181 Summary: The GNU C Compiler 32bit support
182 Group: Development/Languages/C and C++
183 Requires: gcc@base_ver@ = %{version}-%{release}
184 %if 0%{!?build_optional_compiler:1}
185 Requires: libgcc%{libgcc_s}-32bit >= %{version}-%{release}
186 Requires: libgomp1-32bit >= %{version}-%{release}
187 %if %{build_with_mudflap}
188 Requires: libmudflap0-32bit >= %{version}-%{release}
189 Requires: libmudflapth0-32bit >= %{version}-%{release}
192 Requires: libgcc@base_ver@-32bit = %{version}-%{release}
193 Requires: libgomp@base_ver@-32bit = %{version}-%{release}
195 Requires: glibc-devel-32bit
197 %description -n gcc@base_ver@-32bit
198 This package contains 32bit support for the GNU Compiler Collection.
200 %package -n gcc@base_ver@-64bit
201 Summary: The GNU C Compiler 64bit support
202 Group: Development/Languages/C and C++
203 Requires: gcc@base_ver@ = %{version}-%{release}
204 %if 0%{!?build_optional_compiler:1}
205 Requires: libgcc%{libgcc_s}-64bit >= %{version}-%{release}
206 Requires: libgomp1-64bit >= %{version}-%{release}
207 %if %{build_with_mudflap}
208 Requires: libmudflap0-64bit >= %{version}-%{release}
209 Requires: libmudflapth0-64bit >= %{version}-%{release}
212 Requires: libgcc@base_ver@-64bit = %{version}-%{release}
213 Requires: libgomp@base_ver@-64bit = %{version}-%{release}
215 Requires: glibc-devel-64bit
217 %description -n gcc@base_ver@-64bit
218 This package contains 64bit support for the GNU Compiler Collection.
222 Summary: Locale Data for the GNU Compiler Collection
224 Group: Development/Languages/C and C++
225 Requires: gcc@base_ver@ = %{version}-%{release}
228 Locale data for the GNU Compiler Collection (GCC) to give error message
229 in the current locale.
233 Summary: The GNU C++ Compiler
235 Group: Development/Languages/C and C++
236 Requires: gcc@base_ver@ = %{version}-%{release}
237 Requires: libstdc++@base_ver@-devel = %{version}-%{release}
240 This package contains the GNU compiler for C++.
243 %package -n libstdc++@base_ver@-devel@variant@
244 Summary: Include Files and Libraries mandatory for Development
245 License: GPL-3.0-with-GCC-exception
246 Group: Development/Languages/C and C++
247 %if 0%{!?build_optional_compiler:1}
248 Requires: libstdc++6@variant@ >= %{version}-%{release}
250 Requires: libstdc++@base_ver@@variant@ = %{version}-%{release}
252 Requires: glibc-devel@variant@
254 Requires: libunwind-devel
257 %description -n libstdc++@base_ver@-devel@variant@
258 This package contains all the headers and libraries of the standard C++
259 library. It is needed for compiling C++ code.
262 %package -n libstdc++@base_ver@-doc
263 Summary: Documentation for the GNU C++ standard library
265 Group: Documentation/HTML
268 %description -n libstdc++@base_ver@-doc
269 Extensive HTML documentation for the GNU C++ standard library.
273 %package -n libgcc@base_ver@@variant@
274 Summary: C compiler runtime library
275 License: GPL-3.0-with-GCC-exception
277 %if 0%{!?build_optional_compiler:1}
278 Provides: libgcc%{libgcc_s}@variant@ = %{version}-%{release}
279 Conflicts: libgcc%{libgcc_s}@variant@ < %{version}-%{release}
284 %description -n libgcc@base_ver@@variant@
285 Libgcc is needed for dynamically linked C programs.
287 %post -n libgcc@base_ver@@variant@
290 %postun -n libgcc@base_ver@@variant@
295 %package -n libgomp@base_ver@@variant@
296 Summary: The GNU compiler collection OpenMP runtime library
297 License: GPL-3.0-with-GCC-exception
299 %if 0%{!?build_optional_compiler:1}
300 Provides: libgomp1@variant@ = %{version}-%{release}
301 Conflicts: libgomp1@variant@ < %{version}-%{release}
306 %description -n libgomp@base_ver@@variant@
307 This is the OpenMP runtime library needed by OpenMP enabled programs
308 that were built with the -fopenmp compiler option and by programs that
309 were auto-parallelized via the -ftree-parallelize-loops compiler
313 %post -n libgomp@base_ver@@variant@
316 %postun -n libgomp@base_ver@@variant@
321 %package -n libstdc++@base_ver@@variant@
322 Summary: The standard C++ shared library
323 License: GPL-3.0-with-GCC-exception
324 Group: System/Libraries
325 %if 0%{!?build_optional_compiler:1}
326 Provides: libstdc++6@variant@ = %{version}-%{release}
327 Conflicts: libstdc++6@variant@ < %{version}-%{release}
332 %description -n libstdc++@base_ver@@variant@
333 The standard C++ library, needed for dynamically linked C++ programs.
336 %post -n libstdc++@base_ver@@variant@
339 %postun -n libstdc++@base_ver@@variant@
345 Summary: Documentation for the GNU compiler collection
347 Group: Documentation/Other
351 GNU info-pages for the GNU compiler collection covering both user-level
352 and internals documentation.
356 %package objc@variant@
357 Summary: GNU Objective C Compiler
359 Group: Development/Languages/Other
360 Requires: gcc@base_ver@ = %{version}-%{release}
361 Requires: libobjc2@variant@ >= %{version}-%{release}
363 %description objc@variant@
364 This package contains the GNU Objective C compiler. Objective C is an
365 object oriented language, created by Next Inc. and used in their
366 Nextstep OS. The source code is available in the gcc package.
370 %package -n libobjc@base_ver@@variant@
371 Summary: Library for the GNU Objective C Compiler
372 License: GPL-3.0-with-GCC-exception
373 Group: Development/Libraries/Other
374 Provides: libobjc2@variant@ = %{version}-%{release}
375 Conflicts: libobjc2@variant@ < %{version}-%{release}
377 %description -n libobjc@base_ver@@variant@
378 The library for the GNU Objective C compiler.
380 %post -n libobjc@base_ver@@variant@
383 %postun -n libobjc@base_ver@@variant@
388 Summary: GNU Objective C++ Compiler
390 Group: Development/Languages/Other
391 Requires: gcc@base_ver@-objc = %{version}-%{release}
392 Requires: gcc@base_ver@-c++ = %{version}-%{release}
395 This package contains the GNU Objective C++ compiler. Objective C++ is an
396 object oriented language, created by Next Inc. and used in their
397 Nextstep OS. The source code is available in the gcc package.
400 %package -n cpp@base_ver@
401 Summary: The GCC Preprocessor
403 Group: Development/Languages/C and C++
405 %description -n cpp@base_ver@
406 This Package contains just the preprocessor that is used by the X11
411 %package ada@variant@
412 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
414 Group: Development/Languages/Other
415 Requires: gcc@base_ver@@variant@ = %{version}-%{release}
416 Requires: libada@base_ver@@variant@ = %{version}-%{release}
418 %description ada@variant@
419 This package contains an Ada95 compiler and associated development
420 tools based on the GNU GCC technology. Ada95 is the object oriented
421 successor of the Ada83 language. To build this package from source you
422 must have installed a binary version to bootstrap the compiler.
426 %package -n libada@base_ver@@variant@
427 Summary: GNU Ada Runtime Libraries
428 License: GPL-3.0-with-GCC-exception
429 Group: System/Libraries
430 Provides: libgnarl-4_7@variant@ = %{version}-%{release}
431 Conflicts: libgnarl-4_7@variant@ < %{version}-%{release}
432 Provides: libgnat-4_7@variant@ = %{version}-%{release}
433 Conflicts: libgnat-4_7@variant@ < %{version}-%{release}
435 %description -n libada@base_ver@@variant@
436 This package contains the shared libraries required to run programs
437 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
438 shared libraries. It also contains the shared libraries for the
439 Implementation of the Ada Semantic Interface Specification (ASIS), the
440 implementation of Distributed Systems Programming (GLADE) and the Posix
441 1003.5 Binding (Florist).
443 %post -n libada@base_ver@@variant@
446 %postun -n libada@base_ver@@variant@
451 %package fortran@variant@
452 Summary: The GNU Fortran Compiler and Support Files
454 Group: Development/Languages/Fortran
455 Requires: gcc@base_ver@ = %{version}-%{release}
456 %if 0%{!?build_optional_compiler:1}
457 Requires: libgfortran3@variant@ >= %{version}-%{release}
458 %ifarch %quadmath_arch
459 Requires: libquadmath0@variant@ >= %{version}-%{release}
462 Requires: libgfortran@base_ver@@variant@ = %{version}-%{release}
463 %ifarch %quadmath_arch
464 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
468 %description fortran@variant@
469 This is the Fortran compiler of the GNU Compiler Collection (GCC).
473 %package -n libgfortran@base_ver@@variant@
474 Summary: The GNU Fortran Compiler Runtime Library
475 License: GPL-3.0-with-GCC-exception
476 Group: Development/Languages/Fortran
477 %if 0%{!?build_optional_compiler:1}
478 Provides: libgfortran3@variant@ = %{version}-%{release}
479 Conflicts: libgfortran3@variant@ < %{version}-%{release}
480 %ifarch %quadmath_arch
481 Requires: libquadmath0@variant@ >= %{version}-%{release}
484 %ifarch %quadmath_arch
485 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
490 %description -n libgfortran@base_ver@@variant@
491 The runtime library needed to run programs compiled with the Fortran compiler
492 of the GNU Compiler Collection (GCC).
494 %post -n libgfortran@base_ver@@variant@
497 %postun -n libgfortran@base_ver@@variant@
502 %package -n libquadmath@base_ver@@variant@
503 Summary: The GNU Fortran Compiler Quadmath Runtime Library
505 Group: Development/Languages/Fortran
506 %if 0%{!?build_optional_compiler:1}
507 Provides: libquadmath0@variant@ = %{version}-%{release}
508 Conflicts: libquadmath0@variant@ < %{version}-%{release}
513 %description -n libquadmath@base_ver@@variant@
514 The runtime library needed to run programs compiled with the Fortran compiler
515 of the GNU Compiler Collection (GCC) and quadruple precision floating point
518 %post -n libquadmath@base_ver@@variant@
521 %postun -n libquadmath@base_ver@@variant@
526 %package -n libmudflap@base_ver@@variant@
527 Summary: The Mudflap Extension Runtime Library
528 License: GPL-3.0-with-GCC-exception
529 Group: Development/Languages/C and C++
530 Provides: libmudflap0@variant@ = %{version}-%{release}
531 Conflicts: libmudflap0@variant@ < %{version}-%{release}
532 Provides: libmudflapth0@variant@ = %{version}-%{release}
533 Conflicts: libmudflapth0@variant@ < %{version}-%{release}
535 %description -n libmudflap@base_ver@@variant@
536 This is the Mudflap Extension Runtime Library.
538 %post -n libmudflap@base_ver@@variant@
541 %postun -n libmudflap@base_ver@@variant@
546 %package -n libgcj@base_ver@
548 Summary: Java Runtime Library for gcc
549 License: GPL-2.0-with-classpath-exception
550 Group: System/Libraries
552 Provides: libgcj%{gcj_sover} = %{version}-%{release}
553 Conflicts: libgcj%{gcj_sover} < %{version}-%{release}
554 Provides: libgij%{gcj_sover} = %{version}-%{release}
555 Conflicts: libgij%{gcj_sover} < %{version}-%{release}
556 Provides: libgcj-tools%{gcj_sover} = %{version}-%{release}
557 Conflicts: libgcj-tools%{gcj_sover} < %{version}-%{release}
559 %description -n libgcj@base_ver@
560 This library is needed if you want to use the GNU Java compiler, gcj.
561 Source code for this package is in gcc.
563 %post -n libgcj@base_ver@
566 %postun -n libgcj@base_ver@
570 %package -n gcc@base_ver@-java
571 Summary: The GNU Java Compiler
573 Group: Development/Languages/Java
574 Requires: gcc@base_ver@ = %{version}
575 Requires: libgcj@base_ver@-devel = %{version}-%{release}
577 %description -n gcc@base_ver@-java
578 The Java compiler from the GCC-tools-suite.
581 %package -n libgcj_bc@base_ver@
582 Summary: Fake library for BC-ABI compatibility.
583 License: GPL-2.0-with-classpath-exception
584 Group: Development/Libraries/Java
585 Provides: libgcj_bc1 = %{version}-%{release}
586 Conflicts: libgcj_bc1 < %{version}-%{release}
587 # libgcj_bc is special in that it just contains a symlink to
588 # a proper libgcj version. So require that library and add
589 # provides for the shlib version as created at link time
590 Requires: libgcj%{gcj_sover}
592 Provides: libgcj_bc.so.1()(64bit)
594 Provides: libgcj_bc.so.1
598 %description -n libgcj_bc@base_ver@
599 A fake library that is used at link time only. It ensures that
600 binaries built with the BC-ABI link against a constant SONAME.
601 This way, BC-ABI binaries continue to work if the SONAME underlying
605 %package -n libgcj@base_ver@-jar
606 Summary: Java runtime library (jar files).
607 License: GPL-2.0-with-classpath-exception
608 Group: Development/Libraries/Java
610 %description -n libgcj@base_ver@-jar
611 These are the jar files that go along with the gcj front end to gcc.
614 %package -n libgcj@base_ver@-devel
615 Summary: Include Files and Libraries mandatory for Development.
616 License: GPL-2.0-with-classpath-exception
617 Group: Development/Libraries/Java
618 Requires: libstdc++@base_ver@-devel = %{version}
619 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
620 Requires: libgcj_bc1 >= %{version}-%{release}
621 Requires: libgcj@base_ver@-jar = %{version}-%{release}
623 Requires: libart_lgpl-devel
624 Requires: glibc-devel
627 Requires: libunwind-devel
630 %description -n libgcj@base_ver@-devel
631 This package contains all necessary include files and libraries needed
632 to develop applications that require these.
635 %package -n gcc@base_ver@-gij
636 Summary: Java Bytecode Interpreter for gcc
637 License: GPL-2.0-with-classpath-exception
638 Group: Development/Libraries/Java
639 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
641 %description -n gcc@base_ver@-gij
642 This package contains the java bytecode interpreter gij and related tools.
646 %package -n libffi@base_ver@@variant@
647 Summary: Foreign Function Interface library
648 License: BSD-3-Clause
649 Group: Development/Languages/C and C++
650 Provides: g-wrap:/usr/lib/libffi.so.4
651 Provides: libffi4@variant@ = %{version}-%{release}
652 Conflicts: libffi4@variant@ < %{version}-%{release}
654 %description -n libffi@base_ver@@variant@
655 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.
657 %post -n libffi@base_ver@@variant@
660 %postun -n libffi@base_ver@@variant@
665 %package -n libffi@base_ver@-devel@variant@
666 Summary: Foreign Function Interface library development files
667 License: BSD 3-Clause
668 Group: Development/Languages/C and C++
669 Requires: libffi4@variant@ >= %{version}-%{release}
670 Provides: libffi-devel@variant@ = %{version}-%{release}
671 Conflicts: libffi-devel@variant@ < %{version}-%{release}
673 %description -n libffi@base_ver@-devel@variant@
674 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.
677 %package -n gcc@base_ver@-testresults
678 # GCC-TESTSUITE-DELETE-END
679 Summary: Testsuite results
680 License: SUSE-Public-Domain
681 Group: Development/Languages/C and C++
683 %description -n gcc@base_ver@-testresults
684 Results from running the gcc and target library testsuites.
689 # Define the canonical target and host architecture
690 # %gcc_target_arch is supposed to be the full target triple
691 # %TARGET_ARCH is the canonicalized CPU part
692 # %CONFIGURE_TARGET is the target triple used for --target=
693 %if 0%{?gcc_target_arch:1}
694 %define CONFIGURE_TARGET %{gcc_target_arch}
695 %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/;")
696 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
697 %define CONFIGURE_TARGET i586-tizen-linux
699 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
700 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
702 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
703 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
705 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7el"
706 %define CONFIGURE_TARGET armv7el-tizen-linux-gnueabi
708 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el"
709 %define CONFIGURE_TARGET armv5el-tizen-linux-gnueabi
712 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
714 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
716 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
719 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
721 %define GCCDIST %{HOST_ARCH}-tizen-linux
724 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
725 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
729 # Versionspecific directories
730 %define versmainlibdir %{libsubdir}
731 %define versmainlibdirbi32 %{libsubdir}/32
732 %define versmainlibdirbi64 %{libsubdir}/64
733 %if %{build_primary_64bit}
734 %define versmainlibdirbi %{versmainlibdirbi32}
736 %define versmainlibdirbi %{versmainlibdirbi64}
739 %if 0%{?build_optional_compiler:1}
740 %define mainlibdir %{versmainlibdir}
741 %define mainlibdirbi32 %{versmainlibdirbi32}
742 %define mainlibdirbi64 %{versmainlibdirbi64}
743 %define noflibdir %{versnoflibdir}
744 %define mainlibdirbi %{versmainlibdirbi}
746 %define mainlibdir %{_libdir}
747 %define mainlibdirbi32 %{_prefix}/lib
748 %define mainlibdirbi64 %{_prefix}/lib64
749 %define noflibdir %{_prefix}/lib/nof
750 %if %{build_primary_64bit}
751 %define mainlibdirbi %{mainlibdirbi32}
753 %define mainlibdirbi %{mainlibdirbi64}
758 # Now define a few macros that make it easy to package libs and
759 # related files just to the right package, without caring for the
760 # exact path the files are in.
761 # %mainlib package X from all dirs that belong to the main package
762 # %biarchlib package X from all dirs that belong to the -32/64bit package
763 # by default, nof libs go where the 32bit libs go.
765 %define mainlib() %{mainlibdir}/%1\
769 %define mainlib() %{mainlibdir}/%1\
772 %define biarchlib() %{nil}
774 %if !%{separate_biarch}
776 %define mainlib() %{mainlibdir}/%1\
781 %define mainlib() %{mainlibdir}/%1\
787 %define biarchlib() %{mainlibdirbi}/%1\
790 %define mainlib() %{mainlibdir}/%1\
793 %define biarchlib() %{mainlibdirbi}/%1\
800 %define versmainlib() %{versmainlibdir}/%1\
804 %define versmainlib() %{versmainlibdir}/%1\
807 %define versbiarchlib() %{nil}
809 %if !%{separate_biarch}
811 %define versmainlib() %{versmainlibdir}/%1\
812 %{versmainlibdirbi}/%1\
816 %define versmainlib() %{versmainlibdir}/%1\
817 %{versmainlibdirbi}/%1\
822 %define versbiarchlib() %{versmainlibdirbi}/%1\
825 %define versmainlib() %{versmainlibdir}/%1\
828 %define versbiarchlib() %{versmainlibdirbi}/%1\
838 %setup -q -n gcc-%{gcc_version}%{snapshot_date}
841 # Avoid rebuilding of generated files
842 contrib/gcc_update --touch
843 # Avoid fucking up testsuite results with Java and indirect dispatch
844 export LD_AS_NEEDED=0
845 # Split version file into version used for directories (X.Y) and
846 # version to report with --version (X.Y.Z).
847 # See also gcc-dir-version.patch.
848 # Also decrement the patchlevel version by one
849 if test `cat gcc/DEV-PHASE` == "prerelease"; then
850 ( 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
852 mv gcc/BASE-VER gcc/FULL-VER
854 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
856 rm -rf obj-%{GCCDIST}
859 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
860 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'`
862 # -mcpu is superceded by -mtune but -mtune is not supported by
863 # our bootstrap compiler. -mcpu gives a warning that stops
864 # the build process, so remove it for now. Also remove all other
865 # -march and -mtune flags. They are superseeded by proper
866 # default compiler settings now.
867 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'`
869 %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
870 # Kill all -march/tune/cpu because that screws building the target libs
871 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
873 # Replace 2 spaces by one finally
874 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
878 languages=$languages,c++
881 languages=$languages,objc
884 languages=$languages,fortran
887 languages=$languages,obj-c++
890 languages=$languages,java
893 languages=$languages,ada
897 if test -z "$J"; then
898 J=$(getconf _NPROCESSORS_CONF)
901 test 1 -gt "$J" && J=1
902 JL=$(($(getconf _NPROCESSORS_CONF)*2))
904 if test "$J" == "0"; then
907 if test "$JL" == "0"; then
910 PARALLEL="-j$J -l$JL"
912 # we don't want some miscompiles in the testsuite, or some fault in
913 # the compiler to kill the machine. Hence we limit the amount of memory
914 # by the physical RAM plus half of swap
915 #MEM=$(free -m | awk '/^Mem:/ {print $2}')
916 #SWAP=$(free -m | awk '/^Swap:/ {print $2}')
917 #ulimit -v $(((MEM + SWAP/2)*1024))
919 # In general we want to ship release checking enabled compilers
920 # and run BETA with checking enabled.
921 #ENABLE_CHECKING="--enable-checking=yes"
922 ENABLE_CHECKING="--enable-checking=release"
924 # Work around tail/head -1 changes
925 export _POSIX2_VERSION=199209
927 # configure tries to parse include/features.h to detect
928 # if glibc supports SSP. When cross compiling we would need
929 # to install a cross glibc, which we don't, or make the whole
930 # thing point to the native glibc, which is in /, hence the
934 # Using the host gnatmake like
935 # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
936 # GNATMAKE="gnatmake%{hostsuffix}"
937 # doesn't work due to PR33857, so an un-suffixed gnatmake has to be
939 mkdir -p host-tools/bin
940 cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
941 cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
942 cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
943 cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
944 ln -sf /usr/%{_lib} host-tools/%{_lib}
945 export PATH="`pwd`/host-tools/bin:$PATH"
947 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
949 # --enable-threads=posix \
952 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
953 TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \
955 --prefix=%{_prefix} \
956 --infodir=%{_infodir} \
957 --mandir=%{_mandir} \
958 --libdir=%{_libdir} \
959 --libexecdir=%{_libdir} \
960 --enable-languages=$languages \
962 --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
967 --disable-bootstrap \
970 --with-bugurl="http://bugs.tizen.org/" \
971 --with-pkgversion="Tizen Linux" \
972 %if !%{build_libjava}
975 --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
976 --with-ecj-jar=%{libsubdir}/ecj.jar \
978 %if !%{biarch_libjava}
979 --disable-libjava-multilib \
982 %if !%{build_with_mudflap}
983 --disable-libmudflap \
985 --with-slibdir=/%{_lib} \
987 --enable-__cxa_atexit \
988 --enable-libstdcxx-allocator=new \
989 --disable-libstdcxx-pch \
990 --enable-version-specific-runtime-libs \
991 --enable-linker-build-id \
992 %if 0%{?gcc_target_arch:1}
993 %if 0%{?gcc_icecream:1}
994 --with-build-sysroot=/ \
995 --with-sysroot=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi} \
996 --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/usr/include/c++/%{gcc_dir_version} \
997 --enable-linux-futex \
999 %if 0%{?canonical_target:1}
1000 --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
1002 %if 0%{?build_static:1}
1005 %if "%{TARGET_ARCH}" == "spu"
1006 --with-sysroot=/usr/spu \
1007 --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \
1011 --target=%{CONFIGURE_TARGET} \
1013 --program-suffix=%{binsuffix} \
1014 --enable-linux-futex \
1016 --with-system-libunwind \
1018 --without-system-libunwind \
1021 %if "%{TARGET_ARCH}" == "armv5tel"
1022 --with-arch=armv5te \
1025 --with-abi=aapcs-linux \
1026 --disable-sjlj-exceptions \
1028 %if "%{TARGET_ARCH}" == "armv7el"
1029 --with-arch=armv7-a \
1030 --with-tune=cortex-a9 \
1034 --disable-sjlj-exceptions \
1036 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
1037 --with-arch=armv7-a \
1038 --with-tune=cortex-a9 \
1040 --with-abi=aapcs-linux \
1041 --with-fpu=vfpv3-d16 \
1042 --disable-sjlj-exceptions \
1044 %if "%{TARGET_ARCH}" == "i586"
1045 --with-arch-32=i586 \
1046 --with-tune=generic \
1048 %if "%{TARGET_ARCH}" == "x86_64"
1049 --with-arch-32=i586 \
1050 --with-tune=generic \
1056 %if 0%{?building_libffi:1}
1057 make stage1-bubble $PARALLEL
1058 make all-target-libffi $PARALLEL
1060 # Only run profiled bootstrap on archs where it works
1061 #%ifarch %ix86 x86_64 ppc ppc64 ia64
1062 #make profiledbootstrap-lean STAGE1_CFLAGS="-O -g" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1067 STAGE1_FLAGS="-O -g"
1069 #make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1070 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1074 %if 0%{?run_tests:1}
1075 echo "Run testsuite"
1076 (make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1077 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1078 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1079 make -k check $PARALLEL || true
1080 mkdir ../testresults
1081 ../contrib/test_summary | tee ../testresults/test_summary.txt
1086 export NO_BRP_CHECK_BYTECODE_VERSION=true
1088 # GCC-TESTSUITE-DELETE-BEGIN
1089 # Work around tail/head -1 changes
1090 export _POSIX2_VERSION=199209
1091 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi}
1092 %if 0%{?building_libffi:1}
1093 make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
1095 %if 0%{?building_libjava:1}
1096 make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
1097 make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
1098 make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
1099 make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
1100 # install-common also installs collect2, gcov and the g++ and gfortran driver
1102 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1104 %if %{build_fortran}
1105 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1107 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1108 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1110 make install DESTDIR=$RPM_BUILD_ROOT
1112 make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
1113 make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT
1114 rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
1115 rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
1116 rm $RPM_BUILD_ROOT%{libsubdir}/jc1
1117 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
1122 # Remove libffi installed files if we did not want to build it
1123 %if !0%{?building_libffi:1}
1124 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.*
1126 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
1128 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h
1129 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h
1130 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3*
1131 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3*
1132 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3*
1135 # Remove some useless .la files
1136 for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \
1137 libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij; do
1138 rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la
1140 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1144 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1146 %if %{build_primary_64bit}
1147 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1149 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1153 # LIBFFI-DELETE-BEGIN
1154 # LIBJAVA-DELETE-BEGIN
1156 # Merge multilib c++config.h to allow omitting the duplicate and
1157 # identical other arch specific headers
1159 cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1160 for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1161 if ! diff -up $cxxconfig $i; then
1176 if ! ( test -f "$file_32" && test -f "$file_64" ); then
1181 cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1182 #ifndef _CPP_CPPCONFIG_WRAPPER
1183 #define _CPP_CPPCONFIG_WRAPPER 1
1184 #include <bits/wordsize.h>
1185 #if __WORDSIZE == 32
1195 rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1196 if ! test -z "$dir_ml"; then
1197 ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1200 # LIBJAVA-DELETE-END
1202 %if 0%{!?build_optional_compiler:1}
1203 # move shared libs from versionspecific dir to main libdir
1205 %if 0%{?building_libjava:1}
1206 libgcj libgij libgcj-tools \
1208 %if %{build_fortran}
1210 %ifarch %quadmath_arch
1221 %if %{build_with_mudflap}
1222 libmudflap libmudflapth \
1226 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1227 mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1229 ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1230 $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
1232 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1233 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1234 mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/
1236 ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1237 $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1242 %if !0%{?building_libjava:1}
1243 # And we want to move the shlib gdb pretty printers to a more sane
1244 # place so ldconfig does not complain
1245 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
1246 mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
1247 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py
1249 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1250 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
1251 mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1252 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1257 %if 0%{?building_libjava:1}
1258 # libgcj_bc is special as the .so file is actually a different
1259 # library as the library refered to by the SONAME which should
1260 # be a simple link to our libgcj.
1261 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do
1264 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.1
1265 %if %{biarch_libjava}
1266 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do
1269 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.1
1274 # LIBJAVA-DELETE-BEGIN
1275 %if 0%{!?build_optional_compiler:1}
1276 # Move libgcc_s around
1277 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1278 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1279 ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1281 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1283 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
1285 %if %{build_primary_64bit}
1286 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1287 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1288 ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1290 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1292 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1293 chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
1295 # 32-bit biarch systems
1296 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1297 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1298 ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1300 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1302 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1303 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1307 # Move libgcc_s around
1308 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/
1309 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1310 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1311 ln -sf %{versmainlibdir}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1313 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1315 chmod a+x $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
1317 %if %{build_primary_64bit}
1318 mv $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1319 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1320 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1321 ln -sf %{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1323 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1325 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1326 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
1328 # 32-bit biarch systems
1329 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1330 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1331 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1332 ln -sf %{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1334 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1336 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1337 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
1342 # Provide a defaults.spec file which adds a proper rpath
1343 %if 0%{?build_optional_compiler:1}
1344 cat > $RPM_BUILD_ROOT%{libsubdir}/defaults.spec << EOF
1346 + %%{!m32:%%{!m64:-rpath=%{libsubdir}}} %%{m32:-rpath=%{libsubdir}/32} %%{m64:-rpath=%{libsubdir}/64}
1349 # LIBJAVA-DELETE-END
1353 mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir}
1354 ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so
1355 ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so
1356 chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
1358 mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
1359 ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1360 ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1361 chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
1365 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1367 # Remove some crap from the .la files:
1368 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
1370 # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g'
1371 sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1372 -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1373 -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1374 -e '/^dependency_libs/s|-L[^ ]* ||g' \
1376 %if %{build_primary_64bit}
1377 -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1378 -e '/^libdir/s|lib64/\.\./||' \
1380 -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1387 # GCC-TESTSUITE-DELETE-END
1388 %if 0%{?run_tests:1}
1389 cp `find . -name "*.sum"` ../testresults/
1390 cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
1391 chmod 644 ../testresults/*
1393 # GCC-TESTSUITE-DELETE-BEGIN
1394 # LIBFFI-DELETE-BEGIN
1396 # Find C++ and Java headers
1397 find $RPM_BUILD_ROOT%{_prefix}/include/c++ \
1398 -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \
1399 -o \( -type d -printf "%%%%dir " , \
1400 -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers
1403 # Remove files that we do not need to clean up filelist
1404 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-*
1405 rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools
1406 #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
1407 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root
1408 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h
1409 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-*
1410 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux
1411 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound
1412 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h
1413 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h
1414 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h
1415 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h
1416 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11
1417 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1418 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h
1419 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h
1420 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h
1421 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1422 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys
1424 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1425 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
1426 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix}
1428 %if !0%{?building_libjava:1}%{?building_libffi:1}
1429 # delete compile flag tracking from crt files
1430 crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o
1432 %if %{build_primary_64bit}
1433 crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o
1435 crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o
1438 for o in $crt_list $crt32_list $crt64_list; do
1439 objcopy -R ".comment.SUSE.OPTs" $o
1443 %if 0%{?building_libjava:1}
1444 # gcj -static doesn't work properly anyway, unless using --whole-archive
1445 # let's save the space instead.
1446 find $RPM_BUILD_ROOT -name libgcj.a \
1447 -o -name libgcj-tools.a \
1450 -o -name libgcj_bc.a \
1453 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
1454 sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
1456 # security files have broken install locations, also they cause conflicts
1457 # between libgcj versions. Simply delete them here, libgcj will use its
1458 # defaults in this case (which is what these files contain anyway).
1459 rm $RPM_BUILD_ROOT%{_libdir}/logging.properties
1460 rm -r $RPM_BUILD_ROOT%{_libdir}/security
1463 %if 0%{?building_libffi:1}
1464 # Move libffi headers, remove empty libffi libtool file
1465 mkdir -p $RPM_BUILD_ROOT%{_prefix}/include
1466 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/
1467 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/
1468 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la
1470 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
1472 # Generate a simple pkg-config file
1473 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
1474 echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc
1478 %if !%{build_libjava}
1479 rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
1480 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
1481 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
1482 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
1483 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1
1484 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1
1485 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1
1487 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py
1488 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py
1490 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
1491 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
1492 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
1493 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
1495 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/nof/libiberty.a
1498 %if %{build_primary_64bit}
1499 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
1501 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
1504 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
1505 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
1507 # LIBFFI-DELETE-BEGIN
1508 %if 0%{?building_libjava:1}
1509 # For building libjava only we need to delete other info docs
1510 rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
1511 # Remove stale manpages for binaries we do not build
1512 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1
1513 # For building the java frontend we need to copy the ecj jar
1514 mkdir -p $RPM_BUILD_ROOT%{libsubdir}
1515 cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
1517 # For regular build, some info files do not get renamed properly.
1519 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
1520 %if %{build_fortran}
1521 %ifarch %quadmath_arch
1522 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
1526 mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info
1527 mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info
1528 mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info
1532 # LIBJAVA-DELETE-BEGIN
1534 %find_lang gcc@base_ver@-locale --all-name
1537 %install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1538 %install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1539 %install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1540 %install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1541 %install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1542 %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1543 %if %{build_fortran}
1544 %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1545 %ifarch %quadmath_arch
1546 %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1550 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1553 %install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1554 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1555 %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
1559 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1560 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1561 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1562 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1563 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1564 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1565 %if %{build_fortran}
1566 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1567 %ifarch %quadmath_arch
1568 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1572 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1575 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1576 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1577 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
1582 %defattr(-,root,root)
1584 %dir %{_libdir}/gcc/%{GCCDIST}
1586 %dir %{libsubdir}/include
1587 %dir %{libsubdir}/include-fixed
1589 %if %{build_primary_64bit}
1590 %dir %{libsubdir}/32
1592 %dir %{libsubdir}/64
1596 %dir %{libsubdir}/nof
1598 %{_prefix}/bin/gcc%{binsuffix}
1599 %{_prefix}/bin/gcov%{binsuffix}
1600 %{_prefix}/bin/gcc-ar%{binsuffix}
1601 %{_prefix}/bin/gcc-nm%{binsuffix}
1602 %{_prefix}/bin/gcc-ranlib%{binsuffix}
1603 %{libsubdir}/collect2
1605 %{libsubdir}/lto-wrapper
1606 %{libsubdir}/liblto_plugin.so*
1607 %{libsubdir}/include-fixed/README
1608 %{libsubdir}/include-fixed/limits.h
1609 %{libsubdir}/include-fixed/syslimits.h
1610 %{libsubdir}/include/omp.h
1611 %{libsubdir}/include/float.h
1612 %{libsubdir}/include/iso646.h
1613 %{libsubdir}/include/stdarg.h
1614 %{libsubdir}/include/stdbool.h
1615 %{libsubdir}/include/stdfix.h
1616 %{libsubdir}/include/stddef.h
1617 %{libsubdir}/include/uchar.h
1618 %{libsubdir}/include/unwind.h
1619 %{libsubdir}/include/varargs.h
1620 %{libsubdir}/include/stdint.h
1621 %{libsubdir}/include/stdint-gcc.h
1622 %{libsubdir}/include/stdnoreturn.h
1623 %{libsubdir}/include/stdalign.h
1625 %{libsubdir}/include/mmintrin.h
1626 %{libsubdir}/include/arm_neon.h
1627 %{libsubdir}/include/unwind-arm-common.h
1629 %ifarch %ix86 x86_64
1630 %{libsubdir}/include/cross-stdarg.h
1631 %{libsubdir}/include/cpuid.h
1632 %{libsubdir}/include/mm3dnow.h
1633 %{libsubdir}/include/mmintrin.h
1634 %{libsubdir}/include/ammintrin.h
1635 %{libsubdir}/include/bmmintrin.h
1636 %{libsubdir}/include/emmintrin.h
1637 %{libsubdir}/include/immintrin.h
1638 %{libsubdir}/include/avxintrin.h
1639 %{libsubdir}/include/pmmintrin.h
1640 %{libsubdir}/include/xmmintrin.h
1641 %{libsubdir}/include/tmmintrin.h
1642 %{libsubdir}/include/nmmintrin.h
1643 %{libsubdir}/include/smmintrin.h
1644 %{libsubdir}/include/wmmintrin.h
1645 %{libsubdir}/include/x86intrin.h
1646 %{libsubdir}/include/ia32intrin.h
1647 %{libsubdir}/include/mm_malloc.h
1648 %{libsubdir}/include/fma4intrin.h
1649 %{libsubdir}/include/xopintrin.h
1650 %{libsubdir}/include/lwpintrin.h
1651 %{libsubdir}/include/popcntintrin.h
1652 %{libsubdir}/include/bmiintrin.h
1653 %{libsubdir}/include/tbmintrin.h
1654 %{libsubdir}/include/avx2intrin.h
1655 %{libsubdir}/include/bmi2intrin.h
1656 %{libsubdir}/include/fmaintrin.h
1657 %{libsubdir}/include/lzcntintrin.h
1658 %{libsubdir}/include/f16cintrin.h
1660 %if %{build_with_mudflap}
1661 %{libsubdir}/include/mf-runtime.h
1663 %versmainlib *crt*.o
1664 %versmainlib libgcc*.a
1665 %versmainlib libgcov.a
1666 %versmainlib libgcc_s*.so
1667 %if %{build_with_mudflap}
1668 %versmainlib libmudflap.a
1669 %versmainlib libmudflap.so
1670 %versmainlib libmudflapth.a
1671 %versmainlib libmudflapth.so
1673 %versmainlib libgomp.so
1674 %versmainlib libgomp.a
1675 %versmainlib libgomp.spec
1676 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
1677 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
1678 %if 0%{?build_optional_compiler:1}
1679 %{libsubdir}/defaults.spec
1682 %if %{separate_biarch}
1683 %files -n gcc@base_ver@%{separate_biarch_suffix}
1684 %defattr(-,root,root)
1685 %versbiarchlib *crt*.o
1686 %versbiarchlib libgcc*.a
1687 %versbiarchlib libgcov.a
1688 %versbiarchlib libgcc_s*.so
1689 %if %{build_with_mudflap}
1690 %versbiarchlib libmudflap.a
1691 %versbiarchlib libmudflap.so
1692 %versbiarchlib libmudflapth.a
1693 %versbiarchlib libmudflapth.so
1695 %versbiarchlib libgomp.so
1696 %versbiarchlib libgomp.a
1697 %versbiarchlib libgomp.spec
1700 %files locale -f gcc@base_ver@-locale.lang
1704 %defattr(-,root,root)
1706 %dir %{_libdir}/gcc/%{GCCDIST}
1708 %{_prefix}/bin/g++%{binsuffix}
1709 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
1710 %{libsubdir}/cc1plus
1712 %files -n libstdc++@base_ver@
1713 %defattr(-,root,root)
1717 %mainlib libstdc++.so.*
1719 %if %{separate_biarch}
1720 %files -n libstdc++@base_ver@%{separate_biarch_suffix}
1721 %defattr(-,root,root)
1722 %biarchlib libstdc++.so.*
1725 %files -n libstdc++@base_ver@-devel -f c++-headers
1726 %defattr(-,root,root)
1727 %versmainlib libstdc++.a
1728 %versmainlib libstdc++.so
1729 %versmainlib libsupc++.a
1730 %dir %{_datadir}/gdb
1731 %dir %{_datadir}/gdb/auto-load
1732 %dir %{_datadir}/gdb/auto-load%{_prefix}
1733 %dir %{_datadir}/gdb/auto-load/%{mainlibdir}
1734 %{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
1735 %{_datadir}/gcc%{binsuffix}
1737 %if %{separate_biarch}
1738 %files -n libstdc++@base_ver@-devel%{separate_biarch_suffix}
1739 %defattr(-,root,root)
1740 %versbiarchlib libstdc++.a
1741 %versbiarchlib libstdc++.so
1742 %versbiarchlib libsupc++.a
1743 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
1744 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
1747 %files -n libstdc++@base_ver@-doc
1748 %defattr(-,root,root)
1749 %doc libstdc++-v3/doc/html
1752 %files -n libgcc@base_ver@
1753 %defattr(-,root,root)
1754 %if 0%{!?build_optional_compiler:1}
1755 /%{_lib}/libgcc_s.so.%{libgcc_s}
1758 /lib/nof/libgcc_s.so.%{libgcc_s}
1761 %if %{build_primary_64bit}
1762 %if !%{separate_bi32}
1763 /lib/libgcc_s.so.%{libgcc_s}
1766 %if !%{separate_bi64}
1767 /lib64/libgcc_s.so.%{libgcc_s}
1772 %versmainlib libgcc_s.so.%{libgcc_s}
1775 %if %{separate_bi64}
1776 %files -n libgcc@base_ver@-64bit
1777 %defattr(-,root,root)
1778 %if 0%{!?build_optional_compiler:1}
1779 /lib64/libgcc_s.so.%{libgcc_s}
1781 %versbiarchlib libgcc_s.so.%{libgcc_s}
1785 %if %{separate_bi32}
1786 %files -n libgcc@base_ver@-32bit
1787 %defattr(-,root,root)
1788 %if 0%{!?build_optional_compiler:1}
1789 /lib/libgcc_s.so.%{libgcc_s}
1791 %versbiarchlib libgcc_s.so.%{libgcc_s}
1796 %files -n libgomp@base_ver@
1797 %defattr(-,root,root)
1798 %mainlib libgomp.so.1*
1800 %if %{separate_biarch}
1801 %files -n libgomp@base_ver@%{separate_biarch_suffix}
1802 %defattr(-,root,root)
1803 %biarchlib libgomp.so.1*
1807 %if %{build_fortran}
1809 %defattr(-,root,root)
1810 %dir %{libsubdir}/finclude
1811 %{_prefix}/bin/gfortran%{binsuffix}
1813 %{libsubdir}/finclude/*
1814 %versmainlib libgfortran.a
1815 %versmainlib libgfortran.so
1816 %versmainlib libgfortran.spec
1817 %versmainlib libgfortranbegin.a
1818 %versmainlib libcaf_single.a
1819 %ifarch %quadmath_arch
1820 %{libsubdir}/include/quadmath.h
1821 %{libsubdir}/include/quadmath_weak.h
1822 %versmainlib libquadmath.a
1823 %versmainlib libquadmath.so
1825 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
1827 %if %{separate_biarch}
1828 %files fortran%{separate_biarch_suffix}
1829 %defattr(-,root,root)
1830 %versbiarchlib libgfortran.a
1831 %versbiarchlib libgfortran.so
1832 %versbiarchlib libgfortran.spec
1833 %versbiarchlib libgfortranbegin.a
1834 %versbiarchlib libcaf_single.a
1835 %ifarch %quadmath_arch
1836 %versbiarchlib libquadmath.a
1837 %versbiarchlib libquadmath.so
1841 %files -n libgfortran@base_ver@
1842 %defattr(-,root,root)
1843 %mainlib libgfortran.so.*
1845 %if %{separate_biarch}
1846 %files -n libgfortran@base_ver@%{separate_biarch_suffix}
1847 %defattr(-,root,root)
1848 %biarchlib libgfortran.so.*
1851 %ifarch %quadmath_arch
1852 %files -n libquadmath@base_ver@
1853 %defattr(-,root,root)
1854 %mainlib libquadmath.so.*
1856 %if %{separate_biarch}
1857 %files -n libquadmath@base_ver@%{separate_biarch_suffix}
1858 %defattr(-,root,root)
1859 %biarchlib libquadmath.so.*
1864 %if %{build_with_mudflap}
1865 %files -n libmudflap@base_ver@
1866 %defattr(-,root,root)
1867 %mainlib libmudflap.so.0*
1868 %mainlib libmudflapth.so.0*
1870 %if %{separate_biarch}
1871 %files -n libmudflap@base_ver@%{separate_biarch_suffix}
1872 %defattr(-,root,root)
1873 %biarchlib libmudflap.so.0*
1874 %biarchlib libmudflapth.so.0*
1879 %defattr(-,root,root)
1880 %doc %{_infodir}/cpp%{binsuffix}.info*.gz
1881 %doc %{_infodir}/cppinternals%{binsuffix}.info*.gz
1882 %doc %{_infodir}/gcc%{binsuffix}.info*.gz
1883 %doc %{_infodir}/gccint%{binsuffix}.info*.gz
1884 %doc %{_infodir}/gccinstall%{binsuffix}.info*.gz
1885 %doc %{_infodir}/libgomp%{binsuffix}.info*.gz
1886 %if %{build_fortran}
1887 %doc %{_infodir}/gfortran%{binsuffix}.info*.gz
1888 %ifarch %quadmath_arch
1889 %doc %{_infodir}/libquadmath%{binsuffix}.info*.gz
1893 %doc %{_infodir}/gcj%{binsuffix}.info*.gz
1896 %doc %{_infodir}/gnat-style%{binsuffix}.info*gz
1897 %doc %{_infodir}/gnat_rm%{binsuffix}.info*gz
1898 %doc %{_infodir}/gnat_ugn%{binsuffix}.info*gz
1901 %files -n cpp@base_ver@
1902 %defattr(-,root,root)
1904 %dir %{_libdir}/gcc/%{GCCDIST}
1906 %{_prefix}/bin/cpp%{binsuffix}
1909 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
1913 %defattr(-,root,root)
1915 %{libsubdir}/include/objc
1916 %versmainlib libobjc.a
1917 %versmainlib libobjc.so
1919 %if %{separate_biarch}
1920 %files objc%{separate_biarch_suffix}
1921 %defattr(-,root,root)
1922 %versbiarchlib libobjc.a
1923 %versbiarchlib libobjc.so
1926 %files -n libobjc@base_ver@
1927 %defattr(-,root,root)
1928 %mainlib libobjc.so.*
1930 %if %{separate_biarch}
1931 %files -n libobjc@base_ver@%{separate_biarch_suffix}
1932 %defattr(-,root,root)
1933 %biarchlib libobjc.so.*
1940 %defattr(-,root,root)
1941 %{libsubdir}/cc1objplus
1947 %defattr(-,root,root)
1949 %dir %{_libdir}/gcc/%{GCCDIST}
1951 %{_prefix}/bin/gnat*
1952 %dir %{versmainlibdir}/adainclude
1953 %dir %{versmainlibdir}/adalib
1954 %{versmainlibdir}/adainclude
1955 %{versmainlibdir}/adalib/*.ali
1956 %{versmainlibdir}/adalib/*.a
1957 %{versmainlibdir}/adalib/libgnarl.so
1958 %{versmainlibdir}/adalib/libgnat.so
1959 %{versmainlibdir}/gnat1
1961 %if %{separate_biarch}
1962 %files ada%{separate_biarch_suffix}
1963 %defattr(-,root,root)
1964 %dir %{versmainlibdirbi}/adainclude
1965 %dir %{versmainlibdirbi}/adalib
1966 %{versmainlibdirbi}/adainclude
1967 %{versmainlibdirbi}/adalib/*.ali
1968 %{versmainlibdirbi}/adalib/*.a
1969 %{versmainlibdirbi}/adalib/libgnarl.so
1970 %{versmainlibdirbi}/adalib/libgnat.so
1973 %files -n libada@base_ver@
1974 %defattr(-,root,root)
1975 %mainlib libgnarl-*.so
1976 %mainlib libgnat-*.so
1978 %if %{separate_biarch}
1979 %files -n libada@base_ver@%{separate_biarch_suffix}
1980 %defattr(-,root,root)
1981 %biarchlib libgnarl-*.so
1982 %biarchlib libgnat-*.so
1985 # LIBJAVA-DELETE-END
1989 %if 0%{?building_libjava:1}
1990 %files -n gcc@base_ver@-java
1991 %defattr(-,root,root)
1992 %{_prefix}/bin/gcj%{binsuffix}
1993 %{_prefix}/bin/gcjh%{binsuffix}
1994 %{_prefix}/bin/gcj-dbtool%{binsuffix}
1995 %{_prefix}/bin/jcf-dump%{binsuffix}
1996 %{_prefix}/bin/jv-convert%{binsuffix}
1997 %{_prefix}/bin/gc-analyze%{binsuffix}
1998 %{_prefix}/bin/aot-compile%{binsuffix}
1999 %{_prefix}/bin/rebuild-gcj-db%{binsuffix}
2001 %{libsubdir}/jvgenmain
2002 %{libsubdir}/ecj.jar
2004 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
2005 %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
2006 %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
2007 %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
2008 %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
2009 %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
2010 %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz
2011 %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz
2016 %if %{build_libjava}
2017 %files -n libgcj@base_ver@
2018 %defattr(-,root,root)
2019 %dir %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}
2021 %dir %{_libdir}/gcc/%{GCCDIST}
2023 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/classmap.db
2024 # We usually do not multilib libjava
2025 %if %{biarch_libjava}
2026 %versbiarchlib libgcj.la
2027 %biarchlib libgcj.so.*
2028 %biarchlib libgij.so.*
2029 %biarchlib libgcj-tools.so.*
2031 %versmainlib libgcj.la
2032 %mainlib libgcj.so.*
2033 %mainlib libgij.so.*
2034 %mainlib libgcj-tools.so.*
2036 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.la
2037 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.so
2038 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.la
2039 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.so
2041 %files -n libgcj_bc@base_ver@
2042 %defattr(-,root,root)
2043 %if %{biarch_libjava}
2044 %biarchlib libgcj_bc.so.*
2046 %mainlib libgcj_bc.so.*
2049 %files -n libgcj@base_ver@-jar
2050 %defattr(-,root,root)
2051 %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
2052 %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
2054 %files -n libgcj@base_ver@-devel
2055 %defattr(-,root,root)
2056 %dir %{_prefix}/include/c++
2058 %dir %{libsubdir}/include
2060 %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
2061 %{libsubdir}/include/jawt.h
2062 %{libsubdir}/include/jawt_md.h
2063 %{libsubdir}/include/jni.h
2064 %{libsubdir}/include/jni_md.h
2065 %{libsubdir}/include/jvmpi.h
2072 %{libsubdir}/include/gcj
2073 %if %{biarch_libjava}
2074 %versbiarchlib libgcj.so
2075 %versbiarchlib libgcj.spec
2076 %versbiarchlib libgcj-tools.so
2077 %versbiarchlib libgij.so
2078 %versbiarchlib libgcj_bc.so
2080 %versmainlib libgcj.so
2081 %versmainlib libgcj.spec
2082 %versmainlib libgcj-tools.so
2083 %versmainlib libgij.so
2084 %versmainlib libgcj_bc.so
2087 %files -n gcc@base_ver@-gij
2088 %defattr(-,root,root)
2089 %{_prefix}/bin/gij%{binsuffix}
2090 %{_prefix}/bin/gappletviewer%{binsuffix}
2091 %{_prefix}/bin/gjar%{binsuffix}
2092 %{_prefix}/bin/gjarsigner%{binsuffix}
2093 %{_prefix}/bin/gjavah%{binsuffix}
2094 %{_prefix}/bin/gkeytool%{binsuffix}
2095 %{_prefix}/bin/gnative2ascii%{binsuffix}
2096 %{_prefix}/bin/gorbd%{binsuffix}
2097 %{_prefix}/bin/grmic%{binsuffix}
2098 %{_prefix}/bin/grmid%{binsuffix}
2099 %{_prefix}/bin/grmiregistry%{binsuffix}
2100 %{_prefix}/bin/gserialver%{binsuffix}
2101 %{_prefix}/bin/gtnameserv%{binsuffix}
2102 %doc %{_mandir}/man1/gij%{binsuffix}.1.gz
2103 %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
2104 %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
2105 %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
2106 %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
2107 %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
2108 %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
2109 %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
2110 %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
2111 %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
2112 %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
2113 %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz
2114 %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz
2120 %if 0%{?building_libffi:1}
2121 %files -n libffi@base_ver@
2122 %defattr(-,root,root)
2123 %mainlib libffi.so.*
2125 %if %{separate_biarch}
2126 %files -n libffi@base_ver@%{separate_biarch_suffix}
2127 %defattr(-,root,root)
2128 %biarchlib libffi.so.*
2131 %files -n libffi@base_ver@-devel
2132 %defattr(-,root,root)
2133 %{_prefix}/include/ffi.h
2134 %{_prefix}/include/ffitarget.h
2137 %{_libdir}/pkgconfig/libffi.pc
2138 %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz
2139 %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz
2140 %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz
2142 %if %{separate_biarch}
2143 %files -n libffi@base_ver@-devel%{separate_biarch_suffix}
2144 %defattr(-,root,root)
2145 %biarchlib libffi.so
2150 # GCC-TESTSUITE-DELETE-END
2152 %if 0%{?run_tests:1}
2153 %files -n gcc@base_ver@-testresults
2154 %defattr(-,root,root)
2155 %doc testresults/test_summary.txt
2156 %doc testresults/*.sum
2157 %doc testresults/*.log