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
60 %define libgcj_sover %{nil}
61 %define libgcj_bc_sover %{nil}
62 %define libffi_sover %{nil}
63 %define libmudflap_sover %{nil}
64 %define libgomp_sover %{nil}
65 %define libstdcxx_sover %{nil}
66 %define libobjc_sover %{nil}
67 %define libgfortran_sover %{nil}
68 %define libquadmath_sover %{nil}
69 %define libasan_sover %{nil}
70 %define libtsan_sover %{nil}
71 %define libatomic_sover %{nil}
72 %define libitm_sover %{nil}
74 # Shared library package suffix
75 # This is used for the "non-standard" set of libraries, the standard
76 # being defined by %product_libs_gcc_ver, the GCC version that should
77 # provide un-suffixed shared library packages following the shared-library
78 # policy. Even suffixed variants should provide the shared-library policy
79 # mandated names and ensure they conflict with each other.
80 # Note that on SONAME changes of any library the %product_libs_gcc_ver
81 # define needs to be either split or the newest GCC version still providing
82 # the old SONAME needs to unconditionally produce an un-suffixed library
83 # if %product_libs_gcc_ver is newer than it. Similar the _oldest_ GCC
84 # version first providing a new SONAME needs to unconditionally produce
85 # an un-suffixed library if %product_libs_gcc_ver is lower that it.
86 %if %{!?product_libs_gcc_ver:48}%{?product_libs_gcc_ver} != 48
89 %define libgcc_s_suffix %{?pne:-gcc48}
90 # libgcj SONAME changes with every GCC version
91 %define libgcj_suffix %nil
92 %define libgcj_bc_suffix %{?pne:-gcc48}
93 %define libffi_suffix %{?pne:-gcc48}
94 %define libmudflap_suffix %{?pne:-gcc48}
95 %define libgomp_suffix %{?pne:-gcc48}
96 %define libstdcxx_suffix %{?pne:-gcc48}
97 %define libobjc_suffix %{?pne:-gcc48}
98 %define libgfortran_suffix %{?pne:-gcc48}
99 %define libquadmath_suffix %{?pne:-gcc48}
100 %define libasan_suffix %{?pne:-gcc48}
101 %define libtsan_suffix %{?pne:-gcc48}
102 %define libatomic_suffix %{?pne:-gcc48}
103 %define libitm_suffix %{?pne:-gcc48}
109 BuildRequires: gcc-c++
112 BuildRequires: glibc-devel-32bit
113 BuildRequires: mpc-devel
114 BuildRequires: mpfr-devel
116 BuildRequires: makeinfo
117 BuildRequires: zlib-devel
118 %ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
119 BuildRequires: cloog-isl-devel
120 BuildRequires: isl-devel
123 %define hostsuffix -4.7
124 BuildRequires: gcc47-ada
126 %if 0%{?building_libjava:1}%{?building_testsuite:1}
127 BuildRequires: fastjar
129 %if 0%{?building_libffi:1}
130 BuildRequires: pkg-config
133 BuildRequires: libunwind-devel
136 BuildRequires: dejagnu
137 BuildRequires: expect
141 %define separate_bi32 0
142 %define separate_bi64 0
144 # Beware, this does _not_ separate libgcj, as for that one multilibing
145 # is inactive for the time being
146 %define separate_bi64 1
148 %ifarch x86_64 s390x ppc64 sparc64
149 %define separate_bi32 1
152 # Define two macros to trigger -32bit or -64bit package variants
153 %define separate_biarch 0
155 %define separate_biarch 1
156 %define separate_biarch_suffix -32bit
159 %define separate_biarch 1
160 %define separate_biarch_suffix -64bit
163 %ifarch x86_64 ia64 s390x alpha ppc64 sparc64
164 # 64-bit is primary build target
165 %define build_primary_64bit 1
167 %define build_primary_64bit 0
170 %define biarch_libjava 0
172 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
174 URL: http://gcc.gnu.org/
177 %define gcc_version %(echo %version | sed 's/_.*//')
178 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
179 %define snapshot_date %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/_/-/')
180 %define binsuffix -4.8
182 %if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
183 Requires: binutils glibc-devel
184 Requires: cpp48 = %{version}-%{release}
185 Requires: libgcc_s%{libgcc_s} >= %{version}-%{release}
186 Requires: libgomp%{libgomp_sover} >= %{version}-%{release}
187 %if %{build_with_mudflap}
188 Requires: libmudflap%{libmudflap_sover} >= %{version}-%{release}
189 Requires: libmudflapth%{libmudflap_sover} >= %{version}-%{release}
192 Requires: libasan%{libasan_sover} >= %{version}-%{release}
195 Requires: libtsan%{libtsan_sover} >= %{version}-%{release}
198 Requires: libatomic%{libatomic_sover} >= %{version}-%{release}
201 Requires: libitm%{libitm_sover} >= %{version}-%{release}
203 Suggests: gcc48-info gcc48-locale
206 BuildRoot: %{_tmppath}/%{name}-%{version}-build
207 Source: gcc-%{version}.tar.bz2
209 Source3: gcc48-rpmlintrc
211 Source6: baselibs.conf
214 Group: Development/Languages/C and C++
215 Summary: The GNU C Compiler and Support Files
219 Core package for the GNU Compiler Collection, including the C language
222 Language frontends other than C are split to different sub-packages,
223 namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
228 %package -n gcc48-32bit
229 Summary: The GNU C Compiler 32bit support
230 Group: Development/Languages/C and C++
231 Requires: gcc48 = %{version}-%{release}
232 Requires: libgcc_s%{libgcc_s}-32bit >= %{version}-%{release}
233 Requires: libgomp%{libgomp_sover}-32bit >= %{version}-%{release}
234 %if %{build_with_mudflap}
235 Requires: libmudflap%{libmudflap_sover}-32bit >= %{version}-%{release}
236 Requires: libmudflapth%{libmudflap_sover}-32bit >= %{version}-%{release}
238 Requires: glibc-devel-32bit
240 %description -n gcc48-32bit
241 This package contains 32bit support for the GNU Compiler Collection.
243 %package -n gcc48-64bit
244 Summary: The GNU C Compiler 64bit support
245 Group: Development/Languages/C and C++
246 Requires: gcc48 = %{version}-%{release}
247 Requires: libgcc_s%{libgcc_s}-64bit >= %{version}-%{release}
248 Requires: libgomp%{libgomp_sover}-64bit >= %{version}-%{release}
249 %if %{build_with_mudflap}
250 Requires: libmudflap%{libmudflap_sover}-64bit >= %{version}-%{release}
251 Requires: libmudflapth%{libmudflap_sover}-64bit >= %{version}-%{release}
253 Requires: glibc-devel-64bit
255 %description -n gcc48-64bit
256 This package contains 64bit support for the GNU Compiler Collection.
260 Summary: Locale Data for the GNU Compiler Collection
262 Group: Development/Languages/C and C++
263 Requires: gcc48 = %{version}-%{release}
266 Locale data for the GNU Compiler Collection (GCC) to give error message
267 in the current locale.
271 Summary: The GNU C++ Compiler
273 Group: Development/Languages/C and C++
274 Requires: gcc48 = %{version}-%{release}
275 Requires: libstdc++48-devel = %{version}-%{release}
278 This package contains the GNU compiler for C++.
280 %package -n libstdc++48-devel
281 Summary: Include Files and Libraries mandatory for Development
282 License: GPL-3.0-with-GCC-exception
283 Group: Development/Languages/C and C++
284 Requires: libstdc++%{libstdcxx_sover} >= %{version}-%{release}
285 Requires: glibc-devel
287 Requires: libunwind-devel
290 %description -n libstdc++48-devel
291 This package contains all the headers and libraries of the standard C++
292 library. It is needed for compiling C++ code.
293 %package -n libstdc++48-devel-32bit
294 Summary: Include Files and Libraries mandatory for Development
295 License: GPL-3.0-with-GCC-exception
296 Group: Development/Languages/C and C++
297 Requires: libstdc++%{libstdcxx_sover}-32bit >= %{version}-%{release}
298 Requires: glibc-devel-32bit
300 Requires: libunwind-devel
303 %description -n libstdc++48-devel-32bit
304 This package contains all the headers and libraries of the standard C++
305 library. It is needed for compiling C++ code.
306 %package -n libstdc++48-devel-64bit
307 Summary: Include Files and Libraries mandatory for Development
308 License: GPL-3.0-with-GCC-exception
309 Group: Development/Languages/C and C++
310 Requires: libstdc++%{libstdcxx_sover}-64bit >= %{version}-%{release}
311 Requires: glibc-devel-64bit
313 Requires: libunwind-devel
316 %description -n libstdc++48-devel-64bit
317 This package contains all the headers and libraries of the standard C++
318 library. It is needed for compiling C++ code.
320 %package -n libstdc++48-doc
321 Summary: Documentation for the GNU C++ standard library
323 Group: Documentation/HTML
326 %description -n libstdc++48-doc
327 Extensive HTML documentation for the GNU C++ standard library.
330 %package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
331 Summary: C compiler runtime library
332 License: GPL-3.0-with-GCC-exception
334 Provides: libgcc_s%{libgcc_s} = %{version}-%{release}
336 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
337 Libgcc is needed for dynamically linked C programs.
339 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
342 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
344 %package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
345 Summary: C compiler runtime library
346 License: GPL-3.0-with-GCC-exception
348 Provides: libgcc_s%{libgcc_s}-32bit = %{version}-%{release}
350 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
351 Libgcc is needed for dynamically linked C programs.
353 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
356 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
358 %package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
359 Summary: C compiler runtime library
360 License: GPL-3.0-with-GCC-exception
362 Provides: libgcc_s%{libgcc_s}-64bit = %{version}-%{release}
364 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
365 Libgcc is needed for dynamically linked C programs.
367 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
370 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
373 %package -n libgomp%{libgomp_sover}%{libgomp_suffix}
374 Summary: The GNU compiler collection OpenMP runtime library
375 License: GPL-3.0-with-GCC-exception
377 Provides: libgomp%{libgomp_sover} = %{version}-%{release}
379 %description -n libgomp%{libgomp_sover}%{libgomp_suffix}
380 This is the OpenMP runtime library needed by OpenMP enabled programs
381 that were built with the -fopenmp compiler option and by programs that
382 were auto-parallelized via the -ftree-parallelize-loops compiler
386 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}
389 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}
391 %package -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
392 Summary: The GNU compiler collection OpenMP runtime library
393 License: GPL-3.0-with-GCC-exception
395 Provides: libgomp%{libgomp_sover}-32bit = %{version}-%{release}
397 %description -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
398 This is the OpenMP runtime library needed by OpenMP enabled programs
399 that were built with the -fopenmp compiler option and by programs that
400 were auto-parallelized via the -ftree-parallelize-loops compiler
404 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
407 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
409 %package -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
410 Summary: The GNU compiler collection OpenMP runtime library
411 License: GPL-3.0-with-GCC-exception
413 Provides: libgomp%{libgomp_sover}-64bit = %{version}-%{release}
415 %description -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
416 This is the OpenMP runtime library needed by OpenMP enabled programs
417 that were built with the -fopenmp compiler option and by programs that
418 were auto-parallelized via the -ftree-parallelize-loops compiler
422 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
425 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
428 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
429 Summary: The standard C++ shared library
430 License: GPL-3.0-with-GCC-exception
431 Group: System/Libraries
432 Suggests: libstdc++%{libstdcxx_sover}-locale
433 Provides: libstdc++%{libstdcxx_sover} = %{version}-%{release}
435 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
436 The standard C++ library, needed for dynamically linked C++ programs.
439 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
442 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
444 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
445 Summary: The standard C++ shared library
446 License: GPL-3.0-with-GCC-exception
447 Group: System/Libraries
448 Suggests: libstdc++%{libstdcxx_sover}-locale
449 Provides: libstdc++%{libstdcxx_sover}-32bit = %{version}-%{release}
451 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
452 The standard C++ library, needed for dynamically linked C++ programs.
455 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
458 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
460 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
461 Summary: The standard C++ shared library
462 License: GPL-3.0-with-GCC-exception
463 Group: System/Libraries
464 Suggests: libstdc++%{libstdcxx_sover}-locale
465 Provides: libstdc++%{libstdcxx_sover}-64bit = %{version}-%{release}
467 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
468 The standard C++ library, needed for dynamically linked C++ programs.
471 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
474 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
477 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
478 Summary: Locale Data for the standard C++ shared library
479 License: GPL-3.0-with-GCC-exception
480 Group: System/Libraries
481 Provides: libstdc++%{libstdcxx_sover}-locale = %{version}-%{release}
483 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
484 The standard C++ library locale data.
488 Summary: Documentation for the GNU compiler collection
490 Group: Documentation/Other
494 GNU info-pages for the GNU compiler collection covering both user-level
495 and internals documentation.
499 Summary: GNU Objective C Compiler
501 Group: Development/Languages/Other
502 Requires: gcc48 = %{version}-%{release}
503 Requires: libobjc%{libobjc_sover} >= %{version}-%{release}
506 This package contains the GNU Objective C compiler. Objective C is an
507 object oriented language, created by Next Inc. and used in their
508 Nextstep OS. The source code is available in the gcc package.
510 Summary: GNU Objective C Compiler
512 Group: Development/Languages/Other
513 Requires: gcc48 = %{version}-%{release}
514 Requires: libobjc%{libobjc_sover}-32bit >= %{version}-%{release}
516 %description objc-32bit
517 This package contains the GNU Objective C compiler. Objective C is an
518 object oriented language, created by Next Inc. and used in their
519 Nextstep OS. The source code is available in the gcc package.
521 Summary: GNU Objective C Compiler
523 Group: Development/Languages/Other
524 Requires: gcc48 = %{version}-%{release}
525 Requires: libobjc%{libobjc_sover}-64bit >= %{version}-%{release}
527 %description objc-64bit
528 This package contains the GNU Objective C compiler. Objective C is an
529 object oriented language, created by Next Inc. and used in their
530 Nextstep OS. The source code is available in the gcc package.
532 %package -n libobjc%{libobjc_sover}%{libobjc_suffix}
533 Summary: Library for the GNU Objective C Compiler
534 License: GPL-3.0-with-GCC-exception
535 Group: Development/Libraries/Other
536 Provides: libobjc%{libobjc_sover} = %{version}-%{release}
538 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}
539 The library for the GNU Objective C compiler.
541 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}
544 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}
546 %package -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
547 Summary: Library for the GNU Objective C Compiler
548 License: GPL-3.0-with-GCC-exception
549 Group: Development/Libraries/Other
550 Provides: libobjc%{libobjc_sover}-32bit = %{version}-%{release}
552 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
553 The library for the GNU Objective C compiler.
555 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
558 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
560 %package -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
561 Summary: Library for the GNU Objective C Compiler
562 License: GPL-3.0-with-GCC-exception
563 Group: Development/Libraries/Other
564 Provides: libobjc%{libobjc_sover}-64bit = %{version}-%{release}
566 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
567 The library for the GNU Objective C compiler.
569 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
572 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
576 Summary: GNU Objective C++ Compiler
578 Group: Development/Languages/Other
579 Requires: gcc48-objc = %{version}-%{release}
580 Requires: gcc48-c++ = %{version}-%{release}
583 This package contains the GNU Objective C++ compiler. Objective C++ is an
584 object oriented language, created by Next Inc. and used in their
585 Nextstep OS. The source code is available in the gcc package.
589 Summary: The GCC Preprocessor
591 Group: Development/Languages/C and C++
593 %description -n cpp48
594 This Package contains just the preprocessor that is used by the X11
599 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
601 Group: Development/Languages/Other
602 Requires: gcc48 = %{version}-%{release}
603 Requires: libada48 = %{version}-%{release}
606 This package contains an Ada95 compiler and associated development
607 tools based on the GNU GCC technology. Ada95 is the object oriented
608 successor of the Ada83 language. To build this package from source you
609 must have installed a binary version to bootstrap the compiler.
611 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
613 Group: Development/Languages/Other
614 Requires: gcc48-32bit = %{version}-%{release}
615 Requires: libada48-32bit = %{version}-%{release}
617 %description ada-32bit
618 This package contains an Ada95 compiler and associated development
619 tools based on the GNU GCC technology. Ada95 is the object oriented
620 successor of the Ada83 language. To build this package from source you
621 must have installed a binary version to bootstrap the compiler.
623 Summary: GNU Ada95 Compiler Based on GCC (GNAT)
625 Group: Development/Languages/Other
626 Requires: gcc48-64bit = %{version}-%{release}
627 Requires: libada48-64bit = %{version}-%{release}
629 %description ada-64bit
630 This package contains an Ada95 compiler and associated development
631 tools based on the GNU GCC technology. Ada95 is the object oriented
632 successor of the Ada83 language. To build this package from source you
633 must have installed a binary version to bootstrap the compiler.
636 Summary: GNU Ada Runtime Libraries
637 License: GPL-3.0-with-GCC-exception
638 Group: System/Libraries
639 %description -n libada48
640 This package contains the shared libraries required to run programs
641 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
642 shared libraries. It also contains the shared libraries for the
643 Implementation of the Ada Semantic Interface Specification (ASIS), the
644 implementation of Distributed Systems Programming (GLADE) and the Posix
645 1003.5 Binding (Florist).
652 %package -n libada48-32bit
653 Summary: GNU Ada Runtime Libraries
654 License: GPL-3.0-with-GCC-exception
655 Group: System/Libraries
656 %description -n libada48-32bit
657 This package contains the shared libraries required to run programs
658 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
659 shared libraries. It also contains the shared libraries for the
660 Implementation of the Ada Semantic Interface Specification (ASIS), the
661 implementation of Distributed Systems Programming (GLADE) and the Posix
662 1003.5 Binding (Florist).
664 %post -n libada48-32bit
667 %postun -n libada48-32bit
669 %package -n libada48-64bit
670 Summary: GNU Ada Runtime Libraries
671 License: GPL-3.0-with-GCC-exception
672 Group: System/Libraries
673 %description -n libada48-64bit
674 This package contains the shared libraries required to run programs
675 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
676 shared libraries. It also contains the shared libraries for the
677 Implementation of the Ada Semantic Interface Specification (ASIS), the
678 implementation of Distributed Systems Programming (GLADE) and the Posix
679 1003.5 Binding (Florist).
681 %post -n libada48-64bit
684 %postun -n libada48-64bit
688 Summary: The GNU Fortran Compiler and Support Files
690 Group: Development/Languages/Fortran
691 Requires: gcc48 = %{version}-%{release}
692 Requires: libgfortran%{libgfortran_sover} >= %{version}-%{release}
693 %ifarch %quadmath_arch
694 Requires: libquadmath%{libquadmath_sover} >= %{version}-%{release}
698 This is the Fortran compiler of the GNU Compiler Collection (GCC).
699 %package fortran-32bit
700 Summary: The GNU Fortran Compiler and Support Files
702 Group: Development/Languages/Fortran
703 Requires: gcc48 = %{version}-%{release}
704 Requires: libgfortran%{libgfortran_sover}-32bit >= %{version}-%{release}
705 %ifarch %quadmath_arch
706 Requires: libquadmath%{libquadmath_sover}-32bit >= %{version}-%{release}
709 %description fortran-32bit
710 This is the Fortran compiler of the GNU Compiler Collection (GCC).
711 %package fortran-64bit
712 Summary: The GNU Fortran Compiler and Support Files
714 Group: Development/Languages/Fortran
715 Requires: gcc48 = %{version}-%{release}
716 Requires: libgfortran%{libgfortran_sover}-64bit >= %{version}-%{release}
717 %ifarch %quadmath_arch
718 Requires: libquadmath%{libquadmath_sover}-64bit >= %{version}-%{release}
721 %description fortran-64bit
722 This is the Fortran compiler of the GNU Compiler Collection (GCC).
724 %package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
725 Summary: The GNU Fortran Compiler Runtime Library
726 License: GPL-3.0-with-GCC-exception
727 Group: Development/Languages/Fortran
728 %ifarch %quadmath_arch
729 Requires: libquadmath%{libquadmath_sover} >= %{version}-%{release}
731 Provides: libgfortran%{libgfortran_sover} = %{version}-%{release}
733 %description -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
734 The runtime library needed to run programs compiled with the Fortran compiler
735 of the GNU Compiler Collection (GCC).
737 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
740 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
742 %package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
743 Summary: The GNU Fortran Compiler Runtime Library
744 License: GPL-3.0-with-GCC-exception
745 Group: Development/Languages/Fortran
746 %ifarch %quadmath_arch
747 Requires: libquadmath%{libquadmath_sover}-32bit >= %{version}-%{release}
749 Provides: libgfortran%{libgfortran_sover}-32bit = %{version}-%{release}
751 %description -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
752 The runtime library needed to run programs compiled with the Fortran compiler
753 of the GNU Compiler Collection (GCC).
755 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
758 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
760 %package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
761 Summary: The GNU Fortran Compiler Runtime Library
762 License: GPL-3.0-with-GCC-exception
763 Group: Development/Languages/Fortran
764 %ifarch %quadmath_arch
765 Requires: libquadmath%{libquadmath_sover}-64bit >= %{version}-%{release}
767 Provides: libgfortran%{libgfortran_sover}-64bit = %{version}-%{release}
769 %description -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
770 The runtime library needed to run programs compiled with the Fortran compiler
771 of the GNU Compiler Collection (GCC).
773 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
776 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
779 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
780 Summary: The GNU Fortran Compiler Quadmath Runtime Library
782 Group: Development/Languages/Fortran
783 Provides: libquadmath%{libquadmath_sover} = %{version}-%{release}
785 %description -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
786 The runtime library needed to run programs compiled with the Fortran compiler
787 of the GNU Compiler Collection (GCC) and quadruple precision floating point
790 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
793 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
795 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
796 Summary: The GNU Fortran Compiler Quadmath Runtime Library
798 Group: Development/Languages/Fortran
799 Provides: libquadmath%{libquadmath_sover}-32bit = %{version}-%{release}
801 %description -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
802 The runtime library needed to run programs compiled with the Fortran compiler
803 of the GNU Compiler Collection (GCC) and quadruple precision floating point
806 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
809 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
811 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
812 Summary: The GNU Fortran Compiler Quadmath Runtime Library
814 Group: Development/Languages/Fortran
815 Provides: libquadmath%{libquadmath_sover}-64bit = %{version}-%{release}
817 %description -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
818 The runtime library needed to run programs compiled with the Fortran compiler
819 of the GNU Compiler Collection (GCC) and quadruple precision floating point
822 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
825 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
828 %package -n libmudflap48
829 Summary: The Mudflap Extension Runtime Library
830 License: GPL-3.0-with-GCC-exception
831 Group: Development/Languages/C and C++
833 %description -n libmudflap48
834 This is the Mudflap Extension Runtime Library.
836 %post -n libmudflap48
839 %postun -n libmudflap48
841 %package -n libmudflap48-32bit
842 Summary: The Mudflap Extension Runtime Library
843 License: GPL-3.0-with-GCC-exception
844 Group: Development/Languages/C and C++
846 %description -n libmudflap48-32bit
847 This is the Mudflap Extension Runtime Library.
849 %post -n libmudflap48-32bit
852 %postun -n libmudflap48-32bit
854 %package -n libmudflap48-64bit
855 Summary: The Mudflap Extension Runtime Library
856 License: GPL-3.0-with-GCC-exception
857 Group: Development/Languages/C and C++
859 %description -n libmudflap48-64bit
860 This is the Mudflap Extension Runtime Library.
862 %post -n libmudflap48-64bit
865 %postun -n libmudflap48-64bit
868 %package -n libitm%{libitm_sover}%{libitm_suffix}
869 Summary: The GNU Compiler Transactional Memory Runtime Library
871 Group: Development/Languages/C and C++
873 %description -n libitm%{libitm_sover}%{libitm_suffix}
874 The runtime library needed to run programs compiled with the
875 -fgnu-tm option of the GNU Compiler Collection (GCC).
877 %post -n libitm%{libitm_sover}%{libitm_suffix}
880 %postun -n libitm%{libitm_sover}%{libitm_suffix}
882 %package -n libitm%{libitm_sover}%{libitm_suffix}-32bit
883 Summary: The GNU Compiler Transactional Memory Runtime Library
885 Group: Development/Languages/C and C++
887 %description -n libitm%{libitm_sover}%{libitm_suffix}-32bit
888 The runtime library needed to run programs compiled with the
889 -fgnu-tm option of the GNU Compiler Collection (GCC).
891 %post -n libitm%{libitm_sover}%{libitm_suffix}-32bit
894 %postun -n libitm%{libitm_sover}%{libitm_suffix}-32bit
896 %package -n libitm%{libitm_sover}%{libitm_suffix}-64bit
897 Summary: The GNU Compiler Transactional Memory Runtime Library
899 Group: Development/Languages/C and C++
901 %description -n libitm%{libitm_sover}%{libitm_suffix}-64bit
902 The runtime library needed to run programs compiled with the
903 -fgnu-tm option of the GNU Compiler Collection (GCC).
905 %post -n libitm%{libitm_sover}%{libitm_suffix}-64bit
908 %postun -n libitm%{libitm_sover}%{libitm_suffix}-64bit
911 %package -n libasan%{libasan_sover}%{libasan_suffix}
912 Summary: The GNU Compiler Address Sanitizer Runtime Library
914 Group: Development/Languages/C and C++
916 %description -n libasan%{libasan_sover}%{libasan_suffix}
917 The runtime library needed to run programs compiled with the
918 -fsanitize=address option of the GNU Compiler Collection (GCC).
920 %post -n libasan%{libasan_sover}%{libasan_suffix}
923 %postun -n libasan%{libasan_sover}%{libasan_suffix}
925 %package -n libasan%{libasan_sover}%{libasan_suffix}-32bit
926 Summary: The GNU Compiler Address Sanitizer Runtime Library
928 Group: Development/Languages/C and C++
930 %description -n libasan%{libasan_sover}%{libasan_suffix}-32bit
931 The runtime library needed to run programs compiled with the
932 -fsanitize=address option of the GNU Compiler Collection (GCC).
934 %post -n libasan%{libasan_sover}%{libasan_suffix}-32bit
937 %postun -n libasan%{libasan_sover}%{libasan_suffix}-32bit
939 %package -n libasan%{libasan_sover}%{libasan_suffix}-64bit
940 Summary: The GNU Compiler Address Sanitizer Runtime Library
942 Group: Development/Languages/C and C++
944 %description -n libasan%{libasan_sover}%{libasan_suffix}-64bit
945 The runtime library needed to run programs compiled with the
946 -fsanitize=address option of the GNU Compiler Collection (GCC).
948 %post -n libasan%{libasan_sover}%{libasan_suffix}-64bit
951 %postun -n libasan%{libasan_sover}%{libasan_suffix}-64bit
954 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}
955 Summary: The GNU Compiler Thread Sanitizer Runtime Library
957 Group: Development/Languages/C and C++
959 %description -n libtsan%{libtsan_sover}%{libtsan_suffix}
960 The runtime library needed to run programs compiled with the
961 -fsanitize=thread option of the GNU Compiler Collection (GCC).
963 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}
966 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}
968 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
969 Summary: The GNU Compiler Thread Sanitizer Runtime Library
971 Group: Development/Languages/C and C++
973 %description -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
974 The runtime library needed to run programs compiled with the
975 -fsanitize=thread option of the GNU Compiler Collection (GCC).
977 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
980 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
982 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
983 Summary: The GNU Compiler Thread Sanitizer Runtime Library
985 Group: Development/Languages/C and C++
987 %description -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
988 The runtime library needed to run programs compiled with the
989 -fsanitize=thread option of the GNU Compiler Collection (GCC).
991 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
994 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
997 %package -n libatomic%{libatomic_sover}%{libatomic_suffix}
998 Summary: The GNU Compiler Atomic Operations Runtime Library
999 License: GPL-3.0-with-GCC-exception
1000 Group: Development/Languages/C and C++
1002 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}
1003 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
1005 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}
1008 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}
1010 %package -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1011 Summary: The GNU Compiler Atomic Operations Runtime Library
1012 License: GPL-3.0-with-GCC-exception
1013 Group: Development/Languages/C and C++
1015 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1016 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
1018 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1021 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1023 %package -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1024 Summary: The GNU Compiler Atomic Operations Runtime Library
1025 License: GPL-3.0-with-GCC-exception
1026 Group: Development/Languages/C and C++
1028 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1029 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
1031 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1034 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1038 %package -n libgcj48
1039 Summary: Java Runtime Library for gcc
1040 License: GPL-2.0-with-classpath-exception
1041 Group: System/Libraries
1043 %description -n libgcj48
1044 This library is needed if you want to use the GNU Java compiler, gcj.
1045 Source code for this package is in gcc.
1054 %package -n gcc48-java
1055 Summary: The GNU Java Compiler
1057 Group: Development/Languages/Java
1058 Requires: gcc48 = %{version}
1059 Requires: libgcj48-devel = %{version}-%{release}
1061 %description -n gcc48-java
1062 The Java compiler from the GCC-tools-suite.
1065 %package -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
1066 Summary: Fake library for BC-ABI compatibility.
1067 License: GPL-2.0-with-classpath-exception
1068 Group: Development/Libraries/Java
1069 # libgcj_bc is special in that it just contains a symlink to
1070 # a proper libgcj version. So require that library and add
1071 # provides for the shlib version as created at link time
1072 Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
1073 %ifarch x86_64 ia64 ppc64 s390x sparc64 aarch64
1074 Provides: libgcj_bc.so.%{libgcj_bc_sover}()(64bit)
1076 Provides: libgcj_bc.so.%{libgcj_bc_sover}
1079 %description -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
1080 A fake library that is used at link time only. It ensures that
1081 binaries built with the BC-ABI link against a constant SONAME.
1082 This way, BC-ABI binaries continue to work if the SONAME underlying
1086 %package -n libgcj48-jar
1087 Summary: Java runtime library (jar files).
1088 License: GPL-2.0-with-classpath-exception
1089 Group: Development/Libraries/Java
1091 %description -n libgcj48-jar
1092 These are the jar files that go along with the gcj front end to gcc.
1095 %package -n libgcj48-devel
1096 Summary: Include Files and Libraries mandatory for Development.
1097 License: GPL-2.0-with-classpath-exception
1098 Group: Development/Libraries/Java
1099 Requires: libstdc++48-devel = %{version}
1100 Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
1101 Requires: libgcj_bc%{libgcj_bc_sover} >= %{version}-%{release}
1102 Requires: libgcj48-jar = %{version}-%{release}
1103 Requires: gtk2-devel
1104 Requires: libart_lgpl-devel
1105 Requires: glibc-devel
1106 Requires: zlib-devel
1108 Requires: libunwind-devel
1111 %description -n libgcj48-devel
1112 This package contains all necessary include files and libraries needed
1113 to develop applications that require these.
1116 %package -n gcc48-gij
1117 Summary: Java Bytecode Interpreter for gcc
1118 License: GPL-2.0-with-classpath-exception
1119 Group: Development/Libraries/Java
1120 Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
1122 %description -n gcc48-gij
1123 This package contains the java bytecode interpreter gij and related tools.
1125 %package -n libffi%{libffi_sover}%{libffi_suffix}
1126 Summary: Foreign Function Interface library
1127 License: BSD-3-Clause
1128 Group: Development/Languages/C and C++
1130 %description -n libffi%{libffi_sover}%{libffi_suffix}
1131 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.
1133 %post -n libffi%{libffi_sover}%{libffi_suffix}
1136 %postun -n libffi%{libffi_sover}%{libffi_suffix}
1138 %package -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1139 Summary: Foreign Function Interface library
1140 License: BSD-3-Clause
1141 Group: Development/Languages/C and C++
1143 %description -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1144 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.
1146 %post -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1149 %postun -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1151 %package -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1152 Summary: Foreign Function Interface library
1153 License: BSD-3-Clause
1154 Group: Development/Languages/C and C++
1156 %description -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1157 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.
1159 %post -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1162 %postun -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1165 %package -n libffi48-devel
1166 Summary: Foreign Function Interface library development files
1167 License: BSD 3-Clause
1168 Group: Development/Languages/C and C++
1169 Requires: libffi%{libffi_sover} >= %{version}-%{release}
1171 %description -n libffi48-devel
1172 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.
1173 %package -n libffi48-devel-32bit
1174 Summary: Foreign Function Interface library development files
1175 License: BSD 3-Clause
1176 Group: Development/Languages/C and C++
1177 Requires: libffi%{libffi_sover}-32bit >= %{version}-%{release}
1179 %description -n libffi48-devel-32bit
1180 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.
1181 %package -n libffi48-devel-64bit
1182 Summary: Foreign Function Interface library development files
1183 License: BSD 3-Clause
1184 Group: Development/Languages/C and C++
1185 Requires: libffi%{libffi_sover}-64bit >= %{version}-%{release}
1187 %description -n libffi48-devel-64bit
1188 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.
1190 %package -n gcc48-testresults
1191 Summary: Testsuite results
1192 License: SUSE-Public-Domain
1193 Group: Development/Languages/C and C++
1195 %description -n gcc48-testresults
1196 Results from running the gcc and target library testsuites.
1200 # Define the canonical target and host architecture
1201 # %gcc_target_arch is supposed to be the full target triple
1202 # %TARGET_ARCH is the canonicalized CPU part
1203 # %CONFIGURE_TARGET is the target triple used for --target=
1204 %if 0%{?gcc_target_arch:1}
1205 %define CONFIGURE_TARGET %{gcc_target_arch}
1206 %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/;")
1207 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc"
1208 %define CONFIGURE_TARGET powerpc64-tizen-linux
1210 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64"
1211 %define CONFIGURE_TARGET powerpc64-tizen-linux
1213 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
1214 %define CONFIGURE_TARGET i586-tizen-linux
1216 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
1217 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
1219 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
1220 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
1222 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5tel"
1223 %define CONFIGURE_TARGET armv5tel-tizen-linux-gnueabi
1226 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1228 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1230 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
1233 %define GCCDIST powerpc64-tizen-linux
1236 %define GCCDIST sparc64-tizen-linux
1239 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
1241 %define GCCDIST %{HOST_ARCH}-tizen-linux
1246 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
1247 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
1250 # Versionspecific directories
1251 %define versmainlibdir %{libsubdir}
1252 %define versmainlibdirbi32 %{libsubdir}/32
1253 %define versmainlibdirbi64 %{libsubdir}/64
1255 %define versmainlibdirbi32 %{libsubdir}
1256 %define versmainlibdirbi64 %{libsubdir}/64
1258 %if %{build_primary_64bit}
1259 %define versmainlibdirbi %{versmainlibdirbi32}
1261 %define versmainlibdirbi %{versmainlibdirbi64}
1264 %define mainlibdir %{_libdir}
1265 %define mainlibdirbi32 %{_prefix}/lib
1266 %define mainlibdirbi64 %{_prefix}/lib64
1267 %if %{build_primary_64bit}
1268 %define mainlibdirbi %{mainlibdirbi32}
1270 %define mainlibdirbi %{mainlibdirbi64}
1274 # Now define a few macros that make it easy to package libs and
1275 # related files just to the right package, without caring for the
1276 # exact path the files are in.
1277 # %mainlib package X from all dirs that belong to the main package
1278 # %biarchlib package X from all dirs that belong to the -32/64bit package
1279 %define mainlib() %{mainlibdir}/%1\
1281 %define biarchlib() %{nil}
1283 %if !%{separate_biarch}
1284 %define mainlib() %{mainlibdir}/%1\
1288 %define biarchlib() %{mainlibdirbi}/%1\
1293 %define versmainlib() %{versmainlibdir}/%1\
1295 %define versbiarchlib() %{nil}
1297 %if !%{separate_biarch}
1298 %define versmainlib() %{versmainlibdir}/%1\
1299 %{versmainlibdirbi}/%1\
1302 %define versbiarchlib() %{versmainlibdirbi}/%1\
1310 %setup -q -n gcc-%{version}
1313 # We are configuring ppc as ppc64 but with switched multilibs. Adjust
1314 # the libstdc++ abi testsuite baseline files accordingly
1316 if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
1317 mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
1318 mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
1319 libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
1320 mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
1321 libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
1326 # Avoid rebuilding of generated files
1327 contrib/gcc_update --touch
1328 # Avoid fucking up testsuite results with Java and indirect dispatch
1329 export LD_AS_NEEDED=0
1330 # Split version file into version used for directories (X.Y) and
1331 # version to report with --version (X.Y.Z).
1332 # See also gcc-dir-version.patch.
1333 # Also decrement the patchlevel version by one
1334 if test `cat gcc/DEV-PHASE` == "prerelease"; then
1335 ( 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
1337 mv gcc/BASE-VER gcc/FULL-VER
1339 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
1341 rm -rf obj-%{GCCDIST}
1342 mkdir obj-%{GCCDIST}
1344 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
1345 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'`
1347 # -mcpu is superceded by -mtune but -mtune is not supported by
1348 # our bootstrap compiler. -mcpu gives a warning that stops
1349 # the build process, so remove it for now. Also remove all other
1350 # -march and -mtune flags. They are superseeded by proper
1351 # default compiler settings now.
1352 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'`
1355 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
1356 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
1358 %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
1359 # Kill all -march/tune/cpu because that screws building the target libs
1360 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
1362 # Replace 2 spaces by one finally
1363 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
1367 languages=$languages,c++
1370 languages=$languages,objc
1372 %if %{build_fortran}
1373 languages=$languages,fortran
1376 languages=$languages,obj-c++
1379 languages=$languages,java
1382 languages=$languages,ada
1386 if test -z "$J"; then
1387 J=$(getconf _NPROCESSORS_CONF)
1390 test 1 -gt "$J" && J=1
1391 JL=$(($(getconf _NPROCESSORS_CONF)*2))
1393 if test "$J" == "0"; then
1396 if test "$JL" == "0"; then
1399 PARALLEL="-j$J -l$JL"
1401 # we don't want some miscompiles in the testsuite, or some fault in
1402 # the compiler to kill the machine. Hence we limit the amount of memory
1403 # by the physical RAM plus half of swap
1404 #MEM=$(free -m | awk '/^Mem:/ {print $2}')
1405 #SWAP=$(free -m | awk '/^Swap:/ {print $2}')
1406 #ulimit -v $(((MEM + SWAP/2)*1024))
1408 # In general we want to ship release checking enabled compilers
1409 # and run BETA with checking enabled.
1410 #ENABLE_CHECKING="--enable-checking=yes"
1411 ENABLE_CHECKING="--enable-checking=release"
1413 # Work around tail/head -1 changes
1414 export _POSIX2_VERSION=199209
1416 # configure tries to parse include/features.h to detect
1417 # if glibc supports SSP. When cross compiling we would need
1418 # to install a cross glibc, which we don't, or make the whole
1419 # thing point to the native glibc, which is in /, hence the
1420 # --with-build-sysroot=/
1423 # Using the host gnatmake like
1424 # CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
1425 # GNATMAKE="gnatmake%{hostsuffix}"
1426 # doesn't work due to PR33857, so an un-suffixed gnatmake has to be
1428 mkdir -p host-tools/bin
1429 cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
1430 cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
1431 cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
1432 cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
1433 ln -sf /usr/%{_lib} host-tools/%{_lib}
1434 export PATH="`pwd`/host-tools/bin:$PATH"
1436 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
1438 # --enable-threads=posix \
1441 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
1442 # temporary workaround for a miscompilation of hash functions in java code
1443 GCJ_EXTRA_FLAGS="-marm"
1445 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
1446 TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
1448 --prefix=%{_prefix} \
1449 --infodir=%{_infodir} \
1450 --mandir=%{_mandir} \
1451 --libdir=%{_libdir} \
1452 --libexecdir=%{_libdir} \
1453 --disable-bootstrap \
1454 --enable-languages=$languages \
1456 --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
1460 --with-bugurl="http://bugs.tizen.org/" \
1461 --with-pkgversion="Tizen" \
1462 %if !%{build_libjava}
1465 --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
1466 --with-ecj-jar=%{libsubdir}/ecj.jar \
1467 --disable-java-awt \
1468 %if !%{biarch_libjava}
1469 --disable-libjava-multilib \
1472 %if !%{build_with_mudflap}
1473 --disable-libmudflap \
1475 --with-slibdir=/%{_lib} \
1476 --with-system-zlib \
1477 --enable-__cxa_atexit \
1478 --enable-libstdcxx-allocator=new \
1479 --disable-libstdcxx-pch \
1480 --enable-version-specific-runtime-libs \
1481 --enable-linker-build-id \
1482 %if 0%{?gcc_target_arch:1}
1483 %if 0%{?gcc_icecream:1}
1484 --with-build-sysroot=/ \
1485 --with-sysroot=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi} \
1486 --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/usr/include/c++/%{gcc_dir_version} \
1487 --enable-linux-futex \
1489 %if 0%{?canonical_target:1}
1490 --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
1493 --with-sysroot=%sysroot \
1495 %if 0%{?build_static:1}
1498 %if "%{TARGET_ARCH}" == "spu"
1499 --with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
1503 --target=%{CONFIGURE_TARGET} \
1505 --program-suffix=%{binsuffix} \
1506 --enable-linux-futex \
1508 --with-system-libunwind \
1510 --without-system-libunwind \
1513 %if "%{TARGET_ARCH}" == "armv5tel"
1514 --with-arch=armv5te \
1517 --with-abi=aapcs-linux \
1518 --disable-sjlj-exceptions \
1520 %if "%{TARGET_ARCH}" == "armv7l"
1521 --with-arch=armv7-a \
1522 --with-tune=cortex-a9 \
1524 --with-fpu=vfpv3-d16 \
1525 --disable-sjlj-exceptions \
1527 %if "%{TARGET_ARCH}" == "armv7hl"
1528 --with-arch=armv7-a \
1529 --with-tune=cortex-a9 \
1531 --with-abi=aapcs-linux \
1532 --with-fpu=vfpv3-d16 \
1533 --disable-sjlj-exceptions \
1535 %if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64"
1536 %if "%{TARGET_ARCH}" == "powerpc"
1537 --with-cpu=default32 \
1539 --with-cpu-64=power4 \
1540 --enable-secureplt \
1541 --with-long-double-128 \
1543 %if "%{TARGET_ARCH}" == "sparc64"
1544 --with-cpu=ultrasparc \
1545 --with-long-double-128 \
1547 %if "%{TARGET_ARCH}" == "sparc"
1549 --with-long-double-128 \
1551 %if "%{TARGET_ARCH}" == "i586"
1552 --with-arch-32=i586 \
1553 --with-tune=generic \
1555 %if "%{TARGET_ARCH}" == "x86_64"
1556 --with-arch-32=i586 \
1557 --with-tune=generic \
1559 %if "%{TARGET_ARCH}" == "s390"
1560 --with-tune=z196 --with-arch=z10 \
1561 --with-long-double-128 \
1562 --enable-decimal-float \
1564 %if "%{TARGET_ARCH}" == "s390x"
1565 --with-tune=z196 --with-arch=z10 \
1566 --with-long-double-128 \
1567 --enable-decimal-float \
1572 %if 0%{?building_libffi:1}
1573 make stage1-bubble $PARALLEL
1574 make all-target-libffi $PARALLEL
1577 # Only run profiled bootstrap on archs where it works
1578 #%ifarch %ix86 x86_64 ppc ppc64 ia64
1579 #make profiledbootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1581 #make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1582 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1586 %if 0%{?run_tests:1}
1587 echo "Run testsuite"
1588 (make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1589 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1590 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1591 # asan needs a whole shadow address space
1592 ulimit -v unlimited || true
1593 make -k check $PARALLEL || true
1594 mkdir ../testresults
1595 ../contrib/test_summary | tee ../testresults/test_summary.txt
1600 export NO_BRP_CHECK_BYTECODE_VERSION=true
1602 # Work around tail/head -1 changes
1603 export _POSIX2_VERSION=199209
1604 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi}
1605 %if 0%{?building_libffi:1}
1606 make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
1608 %if 0%{?building_libjava:1}
1609 make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
1610 make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
1611 make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
1612 make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
1613 # install-common also installs collect2, gcov and the g++ and gfortran driver
1615 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1617 %if %{build_fortran}
1618 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1620 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1621 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1623 make install DESTDIR=$RPM_BUILD_ROOT
1625 make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
1626 make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT
1627 rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
1628 rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
1629 rm $RPM_BUILD_ROOT%{libsubdir}/jc1
1630 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
1635 # Remove libffi installed files if we did not want to build it
1636 %if !0%{?building_libffi:1}
1637 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.*
1639 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
1641 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h
1642 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h
1643 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3*
1644 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3*
1645 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3*
1646 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3*
1649 # Remove some useless .la files
1650 for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \
1651 libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij \
1652 libasan libatomic libitm libtsan; do
1653 rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la
1655 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1659 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1661 %if %{build_primary_64bit}
1662 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1664 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1669 # Merge multilib c++config.h to allow omitting the duplicate and
1670 # identical other arch specific headers
1672 cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1673 for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1674 if ! diff -up $cxxconfig $i; then
1689 if ! ( test -f "$file_32" && test -f "$file_64" ); then
1694 cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1695 #ifndef _CPP_CPPCONFIG_WRAPPER
1696 #define _CPP_CPPCONFIG_WRAPPER 1
1697 #include <bits/wordsize.h>
1698 #if __WORDSIZE == 32
1708 rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1709 if ! test -z "$dir_ml"; then
1710 ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1714 # move shared libs from versionspecific dir to main libdir
1716 %if 0%{?building_libjava:1}
1717 libgcj libgij libgcj-tools \
1719 %if %{build_fortran}
1721 %ifarch %quadmath_arch
1732 %ifarch %atomic_arch
1744 %if %{build_with_mudflap}
1745 libmudflap libmudflapth \
1749 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1750 mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1752 ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1753 $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
1755 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1756 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1757 mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/
1759 ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'` \
1760 $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1764 # FIXME, tsan is not multilib
1767 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/libtsan.so
1771 %if !0%{?building_libjava:1}
1772 # And we want to move the shlib gdb pretty printers to a more sane
1773 # place so ldconfig does not complain
1774 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
1775 mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
1776 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py
1778 if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1779 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
1780 mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1781 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1786 %if 0%{?building_libjava:1}
1787 # libgcj_bc is special as the .so file is actually a different
1788 # library as the library refered to by the SONAME which should
1789 # be a simple link to our libgcj.
1790 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do
1793 ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.%{libgcj_bc_sover}
1794 %if %{biarch_libjava}
1795 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do
1798 ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.%{libgcj_bc_sover}
1802 # Move libgcc_s around
1803 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1804 rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1805 ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1807 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1809 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
1811 %if %{build_primary_64bit}
1812 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1813 rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1814 ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1816 mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1818 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1819 chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
1821 # 32-bit biarch systems
1822 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1823 rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1824 ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1826 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1828 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1829 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1835 mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir}
1836 ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so
1837 ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so
1838 chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
1840 mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
1841 ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1842 ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1843 chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
1847 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1849 # Remove some crap from the .la files:
1850 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
1852 # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g'
1853 sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1854 -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1855 -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1856 -e '/^dependency_libs/s|-L[^ ]* ||g' \
1858 %if %{build_primary_64bit}
1859 -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1860 -e '/^libdir/s|lib64/\.\./||' \
1862 -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1869 %if 0%{?run_tests:1}
1870 cp `find . -name "*.sum"` ../testresults/
1871 cp `find . -name "*.log" \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
1872 chmod 644 ../testresults/*
1875 # Find C++ and Java headers
1876 find $RPM_BUILD_ROOT%{_prefix}/include/c++ \
1877 -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \
1878 -o \( -type d -printf "%%%%dir " , \
1879 -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers
1881 # Remove files that we do not need to clean up filelist
1882 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-*
1883 rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools
1884 #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
1885 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root
1886 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h
1887 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-*
1888 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux
1889 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound
1890 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h
1891 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h
1892 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h
1893 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h
1894 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11
1895 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1896 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h
1897 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h
1898 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h
1899 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1900 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys
1902 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1903 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
1904 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix}
1906 %if !0%{?building_libjava:1}%{?building_libffi:1}
1907 # delete compile flag tracking from crt files
1908 crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o
1910 %if %{build_primary_64bit}
1911 crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o
1913 crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o
1916 for o in $crt_list $crt32_list $crt64_list; do
1917 objcopy -R ".comment.SUSE.OPTs" $o
1921 %if 0%{?building_libjava:1}
1922 # gcj -static doesn't work properly anyway, unless using --whole-archive
1923 # let's save the space instead.
1924 find $RPM_BUILD_ROOT -name libgcj.a \
1925 -o -name libgcj-tools.a \
1928 -o -name libgcj_bc.a \
1931 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
1932 sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
1934 # security files have broken install locations, also they cause conflicts
1935 # between libgcj versions. Simply delete them here, libgcj will use its
1936 # defaults in this case (which is what these files contain anyway).
1937 rm $RPM_BUILD_ROOT%{_libdir}/logging.properties
1938 rm -r $RPM_BUILD_ROOT%{_libdir}/security
1941 %if 0%{?building_libffi:1}
1942 # Move libffi headers, remove empty libffi libtool file
1943 mkdir -p $RPM_BUILD_ROOT%{_prefix}/include
1944 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/
1945 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/
1946 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la
1948 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
1950 # Generate a simple pkg-config file
1951 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
1952 echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc
1956 %if !%{build_libjava}
1957 rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
1958 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
1959 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
1960 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
1961 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1
1962 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1
1963 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1
1965 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py
1966 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py
1968 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
1969 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
1970 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
1971 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
1973 %if %{build_primary_64bit}
1974 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
1976 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
1979 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
1980 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
1982 %if 0%{?building_libjava:1}
1983 # For building libjava only we need to delete other info docs
1984 rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
1985 # Remove stale manpages for binaries we do not build
1986 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1
1987 # For building the java frontend we need to copy the ecj jar
1988 mkdir -p $RPM_BUILD_ROOT%{libsubdir}
1989 cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
1991 # For regular build, some info files do not get renamed properly.
1993 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
1995 mv $RPM_BUILD_ROOT%{_infodir}/libitm.info $RPM_BUILD_ROOT%{_infodir}/libitm%{binsuffix}.info
1997 %if %{build_fortran}
1998 %ifarch %quadmath_arch
1999 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
2003 mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info
2004 mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info
2005 mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info
2010 %find_lang cpplib%{binsuffix}
2011 %find_lang gcc%{binsuffix}
2012 cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc48-locale.lang
2016 %install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
2017 %install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
2018 %install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
2019 %install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
2020 %install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
2021 %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
2022 %if %{build_fortran}
2023 %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
2024 %ifarch %quadmath_arch
2025 %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
2029 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
2032 %install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
2033 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
2034 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
2038 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
2039 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
2040 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
2041 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
2042 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
2043 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
2044 %if %{build_fortran}
2045 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
2046 %ifarch %quadmath_arch
2047 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
2051 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
2054 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
2055 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
2056 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
2060 %defattr(-,root,root)
2062 %dir %{_libdir}/gcc/%{GCCDIST}
2064 %dir %{libsubdir}/include
2065 %dir %{libsubdir}/include-fixed
2067 %if %{build_primary_64bit}
2068 %dir %{libsubdir}/32
2070 %dir %{libsubdir}/64
2073 %{_prefix}/bin/gcc%{binsuffix}
2074 %{_prefix}/bin/gcov%{binsuffix}
2075 %{_prefix}/bin/gcc-ar%{binsuffix}
2076 %{_prefix}/bin/gcc-nm%{binsuffix}
2077 %{_prefix}/bin/gcc-ranlib%{binsuffix}
2078 %{libsubdir}/collect2
2080 %{libsubdir}/lto-wrapper
2081 %{libsubdir}/liblto_plugin.so*
2082 %{libsubdir}/include-fixed/README
2083 %{libsubdir}/include-fixed/limits.h
2084 %{libsubdir}/include-fixed/syslimits.h
2085 %{libsubdir}/include/omp.h
2086 %{libsubdir}/include/float.h
2087 %{libsubdir}/include/iso646.h
2088 %{libsubdir}/include/stdarg.h
2089 %{libsubdir}/include/stdbool.h
2090 %{libsubdir}/include/stdfix.h
2091 %{libsubdir}/include/stddef.h
2092 %{libsubdir}/include/unwind.h
2093 %{libsubdir}/include/varargs.h
2094 %{libsubdir}/include/stdint.h
2095 %{libsubdir}/include/stdint-gcc.h
2096 %{libsubdir}/include/stdnoreturn.h
2097 %{libsubdir}/include/stdalign.h
2099 %{libsubdir}/include/visintrin.h
2102 %{libsubdir}/include/altivec.h
2103 %{libsubdir}/include/ppc-asm.h
2104 %{libsubdir}/include/paired.h
2105 %{libsubdir}/include/ppu_intrinsics.h
2106 %{libsubdir}/include/si2vmx.h
2107 %{libsubdir}/include/spe.h
2108 %{libsubdir}/include/spu2vmx.h
2109 %{libsubdir}/include/vec_types.h
2112 %{libsubdir}/include/ia64intrin.h
2115 %{libsubdir}/include/arm_neon.h
2118 %{libsubdir}/include/mmintrin.h
2119 %{libsubdir}/include/arm_neon.h
2120 %{libsubdir}/include/unwind-arm-common.h
2122 %ifarch %ix86 x86_64
2123 %{libsubdir}/include/cross-stdarg.h
2124 %{libsubdir}/include/cpuid.h
2125 %{libsubdir}/include/mm3dnow.h
2126 %{libsubdir}/include/mmintrin.h
2127 %{libsubdir}/include/ammintrin.h
2128 %{libsubdir}/include/bmmintrin.h
2129 %{libsubdir}/include/emmintrin.h
2130 %{libsubdir}/include/immintrin.h
2131 %{libsubdir}/include/avxintrin.h
2132 %{libsubdir}/include/pmmintrin.h
2133 %{libsubdir}/include/xmmintrin.h
2134 %{libsubdir}/include/tmmintrin.h
2135 %{libsubdir}/include/nmmintrin.h
2136 %{libsubdir}/include/smmintrin.h
2137 %{libsubdir}/include/wmmintrin.h
2138 %{libsubdir}/include/x86intrin.h
2139 %{libsubdir}/include/ia32intrin.h
2140 %{libsubdir}/include/mm_malloc.h
2141 %{libsubdir}/include/fma4intrin.h
2142 %{libsubdir}/include/xopintrin.h
2143 %{libsubdir}/include/lwpintrin.h
2144 %{libsubdir}/include/popcntintrin.h
2145 %{libsubdir}/include/bmiintrin.h
2146 %{libsubdir}/include/tbmintrin.h
2147 %{libsubdir}/include/avx2intrin.h
2148 %{libsubdir}/include/bmi2intrin.h
2149 %{libsubdir}/include/fmaintrin.h
2150 %{libsubdir}/include/lzcntintrin.h
2151 %{libsubdir}/include/f16cintrin.h
2152 %{libsubdir}/include/adxintrin.h
2153 %{libsubdir}/include/fxsrintrin.h
2154 %{libsubdir}/include/prfchwintrin.h
2155 %{libsubdir}/include/rdseedintrin.h
2156 %{libsubdir}/include/rtmintrin.h
2157 %{libsubdir}/include/xsaveintrin.h
2158 %{libsubdir}/include/xsaveoptintrin.h
2159 %{libsubdir}/include/xtestintrin.h
2161 %if %{build_with_mudflap}
2162 %{libsubdir}/include/mf-runtime.h
2164 %versmainlib *crt*.o
2165 %versmainlib libgcc*.a
2166 %versmainlib libgcov.a
2167 %versmainlib libgcc_s*.so
2168 %if %{build_with_mudflap}
2169 %versmainlib libmudflap.a
2170 %versmainlib libmudflap.so
2171 %versmainlib libmudflapth.a
2172 %versmainlib libmudflapth.so
2174 %versmainlib libgomp.so
2175 %versmainlib libgomp.a
2176 %versmainlib libgomp.spec
2178 %versmainlib libitm.so
2179 %versmainlib libitm.a
2180 %versmainlib libitm.spec
2182 %ifarch %atomic_arch
2183 %versmainlib libatomic.so
2184 %versmainlib libatomic.a
2187 %versmainlib libasan.so
2188 %versmainlib libasan.a
2189 %versmainlib libasan_preinit.o
2192 %versmainlib libtsan.so
2193 %versmainlib libtsan.a
2195 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
2196 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
2198 %if %{separate_biarch}
2199 %files -n gcc48%{separate_biarch_suffix}
2200 %defattr(-,root,root)
2201 %versbiarchlib *crt*.o
2202 %versbiarchlib libgcc*.a
2203 %versbiarchlib libgcov.a
2204 %versbiarchlib libgcc_s*.so
2205 %if %{build_with_mudflap}
2206 %versbiarchlib libmudflap.a
2207 %versbiarchlib libmudflap.so
2208 %versbiarchlib libmudflapth.a
2209 %versbiarchlib libmudflapth.so
2211 %versbiarchlib libgomp.so
2212 %versbiarchlib libgomp.a
2213 %versbiarchlib libgomp.spec
2215 %versbiarchlib libitm.so
2216 %versbiarchlib libitm.a
2217 %versbiarchlib libitm.spec
2219 %ifarch %atomic_arch
2220 %versbiarchlib libatomic.a
2221 %versbiarchlib libatomic.so
2224 %versbiarchlib libasan.a
2225 %versbiarchlib libasan.so
2226 %versbiarchlib libasan_preinit.o
2230 %versbiarchlib libtsan.a
2231 %versbiarchlib libtsan.so
2236 %files locale -f gcc48-locale.lang
2238 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
2242 %defattr(-,root,root)
2244 %dir %{_libdir}/gcc/%{GCCDIST}
2246 %{_prefix}/bin/g++%{binsuffix}
2247 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
2248 %{libsubdir}/cc1plus
2250 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
2251 %defattr(-,root,root)
2252 %mainlib libstdc++.so.%{libstdcxx_sover}*
2254 %if %{separate_biarch}
2255 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}%{separate_biarch_suffix}
2256 %defattr(-,root,root)
2257 %biarchlib libstdc++.so.%{libstdcxx_sover}*
2260 %files -n libstdc++48-devel -f c++-headers
2261 %defattr(-,root,root)
2262 %versmainlib libstdc++.a
2263 %versmainlib libstdc++.so
2264 %versmainlib libsupc++.a
2265 %dir %{_datadir}/gdb
2266 %dir %{_datadir}/gdb/auto-load
2267 %dir %{_datadir}/gdb/auto-load%{_prefix}
2268 %dir %{_datadir}/gdb/auto-load/%{mainlibdir}
2269 %{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
2270 %{_datadir}/gcc%{binsuffix}
2272 %if %{separate_biarch}
2273 %files -n libstdc++48-devel%{separate_biarch_suffix}
2274 %defattr(-,root,root)
2275 %versbiarchlib libstdc++.a
2276 %versbiarchlib libstdc++.so
2277 %versbiarchlib libsupc++.a
2278 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
2279 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
2282 %files -n libstdc++48-doc
2283 %defattr(-,root,root)
2284 %doc libstdc++-v3/doc/html
2287 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
2288 %defattr(-,root,root)
2289 /%{_lib}/libgcc_s.so.%{libgcc_s}
2291 %if %{build_primary_64bit}
2292 %if !%{separate_bi32}
2293 /lib/libgcc_s.so.%{libgcc_s}
2296 %if !%{separate_bi64}
2297 /lib64/libgcc_s.so.%{libgcc_s}
2302 %if %{separate_bi64}
2303 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
2304 %defattr(-,root,root)
2305 /lib64/libgcc_s.so.%{libgcc_s}
2308 %if %{separate_bi32}
2309 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
2310 %defattr(-,root,root)
2311 /lib/libgcc_s.so.%{libgcc_s}
2315 %files -n libgomp%{libgomp_sover}%{libgomp_suffix}
2316 %defattr(-,root,root)
2317 %mainlib libgomp.so.%{libgomp_sover}*
2319 %if %{separate_biarch}
2320 %files -n libgomp%{libgomp_sover}%{libgomp_suffix}%{separate_biarch_suffix}
2321 %defattr(-,root,root)
2322 %biarchlib libgomp.so.%{libgomp_sover}*
2327 %files -n libasan%{libasan_sover}%{libasan_suffix}
2328 %defattr(-,root,root)
2329 %mainlib libasan.so.%{libasan_sover}*
2331 %if %{separate_biarch}
2332 %files -n libasan%{libasan_sover}%{libasan_suffix}%{separate_biarch_suffix}
2333 %defattr(-,root,root)
2334 %biarchlib libasan.so.%{libasan_sover}*
2340 %files -n libtsan%{libtsan_sover}%{libtsan_suffix}
2341 %defattr(-,root,root)
2342 %mainlib libtsan.so.%{libtsan_sover}*
2345 %if %{separate_biarch}
2346 %files -n libtsan%{libtsan_sover}%{libtsan_suffix}%{separate_biarch_suffix}
2347 %defattr(-,root,root)
2348 %biarchlib libtsan.so.%{libtsan_sover}*
2354 %ifarch %atomic_arch
2355 %files -n libatomic%{libatomic_sover}%{libatomic_suffix}
2356 %defattr(-,root,root)
2357 %mainlib libatomic.so.%{libatomic_sover}*
2359 %if %{separate_biarch}
2360 %files -n libatomic%{libatomic_sover}%{libatomic_suffix}%{separate_biarch_suffix}
2361 %defattr(-,root,root)
2362 %biarchlib libatomic.so.%{libatomic_sover}*
2368 %files -n libitm%{libitm_sover}%{libitm_suffix}
2369 %defattr(-,root,root)
2370 %mainlib libitm.so.%{libitm_sover}*
2372 %if %{separate_biarch}
2373 %files -n libitm%{libitm_sover}%{libitm_suffix}%{separate_biarch_suffix}
2374 %defattr(-,root,root)
2375 %biarchlib libitm.so.%{libitm_sover}*
2381 %if %{build_fortran}
2383 %defattr(-,root,root)
2384 %dir %{libsubdir}/finclude
2385 %{_prefix}/bin/gfortran%{binsuffix}
2387 %{libsubdir}/finclude/*
2388 %versmainlib libgfortran.a
2389 %versmainlib libgfortran.so
2390 %versmainlib libgfortran.spec
2391 %versmainlib libgfortranbegin.a
2392 %versmainlib libcaf_single.a
2393 %ifarch %quadmath_arch
2394 %{libsubdir}/include/quadmath.h
2395 %{libsubdir}/include/quadmath_weak.h
2396 %versmainlib libquadmath.a
2397 %versmainlib libquadmath.so
2399 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
2401 %if %{separate_biarch}
2402 %files fortran%{separate_biarch_suffix}
2403 %defattr(-,root,root)
2404 %versbiarchlib libgfortran.a
2405 %versbiarchlib libgfortran.so
2406 %versbiarchlib libgfortran.spec
2407 %versbiarchlib libgfortranbegin.a
2408 %versbiarchlib libcaf_single.a
2409 %ifarch %quadmath_arch
2410 %versbiarchlib libquadmath.a
2411 %versbiarchlib libquadmath.so
2415 %files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
2416 %defattr(-,root,root)
2417 %mainlib libgfortran.so.%{libgfortran_sover}*
2419 %if %{separate_biarch}
2420 %files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}%{separate_biarch_suffix}
2421 %defattr(-,root,root)
2422 %biarchlib libgfortran.so.%{libgfortran_sover}*
2425 %ifarch %quadmath_arch
2426 %files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
2427 %defattr(-,root,root)
2428 %mainlib libquadmath.so.%{libquadmath_sover}*
2430 %if %{separate_biarch}
2431 %files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}%{separate_biarch_suffix}
2432 %defattr(-,root,root)
2433 %biarchlib libquadmath.so.%{libquadmath_sover}*
2438 %if %{build_with_mudflap}
2439 %files -n libmudflap48
2440 %defattr(-,root,root)
2441 %mainlib libmudflap.so.%{libmudflap_sover}*
2442 %mainlib libmudflapth.so.%{libmudflap_sover}*
2444 %if %{separate_biarch}
2445 %files -n libmudflap48%{separate_biarch_suffix}
2446 %defattr(-,root,root)
2447 %biarchlib libmudflap.so.%{libmudflap_sover}*
2448 %biarchlib libmudflapth.so.%{libmudflap_sover}*
2453 %defattr(-,root,root)
2454 %doc %{_infodir}/*.gz
2457 %defattr(-,root,root)
2459 %dir %{_libdir}/gcc/%{GCCDIST}
2461 %{_prefix}/bin/cpp%{binsuffix}
2464 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
2468 %defattr(-,root,root)
2470 %{libsubdir}/include/objc
2471 %versmainlib libobjc.a
2472 %versmainlib libobjc.so
2474 %if %{separate_biarch}
2475 %files objc%{separate_biarch_suffix}
2476 %defattr(-,root,root)
2477 %versbiarchlib libobjc.a
2478 %versbiarchlib libobjc.so
2481 %files -n libobjc%{libobjc_sover}%{libobjc_suffix}
2482 %defattr(-,root,root)
2483 %mainlib libobjc.so.%{libobjc_sover}*
2485 %if %{separate_biarch}
2486 %files -n libobjc%{libobjc_sover}%{libobjc_suffix}%{separate_biarch_suffix}
2487 %defattr(-,root,root)
2488 %biarchlib libobjc.so.%{libobjc_sover}*
2495 %defattr(-,root,root)
2496 %{libsubdir}/cc1objplus
2502 %defattr(-,root,root)
2504 %dir %{_libdir}/gcc/%{GCCDIST}
2506 %{_prefix}/bin/gnat*
2507 %dir %{versmainlibdir}/adainclude
2508 %dir %{versmainlibdir}/adalib
2509 %{versmainlibdir}/adainclude
2510 %{versmainlibdir}/adalib/*.ali
2511 %{versmainlibdir}/adalib/*.a
2512 %{versmainlibdir}/adalib/libgnarl.so
2513 %{versmainlibdir}/adalib/libgnat.so
2514 %{versmainlibdir}/gnat1
2516 %if %{separate_biarch}
2517 %files ada%{separate_biarch_suffix}
2518 %defattr(-,root,root)
2519 %dir %{versmainlibdirbi}/adainclude
2520 %dir %{versmainlibdirbi}/adalib
2521 %{versmainlibdirbi}/adainclude
2522 %{versmainlibdirbi}/adalib/*.ali
2523 %{versmainlibdirbi}/adalib/*.a
2524 %{versmainlibdirbi}/adalib/libgnarl.so
2525 %{versmainlibdirbi}/adalib/libgnat.so
2529 %defattr(-,root,root)
2530 %mainlib libgnarl-*.so
2531 %mainlib libgnat-*.so
2533 %if %{separate_biarch}
2534 %files -n libada48%{separate_biarch_suffix}
2535 %defattr(-,root,root)
2536 %biarchlib libgnarl-*.so
2537 %biarchlib libgnat-*.so
2543 %if 0%{?building_libjava:1}
2544 %files -n gcc48-java
2545 %defattr(-,root,root)
2546 %{_prefix}/bin/gcj%{binsuffix}
2547 %{_prefix}/bin/gcjh%{binsuffix}
2548 %{_prefix}/bin/gcj-dbtool%{binsuffix}
2549 %{_prefix}/bin/jcf-dump%{binsuffix}
2550 %{_prefix}/bin/jv-convert%{binsuffix}
2551 %{_prefix}/bin/gc-analyze%{binsuffix}
2552 %{_prefix}/bin/aot-compile%{binsuffix}
2553 %{_prefix}/bin/rebuild-gcj-db%{binsuffix}
2555 %{libsubdir}/jvgenmain
2556 %{libsubdir}/ecj.jar
2558 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
2559 %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
2560 %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
2561 %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
2562 %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
2563 %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
2564 %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz
2565 %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz
2570 %if %{build_libjava}
2572 %defattr(-,root,root)
2573 %dir %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}
2575 %dir %{_libdir}/gcc/%{GCCDIST}
2577 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/classmap.db
2578 # We usually do not multilib libjava
2579 %if %{biarch_libjava}
2580 %versbiarchlib libgcj.la
2581 %biarchlib libgcj.so.*
2582 %biarchlib libgij.so.*
2583 %biarchlib libgcj-tools.so.*
2585 %versmainlib libgcj.la
2586 %mainlib libgcj.so.*
2587 %mainlib libgij.so.*
2588 %mainlib libgcj-tools.so.*
2590 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.la
2591 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.so
2592 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.la
2593 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.so
2595 %files -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
2596 %defattr(-,root,root)
2597 %if %{biarch_libjava}
2598 %biarchlib libgcj_bc.so.%{libgcj_bc_sover}*
2600 %mainlib libgcj_bc.so.%{libgcj_bc_sover}*
2603 %files -n libgcj48-jar
2604 %defattr(-,root,root)
2605 %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
2606 %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
2608 %files -n libgcj48-devel
2609 %defattr(-,root,root)
2610 %dir %{_prefix}/include/c++
2612 %dir %{libsubdir}/include
2614 %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
2615 %{libsubdir}/include/jawt.h
2616 %{libsubdir}/include/jawt_md.h
2617 %{libsubdir}/include/jni.h
2618 %{libsubdir}/include/jni_md.h
2619 %{libsubdir}/include/jvmpi.h
2626 %{libsubdir}/include/gcj
2627 %if %{biarch_libjava}
2628 %versbiarchlib libgcj.so
2629 %versbiarchlib libgcj.spec
2630 %versbiarchlib libgcj-tools.so
2631 %versbiarchlib libgij.so
2632 %versbiarchlib libgcj_bc.so
2634 %versmainlib libgcj.so
2635 %versmainlib libgcj.spec
2636 %versmainlib libgcj-tools.so
2637 %versmainlib libgij.so
2638 %versmainlib libgcj_bc.so
2642 %defattr(-,root,root)
2643 %{_prefix}/bin/gij%{binsuffix}
2644 %{_prefix}/bin/gappletviewer%{binsuffix}
2645 %{_prefix}/bin/gjar%{binsuffix}
2646 %{_prefix}/bin/gjarsigner%{binsuffix}
2647 %{_prefix}/bin/gjavah%{binsuffix}
2648 %{_prefix}/bin/gkeytool%{binsuffix}
2649 %{_prefix}/bin/gnative2ascii%{binsuffix}
2650 %{_prefix}/bin/gorbd%{binsuffix}
2651 %{_prefix}/bin/grmic%{binsuffix}
2652 %{_prefix}/bin/grmid%{binsuffix}
2653 %{_prefix}/bin/grmiregistry%{binsuffix}
2654 %{_prefix}/bin/gserialver%{binsuffix}
2655 %{_prefix}/bin/gtnameserv%{binsuffix}
2656 %doc %{_mandir}/man1/gij%{binsuffix}.1.gz
2657 %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
2658 %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
2659 %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
2660 %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
2661 %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
2662 %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
2663 %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
2664 %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
2665 %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
2666 %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
2667 %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz
2668 %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz
2673 %if 0%{?building_libffi:1}
2674 %files -n libffi%{libffi_sover}%{libffi_suffix}
2675 %defattr(-,root,root)
2676 %mainlib libffi.so.%{libffi_sover}*
2678 %if %{separate_biarch}
2679 %files -n libffi%{libffi_sover}%{libffi_suffix}%{separate_biarch_suffix}
2680 %defattr(-,root,root)
2681 %biarchlib libffi.so.%{libffi_sover}*
2684 %post -n libffi48-devel
2685 %install_info --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz
2686 %postun -n libffi48-devel
2687 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz
2689 %files -n libffi48-devel
2690 %defattr(-,root,root)
2691 %{_prefix}/include/ffi.h
2692 %{_prefix}/include/ffitarget.h
2695 %{_libdir}/pkgconfig/libffi.pc
2696 %doc %{_infodir}/libffi%{binsuffix}.info.gz
2697 %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz
2698 %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz
2699 %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz
2700 %doc %{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3.gz
2702 %if %{separate_biarch}
2703 %files -n libffi48-devel%{separate_biarch_suffix}
2704 %defattr(-,root,root)
2705 %biarchlib libffi.so
2711 %if 0%{?run_tests:1}
2712 %files -n gcc48-testresults
2713 %defattr(-,root,root)
2714 %doc testresults/test_summary.txt
2715 %doc testresults/*.sum
2716 %doc testresults/*.log