2 # spec file for package gcc48
4 # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
6 # All modifications and additions to the file contributed by third parties
7 # remain the property of their copyright owners, unless otherwise agreed
8 # upon. The license for this file, and modifications and additions to the
9 # file, is the same license as for the pristine package itself (unless the
10 # license for the pristine package is not an Open Source License, in which
11 # case the license is the MIT License). An "Open Source License" is a
12 # license that conforms to the Open Source Definition (Version 1.9)
13 # published by the Open Source Initiative.
15 # Please submit bugfixes or comments via http://bugs.opensuse.org/
24 %define quadmath_arch %ix86 x86_64 ia64
25 %define tsan_arch x86_64
26 %define asan_arch x86_64 %ix86 ppc ppc64
27 %define itm_arch x86_64 %ix86 %arm ppc ppc64
28 %define atomic_arch x86_64 %ix86 %arm ppc ppc64 s390 s390x
30 # We don't want to build java
32 %define build_libjava 0
35 %define build_fortran !0%{?building_libjava:1}%{?building_libffi:1}
36 %define build_objc !0%{?building_libjava:1}%{?building_libffi:1}
37 %define build_objcp !0%{?building_libjava:1}%{?building_libffi:1}
38 %define build_with_mudflap 0
49 # For optional compilers only build C, C++ and Fortran
50 %if 0%{?build_optional_compiler_languages:1}
53 %define build_libjava 0
58 # Shared library SONAME versions
64 %define libgcj_sover 14
65 %define libgcj_bc_sover 1
66 %define libffi_sover 4
67 %define libmudflap_sover 0
68 %define libgomp_sover 1
69 %define libstdcxx_sover 6
70 %define libobjc_sover 4
71 %define libgfortran_sover 3
72 %define libquadmath_sover 0
73 %define libasan_sover 0
74 %define libtsan_sover 0
75 %define libatomic_sover 1
76 %define libitm_sover 1
78 # Shared library package suffix
79 # This is used for the "non-standard" set of libraries, the standard
80 # being defined by %product_libs_gcc_ver, the GCC version that should
81 # provide un-suffixed shared library packages following the shared-library
82 # policy. Even suffixed variants should provide the shared-library policy
83 # mandated names and ensure they conflict with each other.
84 # Note that on SONAME changes of any library the %product_libs_gcc_ver
85 # define needs to be either split or the newest GCC version still providing
86 # the old SONAME needs to unconditionally produce an un-suffixed library
87 # if %product_libs_gcc_ver is newer than it. Similar the _oldest_ GCC
88 # version first providing a new SONAME needs to unconditionally produce
89 # an un-suffixed library if %product_libs_gcc_ver is lower that it.
90 %if %{!?product_libs_gcc_ver:48}%{?product_libs_gcc_ver} != 48
93 %define libgcc_s_suffix %{?pne:-gcc48}
94 # libgcj SONAME changes with every GCC version
95 %define libgcj_suffix %nil
96 %define libgcj_bc_suffix %{?pne:-gcc48}
97 %define libffi_suffix %{?pne:-gcc48}
98 %define libmudflap_suffix %{?pne:-gcc48}
99 %define libgomp_suffix %{?pne:-gcc48}
100 %define libstdcxx_suffix %{?pne:-gcc48}
101 %define libobjc_suffix %{?pne:-gcc48}
102 %define libgfortran_suffix %{?pne:-gcc48}
103 %define libquadmath_suffix %{?pne:-gcc48}
104 %define libasan_suffix %{?pne:-gcc48}
105 %define libtsan_suffix %{?pne:-gcc48}
106 %define libatomic_suffix %{?pne:-gcc48}
107 %define libitm_suffix %{?pne:-gcc48}
113 BuildRequires: gcc-c++
116 BuildRequires: glibc-devel-32bit
117 BuildRequires: mpc-devel
118 BuildRequires: mpfr-devel
120 BuildRequires: makeinfo
121 BuildRequires: zlib-devel
122 %ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
123 BuildRequires: cloog-isl-devel
124 BuildRequires: isl-devel
127 %define hostsuffix -4.7
128 BuildRequires: gcc47-ada
130 %if 0%{?building_libjava:1}%{?building_testsuite:1}
131 BuildRequires: fastjar
133 %if 0%{?building_libffi:1}
134 BuildRequires: pkg-config
137 BuildRequires: libunwind-devel
140 BuildRequires: dejagnu
141 BuildRequires: expect
145 %define separate_bi32 0
146 %define separate_bi64 0
148 # Beware, this does _not_ separate libgcj, as for that one multilibing
149 # is inactive for the time being
150 %define separate_bi64 1
152 %ifarch x86_64 s390x ppc64 sparc64
153 %define separate_bi32 1
156 # Define two macros to trigger -32bit or -64bit package variants
157 %define separate_biarch 0
159 %define separate_biarch 1
160 %define separate_biarch_suffix -32bit
163 %define separate_biarch 1
164 %define separate_biarch_suffix -64bit
167 %ifarch x86_64 ia64 s390x alpha ppc64 sparc64
168 # 64-bit is primary build target
169 %define build_primary_64bit 1
171 %define build_primary_64bit 0
174 %define biarch_libjava 0
176 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
178 URL: http://gcc.gnu.org/
181 %define gcc_version %(echo %version | sed 's/_.*//')
182 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
183 %define snapshot_date %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/_/-/')
184 %define binsuffix -4.8
186 %if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
187 Requires: binutils glibc-devel
188 Requires: cpp48 = %{version}-%{release}
189 Requires: libgcc_s%{libgcc_s} >= %{version}-%{release}
190 Requires: libgomp%{libgomp_sover} >= %{version}-%{release}
191 %if %{build_with_mudflap}
192 Requires: libmudflap%{libmudflap_sover} >= %{version}-%{release}
193 Requires: libmudflapth%{libmudflap_sover} >= %{version}-%{release}
196 Requires: libasan%{libasan_sover} >= %{version}-%{release}
199 Requires: libtsan%{libtsan_sover} >= %{version}-%{release}
202 Requires: libatomic%{libatomic_sover} >= %{version}-%{release}
205 Requires: libitm%{libitm_sover} >= %{version}-%{release}
207 Suggests: gcc48-info gcc48-locale
210 BuildRoot: %{_tmppath}/%{name}-%{version}-build
211 Source: gcc-%{gcc_version}%{snapshot_date}.tar.bz2
213 Source3: gcc48-rpmlintrc
215 Source6: baselibs.conf
218 Group: Development/Languages/C and C++
219 Summary: The GNU C Compiler and Support Files
223 Core package for the GNU Compiler Collection, including the C language
226 Language frontends other than C are split to different sub-packages,
227 namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
232 %package -n gcc48-32bit
233 Summary: The GNU C Compiler 32bit support
234 Group: Development/Languages/C and C++
235 Requires: gcc48 = %{version}-%{release}
236 Requires: libgcc_s%{libgcc_s}-32bit >= %{version}-%{release}
237 Requires: libgomp%{libgomp_sover}-32bit >= %{version}-%{release}
238 %if %{build_with_mudflap}
239 Requires: libmudflap%{libmudflap_sover}-32bit >= %{version}-%{release}
240 Requires: libmudflapth%{libmudflap_sover}-32bit >= %{version}-%{release}
242 Requires: glibc-devel-32bit
244 %description -n gcc48-32bit
245 This package contains 32bit support for the GNU Compiler Collection.
247 %package -n gcc48-64bit
248 Summary: The GNU C Compiler 64bit support
249 Group: Development/Languages/C and C++
250 Requires: gcc48 = %{version}-%{release}
251 Requires: libgcc_s%{libgcc_s}-64bit >= %{version}-%{release}
252 Requires: libgomp%{libgomp_sover}-64bit >= %{version}-%{release}
253 %if %{build_with_mudflap}
254 Requires: libmudflap%{libmudflap_sover}-64bit >= %{version}-%{release}
255 Requires: libmudflapth%{libmudflap_sover}-64bit >= %{version}-%{release}
257 Requires: glibc-devel-64bit
259 %description -n gcc48-64bit
260 This package contains 64bit support for the GNU Compiler Collection.
264 Summary: Locale Data for the GNU Compiler Collection
266 Group: Development/Languages/C and C++
267 Requires: gcc48 = %{version}-%{release}
270 Locale data for the GNU Compiler Collection (GCC) to give error message
271 in the current locale.
275 Summary: The GNU C++ Compiler
277 Group: Development/Languages/C and C++
278 Requires: gcc48 = %{version}-%{release}
279 Requires: libstdc++48-devel = %{version}-%{release}
282 This package contains the GNU compiler for C++.
284 %package -n libstdc++48-devel
285 Summary: Include Files and Libraries mandatory for Development
286 License: GPL-3.0-with-GCC-exception
287 Group: Development/Languages/C and C++
288 Requires: libstdc++%{libstdcxx_sover} >= %{version}-%{release}
289 Requires: glibc-devel
291 Requires: libunwind-devel
294 %description -n libstdc++48-devel
295 This package contains all the headers and libraries of the standard C++
296 library. It is needed for compiling C++ code.
297 %package -n libstdc++48-devel-32bit
298 Summary: Include Files and Libraries mandatory for Development
299 License: GPL-3.0-with-GCC-exception
300 Group: Development/Languages/C and C++
301 Requires: libstdc++%{libstdcxx_sover}-32bit >= %{version}-%{release}
302 Requires: glibc-devel-32bit
304 Requires: libunwind-devel
307 %description -n libstdc++48-devel-32bit
308 This package contains all the headers and libraries of the standard C++
309 library. It is needed for compiling C++ code.
310 %package -n libstdc++48-devel-64bit
311 Summary: Include Files and Libraries mandatory for Development
312 License: GPL-3.0-with-GCC-exception
313 Group: Development/Languages/C and C++
314 Requires: libstdc++%{libstdcxx_sover}-64bit >= %{version}-%{release}
315 Requires: glibc-devel-64bit
317 Requires: libunwind-devel
320 %description -n libstdc++48-devel-64bit
321 This package contains all the headers and libraries of the standard C++
322 library. It is needed for compiling C++ code.
324 %package -n libstdc++48-doc
325 Summary: Documentation for the GNU C++ standard library
327 Group: Documentation/HTML
330 %description -n libstdc++48-doc
331 Extensive HTML documentation for the GNU C++ standard library.
334 %package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
335 Summary: C compiler runtime library
336 License: GPL-3.0-with-GCC-exception
338 Provides: libgcc_s%{libgcc_s} = %{version}-%{release}
340 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
341 Libgcc is needed for dynamically linked C programs.
343 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
346 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
348 %package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
349 Summary: C compiler runtime library
350 License: GPL-3.0-with-GCC-exception
352 Provides: libgcc_s%{libgcc_s}-32bit = %{version}-%{release}
354 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
355 Libgcc is needed for dynamically linked C programs.
357 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
360 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
362 %package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
363 Summary: C compiler runtime library
364 License: GPL-3.0-with-GCC-exception
366 Provides: libgcc_s%{libgcc_s}-64bit = %{version}-%{release}
368 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
369 Libgcc is needed for dynamically linked C programs.
371 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
374 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
377 %package -n libgomp%{libgomp_sover}%{libgomp_suffix}
378 Summary: The GNU compiler collection OpenMP runtime library
379 License: GPL-3.0-with-GCC-exception
381 Provides: libgomp%{libgomp_sover} = %{version}-%{release}
383 %description -n libgomp%{libgomp_sover}%{libgomp_suffix}
384 This is the OpenMP runtime library needed by OpenMP enabled programs
385 that were built with the -fopenmp compiler option and by programs that
386 were auto-parallelized via the -ftree-parallelize-loops compiler
390 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}
393 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}
395 %package -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
396 Summary: The GNU compiler collection OpenMP runtime library
397 License: GPL-3.0-with-GCC-exception
399 Provides: libgomp%{libgomp_sover}-32bit = %{version}-%{release}
401 %description -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
402 This is the OpenMP runtime library needed by OpenMP enabled programs
403 that were built with the -fopenmp compiler option and by programs that
404 were auto-parallelized via the -ftree-parallelize-loops compiler
408 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
411 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
413 %package -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
414 Summary: The GNU compiler collection OpenMP runtime library
415 License: GPL-3.0-with-GCC-exception
417 Provides: libgomp%{libgomp_sover}-64bit = %{version}-%{release}
419 %description -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
420 This is the OpenMP runtime library needed by OpenMP enabled programs
421 that were built with the -fopenmp compiler option and by programs that
422 were auto-parallelized via the -ftree-parallelize-loops compiler
426 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
429 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
432 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
433 Summary: The standard C++ shared library
434 License: GPL-3.0-with-GCC-exception
435 Group: System/Libraries
436 Suggests: libstdc++%{libstdcxx_sover}-locale
437 Provides: libstdc++%{libstdcxx_sover} = %{version}-%{release}
439 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
440 The standard C++ library, needed for dynamically linked C++ programs.
443 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
446 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
448 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
449 Summary: The standard C++ shared library
450 License: GPL-3.0-with-GCC-exception
451 Group: System/Libraries
452 Suggests: libstdc++%{libstdcxx_sover}-locale
453 Provides: libstdc++%{libstdcxx_sover}-32bit = %{version}-%{release}
455 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
456 The standard C++ library, needed for dynamically linked C++ programs.
459 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
462 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
464 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
465 Summary: The standard C++ shared library
466 License: GPL-3.0-with-GCC-exception
467 Group: System/Libraries
468 Suggests: libstdc++%{libstdcxx_sover}-locale
469 Provides: libstdc++%{libstdcxx_sover}-64bit = %{version}-%{release}
471 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
472 The standard C++ library, needed for dynamically linked C++ programs.
475 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
478 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
481 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
482 Summary: Locale Data for the standard C++ shared library
483 License: GPL-3.0-with-GCC-exception
484 Group: System/Libraries
485 Provides: libstdc++%{libstdcxx_sover}-locale = %{version}-%{release}
487 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
488 The standard C++ library locale data.
492 Summary: Documentation for the GNU compiler collection
494 Group: Documentation/Other
498 GNU info-pages for the GNU compiler collection covering both user-level
499 and internals documentation.
503 Summary: GNU Objective C Compiler
505 Group: Development/Languages/Other
506 Requires: gcc48 = %{version}-%{release}
507 Requires: libobjc%{libobjc_sover} >= %{version}-%{release}
510 This package contains the GNU Objective C compiler. Objective C is an
511 object oriented language, created by Next Inc. and used in their
512 Nextstep OS. The source code is available in the gcc package.
514 Summary: GNU Objective C Compiler
516 Group: Development/Languages/Other
517 Requires: gcc48 = %{version}-%{release}
518 Requires: libobjc%{libobjc_sover}-32bit >= %{version}-%{release}
520 %description objc-32bit
521 This package contains the GNU Objective C compiler. Objective C is an
522 object oriented language, created by Next Inc. and used in their
523 Nextstep OS. The source code is available in the gcc package.
525 Summary: GNU Objective C Compiler
527 Group: Development/Languages/Other
528 Requires: gcc48 = %{version}-%{release}
529 Requires: libobjc%{libobjc_sover}-64bit >= %{version}-%{release}
531 %description objc-64bit
532 This package contains the GNU Objective C compiler. Objective C is an
533 object oriented language, created by Next Inc. and used in their
534 Nextstep OS. The source code is available in the gcc package.
536 %package -n libobjc%{libobjc_sover}%{libobjc_suffix}
537 Summary: Library for the GNU Objective C Compiler
538 License: GPL-3.0-with-GCC-exception
539 Group: Development/Libraries/Other
540 Provides: libobjc%{libobjc_sover} = %{version}-%{release}
542 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}
543 The library for the GNU Objective C compiler.
545 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}
548 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}
550 %package -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
551 Summary: Library for the GNU Objective C Compiler
552 License: GPL-3.0-with-GCC-exception
553 Group: Development/Libraries/Other
554 Provides: libobjc%{libobjc_sover}-32bit = %{version}-%{release}
556 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
557 The library for the GNU Objective C compiler.
559 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
562 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
564 %package -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
565 Summary: Library for the GNU Objective C Compiler
566 License: GPL-3.0-with-GCC-exception
567 Group: Development/Libraries/Other
568 Provides: libobjc%{libobjc_sover}-64bit = %{version}-%{release}
570 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
571 The library for the GNU Objective C compiler.
573 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
576 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
580 Summary: GNU Objective C++ Compiler
582 Group: Development/Languages/Other
583 Requires: gcc48-objc = %{version}-%{release}
584 Requires: gcc48-c++ = %{version}-%{release}
587 This package contains the GNU Objective C++ compiler. Objective C++ is an
588 object oriented language, created by Next Inc. and used in their
589 Nextstep OS. The source code is available in the gcc package.
593 Summary: The GCC Preprocessor
595 Group: Development/Languages/C and C++
597 %description -n cpp48
598 This Package contains just the preprocessor that is used by the X11
603 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
605 Group: Development/Languages/Other
606 Requires: gcc48 = %{version}-%{release}
607 Requires: libada48 = %{version}-%{release}
610 This package contains an Ada95 compiler and associated development
611 tools based on the GNU GCC technology. Ada95 is the object oriented
612 successor of the Ada83 language. To build this package from source you
613 must have installed a binary version to bootstrap the compiler.
615 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
617 Group: Development/Languages/Other
618 Requires: gcc48-32bit = %{version}-%{release}
619 Requires: libada48-32bit = %{version}-%{release}
621 %description ada-32bit
622 This package contains an Ada95 compiler and associated development
623 tools based on the GNU GCC technology. Ada95 is the object oriented
624 successor of the Ada83 language. To build this package from source you
625 must have installed a binary version to bootstrap the compiler.
627 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
629 Group: Development/Languages/Other
630 Requires: gcc48-64bit = %{version}-%{release}
631 Requires: libada48-64bit = %{version}-%{release}
633 %description ada-64bit
634 This package contains an Ada95 compiler and associated development
635 tools based on the GNU GCC technology. Ada95 is the object oriented
636 successor of the Ada83 language. To build this package from source you
637 must have installed a binary version to bootstrap the compiler.
640 Summary: GNU Ada Runtime Libraries
641 License: GPL-3.0-with-GCC-exception
642 Group: System/Libraries
643 %description -n libada48
644 This package contains the shared libraries required to run programs
645 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
646 shared libraries. It also contains the shared libraries for the
647 Implementation of the Ada Semantic Interface Specification (ASIS), the
648 implementation of Distributed Systems Programming (GLADE) and the Posix
649 1003.5 Binding (Florist).
656 %package -n libada48-32bit
657 Summary: GNU Ada Runtime Libraries
658 License: GPL-3.0-with-GCC-exception
659 Group: System/Libraries
660 %description -n libada48-32bit
661 This package contains the shared libraries required to run programs
662 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
663 shared libraries. It also contains the shared libraries for the
664 Implementation of the Ada Semantic Interface Specification (ASIS), the
665 implementation of Distributed Systems Programming (GLADE) and the Posix
666 1003.5 Binding (Florist).
668 %post -n libada48-32bit
671 %postun -n libada48-32bit
673 %package -n libada48-64bit
674 Summary: GNU Ada Runtime Libraries
675 License: GPL-3.0-with-GCC-exception
676 Group: System/Libraries
677 %description -n libada48-64bit
678 This package contains the shared libraries required to run programs
679 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
680 shared libraries. It also contains the shared libraries for the
681 Implementation of the Ada Semantic Interface Specification (ASIS), the
682 implementation of Distributed Systems Programming (GLADE) and the Posix
683 1003.5 Binding (Florist).
685 %post -n libada48-64bit
688 %postun -n libada48-64bit
692 Summary: The GNU Fortran Compiler and Support Files
694 Group: Development/Languages/Fortran
695 Requires: gcc48 = %{version}-%{release}
696 Requires: libgfortran%{libgfortran_sover} >= %{version}-%{release}
697 %ifarch %quadmath_arch
698 Requires: libquadmath%{libquadmath_sover} >= %{version}-%{release}
702 This is the Fortran compiler of the GNU Compiler Collection (GCC).
703 %package fortran-32bit
704 Summary: The GNU Fortran Compiler and Support Files
706 Group: Development/Languages/Fortran
707 Requires: gcc48 = %{version}-%{release}
708 Requires: libgfortran%{libgfortran_sover}-32bit >= %{version}-%{release}
709 %ifarch %quadmath_arch
710 Requires: libquadmath%{libquadmath_sover}-32bit >= %{version}-%{release}
713 %description fortran-32bit
714 This is the Fortran compiler of the GNU Compiler Collection (GCC).
715 %package fortran-64bit
716 Summary: The GNU Fortran Compiler and Support Files
718 Group: Development/Languages/Fortran
719 Requires: gcc48 = %{version}-%{release}
720 Requires: libgfortran%{libgfortran_sover}-64bit >= %{version}-%{release}
721 %ifarch %quadmath_arch
722 Requires: libquadmath%{libquadmath_sover}-64bit >= %{version}-%{release}
725 %description fortran-64bit
726 This is the Fortran compiler of the GNU Compiler Collection (GCC).
728 %package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
729 Summary: The GNU Fortran Compiler Runtime Library
730 License: GPL-3.0-with-GCC-exception
731 Group: Development/Languages/Fortran
732 %ifarch %quadmath_arch
733 Requires: libquadmath%{libquadmath_sover} >= %{version}-%{release}
735 Provides: libgfortran%{libgfortran_sover} = %{version}-%{release}
737 %description -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
738 The runtime library needed to run programs compiled with the Fortran compiler
739 of the GNU Compiler Collection (GCC).
741 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
744 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
746 %package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
747 Summary: The GNU Fortran Compiler Runtime Library
748 License: GPL-3.0-with-GCC-exception
749 Group: Development/Languages/Fortran
750 %ifarch %quadmath_arch
751 Requires: libquadmath%{libquadmath_sover}-32bit >= %{version}-%{release}
753 Provides: libgfortran%{libgfortran_sover}-32bit = %{version}-%{release}
755 %description -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
756 The runtime library needed to run programs compiled with the Fortran compiler
757 of the GNU Compiler Collection (GCC).
759 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
762 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
764 %package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
765 Summary: The GNU Fortran Compiler Runtime Library
766 License: GPL-3.0-with-GCC-exception
767 Group: Development/Languages/Fortran
768 %ifarch %quadmath_arch
769 Requires: libquadmath%{libquadmath_sover}-64bit >= %{version}-%{release}
771 Provides: libgfortran%{libgfortran_sover}-64bit = %{version}-%{release}
773 %description -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
774 The runtime library needed to run programs compiled with the Fortran compiler
775 of the GNU Compiler Collection (GCC).
777 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
780 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
783 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
784 Summary: The GNU Fortran Compiler Quadmath Runtime Library
786 Group: Development/Languages/Fortran
787 Provides: libquadmath%{libquadmath_sover} = %{version}-%{release}
789 %description -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
790 The runtime library needed to run programs compiled with the Fortran compiler
791 of the GNU Compiler Collection (GCC) and quadruple precision floating point
794 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
797 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
799 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
800 Summary: The GNU Fortran Compiler Quadmath Runtime Library
802 Group: Development/Languages/Fortran
803 Provides: libquadmath%{libquadmath_sover}-32bit = %{version}-%{release}
805 %description -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
806 The runtime library needed to run programs compiled with the Fortran compiler
807 of the GNU Compiler Collection (GCC) and quadruple precision floating point
810 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
813 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
815 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
816 Summary: The GNU Fortran Compiler Quadmath Runtime Library
818 Group: Development/Languages/Fortran
819 Provides: libquadmath%{libquadmath_sover}-64bit = %{version}-%{release}
821 %description -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
822 The runtime library needed to run programs compiled with the Fortran compiler
823 of the GNU Compiler Collection (GCC) and quadruple precision floating point
826 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
829 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
832 %package -n libmudflap48
833 Summary: The Mudflap Extension Runtime Library
834 License: GPL-3.0-with-GCC-exception
835 Group: Development/Languages/C and C++
837 %description -n libmudflap48
838 This is the Mudflap Extension Runtime Library.
840 %post -n libmudflap48
843 %postun -n libmudflap48
845 %package -n libmudflap48-32bit
846 Summary: The Mudflap Extension Runtime Library
847 License: GPL-3.0-with-GCC-exception
848 Group: Development/Languages/C and C++
850 %description -n libmudflap48-32bit
851 This is the Mudflap Extension Runtime Library.
853 %post -n libmudflap48-32bit
856 %postun -n libmudflap48-32bit
858 %package -n libmudflap48-64bit
859 Summary: The Mudflap Extension Runtime Library
860 License: GPL-3.0-with-GCC-exception
861 Group: Development/Languages/C and C++
863 %description -n libmudflap48-64bit
864 This is the Mudflap Extension Runtime Library.
866 %post -n libmudflap48-64bit
869 %postun -n libmudflap48-64bit
872 %package -n libitm%{libitm_sover}%{libitm_suffix}
873 Summary: The GNU Compiler Transactional Memory Runtime Library
875 Group: Development/Languages/C and C++
877 %description -n libitm%{libitm_sover}%{libitm_suffix}
878 The runtime library needed to run programs compiled with the
879 -fgnu-tm option of the GNU Compiler Collection (GCC).
881 %post -n libitm%{libitm_sover}%{libitm_suffix}
884 %postun -n libitm%{libitm_sover}%{libitm_suffix}
886 %package -n libitm%{libitm_sover}%{libitm_suffix}-32bit
887 Summary: The GNU Compiler Transactional Memory Runtime Library
889 Group: Development/Languages/C and C++
891 %description -n libitm%{libitm_sover}%{libitm_suffix}-32bit
892 The runtime library needed to run programs compiled with the
893 -fgnu-tm option of the GNU Compiler Collection (GCC).
895 %post -n libitm%{libitm_sover}%{libitm_suffix}-32bit
898 %postun -n libitm%{libitm_sover}%{libitm_suffix}-32bit
900 %package -n libitm%{libitm_sover}%{libitm_suffix}-64bit
901 Summary: The GNU Compiler Transactional Memory Runtime Library
903 Group: Development/Languages/C and C++
905 %description -n libitm%{libitm_sover}%{libitm_suffix}-64bit
906 The runtime library needed to run programs compiled with the
907 -fgnu-tm option of the GNU Compiler Collection (GCC).
909 %post -n libitm%{libitm_sover}%{libitm_suffix}-64bit
912 %postun -n libitm%{libitm_sover}%{libitm_suffix}-64bit
915 %package -n libasan%{libasan_sover}%{libasan_suffix}
916 Summary: The GNU Compiler Address Sanitizer Runtime Library
918 Group: Development/Languages/C and C++
920 %description -n libasan%{libasan_sover}%{libasan_suffix}
921 The runtime library needed to run programs compiled with the
922 -fsanitize=address option of the GNU Compiler Collection (GCC).
924 %post -n libasan%{libasan_sover}%{libasan_suffix}
927 %postun -n libasan%{libasan_sover}%{libasan_suffix}
929 %package -n libasan%{libasan_sover}%{libasan_suffix}-32bit
930 Summary: The GNU Compiler Address Sanitizer Runtime Library
932 Group: Development/Languages/C and C++
934 %description -n libasan%{libasan_sover}%{libasan_suffix}-32bit
935 The runtime library needed to run programs compiled with the
936 -fsanitize=address option of the GNU Compiler Collection (GCC).
938 %post -n libasan%{libasan_sover}%{libasan_suffix}-32bit
941 %postun -n libasan%{libasan_sover}%{libasan_suffix}-32bit
943 %package -n libasan%{libasan_sover}%{libasan_suffix}-64bit
944 Summary: The GNU Compiler Address Sanitizer Runtime Library
946 Group: Development/Languages/C and C++
948 %description -n libasan%{libasan_sover}%{libasan_suffix}-64bit
949 The runtime library needed to run programs compiled with the
950 -fsanitize=address option of the GNU Compiler Collection (GCC).
952 %post -n libasan%{libasan_sover}%{libasan_suffix}-64bit
955 %postun -n libasan%{libasan_sover}%{libasan_suffix}-64bit
958 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}
959 Summary: The GNU Compiler Thread Sanitizer Runtime Library
961 Group: Development/Languages/C and C++
963 %description -n libtsan%{libtsan_sover}%{libtsan_suffix}
964 The runtime library needed to run programs compiled with the
965 -fsanitize=thread option of the GNU Compiler Collection (GCC).
967 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}
970 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}
972 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
973 Summary: The GNU Compiler Thread Sanitizer Runtime Library
975 Group: Development/Languages/C and C++
977 %description -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
978 The runtime library needed to run programs compiled with the
979 -fsanitize=thread option of the GNU Compiler Collection (GCC).
981 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
984 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
986 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
987 Summary: The GNU Compiler Thread Sanitizer Runtime Library
989 Group: Development/Languages/C and C++
991 %description -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
992 The runtime library needed to run programs compiled with the
993 -fsanitize=thread option of the GNU Compiler Collection (GCC).
995 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
998 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
1001 %package -n libatomic%{libatomic_sover}%{libatomic_suffix}
1002 Summary: The GNU Compiler Atomic Operations Runtime Library
1003 License: GPL-3.0-with-GCC-exception
1004 Group: Development/Languages/C and C++
1006 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}
1007 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
1009 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}
1012 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}
1014 %package -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1015 Summary: The GNU Compiler Atomic Operations Runtime Library
1016 License: GPL-3.0-with-GCC-exception
1017 Group: Development/Languages/C and C++
1019 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1020 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
1022 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1025 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1027 %package -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1028 Summary: The GNU Compiler Atomic Operations Runtime Library
1029 License: GPL-3.0-with-GCC-exception
1030 Group: Development/Languages/C and C++
1032 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1033 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
1035 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1038 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1042 %package -n libgcj48
1043 Summary: Java Runtime Library for gcc
1044 License: GPL-2.0-with-classpath-exception
1045 Group: System/Libraries
1047 %description -n libgcj48
1048 This library is needed if you want to use the GNU Java compiler, gcj.
1049 Source code for this package is in gcc.
1058 %package -n gcc48-java
1059 Summary: The GNU Java Compiler
1061 Group: Development/Languages/Java
1062 Requires: gcc48 = %{version}
1063 Requires: libgcj48-devel = %{version}-%{release}
1065 %description -n gcc48-java
1066 The Java compiler from the GCC-tools-suite.
1069 %package -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
1070 Summary: Fake library for BC-ABI compatibility.
1071 License: GPL-2.0-with-classpath-exception
1072 Group: Development/Libraries/Java
1073 # libgcj_bc is special in that it just contains a symlink to
1074 # a proper libgcj version. So require that library and add
1075 # provides for the shlib version as created at link time
1076 Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
1077 %ifarch x86_64 ia64 ppc64 s390x sparc64 aarch64
1078 Provides: libgcj_bc.so.%{libgcj_bc_sover}()(64bit)
1080 Provides: libgcj_bc.so.%{libgcj_bc_sover}
1083 %description -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
1084 A fake library that is used at link time only. It ensures that
1085 binaries built with the BC-ABI link against a constant SONAME.
1086 This way, BC-ABI binaries continue to work if the SONAME underlying
1090 %package -n libgcj48-jar
1091 Summary: Java runtime library (jar files).
1092 License: GPL-2.0-with-classpath-exception
1093 Group: Development/Libraries/Java
1095 %description -n libgcj48-jar
1096 These are the jar files that go along with the gcj front end to gcc.
1099 %package -n libgcj48-devel
1100 Summary: Include Files and Libraries mandatory for Development.
1101 License: GPL-2.0-with-classpath-exception
1102 Group: Development/Libraries/Java
1103 Requires: libstdc++48-devel = %{version}
1104 Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
1105 Requires: libgcj_bc%{libgcj_bc_sover} >= %{version}-%{release}
1106 Requires: libgcj48-jar = %{version}-%{release}
1107 Requires: gtk2-devel
1108 Requires: libart_lgpl-devel
1109 Requires: glibc-devel
1110 Requires: zlib-devel
1112 Requires: libunwind-devel
1115 %description -n libgcj48-devel
1116 This package contains all necessary include files and libraries needed
1117 to develop applications that require these.
1120 %package -n gcc48-gij
1121 Summary: Java Bytecode Interpreter for gcc
1122 License: GPL-2.0-with-classpath-exception
1123 Group: Development/Libraries/Java
1124 Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
1126 %description -n gcc48-gij
1127 This package contains the java bytecode interpreter gij and related tools.
1129 %package -n libffi%{libffi_sover}%{libffi_suffix}
1130 Summary: Foreign Function Interface library
1131 License: BSD-3-Clause
1132 Group: Development/Languages/C and C++
1134 %description -n libffi%{libffi_sover}%{libffi_suffix}
1135 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.
1137 %post -n libffi%{libffi_sover}%{libffi_suffix}
1140 %postun -n libffi%{libffi_sover}%{libffi_suffix}
1142 %package -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1143 Summary: Foreign Function Interface library
1144 License: BSD-3-Clause
1145 Group: Development/Languages/C and C++
1147 %description -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1148 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.
1150 %post -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1153 %postun -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1155 %package -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1156 Summary: Foreign Function Interface library
1157 License: BSD-3-Clause
1158 Group: Development/Languages/C and C++
1160 %description -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1161 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.
1163 %post -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1166 %postun -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1169 %package -n libffi48-devel
1170 Summary: Foreign Function Interface library development files
1171 License: BSD 3-Clause
1172 Group: Development/Languages/C and C++
1173 Requires: libffi%{libffi_sover} >= %{version}-%{release}
1175 %description -n libffi48-devel
1176 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.
1177 %package -n libffi48-devel-32bit
1178 Summary: Foreign Function Interface library development files
1179 License: BSD 3-Clause
1180 Group: Development/Languages/C and C++
1181 Requires: libffi%{libffi_sover}-32bit >= %{version}-%{release}
1183 %description -n libffi48-devel-32bit
1184 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.
1185 %package -n libffi48-devel-64bit
1186 Summary: Foreign Function Interface library development files
1187 License: BSD 3-Clause
1188 Group: Development/Languages/C and C++
1189 Requires: libffi%{libffi_sover}-64bit >= %{version}-%{release}
1191 %description -n libffi48-devel-64bit
1192 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.
1194 %package -n gcc48-testresults
1195 Summary: Testsuite results
1196 License: SUSE-Public-Domain
1197 Group: Development/Languages/C and C++
1199 %description -n gcc48-testresults
1200 Results from running the gcc and target library testsuites.
1204 # Define the canonical target and host architecture
1205 # %gcc_target_arch is supposed to be the full target triple
1206 # %TARGET_ARCH is the canonicalized CPU part
1207 # %CONFIGURE_TARGET is the target triple used for --target=
1208 %if 0%{?gcc_target_arch:1}
1209 %define CONFIGURE_TARGET %{gcc_target_arch}
1210 %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/;")
1211 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc"
1212 %define CONFIGURE_TARGET powerpc64-tizen-linux
1214 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64"
1215 %define CONFIGURE_TARGET powerpc64-tizen-linux
1217 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
1218 %define CONFIGURE_TARGET i586-tizen-linux
1220 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
1221 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
1223 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
1224 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
1226 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5tel"
1227 %define CONFIGURE_TARGET armv5tel-tizen-linux-gnueabi
1230 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1232 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1234 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
1237 %define GCCDIST powerpc64-tizen-linux
1240 %define GCCDIST sparc64-tizen-linux
1243 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
1245 %define GCCDIST %{HOST_ARCH}-tizen-linux
1250 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
1251 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
1254 # Versionspecific directories
1255 %define versmainlibdir %{libsubdir}
1256 %define versmainlibdirbi32 %{libsubdir}/32
1257 %define versmainlibdirbi64 %{libsubdir}/64
1259 %define versmainlibdirbi32 %{libsubdir}
1260 %define versmainlibdirbi64 %{libsubdir}/64
1262 %if %{build_primary_64bit}
1263 %define versmainlibdirbi %{versmainlibdirbi32}
1265 %define versmainlibdirbi %{versmainlibdirbi64}
1268 %define mainlibdir %{_libdir}
1269 %define mainlibdirbi32 %{_prefix}/lib
1270 %define mainlibdirbi64 %{_prefix}/lib64
1271 %if %{build_primary_64bit}
1272 %define mainlibdirbi %{mainlibdirbi32}
1274 %define mainlibdirbi %{mainlibdirbi64}
1278 # Now define a few macros that make it easy to package libs and
1279 # related files just to the right package, without caring for the
1280 # exact path the files are in.
1281 # %mainlib package X from all dirs that belong to the main package
1282 # %biarchlib package X from all dirs that belong to the -32/64bit package
1283 %define mainlib() %{mainlibdir}/%1\
1285 %define biarchlib() %{nil}
1287 %if !%{separate_biarch}
1288 %define mainlib() %{mainlibdir}/%1\
1292 %define biarchlib() %{mainlibdirbi}/%1\
1297 %define versmainlib() %{versmainlibdir}/%1\
1299 %define versbiarchlib() %{nil}
1301 %if !%{separate_biarch}
1302 %define versmainlib() %{versmainlibdir}/%1\
1303 %{versmainlibdirbi}/%1\
1306 %define versbiarchlib() %{versmainlibdirbi}/%1\
1314 %setup -q -n gcc-%{gcc_version}%{snapshot_date}
1317 # We are configuring ppc as ppc64 but with switched multilibs. Adjust
1318 # the libstdc++ abi testsuite baseline files accordingly
1320 if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
1321 mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
1322 mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
1323 libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
1324 mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
1325 libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
1330 # Avoid rebuilding of generated files
1331 contrib/gcc_update --touch
1332 # Avoid fucking up testsuite results with Java and indirect dispatch
1333 export LD_AS_NEEDED=0
1334 # Split version file into version used for directories (X.Y) and
1335 # version to report with --version (X.Y.Z).
1336 # See also gcc-dir-version.patch.
1337 # Also decrement the patchlevel version by one
1338 if test `cat gcc/DEV-PHASE` == "prerelease"; then
1339 ( 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
1341 mv gcc/BASE-VER gcc/FULL-VER
1343 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
1345 rm -rf obj-%{GCCDIST}
1346 mkdir obj-%{GCCDIST}
1348 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
1349 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'`
1351 # -mcpu is superceded by -mtune but -mtune is not supported by
1352 # our bootstrap compiler. -mcpu gives a warning that stops
1353 # the build process, so remove it for now. Also remove all other
1354 # -march and -mtune flags. They are superseeded by proper
1355 # default compiler settings now.
1356 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'`
1359 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
1360 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
1362 %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
1363 # Kill all -march/tune/cpu because that screws building the target libs
1364 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
1366 # Replace 2 spaces by one finally
1367 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
1371 languages=$languages,c++
1374 languages=$languages,objc
1376 %if %{build_fortran}
1377 languages=$languages,fortran
1380 languages=$languages,obj-c++
1383 languages=$languages,java
1386 languages=$languages,ada
1390 if test -z "$J"; then
1391 J=$(getconf _NPROCESSORS_CONF)
1394 test 1 -gt "$J" && J=1
1395 JL=$(($(getconf _NPROCESSORS_CONF)*2))
1397 if test "$J" == "0"; then
1400 if test "$JL" == "0"; then
1403 PARALLEL="-j$J -l$JL"
1405 # we don't want some miscompiles in the testsuite, or some fault in
1406 # the compiler to kill the machine. Hence we limit the amount of memory
1407 # by the physical RAM plus half of swap
1408 #MEM=$(free -m | awk '/^Mem:/ {print $2}')
1409 #SWAP=$(free -m | awk '/^Swap:/ {print $2}')
1410 #ulimit -v $(((MEM + SWAP/2)*1024))
1412 # In general we want to ship release checking enabled compilers
1413 # and run BETA with checking enabled.
1414 #ENABLE_CHECKING="--enable-checking=yes"
1415 ENABLE_CHECKING="--enable-checking=release"
1417 # Work around tail/head -1 changes
1418 export _POSIX2_VERSION=199209
1420 # configure tries to parse include/features.h to detect
1421 # if glibc supports SSP. When cross compiling we would need
1422 # to install a cross glibc, which we don't, or make the whole
1423 # thing point to the native glibc, which is in /, hence the
1424 # --with-build-sysroot=/
1427 # Using the host gnatmake like
1428 # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
1429 # GNATMAKE="gnatmake%{hostsuffix}"
1430 # doesn't work due to PR33857, so an un-suffixed gnatmake has to be
1432 mkdir -p host-tools/bin
1433 cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
1434 cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
1435 cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
1436 cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
1437 ln -sf /usr/%{_lib} host-tools/%{_lib}
1438 export PATH="`pwd`/host-tools/bin:$PATH"
1440 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
1442 # --enable-threads=posix \
1445 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
1446 # temporary workaround for a miscompilation of hash functions in java code
1447 GCJ_EXTRA_FLAGS="-marm"
1449 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
1450 TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
1452 --prefix=%{_prefix} \
1453 --infodir=%{_infodir} \
1454 --mandir=%{_mandir} \
1455 --libdir=%{_libdir} \
1456 --libexecdir=%{_libdir} \
1457 --disable-bootstrap \
1458 --enable-languages=$languages \
1460 --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
1464 --with-bugurl="http://bugs.tizen.org/" \
1465 --with-pkgversion="Tizen" \
1466 %if !%{build_libjava}
1469 --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
1470 --with-ecj-jar=%{libsubdir}/ecj.jar \
1471 --disable-java-awt \
1472 %if !%{biarch_libjava}
1473 --disable-libjava-multilib \
1476 %if !%{build_with_mudflap}
1477 --disable-libmudflap \
1479 --with-slibdir=/%{_lib} \
1480 --with-system-zlib \
1481 --enable-__cxa_atexit \
1482 --enable-libstdcxx-allocator=new \
1483 --disable-libstdcxx-pch \
1484 --enable-version-specific-runtime-libs \
1485 --enable-linker-build-id \
1486 %if 0%{?gcc_target_arch:1}
1487 %if 0%{?gcc_icecream:1}
1488 --with-build-sysroot=/ \
1489 --with-sysroot=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi} \
1490 --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/usr/include/c++/%{gcc_dir_version} \
1491 --enable-linux-futex \
1493 %if 0%{?canonical_target:1}
1494 --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
1497 --with-sysroot=%sysroot \
1499 %if 0%{?build_static:1}
1502 %if "%{TARGET_ARCH}" == "spu"
1503 --with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
1507 --target=%{CONFIGURE_TARGET} \
1509 --program-suffix=%{binsuffix} \
1510 --enable-linux-futex \
1512 --with-system-libunwind \
1514 --without-system-libunwind \
1517 %if "%{TARGET_ARCH}" == "armv5tel"
1518 --with-arch=armv5te \
1521 --with-abi=aapcs-linux \
1522 --disable-sjlj-exceptions \
1524 %if "%{TARGET_ARCH}" == "armv7l"
1525 --with-arch=armv7-a \
1526 --with-tune=cortex-a9 \
1528 --with-abi=aapcs-linux \
1529 --with-fpu=vfpv3-d16 \
1530 --disable-sjlj-exceptions \
1532 %if "%{TARGET_ARCH}" == "armv7hl"
1533 --with-arch=armv7-a \
1534 --with-tune=cortex-a9 \
1536 --with-abi=aapcs-linux \
1537 --with-fpu=vfpv3-d16 \
1538 --disable-sjlj-exceptions \
1540 %if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64"
1541 %if "%{TARGET_ARCH}" == "powerpc"
1542 --with-cpu=default32 \
1544 --with-cpu-64=power4 \
1545 --enable-secureplt \
1546 --with-long-double-128 \
1548 %if "%{TARGET_ARCH}" == "sparc64"
1549 --with-cpu=ultrasparc \
1550 --with-long-double-128 \
1552 %if "%{TARGET_ARCH}" == "sparc"
1554 --with-long-double-128 \
1556 %if "%{TARGET_ARCH}" == "i586"
1557 --with-arch-32=i586 \
1558 --with-tune=generic \
1560 %if "%{TARGET_ARCH}" == "x86_64"
1561 --with-arch-32=i586 \
1562 --with-tune=generic \
1564 %if "%{TARGET_ARCH}" == "s390"
1565 --with-tune=z196 --with-arch=z10 \
1566 --with-long-double-128 \
1567 --enable-decimal-float \
1569 %if "%{TARGET_ARCH}" == "s390x"
1570 --with-tune=z196 --with-arch=z10 \
1571 --with-long-double-128 \
1572 --enable-decimal-float \
1577 %if 0%{?building_libffi:1}
1578 make stage1-bubble $PARALLEL
1579 make all-target-libffi $PARALLEL
1582 # Only run profiled bootstrap on archs where it works
1583 #%ifarch %ix86 x86_64 ppc ppc64 ia64
1584 #make profiledbootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1586 #make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1587 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1591 %if 0%{?run_tests:1}
1592 echo "Run testsuite"
1593 (make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1594 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1595 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1596 # asan needs a whole shadow address space
1597 ulimit -v unlimited || true
1598 make -k check $PARALLEL || true
1599 mkdir ../testresults
1600 ../contrib/test_summary | tee ../testresults/test_summary.txt
1605 export NO_BRP_CHECK_BYTECODE_VERSION=true
1607 # Work around tail/head -1 changes
1608 export _POSIX2_VERSION=199209
1609 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi}
1610 %if 0%{?building_libffi:1}
1611 make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
1613 %if 0%{?building_libjava:1}
1614 make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
1615 make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
1616 make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
1617 make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
1618 # install-common also installs collect2, gcov and the g++ and gfortran driver
1620 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1622 %if %{build_fortran}
1623 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1625 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1626 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1628 make install DESTDIR=$RPM_BUILD_ROOT
1630 make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
1631 make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT
1632 rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
1633 rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
1634 rm $RPM_BUILD_ROOT%{libsubdir}/jc1
1635 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
1640 # Remove libffi installed files if we did not want to build it
1641 %if !0%{?building_libffi:1}
1642 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.*
1644 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
1646 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h
1647 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h
1648 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3*
1649 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3*
1650 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3*
1651 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3*
1654 # Remove some useless .la files
1655 for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \
1656 libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij \
1657 libasan libatomic libitm libtsan; do
1658 rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la
1660 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1664 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1666 %if %{build_primary_64bit}
1667 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1669 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1674 # Merge multilib c++config.h to allow omitting the duplicate and
1675 # identical other arch specific headers
1677 cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1678 for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1679 if ! diff -up $cxxconfig $i; then
1694 if ! ( test -f "$file_32" && test -f "$file_64" ); then
1699 cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1700 #ifndef _CPP_CPPCONFIG_WRAPPER
1701 #define _CPP_CPPCONFIG_WRAPPER 1
1702 #include <bits/wordsize.h>
1703 #if __WORDSIZE == 32
1713 rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1714 if ! test -z "$dir_ml"; then
1715 ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1719 # move shared libs from versionspecific dir to main libdir
1721 %if 0%{?building_libjava:1}
1722 libgcj libgij libgcj-tools \
1724 %if %{build_fortran}
1726 %ifarch %quadmath_arch
1737 %ifarch %atomic_arch
1749 %if %{build_with_mudflap}
1750 libmudflap libmudflapth \
1754 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1755 mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1757 ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1758 $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
1760 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1761 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1762 mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/
1764 ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1765 $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1769 # FIXME, tsan is not multilib
1772 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/libtsan.so
1776 %if !0%{?building_libjava:1}
1777 # And we want to move the shlib gdb pretty printers to a more sane
1778 # place so ldconfig does not complain
1779 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
1780 mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
1781 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py
1783 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1784 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
1785 mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1786 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1791 %if 0%{?building_libjava:1}
1792 # libgcj_bc is special as the .so file is actually a different
1793 # library as the library refered to by the SONAME which should
1794 # be a simple link to our libgcj.
1795 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do
1798 ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.%{libgcj_bc_sover}
1799 %if %{biarch_libjava}
1800 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do
1803 ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.%{libgcj_bc_sover}
1807 # Move libgcc_s around
1808 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1809 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1810 ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1812 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1814 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
1816 %if %{build_primary_64bit}
1817 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1818 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1819 ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1821 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1823 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1824 chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
1826 # 32-bit biarch systems
1827 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1828 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1829 ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1831 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1833 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1834 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1840 mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir}
1841 ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so
1842 ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so
1843 chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
1845 mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
1846 ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1847 ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1848 chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
1852 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1854 # Remove some crap from the .la files:
1855 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
1857 # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g'
1858 sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1859 -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1860 -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1861 -e '/^dependency_libs/s|-L[^ ]* ||g' \
1863 %if %{build_primary_64bit}
1864 -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1865 -e '/^libdir/s|lib64/\.\./||' \
1867 -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1874 %if 0%{?run_tests:1}
1875 cp `find . -name "*.sum"` ../testresults/
1876 cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
1877 chmod 644 ../testresults/*
1880 # Find C++ and Java headers
1881 find $RPM_BUILD_ROOT%{_prefix}/include/c++ \
1882 -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \
1883 -o \( -type d -printf "%%%%dir " , \
1884 -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers
1886 # Remove files that we do not need to clean up filelist
1887 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-*
1888 rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools
1889 #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
1890 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root
1891 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h
1892 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-*
1893 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux
1894 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound
1895 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h
1896 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h
1897 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h
1898 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h
1899 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11
1900 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1901 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h
1902 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h
1903 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h
1904 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1905 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys
1907 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1908 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
1909 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix}
1911 %if !0%{?building_libjava:1}%{?building_libffi:1}
1912 # delete compile flag tracking from crt files
1913 crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o
1915 %if %{build_primary_64bit}
1916 crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o
1918 crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o
1921 for o in $crt_list $crt32_list $crt64_list; do
1922 objcopy -R ".comment.SUSE.OPTs" $o
1926 %if 0%{?building_libjava:1}
1927 # gcj -static doesn't work properly anyway, unless using --whole-archive
1928 # let's save the space instead.
1929 find $RPM_BUILD_ROOT -name libgcj.a \
1930 -o -name libgcj-tools.a \
1933 -o -name libgcj_bc.a \
1936 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
1937 sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
1939 # security files have broken install locations, also they cause conflicts
1940 # between libgcj versions. Simply delete them here, libgcj will use its
1941 # defaults in this case (which is what these files contain anyway).
1942 rm $RPM_BUILD_ROOT%{_libdir}/logging.properties
1943 rm -r $RPM_BUILD_ROOT%{_libdir}/security
1946 %if 0%{?building_libffi:1}
1947 # Move libffi headers, remove empty libffi libtool file
1948 mkdir -p $RPM_BUILD_ROOT%{_prefix}/include
1949 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/
1950 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/
1951 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la
1953 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
1955 # Generate a simple pkg-config file
1956 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
1957 echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc
1961 %if !%{build_libjava}
1962 rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
1963 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
1964 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
1965 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
1966 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1
1967 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1
1968 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1
1970 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py
1971 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py
1973 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
1974 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
1975 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
1976 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
1978 %if %{build_primary_64bit}
1979 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
1981 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
1984 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
1985 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
1987 %if 0%{?building_libjava:1}
1988 # For building libjava only we need to delete other info docs
1989 rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
1990 # Remove stale manpages for binaries we do not build
1991 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1
1992 # For building the java frontend we need to copy the ecj jar
1993 mkdir -p $RPM_BUILD_ROOT%{libsubdir}
1994 cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
1996 # For regular build, some info files do not get renamed properly.
1998 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
2000 mv $RPM_BUILD_ROOT%{_infodir}/libitm.info $RPM_BUILD_ROOT%{_infodir}/libitm%{binsuffix}.info
2002 %if %{build_fortran}
2003 %ifarch %quadmath_arch
2004 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
2008 mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info
2009 mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info
2010 mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info
2015 %find_lang cpplib%{binsuffix}
2016 %find_lang gcc%{binsuffix}
2017 cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc48-locale.lang
2021 %install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
2022 %install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
2023 %install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
2024 %install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
2025 %install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
2026 %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
2027 %if %{build_fortran}
2028 %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
2029 %ifarch %quadmath_arch
2030 %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
2034 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
2037 %install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
2038 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
2039 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
2043 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
2044 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
2045 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
2046 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
2047 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
2048 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
2049 %if %{build_fortran}
2050 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
2051 %ifarch %quadmath_arch
2052 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
2056 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
2059 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
2060 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
2061 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
2065 %defattr(-,root,root)
2067 %dir %{_libdir}/gcc/%{GCCDIST}
2069 %dir %{libsubdir}/include
2070 %dir %{libsubdir}/include-fixed
2072 %if %{build_primary_64bit}
2073 %dir %{libsubdir}/32
2075 %dir %{libsubdir}/64
2078 %{_prefix}/bin/gcc%{binsuffix}
2079 %{_prefix}/bin/gcov%{binsuffix}
2080 %{_prefix}/bin/gcc-ar%{binsuffix}
2081 %{_prefix}/bin/gcc-nm%{binsuffix}
2082 %{_prefix}/bin/gcc-ranlib%{binsuffix}
2083 %{libsubdir}/collect2
2085 %{libsubdir}/lto-wrapper
2086 %{libsubdir}/liblto_plugin.so*
2087 %{libsubdir}/include-fixed/README
2088 %{libsubdir}/include-fixed/limits.h
2089 %{libsubdir}/include-fixed/syslimits.h
2090 %{libsubdir}/include/omp.h
2091 %{libsubdir}/include/float.h
2092 %{libsubdir}/include/iso646.h
2093 %{libsubdir}/include/stdarg.h
2094 %{libsubdir}/include/stdbool.h
2095 %{libsubdir}/include/stdfix.h
2096 %{libsubdir}/include/stddef.h
2097 %{libsubdir}/include/unwind.h
2098 %{libsubdir}/include/varargs.h
2099 %{libsubdir}/include/stdint.h
2100 %{libsubdir}/include/stdint-gcc.h
2101 %{libsubdir}/include/stdnoreturn.h
2102 %{libsubdir}/include/stdalign.h
2104 %{libsubdir}/include/visintrin.h
2107 %{libsubdir}/include/altivec.h
2108 %{libsubdir}/include/ppc-asm.h
2109 %{libsubdir}/include/paired.h
2110 %{libsubdir}/include/ppu_intrinsics.h
2111 %{libsubdir}/include/si2vmx.h
2112 %{libsubdir}/include/spe.h
2113 %{libsubdir}/include/spu2vmx.h
2114 %{libsubdir}/include/vec_types.h
2117 %{libsubdir}/include/ia64intrin.h
2120 %{libsubdir}/include/arm_neon.h
2123 %{libsubdir}/include/mmintrin.h
2124 %{libsubdir}/include/arm_neon.h
2125 %{libsubdir}/include/unwind-arm-common.h
2127 %ifarch %ix86 x86_64
2128 %{libsubdir}/include/cross-stdarg.h
2129 %{libsubdir}/include/cpuid.h
2130 %{libsubdir}/include/mm3dnow.h
2131 %{libsubdir}/include/mmintrin.h
2132 %{libsubdir}/include/ammintrin.h
2133 %{libsubdir}/include/bmmintrin.h
2134 %{libsubdir}/include/emmintrin.h
2135 %{libsubdir}/include/immintrin.h
2136 %{libsubdir}/include/avxintrin.h
2137 %{libsubdir}/include/pmmintrin.h
2138 %{libsubdir}/include/xmmintrin.h
2139 %{libsubdir}/include/tmmintrin.h
2140 %{libsubdir}/include/nmmintrin.h
2141 %{libsubdir}/include/smmintrin.h
2142 %{libsubdir}/include/wmmintrin.h
2143 %{libsubdir}/include/x86intrin.h
2144 %{libsubdir}/include/ia32intrin.h
2145 %{libsubdir}/include/mm_malloc.h
2146 %{libsubdir}/include/fma4intrin.h
2147 %{libsubdir}/include/xopintrin.h
2148 %{libsubdir}/include/lwpintrin.h
2149 %{libsubdir}/include/popcntintrin.h
2150 %{libsubdir}/include/bmiintrin.h
2151 %{libsubdir}/include/tbmintrin.h
2152 %{libsubdir}/include/avx2intrin.h
2153 %{libsubdir}/include/bmi2intrin.h
2154 %{libsubdir}/include/fmaintrin.h
2155 %{libsubdir}/include/lzcntintrin.h
2156 %{libsubdir}/include/f16cintrin.h
2157 %{libsubdir}/include/adxintrin.h
2158 %{libsubdir}/include/fxsrintrin.h
2159 %{libsubdir}/include/prfchwintrin.h
2160 %{libsubdir}/include/rdseedintrin.h
2161 %{libsubdir}/include/rtmintrin.h
2162 %{libsubdir}/include/xsaveintrin.h
2163 %{libsubdir}/include/xsaveoptintrin.h
2164 %{libsubdir}/include/xtestintrin.h
2166 %if %{build_with_mudflap}
2167 %{libsubdir}/include/mf-runtime.h
2169 %versmainlib *crt*.o
2170 %versmainlib libgcc*.a
2171 %versmainlib libgcov.a
2172 %versmainlib libgcc_s*.so
2173 %if %{build_with_mudflap}
2174 %versmainlib libmudflap.a
2175 %versmainlib libmudflap.so
2176 %versmainlib libmudflapth.a
2177 %versmainlib libmudflapth.so
2179 %versmainlib libgomp.so
2180 %versmainlib libgomp.a
2181 %versmainlib libgomp.spec
2183 %versmainlib libitm.so
2184 %versmainlib libitm.a
2185 %versmainlib libitm.spec
2187 %ifarch %atomic_arch
2188 %versmainlib libatomic.so
2189 %versmainlib libatomic.a
2192 %versmainlib libasan.so
2193 %versmainlib libasan.a
2194 %versmainlib libasan_preinit.o
2197 %versmainlib libtsan.so
2198 %versmainlib libtsan.a
2200 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
2201 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
2203 %if %{separate_biarch}
2204 %files -n gcc48%{separate_biarch_suffix}
2205 %defattr(-,root,root)
2206 %versbiarchlib *crt*.o
2207 %versbiarchlib libgcc*.a
2208 %versbiarchlib libgcov.a
2209 %versbiarchlib libgcc_s*.so
2210 %if %{build_with_mudflap}
2211 %versbiarchlib libmudflap.a
2212 %versbiarchlib libmudflap.so
2213 %versbiarchlib libmudflapth.a
2214 %versbiarchlib libmudflapth.so
2216 %versbiarchlib libgomp.so
2217 %versbiarchlib libgomp.a
2218 %versbiarchlib libgomp.spec
2220 %versbiarchlib libitm.so
2221 %versbiarchlib libitm.a
2222 %versbiarchlib libitm.spec
2224 %ifarch %atomic_arch
2225 %versbiarchlib libatomic.a
2226 %versbiarchlib libatomic.so
2229 %versbiarchlib libasan.a
2230 %versbiarchlib libasan.so
2231 %versbiarchlib libasan_preinit.o
2235 %versbiarchlib libtsan.a
2236 %versbiarchlib libtsan.so
2241 %files locale -f gcc48-locale.lang
2243 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
2247 %defattr(-,root,root)
2249 %dir %{_libdir}/gcc/%{GCCDIST}
2251 %{_prefix}/bin/g++%{binsuffix}
2252 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
2253 %{libsubdir}/cc1plus
2255 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
2256 %defattr(-,root,root)
2257 %mainlib libstdc++.so.%{libstdcxx_sover}*
2259 %if %{separate_biarch}
2260 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}%{separate_biarch_suffix}
2261 %defattr(-,root,root)
2262 %biarchlib libstdc++.so.%{libstdcxx_sover}*
2265 %files -n libstdc++48-devel -f c++-headers
2266 %defattr(-,root,root)
2267 %versmainlib libstdc++.a
2268 %versmainlib libstdc++.so
2269 %versmainlib libsupc++.a
2270 %dir %{_datadir}/gdb
2271 %dir %{_datadir}/gdb/auto-load
2272 %dir %{_datadir}/gdb/auto-load%{_prefix}
2273 %dir %{_datadir}/gdb/auto-load/%{mainlibdir}
2274 %{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
2275 %{_datadir}/gcc%{binsuffix}
2277 %if %{separate_biarch}
2278 %files -n libstdc++48-devel%{separate_biarch_suffix}
2279 %defattr(-,root,root)
2280 %versbiarchlib libstdc++.a
2281 %versbiarchlib libstdc++.so
2282 %versbiarchlib libsupc++.a
2283 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
2284 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
2287 %files -n libstdc++48-doc
2288 %defattr(-,root,root)
2289 %doc libstdc++-v3/doc/html
2292 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
2293 %defattr(-,root,root)
2294 /%{_lib}/libgcc_s.so.%{libgcc_s}
2296 %if %{build_primary_64bit}
2297 %if !%{separate_bi32}
2298 /lib/libgcc_s.so.%{libgcc_s}
2301 %if !%{separate_bi64}
2302 /lib64/libgcc_s.so.%{libgcc_s}
2307 %if %{separate_bi64}
2308 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
2309 %defattr(-,root,root)
2310 /lib64/libgcc_s.so.%{libgcc_s}
2313 %if %{separate_bi32}
2314 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
2315 %defattr(-,root,root)
2316 /lib/libgcc_s.so.%{libgcc_s}
2320 %files -n libgomp%{libgomp_sover}%{libgomp_suffix}
2321 %defattr(-,root,root)
2322 %mainlib libgomp.so.%{libgomp_sover}*
2324 %if %{separate_biarch}
2325 %files -n libgomp%{libgomp_sover}%{libgomp_suffix}%{separate_biarch_suffix}
2326 %defattr(-,root,root)
2327 %biarchlib libgomp.so.%{libgomp_sover}*
2332 %files -n libasan%{libasan_sover}%{libasan_suffix}
2333 %defattr(-,root,root)
2334 %mainlib libasan.so.%{libasan_sover}*
2336 %if %{separate_biarch}
2337 %files -n libasan%{libasan_sover}%{libasan_suffix}%{separate_biarch_suffix}
2338 %defattr(-,root,root)
2339 %biarchlib libasan.so.%{libasan_sover}*
2345 %files -n libtsan%{libtsan_sover}%{libtsan_suffix}
2346 %defattr(-,root,root)
2347 %mainlib libtsan.so.%{libtsan_sover}*
2350 %if %{separate_biarch}
2351 %files -n libtsan%{libtsan_sover}%{libtsan_suffix}%{separate_biarch_suffix}
2352 %defattr(-,root,root)
2353 %biarchlib libtsan.so.%{libtsan_sover}*
2359 %ifarch %atomic_arch
2360 %files -n libatomic%{libatomic_sover}%{libatomic_suffix}
2361 %defattr(-,root,root)
2362 %mainlib libatomic.so.%{libatomic_sover}*
2364 %if %{separate_biarch}
2365 %files -n libatomic%{libatomic_sover}%{libatomic_suffix}%{separate_biarch_suffix}
2366 %defattr(-,root,root)
2367 %biarchlib libatomic.so.%{libatomic_sover}*
2373 %files -n libitm%{libitm_sover}%{libitm_suffix}
2374 %defattr(-,root,root)
2375 %mainlib libitm.so.%{libitm_sover}*
2377 %if %{separate_biarch}
2378 %files -n libitm%{libitm_sover}%{libitm_suffix}%{separate_biarch_suffix}
2379 %defattr(-,root,root)
2380 %biarchlib libitm.so.%{libitm_sover}*
2386 %if %{build_fortran}
2388 %defattr(-,root,root)
2389 %dir %{libsubdir}/finclude
2390 %{_prefix}/bin/gfortran%{binsuffix}
2392 %{libsubdir}/finclude/*
2393 %versmainlib libgfortran.a
2394 %versmainlib libgfortran.so
2395 %versmainlib libgfortran.spec
2396 %versmainlib libgfortranbegin.a
2397 %versmainlib libcaf_single.a
2398 %ifarch %quadmath_arch
2399 %{libsubdir}/include/quadmath.h
2400 %{libsubdir}/include/quadmath_weak.h
2401 %versmainlib libquadmath.a
2402 %versmainlib libquadmath.so
2404 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
2406 %if %{separate_biarch}
2407 %files fortran%{separate_biarch_suffix}
2408 %defattr(-,root,root)
2409 %versbiarchlib libgfortran.a
2410 %versbiarchlib libgfortran.so
2411 %versbiarchlib libgfortran.spec
2412 %versbiarchlib libgfortranbegin.a
2413 %versbiarchlib libcaf_single.a
2414 %ifarch %quadmath_arch
2415 %versbiarchlib libquadmath.a
2416 %versbiarchlib libquadmath.so
2420 %files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
2421 %defattr(-,root,root)
2422 %mainlib libgfortran.so.%{libgfortran_sover}*
2424 %if %{separate_biarch}
2425 %files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}%{separate_biarch_suffix}
2426 %defattr(-,root,root)
2427 %biarchlib libgfortran.so.%{libgfortran_sover}*
2430 %ifarch %quadmath_arch
2431 %files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
2432 %defattr(-,root,root)
2433 %mainlib libquadmath.so.%{libquadmath_sover}*
2435 %if %{separate_biarch}
2436 %files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}%{separate_biarch_suffix}
2437 %defattr(-,root,root)
2438 %biarchlib libquadmath.so.%{libquadmath_sover}*
2443 %if %{build_with_mudflap}
2444 %files -n libmudflap48
2445 %defattr(-,root,root)
2446 %mainlib libmudflap.so.%{libmudflap_sover}*
2447 %mainlib libmudflapth.so.%{libmudflap_sover}*
2449 %if %{separate_biarch}
2450 %files -n libmudflap48%{separate_biarch_suffix}
2451 %defattr(-,root,root)
2452 %biarchlib libmudflap.so.%{libmudflap_sover}*
2453 %biarchlib libmudflapth.so.%{libmudflap_sover}*
2458 %defattr(-,root,root)
2459 %doc %{_infodir}/*.gz
2462 %defattr(-,root,root)
2464 %dir %{_libdir}/gcc/%{GCCDIST}
2466 %{_prefix}/bin/cpp%{binsuffix}
2469 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
2473 %defattr(-,root,root)
2475 %{libsubdir}/include/objc
2476 %versmainlib libobjc.a
2477 %versmainlib libobjc.so
2479 %if %{separate_biarch}
2480 %files objc%{separate_biarch_suffix}
2481 %defattr(-,root,root)
2482 %versbiarchlib libobjc.a
2483 %versbiarchlib libobjc.so
2486 %files -n libobjc%{libobjc_sover}%{libobjc_suffix}
2487 %defattr(-,root,root)
2488 %mainlib libobjc.so.%{libobjc_sover}*
2490 %if %{separate_biarch}
2491 %files -n libobjc%{libobjc_sover}%{libobjc_suffix}%{separate_biarch_suffix}
2492 %defattr(-,root,root)
2493 %biarchlib libobjc.so.%{libobjc_sover}*
2500 %defattr(-,root,root)
2501 %{libsubdir}/cc1objplus
2507 %defattr(-,root,root)
2509 %dir %{_libdir}/gcc/%{GCCDIST}
2511 %{_prefix}/bin/gnat*
2512 %dir %{versmainlibdir}/adainclude
2513 %dir %{versmainlibdir}/adalib
2514 %{versmainlibdir}/adainclude
2515 %{versmainlibdir}/adalib/*.ali
2516 %{versmainlibdir}/adalib/*.a
2517 %{versmainlibdir}/adalib/libgnarl.so
2518 %{versmainlibdir}/adalib/libgnat.so
2519 %{versmainlibdir}/gnat1
2521 %if %{separate_biarch}
2522 %files ada%{separate_biarch_suffix}
2523 %defattr(-,root,root)
2524 %dir %{versmainlibdirbi}/adainclude
2525 %dir %{versmainlibdirbi}/adalib
2526 %{versmainlibdirbi}/adainclude
2527 %{versmainlibdirbi}/adalib/*.ali
2528 %{versmainlibdirbi}/adalib/*.a
2529 %{versmainlibdirbi}/adalib/libgnarl.so
2530 %{versmainlibdirbi}/adalib/libgnat.so
2534 %defattr(-,root,root)
2535 %mainlib libgnarl-*.so
2536 %mainlib libgnat-*.so
2538 %if %{separate_biarch}
2539 %files -n libada48%{separate_biarch_suffix}
2540 %defattr(-,root,root)
2541 %biarchlib libgnarl-*.so
2542 %biarchlib libgnat-*.so
2548 %if 0%{?building_libjava:1}
2549 %files -n gcc48-java
2550 %defattr(-,root,root)
2551 %{_prefix}/bin/gcj%{binsuffix}
2552 %{_prefix}/bin/gcjh%{binsuffix}
2553 %{_prefix}/bin/gcj-dbtool%{binsuffix}
2554 %{_prefix}/bin/jcf-dump%{binsuffix}
2555 %{_prefix}/bin/jv-convert%{binsuffix}
2556 %{_prefix}/bin/gc-analyze%{binsuffix}
2557 %{_prefix}/bin/aot-compile%{binsuffix}
2558 %{_prefix}/bin/rebuild-gcj-db%{binsuffix}
2560 %{libsubdir}/jvgenmain
2561 %{libsubdir}/ecj.jar
2563 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
2564 %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
2565 %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
2566 %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
2567 %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
2568 %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
2569 %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz
2570 %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz
2575 %if %{build_libjava}
2577 %defattr(-,root,root)
2578 %dir %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}
2580 %dir %{_libdir}/gcc/%{GCCDIST}
2582 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/classmap.db
2583 # We usually do not multilib libjava
2584 %if %{biarch_libjava}
2585 %versbiarchlib libgcj.la
2586 %biarchlib libgcj.so.*
2587 %biarchlib libgij.so.*
2588 %biarchlib libgcj-tools.so.*
2590 %versmainlib libgcj.la
2591 %mainlib libgcj.so.*
2592 %mainlib libgij.so.*
2593 %mainlib libgcj-tools.so.*
2595 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.la
2596 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.so
2597 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.la
2598 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.so
2600 %files -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
2601 %defattr(-,root,root)
2602 %if %{biarch_libjava}
2603 %biarchlib libgcj_bc.so.%{libgcj_bc_sover}*
2605 %mainlib libgcj_bc.so.%{libgcj_bc_sover}*
2608 %files -n libgcj48-jar
2609 %defattr(-,root,root)
2610 %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
2611 %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
2613 %files -n libgcj48-devel
2614 %defattr(-,root,root)
2615 %dir %{_prefix}/include/c++
2617 %dir %{libsubdir}/include
2619 %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
2620 %{libsubdir}/include/jawt.h
2621 %{libsubdir}/include/jawt_md.h
2622 %{libsubdir}/include/jni.h
2623 %{libsubdir}/include/jni_md.h
2624 %{libsubdir}/include/jvmpi.h
2631 %{libsubdir}/include/gcj
2632 %if %{biarch_libjava}
2633 %versbiarchlib libgcj.so
2634 %versbiarchlib libgcj.spec
2635 %versbiarchlib libgcj-tools.so
2636 %versbiarchlib libgij.so
2637 %versbiarchlib libgcj_bc.so
2639 %versmainlib libgcj.so
2640 %versmainlib libgcj.spec
2641 %versmainlib libgcj-tools.so
2642 %versmainlib libgij.so
2643 %versmainlib libgcj_bc.so
2647 %defattr(-,root,root)
2648 %{_prefix}/bin/gij%{binsuffix}
2649 %{_prefix}/bin/gappletviewer%{binsuffix}
2650 %{_prefix}/bin/gjar%{binsuffix}
2651 %{_prefix}/bin/gjarsigner%{binsuffix}
2652 %{_prefix}/bin/gjavah%{binsuffix}
2653 %{_prefix}/bin/gkeytool%{binsuffix}
2654 %{_prefix}/bin/gnative2ascii%{binsuffix}
2655 %{_prefix}/bin/gorbd%{binsuffix}
2656 %{_prefix}/bin/grmic%{binsuffix}
2657 %{_prefix}/bin/grmid%{binsuffix}
2658 %{_prefix}/bin/grmiregistry%{binsuffix}
2659 %{_prefix}/bin/gserialver%{binsuffix}
2660 %{_prefix}/bin/gtnameserv%{binsuffix}
2661 %doc %{_mandir}/man1/gij%{binsuffix}.1.gz
2662 %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
2663 %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
2664 %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
2665 %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
2666 %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
2667 %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
2668 %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
2669 %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
2670 %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
2671 %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
2672 %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz
2673 %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz
2678 %if 0%{?building_libffi:1}
2679 %files -n libffi%{libffi_sover}%{libffi_suffix}
2680 %defattr(-,root,root)
2681 %mainlib libffi.so.%{libffi_sover}*
2683 %if %{separate_biarch}
2684 %files -n libffi%{libffi_sover}%{libffi_suffix}%{separate_biarch_suffix}
2685 %defattr(-,root,root)
2686 %biarchlib libffi.so.%{libffi_sover}*
2689 %post -n libffi48-devel
2690 %install_info --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz
2691 %postun -n libffi48-devel
2692 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz
2694 %files -n libffi48-devel
2695 %defattr(-,root,root)
2696 %{_prefix}/include/ffi.h
2697 %{_prefix}/include/ffitarget.h
2700 %{_libdir}/pkgconfig/libffi.pc
2701 %doc %{_infodir}/libffi%{binsuffix}.info.gz
2702 %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz
2703 %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz
2704 %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz
2705 %doc %{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3.gz
2707 %if %{separate_biarch}
2708 %files -n libffi48-devel%{separate_biarch_suffix}
2709 %defattr(-,root,root)
2710 %biarchlib libffi.so
2716 %if 0%{?run_tests:1}
2717 %files -n gcc48-testresults
2718 %defattr(-,root,root)
2719 %doc testresults/test_summary.txt
2720 %doc testresults/*.sum
2721 %doc testresults/*.log