do not use so versions
[platform/upstream/gcc48.git] / packaging / gcc48.spec
1 #
2 # spec file for package gcc48
3 #
4 # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
5 #
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.
14
15 # Please submit bugfixes or comments via http://bugs.opensuse.org/
16 #
17
18 # norootforbuild
19 # icecream 0
20
21
22 %define build_ada 0
23
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
29
30 # We don't want to build java
31 %define build_java 0
32 %define build_libjava 0
33
34 %define build_cp 1
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
39
40 %if %{build_objcp}
41 %define build_cp 1
42 %define build_objc 1
43 %endif
44
45 %if %{build_libjava}
46 %define build_cp 1
47 %endif
48
49 # For optional compilers only build C, C++ and Fortran
50 %if 0%{?build_optional_compiler_languages:1}
51 %define build_ada 0
52 %define build_java 0
53 %define build_libjava 0
54 %define build_objc 0
55 %define build_objcp 0
56 %endif
57
58 # Shared library SONAME versions
59 %define libgcc_s 1
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}
73
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
87 %define pne 1
88 %endif
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}
104
105
106
107
108 Name:         gcc48
109 BuildRequires: gcc-c++
110 BuildRequires: bison
111 BuildRequires: flex
112 BuildRequires: glibc-devel-32bit
113 BuildRequires: mpc-devel
114 BuildRequires: mpfr-devel
115 BuildRequires: perl
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
121 %endif
122 %if %{build_ada}
123 %define hostsuffix -4.7
124 BuildRequires: gcc47-ada
125 %endif
126 %if 0%{?building_libjava:1}%{?building_testsuite:1}
127 BuildRequires: fastjar
128 %endif
129 %if 0%{?building_libffi:1}
130 BuildRequires: pkg-config
131 %endif
132 %ifarch ia64
133 BuildRequires: libunwind-devel
134 %endif
135 %if 0%{?run_tests:1}
136 BuildRequires: dejagnu
137 BuildRequires: expect
138 BuildRequires: gdb
139 %endif
140
141 %define separate_bi32 0
142 %define separate_bi64 0
143 %ifarch ppc sparcv9
144 # Beware, this does _not_ separate libgcj, as for that one multilibing
145 # is inactive for the time being
146 %define separate_bi64 1
147 %endif
148 %ifarch x86_64 s390x ppc64 sparc64
149 %define separate_bi32 1
150 %endif
151
152 # Define two macros to trigger -32bit or -64bit package variants
153 %define separate_biarch 0
154 %if %{separate_bi32}
155 %define separate_biarch 1
156 %define separate_biarch_suffix -32bit
157 %endif
158 %if %{separate_bi64}
159 %define separate_biarch 1
160 %define separate_biarch_suffix -64bit
161 %endif
162
163 %ifarch x86_64 ia64 s390x alpha ppc64 sparc64
164 # 64-bit is primary build target
165 %define build_primary_64bit 1
166 %else
167 %define build_primary_64bit 0
168 %endif
169
170 %define biarch_libjava 0
171
172 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
173
174 URL:          http://gcc.gnu.org/
175 Version: 4.8.1
176 Release:      1
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
181
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}
190 %endif
191 %ifarch %asan_arch
192 Requires: libasan%{libasan_sover} >= %{version}-%{release}
193 %endif
194 %ifarch %tsan_arch
195 Requires: libtsan%{libtsan_sover} >= %{version}-%{release}
196 %endif
197 %ifarch %atomic_arch
198 Requires: libatomic%{libatomic_sover} >= %{version}-%{release}
199 %endif
200 %ifarch %itm_arch
201 Requires: libitm%{libitm_sover} >= %{version}-%{release}
202 %endif
203 Suggests: gcc48-info gcc48-locale
204 %endif
205
206 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
207 Source:         gcc-%{gcc_version}%{snapshot_date}.tar.bz2
208 Source1:        change_spec
209 Source3:        gcc48-rpmlintrc
210 Source4:        ecj.jar
211 Source6:        baselibs.conf
212
213
214 Group:          Development/Languages/C and C++
215 Summary:        The GNU C Compiler and Support Files
216 License:        GPL-3.0+
217
218 %description
219 Core package for the GNU Compiler Collection, including the C language
220 frontend.
221
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
224 gcc-obj-c++.
225
226
227
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}
237 %endif
238 Requires: glibc-devel-32bit
239
240 %description -n gcc48-32bit
241 This package contains 32bit support for the GNU Compiler Collection.
242
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}
252 %endif
253 Requires: glibc-devel-64bit
254
255 %description -n gcc48-64bit
256 This package contains 64bit support for the GNU Compiler Collection.
257
258
259 %package locale
260 Summary:      Locale Data for the GNU Compiler Collection
261 License:        GPL-3.0+
262 Group:        Development/Languages/C and C++
263 Requires: gcc48 = %{version}-%{release}
264
265 %description locale
266 Locale data for the GNU Compiler Collection (GCC) to give error message
267 in the current locale.
268
269
270 %package c++
271 Summary:      The GNU C++ Compiler
272 License:        GPL-3.0+
273 Group:        Development/Languages/C and C++
274 Requires: gcc48 = %{version}-%{release}
275 Requires: libstdc++48-devel = %{version}-%{release}
276
277 %description c++
278 This package contains the GNU compiler for C++.
279
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
286 %ifarch ia64
287 Requires: libunwind-devel
288 %endif
289
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
299 %ifarch ia64
300 Requires: libunwind-devel
301 %endif
302
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
312 %ifarch ia64
313 Requires: libunwind-devel
314 %endif
315
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.
319
320 %package -n libstdc++48-doc
321 Summary:      Documentation for the GNU C++ standard library
322 License:        GPL-3.0+
323 Group:        Documentation/HTML
324 BuildArch:    noarch
325
326 %description -n libstdc++48-doc
327 Extensive HTML documentation for the GNU C++ standard library.
328
329
330 %package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
331 Summary:      C compiler runtime library
332 License:        GPL-3.0-with-GCC-exception
333 Group:        System/Base
334 Provides:       libgcc_s%{libgcc_s} = %{version}-%{release}
335
336 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
337 Libgcc is needed for dynamically linked C programs.
338
339 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
340 /sbin/ldconfig
341
342 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
343 /sbin/ldconfig
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
347 Group:        System/Base
348 Provides:       libgcc_s%{libgcc_s}-32bit = %{version}-%{release}
349
350 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
351 Libgcc is needed for dynamically linked C programs.
352
353 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
354 /sbin/ldconfig
355
356 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
357 /sbin/ldconfig
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
361 Group:        System/Base
362 Provides:       libgcc_s%{libgcc_s}-64bit = %{version}-%{release}
363
364 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
365 Libgcc is needed for dynamically linked C programs.
366
367 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
368 /sbin/ldconfig
369
370 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
371 /sbin/ldconfig
372
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
376 Group:        System/Base
377 Provides:       libgomp%{libgomp_sover} = %{version}-%{release}
378
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
383 option.
384
385
386 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}
387 /sbin/ldconfig
388
389 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}
390 /sbin/ldconfig
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
394 Group:        System/Base
395 Provides:       libgomp%{libgomp_sover}-32bit = %{version}-%{release}
396
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
401 option.
402
403
404 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
405 /sbin/ldconfig
406
407 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
408 /sbin/ldconfig
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
412 Group:        System/Base
413 Provides:       libgomp%{libgomp_sover}-64bit = %{version}-%{release}
414
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
419 option.
420
421
422 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
423 /sbin/ldconfig
424
425 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
426 /sbin/ldconfig
427
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}
434
435 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
436 The standard C++ library, needed for dynamically linked C++ programs.
437
438
439 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
440 /sbin/ldconfig
441
442 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
443 /sbin/ldconfig
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}
450
451 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
452 The standard C++ library, needed for dynamically linked C++ programs.
453
454
455 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
456 /sbin/ldconfig
457
458 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
459 /sbin/ldconfig
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}
466
467 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
468 The standard C++ library, needed for dynamically linked C++ programs.
469
470
471 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
472 /sbin/ldconfig
473
474 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
475 /sbin/ldconfig
476
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}
482
483 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
484 The standard C++ library locale data.
485
486
487 %package info
488 Summary:      Documentation for the GNU compiler collection
489 License:      GFDL-1.2
490 Group:        Documentation/Other
491 BuildArch:    noarch
492
493 %description info
494 GNU info-pages for the GNU compiler collection covering both user-level
495 and internals documentation.
496
497
498 %package objc
499 Summary:      GNU Objective C Compiler
500 License:        GPL-3.0+
501 Group:        Development/Languages/Other
502 Requires: gcc48 = %{version}-%{release}
503 Requires: libobjc%{libobjc_sover} >= %{version}-%{release}
504
505 %description objc
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.
509 %package objc-32bit
510 Summary:      GNU Objective C Compiler
511 License:        GPL-3.0+
512 Group:        Development/Languages/Other
513 Requires: gcc48 = %{version}-%{release}
514 Requires: libobjc%{libobjc_sover}-32bit >= %{version}-%{release}
515
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.
520 %package objc-64bit
521 Summary:      GNU Objective C Compiler
522 License:        GPL-3.0+
523 Group:        Development/Languages/Other
524 Requires: gcc48 = %{version}-%{release}
525 Requires: libobjc%{libobjc_sover}-64bit >= %{version}-%{release}
526
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.
531
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}
537
538 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}
539 The library for the GNU Objective C compiler.
540
541 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}
542 /sbin/ldconfig
543
544 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}
545 /sbin/ldconfig
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}
551
552 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
553 The library for the GNU Objective C compiler.
554
555 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
556 /sbin/ldconfig
557
558 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
559 /sbin/ldconfig
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}
565
566 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
567 The library for the GNU Objective C compiler.
568
569 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
570 /sbin/ldconfig
571
572 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
573 /sbin/ldconfig
574
575 %package obj-c++
576 Summary:      GNU Objective C++ Compiler
577 License:        GPL-3.0+
578 Group:        Development/Languages/Other
579 Requires: gcc48-objc = %{version}-%{release}
580 Requires: gcc48-c++ = %{version}-%{release}
581
582 %description obj-c++
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.
586
587
588 %package -n cpp48
589 Summary:      The GCC Preprocessor
590 License:        GPL-3.0+
591 Group:        Development/Languages/C and C++
592
593 %description -n cpp48
594 This Package contains just the preprocessor that is used by the X11
595 packages.
596
597
598 %package ada
599 Summary:      GNU Ada95 Compiler Based on GCC (GNAT)
600 License:        GPL-3.0+
601 Group:        Development/Languages/Other
602 Requires: gcc48 = %{version}-%{release}
603 Requires: libada48 = %{version}-%{release}
604
605 %description ada
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.
610 %package ada-32bit
611 Summary:      GNU Ada95 Compiler Based on GCC (GNAT)
612 License:        GPL-3.0+
613 Group:        Development/Languages/Other
614 Requires: gcc48-32bit = %{version}-%{release}
615 Requires: libada48-32bit = %{version}-%{release}
616
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.
622 %package ada-64bit
623 Summary:      GNU Ada95 Compiler Based on GCC (GNAT)
624 License:        GPL-3.0+
625 Group:        Development/Languages/Other
626 Requires: gcc48-64bit = %{version}-%{release}
627 Requires: libada48-64bit = %{version}-%{release}
628
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.
634
635 %package -n libada48
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).
646
647 %post -n libada48
648 /sbin/ldconfig
649
650 %postun -n libada48
651 /sbin/ldconfig
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).
663
664 %post -n libada48-32bit
665 /sbin/ldconfig
666
667 %postun -n libada48-32bit
668 /sbin/ldconfig
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).
680
681 %post -n libada48-64bit
682 /sbin/ldconfig
683
684 %postun -n libada48-64bit
685 /sbin/ldconfig
686
687 %package fortran
688 Summary:      The GNU Fortran Compiler and Support Files
689 License:        GPL-3.0+
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}
695 %endif
696
697 %description fortran
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
701 License:        GPL-3.0+
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}
707 %endif
708
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
713 License:        GPL-3.0+
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}
719 %endif
720
721 %description fortran-64bit
722 This is the Fortran compiler of the GNU Compiler Collection (GCC).
723
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}
730 %endif
731 Provides:       libgfortran%{libgfortran_sover} = %{version}-%{release}
732
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).
736
737 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
738 /sbin/ldconfig
739
740 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
741 /sbin/ldconfig
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}
748 %endif
749 Provides:       libgfortran%{libgfortran_sover}-32bit = %{version}-%{release}
750
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).
754
755 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
756 /sbin/ldconfig
757
758 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
759 /sbin/ldconfig
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}
766 %endif
767 Provides:       libgfortran%{libgfortran_sover}-64bit = %{version}-%{release}
768
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).
772
773 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
774 /sbin/ldconfig
775
776 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
777 /sbin/ldconfig
778
779 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
780 Summary:      The GNU Fortran Compiler Quadmath Runtime Library
781 License:        LGPL-2.1
782 Group:        Development/Languages/Fortran
783 Provides:       libquadmath%{libquadmath_sover} = %{version}-%{release}
784
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
788 operations.
789
790 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
791 /sbin/ldconfig
792
793 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
794 /sbin/ldconfig
795 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
796 Summary:      The GNU Fortran Compiler Quadmath Runtime Library
797 License:        LGPL-2.1
798 Group:        Development/Languages/Fortran
799 Provides:       libquadmath%{libquadmath_sover}-32bit = %{version}-%{release}
800
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
804 operations.
805
806 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
807 /sbin/ldconfig
808
809 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
810 /sbin/ldconfig
811 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
812 Summary:      The GNU Fortran Compiler Quadmath Runtime Library
813 License:        LGPL-2.1
814 Group:        Development/Languages/Fortran
815 Provides:       libquadmath%{libquadmath_sover}-64bit = %{version}-%{release}
816
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
820 operations.
821
822 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
823 /sbin/ldconfig
824
825 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
826 /sbin/ldconfig
827
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++
832
833 %description -n libmudflap48
834 This is the Mudflap Extension Runtime Library.
835
836 %post -n libmudflap48
837 /sbin/ldconfig
838
839 %postun -n libmudflap48
840 /sbin/ldconfig
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++
845
846 %description -n libmudflap48-32bit
847 This is the Mudflap Extension Runtime Library.
848
849 %post -n libmudflap48-32bit
850 /sbin/ldconfig
851
852 %postun -n libmudflap48-32bit
853 /sbin/ldconfig
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++
858
859 %description -n libmudflap48-64bit
860 This is the Mudflap Extension Runtime Library.
861
862 %post -n libmudflap48-64bit
863 /sbin/ldconfig
864
865 %postun -n libmudflap48-64bit
866 /sbin/ldconfig
867
868 %package -n libitm%{libitm_sover}%{libitm_suffix}
869 Summary:      The GNU Compiler Transactional Memory Runtime Library
870 License:        MIT
871 Group:        Development/Languages/C and C++
872
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).
876
877 %post -n libitm%{libitm_sover}%{libitm_suffix}
878 /sbin/ldconfig
879
880 %postun -n libitm%{libitm_sover}%{libitm_suffix}
881 /sbin/ldconfig
882 %package -n libitm%{libitm_sover}%{libitm_suffix}-32bit
883 Summary:      The GNU Compiler Transactional Memory Runtime Library
884 License:        MIT
885 Group:        Development/Languages/C and C++
886
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).
890
891 %post -n libitm%{libitm_sover}%{libitm_suffix}-32bit
892 /sbin/ldconfig
893
894 %postun -n libitm%{libitm_sover}%{libitm_suffix}-32bit
895 /sbin/ldconfig
896 %package -n libitm%{libitm_sover}%{libitm_suffix}-64bit
897 Summary:      The GNU Compiler Transactional Memory Runtime Library
898 License:        MIT
899 Group:        Development/Languages/C and C++
900
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).
904
905 %post -n libitm%{libitm_sover}%{libitm_suffix}-64bit
906 /sbin/ldconfig
907
908 %postun -n libitm%{libitm_sover}%{libitm_suffix}-64bit
909 /sbin/ldconfig
910
911 %package -n libasan%{libasan_sover}%{libasan_suffix}
912 Summary:      The GNU Compiler Address Sanitizer Runtime Library
913 License:        MIT
914 Group:        Development/Languages/C and C++
915
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).
919
920 %post -n libasan%{libasan_sover}%{libasan_suffix}
921 /sbin/ldconfig
922
923 %postun -n libasan%{libasan_sover}%{libasan_suffix}
924 /sbin/ldconfig
925 %package -n libasan%{libasan_sover}%{libasan_suffix}-32bit
926 Summary:      The GNU Compiler Address Sanitizer Runtime Library
927 License:        MIT
928 Group:        Development/Languages/C and C++
929
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).
933
934 %post -n libasan%{libasan_sover}%{libasan_suffix}-32bit
935 /sbin/ldconfig
936
937 %postun -n libasan%{libasan_sover}%{libasan_suffix}-32bit
938 /sbin/ldconfig
939 %package -n libasan%{libasan_sover}%{libasan_suffix}-64bit
940 Summary:      The GNU Compiler Address Sanitizer Runtime Library
941 License:        MIT
942 Group:        Development/Languages/C and C++
943
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).
947
948 %post -n libasan%{libasan_sover}%{libasan_suffix}-64bit
949 /sbin/ldconfig
950
951 %postun -n libasan%{libasan_sover}%{libasan_suffix}-64bit
952 /sbin/ldconfig
953
954 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}
955 Summary:      The GNU Compiler Thread Sanitizer Runtime Library
956 License:        MIT
957 Group:        Development/Languages/C and C++
958
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).
962
963 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}
964 /sbin/ldconfig
965
966 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}
967 /sbin/ldconfig
968 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
969 Summary:      The GNU Compiler Thread Sanitizer Runtime Library
970 License:        MIT
971 Group:        Development/Languages/C and C++
972
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).
976
977 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
978 /sbin/ldconfig
979
980 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
981 /sbin/ldconfig
982 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
983 Summary:      The GNU Compiler Thread Sanitizer Runtime Library
984 License:        MIT
985 Group:        Development/Languages/C and C++
986
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).
990
991 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
992 /sbin/ldconfig
993
994 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
995 /sbin/ldconfig
996
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++
1001
1002 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}
1003 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
1004
1005 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}
1006 /sbin/ldconfig
1007
1008 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}
1009 /sbin/ldconfig
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++
1014
1015 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1016 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
1017
1018 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1019 /sbin/ldconfig
1020
1021 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1022 /sbin/ldconfig
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++
1027
1028 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1029 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
1030
1031 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1032 /sbin/ldconfig
1033
1034 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1035 /sbin/ldconfig
1036
1037
1038 %package -n libgcj48
1039 Summary:      Java Runtime Library for gcc
1040 License:      GPL-2.0-with-classpath-exception
1041 Group:        System/Libraries
1042
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.
1046
1047 %post -n libgcj48
1048 /sbin/ldconfig
1049
1050 %postun -n libgcj48
1051 /sbin/ldconfig
1052
1053
1054 %package -n gcc48-java
1055 Summary:      The GNU Java Compiler
1056 License:        GPL-3.0+
1057 Group:        Development/Languages/Java
1058 Requires: gcc48 = %{version}
1059 Requires: libgcj48-devel = %{version}-%{release}
1060
1061 %description -n gcc48-java
1062 The Java compiler from the GCC-tools-suite.
1063
1064
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)
1075 %else
1076 Provides: libgcj_bc.so.%{libgcj_bc_sover}
1077 %endif
1078
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
1083 libgcj.so changes.
1084
1085
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
1090
1091 %description -n libgcj48-jar
1092 These are the jar files that go along with the gcj front end to gcc.
1093
1094
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
1107 %ifarch ia64
1108 Requires: libunwind-devel
1109 %endif
1110
1111 %description -n libgcj48-devel
1112 This package contains all necessary include files and libraries needed
1113 to develop applications that require these.
1114
1115
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}
1121
1122 %description -n gcc48-gij
1123 This package contains the java bytecode interpreter gij and related tools.
1124
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++
1129
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.
1132
1133 %post -n libffi%{libffi_sover}%{libffi_suffix}
1134 /sbin/ldconfig
1135
1136 %postun -n libffi%{libffi_sover}%{libffi_suffix}
1137 /sbin/ldconfig
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++
1142
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.
1145
1146 %post -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1147 /sbin/ldconfig
1148
1149 %postun -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1150 /sbin/ldconfig
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++
1155
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.
1158
1159 %post -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1160 /sbin/ldconfig
1161
1162 %postun -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1163 /sbin/ldconfig
1164
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}
1170
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}
1178
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}
1186
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.
1189
1190 %package -n gcc48-testresults
1191 Summary:      Testsuite results
1192 License:        SUSE-Public-Domain
1193 Group:        Development/Languages/C and C++
1194
1195 %description -n gcc48-testresults
1196 Results from running the gcc and target library testsuites.
1197
1198
1199
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
1209 %endif
1210 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64"
1211 %define CONFIGURE_TARGET powerpc64-tizen-linux
1212 %endif
1213 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
1214 %define CONFIGURE_TARGET i586-tizen-linux
1215 %endif
1216 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
1217 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
1218 %endif
1219 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
1220 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
1221 %endif
1222 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5tel"
1223 %define CONFIGURE_TARGET armv5tel-tizen-linux-gnueabi
1224 %endif
1225 %else
1226 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1227 %endif
1228 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1229
1230 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
1231
1232 %ifarch ppc
1233 %define GCCDIST powerpc64-tizen-linux
1234 %else
1235 %ifarch %sparc
1236 %define GCCDIST sparc64-tizen-linux
1237 %else
1238 %ifarch %arm
1239 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
1240 %else
1241 %define GCCDIST %{HOST_ARCH}-tizen-linux
1242 %endif
1243 %endif
1244 %endif
1245
1246 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
1247 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
1248
1249
1250 # Versionspecific directories
1251 %define versmainlibdir %{libsubdir}
1252 %define versmainlibdirbi32 %{libsubdir}/32
1253 %define versmainlibdirbi64 %{libsubdir}/64
1254 %ifarch ppc
1255 %define versmainlibdirbi32 %{libsubdir}
1256 %define versmainlibdirbi64 %{libsubdir}/64
1257 %endif
1258 %if %{build_primary_64bit}
1259 %define versmainlibdirbi %{versmainlibdirbi32}
1260 %else
1261 %define versmainlibdirbi %{versmainlibdirbi64}
1262 %endif
1263
1264 %define mainlibdir %{_libdir}
1265 %define mainlibdirbi32 %{_prefix}/lib
1266 %define mainlibdirbi64 %{_prefix}/lib64
1267 %if %{build_primary_64bit}
1268 %define mainlibdirbi %{mainlibdirbi32}
1269 %else
1270 %define mainlibdirbi %{mainlibdirbi64}
1271 %endif
1272
1273
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\
1280 %{nil}
1281 %define biarchlib() %{nil}
1282 %if %{biarch}
1283 %if !%{separate_biarch}
1284 %define mainlib() %{mainlibdir}/%1\
1285 %{mainlibdirbi}/%1\
1286 %{nil}
1287 %else
1288 %define biarchlib() %{mainlibdirbi}/%1\
1289 %{nil}
1290 %endif
1291 %endif
1292
1293 %define versmainlib() %{versmainlibdir}/%1\
1294 %{nil}
1295 %define versbiarchlib() %{nil}
1296 %if %{biarch}
1297 %if !%{separate_biarch}
1298 %define versmainlib() %{versmainlibdir}/%1\
1299 %{versmainlibdirbi}/%1\
1300 %{nil}
1301 %else
1302 %define versbiarchlib() %{versmainlibdirbi}/%1\
1303 %{nil}
1304 %endif
1305 %endif
1306
1307
1308
1309 %prep
1310 %setup -q -n gcc-%{gcc_version}%{snapshot_date}
1311
1312
1313 # We are configuring ppc as ppc64 but with switched multilibs.  Adjust
1314 # the libstdc++ abi testsuite baseline files accordingly
1315 %ifarch ppc
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/
1322 fi
1323 %endif
1324
1325 %build
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
1336 else
1337   mv gcc/BASE-VER gcc/FULL-VER
1338 fi
1339 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
1340
1341 rm -rf obj-%{GCCDIST}
1342 mkdir obj-%{GCCDIST}
1343 cd 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'`
1346 %ifarch %ix86
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'`
1353 %endif
1354 %ifarch s390 s390x
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'`
1357 %endif
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'`
1361 %endif
1362 # Replace 2 spaces by one finally
1363 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/  / /g'`
1364
1365 languages=c
1366 %if %{build_cp}
1367 languages=$languages,c++
1368 %endif
1369 %if %{build_objc}
1370 languages=$languages,objc
1371 %endif
1372 %if %{build_fortran}
1373 languages=$languages,fortran
1374 %endif
1375 %if %{build_objcp}
1376 languages=$languages,obj-c++
1377 %endif
1378 %if %{build_java}
1379 languages=$languages,java
1380 %endif
1381 %if %{build_ada}
1382 languages=$languages,ada
1383 %endif
1384
1385 J=%{?jobs:%jobs}
1386 if test -z "$J"; then
1387   J=$(getconf _NPROCESSORS_CONF)
1388   JL=$(($J * 2))
1389 else
1390   test 1 -gt "$J" && J=1
1391   JL=$(($(getconf _NPROCESSORS_CONF)*2))
1392 fi
1393 if test "$J" == "0"; then
1394   J=1
1395 fi
1396 if test "$JL" == "0"; then
1397   JL=1
1398 fi
1399 PARALLEL="-j$J -l$JL"
1400
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))
1407
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"
1412
1413 # Work around tail/head -1 changes
1414 export _POSIX2_VERSION=199209
1415
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=/
1421
1422 %if %{build_ada}
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
1427 # available
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"
1435 %endif
1436 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
1437 #%else
1438 #       --enable-threads=posix \
1439 #%endif
1440 #       --enable-shared \
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"
1444 %endif
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" \
1447 ../configure \
1448         --prefix=%{_prefix} \
1449         --infodir=%{_infodir} \
1450         --mandir=%{_mandir} \
1451         --libdir=%{_libdir} \
1452         --libexecdir=%{_libdir} \
1453     --disable-bootstrap \
1454         --enable-languages=$languages \
1455         $ENABLE_CHECKING \
1456         --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
1457         --enable-ssp \
1458         --disable-libssp \
1459         --disable-plugin \
1460         --with-bugurl="http://bugs.tizen.org/" \
1461         --with-pkgversion="Tizen" \
1462 %if !%{build_libjava}
1463         --disable-libgcj \
1464 %else
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 \
1470 %endif
1471 %endif
1472 %if !%{build_with_mudflap}
1473         --disable-libmudflap \
1474 %endif
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 \
1488 %endif
1489 %if 0%{?canonical_target:1}
1490         --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
1491 %endif
1492 %if 0%{?sysroot:1}
1493         --with-sysroot=%sysroot \
1494 %endif
1495 %if 0%{?build_static:1}
1496         --disable-shared \
1497 %endif
1498 %if "%{TARGET_ARCH}" == "spu"
1499         --with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
1500         --with-newlib \
1501 %endif
1502         --disable-nls \
1503         --target=%{CONFIGURE_TARGET} \
1504 %else
1505         --program-suffix=%{binsuffix} \
1506         --enable-linux-futex \
1507 %ifarch ia64
1508         --with-system-libunwind \
1509 %else
1510         --without-system-libunwind \
1511 %endif
1512 %endif
1513 %if "%{TARGET_ARCH}" == "armv5tel"
1514         --with-arch=armv5te \
1515         --with-float=soft \
1516         --with-mode=arm \
1517         --with-abi=aapcs-linux \
1518         --disable-sjlj-exceptions \
1519 %endif
1520 %if "%{TARGET_ARCH}" == "armv7l" 
1521         --with-arch=armv7-a \
1522         --with-tune=cortex-a9 \
1523         --with-float=hard \
1524         --with-abi=aapcs-linux \
1525         --with-fpu=vfpv3-d16 \
1526         --disable-sjlj-exceptions \
1527 %endif
1528 %if  "%{TARGET_ARCH}" == "armv7hl"
1529         --with-arch=armv7-a \
1530         --with-tune=cortex-a9 \
1531         --with-float=hard \
1532         --with-abi=aapcs-linux \
1533         --with-fpu=vfpv3-d16 \
1534         --disable-sjlj-exceptions \
1535 %endif
1536 %if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64"
1537 %if "%{TARGET_ARCH}" == "powerpc"
1538         --with-cpu=default32 \
1539 %endif
1540         --with-cpu-64=power4 \
1541         --enable-secureplt \
1542         --with-long-double-128 \
1543 %endif
1544 %if "%{TARGET_ARCH}" == "sparc64"
1545         --with-cpu=ultrasparc \
1546         --with-long-double-128 \
1547 %endif
1548 %if "%{TARGET_ARCH}" == "sparc"
1549         --with-cpu=v8 \
1550         --with-long-double-128 \
1551 %endif
1552 %if "%{TARGET_ARCH}" == "i586"
1553         --with-arch-32=i586 \
1554         --with-tune=generic \
1555 %endif
1556 %if "%{TARGET_ARCH}" == "x86_64"
1557         --with-arch-32=i586 \
1558         --with-tune=generic \
1559 %endif
1560 %if "%{TARGET_ARCH}" == "s390"
1561         --with-tune=z196 --with-arch=z10 \
1562         --with-long-double-128 \
1563         --enable-decimal-float \
1564 %endif
1565 %if "%{TARGET_ARCH}" == "s390x"
1566         --with-tune=z196 --with-arch=z10 \
1567         --with-long-double-128 \
1568         --enable-decimal-float \
1569 %endif
1570         --build=%{GCCDIST}
1571
1572
1573 %if 0%{?building_libffi:1}
1574 make stage1-bubble $PARALLEL
1575 make all-target-libffi $PARALLEL
1576 %else
1577 STAGE1_FLAGS="-g"
1578 # Only run profiled bootstrap on archs where it works
1579 #%ifarch %ix86 x86_64 ppc ppc64 ia64
1580 #make profiledbootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1581 #%else
1582 #make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1583 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1584 #%endif
1585 #make -C gcc proto
1586 make info
1587 %if 0%{?run_tests:1}
1588 echo "Run testsuite"
1589 (make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1590 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1591 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1592 # asan needs a whole shadow address space
1593 ulimit -v unlimited || true
1594 make -k check $PARALLEL || true
1595 mkdir ../testresults
1596 ../contrib/test_summary | tee ../testresults/test_summary.txt
1597 %endif
1598 %endif
1599
1600 %install
1601 export NO_BRP_CHECK_BYTECODE_VERSION=true
1602 cd obj-%{GCCDIST}
1603 # Work around tail/head -1 changes
1604 export _POSIX2_VERSION=199209
1605 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi}
1606 %if 0%{?building_libffi:1}
1607 make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
1608 %else
1609 %if 0%{?building_libjava:1}
1610 make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
1611 make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
1612 make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
1613 make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
1614 # install-common also installs collect2, gcov and the g++ and gfortran driver
1615 %if %{build_cp}
1616 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1617 %endif
1618 %if %{build_fortran}
1619 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1620 %endif
1621 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1622 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1623 %else
1624 make install DESTDIR=$RPM_BUILD_ROOT
1625 %if %{build_java}
1626 make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
1627 make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT
1628 rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
1629 rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
1630 rm $RPM_BUILD_ROOT%{libsubdir}/jc1
1631 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
1632 %endif
1633 %endif
1634 %endif
1635
1636 # Remove libffi installed files if we did not want to build it
1637 %if !0%{?building_libffi:1}
1638 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.*
1639 %if %{biarch}
1640   rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
1641 %endif
1642 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h
1643 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h
1644 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3*
1645 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3*
1646 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3*
1647 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3*
1648 %endif
1649
1650 # Remove some useless .la files
1651 for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \
1652     libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij \
1653     libasan libatomic libitm libtsan; do
1654   rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la
1655 %if %{biarch}
1656   rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1657 %endif
1658 done
1659
1660 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1661 %if %{biarch}
1662 %if %{build_primary_64bit}
1663 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1664 %else
1665 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1666 %endif
1667 %endif
1668
1669 %if %{build_cp}
1670 # Merge multilib c++config.h to allow omitting the duplicate and
1671 # identical other arch specific headers
1672 dir_ml=
1673 cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1674 for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1675   if ! diff -up $cxxconfig $i; then
1676     file_32=x
1677     file_64=x
1678     case $i in
1679       %{GCCDIST}/32/*)
1680         file_32=$i
1681         file_64=$cxxconfig
1682         dir_ml=32
1683         ;;
1684       %{GCCDIST}/64/*)
1685         file_32=$cxxconfig
1686         file_64=$i
1687         dir_ml=64
1688         ;;
1689     esac
1690     if ! ( test -f "$file_32" && test -f "$file_64" ); then
1691       echo "Urgs?"
1692       exit 1
1693     fi
1694     
1695     cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1696 #ifndef _CPP_CPPCONFIG_WRAPPER
1697 #define _CPP_CPPCONFIG_WRAPPER 1
1698 #include <bits/wordsize.h>
1699 #if __WORDSIZE == 32
1700 `cat $file_32`
1701 #else
1702 `cat $file_64`
1703 #endif
1704 #endif
1705 EOF
1706     break
1707   fi
1708 done
1709 rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1710 if ! test -z "$dir_ml"; then
1711   ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1712 fi
1713 %endif
1714
1715 # move shared libs from versionspecific dir to main libdir
1716 for libname in \
1717 %if 0%{?building_libjava:1}
1718   libgcj libgij libgcj-tools \
1719 %else
1720 %if %{build_fortran}
1721   libgfortran \
1722 %ifarch %quadmath_arch
1723   libquadmath \
1724 %endif
1725 %endif
1726 %if %{build_objc}
1727   libobjc \
1728 %endif
1729 %if %{build_cp}
1730   libstdc++ \
1731 %endif
1732   libgomp \
1733 %ifarch %atomic_arch
1734   libatomic \
1735 %endif
1736 %ifarch %itm_arch
1737   libitm \
1738 %endif
1739 %ifarch %asan_arch
1740   libasan \
1741 %endif
1742 %ifarch %tsan_arch
1743   libtsan \
1744 %endif
1745 %if %{build_with_mudflap}
1746   libmudflap libmudflapth \
1747 %endif
1748 %endif
1749     ; do
1750   for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1751     mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1752   done
1753   ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'`  \
1754          $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
1755 %if %{biarch}
1756   if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1757     for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1758       mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/
1759     done
1760     ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'`  \
1761          $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1762   fi
1763 %endif
1764 done
1765 # FIXME, tsan is not multilib
1766 %ifarch %tsan_arch
1767 %if %{biarch}
1768 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/libtsan.so
1769 %endif
1770 %endif
1771 %if %{build_cp}
1772 %if !0%{?building_libjava:1}
1773 # And we want to move the shlib gdb pretty printers to a more sane
1774 # place so ldconfig does not complain
1775 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
1776 mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
1777 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 %{biarch}
1779   if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1780     mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
1781     mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1782     sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1783   fi
1784 %endif
1785 %endif
1786 %endif
1787 %if 0%{?building_libjava:1}
1788 # libgcj_bc is special as the .so file is actually a different
1789 # library as the library refered to by the SONAME which should
1790 # be a simple link to our libgcj.
1791 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do
1792   rm $lib
1793 done
1794 ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.%{libgcj_bc_sover}
1795 %if %{biarch_libjava}
1796 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do
1797   rm $lib
1798 done
1799 ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.%{libgcj_bc_sover}
1800 %endif
1801 %endif
1802
1803 # Move libgcc_s around
1804 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1805   rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1806   ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1807 else
1808   mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1809 fi
1810 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
1811 %if %{biarch}
1812 %if %{build_primary_64bit}
1813 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1814   rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1815   ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1816 else
1817   mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1818 fi
1819 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1820 chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
1821 %else
1822 # 32-bit biarch systems
1823 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1824   rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1825   ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1826 else
1827   mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1828 fi
1829 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1830 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1831 %endif
1832 %endif
1833
1834
1835 %if %{build_ada}
1836 mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir}
1837 ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so
1838 ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so
1839 chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
1840 %if %{biarch}
1841 mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
1842 ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1843 ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1844 chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
1845 %endif
1846 %endif
1847
1848 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1849
1850 # Remove some crap from the .la files:
1851 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
1852   echo "changing $l"
1853 # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g'
1854   sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1855       -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1856       -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1857       -e '/^dependency_libs/s|-L[^ ]* ||g' \
1858 %if %{biarch}
1859 %if %{build_primary_64bit}
1860       -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1861       -e '/^libdir/s|lib64/\.\./||' \
1862 %else
1863       -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1864 %endif
1865 %endif
1866       < $l  > $l.new
1867   mv $l.new $l
1868 done
1869
1870 %if 0%{?run_tests:1} 
1871 cp `find . -name "*.sum"` ../testresults/
1872 cp `find . -name "*.log"  \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
1873 chmod 644 ../testresults/*
1874 %endif
1875 %if %{build_cp}
1876 # Find C++ and Java headers
1877 find $RPM_BUILD_ROOT%{_prefix}/include/c++ \
1878   -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \
1879   -o \( -type d -printf "%%%%dir " , \
1880         -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers
1881 %endif
1882 # Remove files that we do not need to clean up filelist
1883 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-*
1884 rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools
1885 #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
1886 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root
1887 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h
1888 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-*
1889 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux
1890 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound
1891 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h
1892 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h
1893 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h
1894 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h
1895 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11
1896 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1897 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h
1898 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h
1899 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h
1900 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1901 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys
1902 # no plugins
1903 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1904 rm -f  $RPM_BUILD_ROOT%{_infodir}/dir
1905 rm -f  $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix}
1906
1907 %if !0%{?building_libjava:1}%{?building_libffi:1}
1908 # delete compile flag tracking from crt files
1909 crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o
1910 %if %{biarch}
1911 %if %{build_primary_64bit}
1912 crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o
1913 %else
1914 crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o
1915 %endif
1916 %endif
1917 for o in $crt_list $crt32_list $crt64_list; do
1918   objcopy -R ".comment.SUSE.OPTs" $o
1919 done
1920 %endif
1921
1922 %if 0%{?building_libjava:1}
1923 # gcj -static doesn't work properly anyway, unless using --whole-archive
1924 # let's save the space instead.
1925 find $RPM_BUILD_ROOT -name libgcj.a \
1926         -o -name libgcj-tools.a \
1927         -o -name libgij.a \
1928         -o -name libjvm.a \
1929         -o -name libgcj_bc.a \
1930   | xargs rm -f
1931
1932 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
1933   sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
1934
1935 # security files have broken install locations, also they cause conflicts
1936 # between libgcj versions.  Simply delete them here, libgcj will use its
1937 # defaults in this case (which is what these files contain anyway).
1938 rm $RPM_BUILD_ROOT%{_libdir}/logging.properties
1939 rm -r $RPM_BUILD_ROOT%{_libdir}/security
1940 %endif
1941
1942 %if 0%{?building_libffi:1}
1943 # Move libffi headers, remove empty libffi libtool file
1944 mkdir -p $RPM_BUILD_ROOT%{_prefix}/include
1945 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/
1946 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/
1947 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la
1948 %if %{biarch}
1949 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
1950 %endif
1951 # Generate a simple pkg-config file
1952 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
1953 echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc
1954 %endif
1955
1956 %if %{build_java}
1957 %if !%{build_libjava}
1958 rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
1959 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
1960 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
1961 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
1962 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1
1963 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1
1964 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1
1965 %endif
1966 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py
1967 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py
1968 %endif
1969 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
1970 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
1971 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
1972 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
1973 %if %{biarch}
1974 %if %{build_primary_64bit}
1975 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
1976 %else
1977 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
1978 %endif
1979 %endif
1980 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
1981 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
1982
1983 %if 0%{?building_libjava:1}
1984 # For building libjava only we need to delete other info docs
1985 rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
1986 # Remove stale manpages for binaries we do not build
1987 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1
1988 # For building the java frontend we need to copy the ecj jar
1989 mkdir -p $RPM_BUILD_ROOT%{libsubdir}
1990 cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
1991 %else
1992 # For regular build, some info files do not get renamed properly.
1993 # Do so here.
1994 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
1995 %ifarch %itm_arch
1996 mv $RPM_BUILD_ROOT%{_infodir}/libitm.info $RPM_BUILD_ROOT%{_infodir}/libitm%{binsuffix}.info
1997 %endif
1998 %if %{build_fortran} 
1999 %ifarch %quadmath_arch
2000 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
2001 %endif
2002 %endif
2003 %if %{build_ada}
2004 mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info
2005 mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info
2006 mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info
2007 %endif
2008 %endif
2009
2010 cd ..
2011 %find_lang cpplib%{binsuffix}
2012 %find_lang gcc%{binsuffix}
2013 cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc48-locale.lang
2014
2015
2016 %post info
2017 %install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
2018 %install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
2019 %install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
2020 %install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
2021 %install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
2022 %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
2023 %if %{build_fortran} 
2024 %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
2025 %ifarch %quadmath_arch
2026 %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
2027 %endif
2028 %endif
2029 %if %{build_java}
2030 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
2031 %endif
2032 %if %{build_ada}
2033 %install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
2034 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
2035 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
2036 %endif
2037
2038 %postun info
2039 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
2040 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
2041 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
2042 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
2043 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
2044 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
2045 %if %{build_fortran}
2046 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
2047 %ifarch %quadmath_arch
2048 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
2049 %endif
2050 %endif
2051 %if %{build_java}
2052 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
2053 %endif
2054 %if %{build_ada}
2055 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
2056 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
2057 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
2058 %endif
2059
2060 %files
2061 %defattr(-,root,root)
2062 %dir %{_libdir}/gcc
2063 %dir %{_libdir}/gcc/%{GCCDIST}
2064 %dir %{libsubdir}
2065 %dir %{libsubdir}/include
2066 %dir %{libsubdir}/include-fixed
2067 %if %{biarch}
2068 %if %{build_primary_64bit}
2069 %dir %{libsubdir}/32
2070 %else
2071 %dir %{libsubdir}/64
2072 %endif
2073 %endif
2074 %{_prefix}/bin/gcc%{binsuffix}
2075 %{_prefix}/bin/gcov%{binsuffix}
2076 %{_prefix}/bin/gcc-ar%{binsuffix}
2077 %{_prefix}/bin/gcc-nm%{binsuffix}
2078 %{_prefix}/bin/gcc-ranlib%{binsuffix}
2079 %{libsubdir}/collect2
2080 %{libsubdir}/lto1
2081 %{libsubdir}/lto-wrapper
2082 %{libsubdir}/liblto_plugin.so*
2083 %{libsubdir}/include-fixed/README
2084 %{libsubdir}/include-fixed/limits.h
2085 %{libsubdir}/include-fixed/syslimits.h
2086 %{libsubdir}/include/omp.h
2087 %{libsubdir}/include/float.h
2088 %{libsubdir}/include/iso646.h
2089 %{libsubdir}/include/stdarg.h
2090 %{libsubdir}/include/stdbool.h
2091 %{libsubdir}/include/stdfix.h
2092 %{libsubdir}/include/stddef.h
2093 %{libsubdir}/include/unwind.h
2094 %{libsubdir}/include/varargs.h
2095 %{libsubdir}/include/stdint.h
2096 %{libsubdir}/include/stdint-gcc.h
2097 %{libsubdir}/include/stdnoreturn.h
2098 %{libsubdir}/include/stdalign.h
2099 %ifarch %sparc
2100 %{libsubdir}/include/visintrin.h
2101 %endif
2102 %ifarch ppc ppc64
2103 %{libsubdir}/include/altivec.h
2104 %{libsubdir}/include/ppc-asm.h
2105 %{libsubdir}/include/paired.h
2106 %{libsubdir}/include/ppu_intrinsics.h
2107 %{libsubdir}/include/si2vmx.h
2108 %{libsubdir}/include/spe.h
2109 %{libsubdir}/include/spu2vmx.h
2110 %{libsubdir}/include/vec_types.h
2111 %endif
2112 %ifarch ia64
2113 %{libsubdir}/include/ia64intrin.h
2114 %endif
2115 %ifarch aarch64
2116 %{libsubdir}/include/arm_neon.h
2117 %endif
2118 %ifarch %arm
2119 %{libsubdir}/include/mmintrin.h
2120 %{libsubdir}/include/arm_neon.h
2121 %{libsubdir}/include/unwind-arm-common.h
2122 %endif
2123 %ifarch %ix86 x86_64
2124 %{libsubdir}/include/cross-stdarg.h
2125 %{libsubdir}/include/cpuid.h
2126 %{libsubdir}/include/mm3dnow.h
2127 %{libsubdir}/include/mmintrin.h
2128 %{libsubdir}/include/ammintrin.h
2129 %{libsubdir}/include/bmmintrin.h
2130 %{libsubdir}/include/emmintrin.h
2131 %{libsubdir}/include/immintrin.h
2132 %{libsubdir}/include/avxintrin.h
2133 %{libsubdir}/include/pmmintrin.h
2134 %{libsubdir}/include/xmmintrin.h
2135 %{libsubdir}/include/tmmintrin.h
2136 %{libsubdir}/include/nmmintrin.h
2137 %{libsubdir}/include/smmintrin.h
2138 %{libsubdir}/include/wmmintrin.h
2139 %{libsubdir}/include/x86intrin.h
2140 %{libsubdir}/include/ia32intrin.h
2141 %{libsubdir}/include/mm_malloc.h
2142 %{libsubdir}/include/fma4intrin.h
2143 %{libsubdir}/include/xopintrin.h
2144 %{libsubdir}/include/lwpintrin.h
2145 %{libsubdir}/include/popcntintrin.h
2146 %{libsubdir}/include/bmiintrin.h
2147 %{libsubdir}/include/tbmintrin.h
2148 %{libsubdir}/include/avx2intrin.h
2149 %{libsubdir}/include/bmi2intrin.h
2150 %{libsubdir}/include/fmaintrin.h
2151 %{libsubdir}/include/lzcntintrin.h
2152 %{libsubdir}/include/f16cintrin.h
2153 %{libsubdir}/include/adxintrin.h
2154 %{libsubdir}/include/fxsrintrin.h
2155 %{libsubdir}/include/prfchwintrin.h
2156 %{libsubdir}/include/rdseedintrin.h
2157 %{libsubdir}/include/rtmintrin.h
2158 %{libsubdir}/include/xsaveintrin.h
2159 %{libsubdir}/include/xsaveoptintrin.h
2160 %{libsubdir}/include/xtestintrin.h
2161 %endif
2162 %if %{build_with_mudflap}
2163 %{libsubdir}/include/mf-runtime.h
2164 %endif
2165 %versmainlib *crt*.o
2166 %versmainlib libgcc*.a
2167 %versmainlib libgcov.a
2168 %versmainlib libgcc_s*.so
2169 %if %{build_with_mudflap}
2170 %versmainlib libmudflap.a
2171 %versmainlib libmudflap.so
2172 %versmainlib libmudflapth.a
2173 %versmainlib libmudflapth.so
2174 %endif
2175 %versmainlib libgomp.so
2176 %versmainlib libgomp.a
2177 %versmainlib libgomp.spec
2178 %ifarch %itm_arch
2179 %versmainlib libitm.so
2180 %versmainlib libitm.a
2181 %versmainlib libitm.spec
2182 %endif
2183 %ifarch %atomic_arch
2184 %versmainlib libatomic.so
2185 %versmainlib libatomic.a
2186 %endif
2187 %ifarch %asan_arch
2188 %versmainlib libasan.so
2189 %versmainlib libasan.a
2190 %versmainlib libasan_preinit.o
2191 %endif
2192 %ifarch %tsan_arch
2193 %versmainlib libtsan.so
2194 %versmainlib libtsan.a
2195 %endif
2196 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
2197 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
2198
2199 %if %{separate_biarch}
2200 %files -n gcc48%{separate_biarch_suffix}
2201 %defattr(-,root,root)
2202 %versbiarchlib *crt*.o
2203 %versbiarchlib libgcc*.a
2204 %versbiarchlib libgcov.a
2205 %versbiarchlib libgcc_s*.so
2206 %if %{build_with_mudflap}
2207 %versbiarchlib libmudflap.a
2208 %versbiarchlib libmudflap.so
2209 %versbiarchlib libmudflapth.a
2210 %versbiarchlib libmudflapth.so
2211 %endif
2212 %versbiarchlib libgomp.so
2213 %versbiarchlib libgomp.a
2214 %versbiarchlib libgomp.spec
2215 %ifarch %itm_arch
2216 %versbiarchlib libitm.so
2217 %versbiarchlib libitm.a
2218 %versbiarchlib libitm.spec
2219 %endif
2220 %ifarch %atomic_arch
2221 %versbiarchlib libatomic.a
2222 %versbiarchlib libatomic.so
2223 %endif
2224 %ifarch %asan_arch
2225 %versbiarchlib libasan.a
2226 %versbiarchlib libasan.so
2227 %versbiarchlib libasan_preinit.o
2228 %endif
2229 %if 0
2230 %ifarch %tsan_arch
2231 %versbiarchlib libtsan.a
2232 %versbiarchlib libtsan.so
2233 %endif
2234 %endif
2235 %endif
2236
2237 %files locale -f gcc48-locale.lang
2238
2239 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
2240
2241 %if %{build_cp}
2242 %files c++
2243 %defattr(-,root,root)
2244 %dir %{_libdir}/gcc
2245 %dir %{_libdir}/gcc/%{GCCDIST}
2246 %dir %{libsubdir}
2247 %{_prefix}/bin/g++%{binsuffix}
2248 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
2249 %{libsubdir}/cc1plus
2250
2251 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
2252 %defattr(-,root,root)
2253 %mainlib libstdc++.so.%{libstdcxx_sover}*
2254
2255 %if %{separate_biarch}
2256 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}%{separate_biarch_suffix}
2257 %defattr(-,root,root)
2258 %biarchlib libstdc++.so.%{libstdcxx_sover}*
2259 %endif
2260
2261 %files -n libstdc++48-devel -f c++-headers
2262 %defattr(-,root,root)
2263 %versmainlib libstdc++.a
2264 %versmainlib libstdc++.so
2265 %versmainlib libsupc++.a
2266 %dir %{_datadir}/gdb
2267 %dir %{_datadir}/gdb/auto-load
2268 %dir %{_datadir}/gdb/auto-load%{_prefix}
2269 %dir %{_datadir}/gdb/auto-load/%{mainlibdir}
2270 %{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
2271 %{_datadir}/gcc%{binsuffix}
2272
2273 %if %{separate_biarch}
2274 %files -n libstdc++48-devel%{separate_biarch_suffix}
2275 %defattr(-,root,root)
2276 %versbiarchlib libstdc++.a
2277 %versbiarchlib libstdc++.so
2278 %versbiarchlib libsupc++.a
2279 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
2280 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
2281 %endif
2282
2283 %files -n libstdc++48-doc
2284 %defattr(-,root,root)
2285 %doc libstdc++-v3/doc/html
2286 %endif
2287
2288 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
2289 %defattr(-,root,root)
2290 /%{_lib}/libgcc_s.so.%{libgcc_s}
2291 %if %{biarch}
2292 %if %{build_primary_64bit}
2293 %if !%{separate_bi32}
2294 /lib/libgcc_s.so.%{libgcc_s}
2295 %endif
2296 %else
2297 %if !%{separate_bi64}
2298 /lib64/libgcc_s.so.%{libgcc_s}
2299 %endif
2300 %endif
2301 %endif
2302
2303 %if %{separate_bi64}
2304 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
2305 %defattr(-,root,root)
2306 /lib64/libgcc_s.so.%{libgcc_s}
2307 %endif
2308
2309 %if %{separate_bi32}
2310 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
2311 %defattr(-,root,root)
2312 /lib/libgcc_s.so.%{libgcc_s}
2313 %endif
2314
2315
2316 %files -n libgomp%{libgomp_sover}%{libgomp_suffix}
2317 %defattr(-,root,root)
2318 %mainlib libgomp.so.%{libgomp_sover}*
2319
2320 %if %{separate_biarch}
2321 %files -n libgomp%{libgomp_sover}%{libgomp_suffix}%{separate_biarch_suffix}
2322 %defattr(-,root,root)
2323 %biarchlib libgomp.so.%{libgomp_sover}*
2324 %endif
2325
2326
2327 %ifarch %asan_arch
2328 %files -n libasan%{libasan_sover}%{libasan_suffix}
2329 %defattr(-,root,root)
2330 %mainlib libasan.so.%{libasan_sover}*
2331
2332 %if %{separate_biarch}
2333 %files -n libasan%{libasan_sover}%{libasan_suffix}%{separate_biarch_suffix}
2334 %defattr(-,root,root)
2335 %biarchlib libasan.so.%{libasan_sover}*
2336 %endif
2337 %endif
2338
2339
2340 %ifarch %tsan_arch
2341 %files -n libtsan%{libtsan_sover}%{libtsan_suffix}
2342 %defattr(-,root,root)
2343 %mainlib libtsan.so.%{libtsan_sover}*
2344
2345 %if 0
2346 %if %{separate_biarch}
2347 %files -n libtsan%{libtsan_sover}%{libtsan_suffix}%{separate_biarch_suffix}
2348 %defattr(-,root,root)
2349 %biarchlib libtsan.so.%{libtsan_sover}*
2350 %endif
2351 %endif
2352 %endif
2353
2354
2355 %ifarch %atomic_arch
2356 %files -n libatomic%{libatomic_sover}%{libatomic_suffix}
2357 %defattr(-,root,root)
2358 %mainlib libatomic.so.%{libatomic_sover}*
2359
2360 %if %{separate_biarch}
2361 %files -n libatomic%{libatomic_sover}%{libatomic_suffix}%{separate_biarch_suffix}
2362 %defattr(-,root,root)
2363 %biarchlib libatomic.so.%{libatomic_sover}*
2364 %endif
2365 %endif
2366
2367
2368 %ifarch %itm_arch
2369 %files -n libitm%{libitm_sover}%{libitm_suffix}
2370 %defattr(-,root,root)
2371 %mainlib libitm.so.%{libitm_sover}*
2372
2373 %if %{separate_biarch}
2374 %files -n libitm%{libitm_sover}%{libitm_suffix}%{separate_biarch_suffix}
2375 %defattr(-,root,root)
2376 %biarchlib libitm.so.%{libitm_sover}*
2377 %endif
2378 %endif
2379
2380
2381
2382 %if %{build_fortran}
2383 %files fortran
2384 %defattr(-,root,root)
2385 %dir %{libsubdir}/finclude
2386 %{_prefix}/bin/gfortran%{binsuffix}
2387 %{libsubdir}/f951
2388 %{libsubdir}/finclude/*
2389 %versmainlib libgfortran.a
2390 %versmainlib libgfortran.so
2391 %versmainlib libgfortran.spec
2392 %versmainlib libgfortranbegin.a
2393 %versmainlib libcaf_single.a
2394 %ifarch %quadmath_arch
2395 %{libsubdir}/include/quadmath.h
2396 %{libsubdir}/include/quadmath_weak.h
2397 %versmainlib libquadmath.a
2398 %versmainlib libquadmath.so
2399 %endif
2400 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
2401
2402 %if %{separate_biarch}
2403 %files fortran%{separate_biarch_suffix}
2404 %defattr(-,root,root)
2405 %versbiarchlib libgfortran.a
2406 %versbiarchlib libgfortran.so
2407 %versbiarchlib libgfortran.spec
2408 %versbiarchlib libgfortranbegin.a
2409 %versbiarchlib libcaf_single.a
2410 %ifarch %quadmath_arch
2411 %versbiarchlib libquadmath.a
2412 %versbiarchlib libquadmath.so
2413 %endif
2414 %endif
2415
2416 %files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
2417 %defattr(-,root,root)
2418 %mainlib libgfortran.so.%{libgfortran_sover}*
2419
2420 %if %{separate_biarch}
2421 %files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}%{separate_biarch_suffix}
2422 %defattr(-,root,root)
2423 %biarchlib libgfortran.so.%{libgfortran_sover}*
2424 %endif
2425
2426 %ifarch %quadmath_arch
2427 %files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
2428 %defattr(-,root,root)
2429 %mainlib libquadmath.so.%{libquadmath_sover}*
2430
2431 %if %{separate_biarch}
2432 %files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}%{separate_biarch_suffix}
2433 %defattr(-,root,root)
2434 %biarchlib libquadmath.so.%{libquadmath_sover}*
2435 %endif
2436 %endif
2437 %endif
2438
2439 %if %{build_with_mudflap}
2440 %files -n libmudflap48
2441 %defattr(-,root,root)
2442 %mainlib libmudflap.so.%{libmudflap_sover}*
2443 %mainlib libmudflapth.so.%{libmudflap_sover}*
2444
2445 %if %{separate_biarch}
2446 %files -n libmudflap48%{separate_biarch_suffix}
2447 %defattr(-,root,root)
2448 %biarchlib libmudflap.so.%{libmudflap_sover}*
2449 %biarchlib libmudflapth.so.%{libmudflap_sover}*
2450 %endif
2451 %endif
2452
2453 %files info
2454 %defattr(-,root,root)
2455 %doc %{_infodir}/*.gz
2456
2457 %files -n cpp48
2458 %defattr(-,root,root)
2459 %dir %{_libdir}/gcc
2460 %dir %{_libdir}/gcc/%{GCCDIST}
2461 %dir %{libsubdir}
2462 %{_prefix}/bin/cpp%{binsuffix}
2463 %{libsubdir}/cc1
2464 #%{libsubdir}/specs
2465 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
2466
2467 %if %{build_objc}
2468 %files objc
2469 %defattr(-,root,root)
2470 %{libsubdir}/cc1obj
2471 %{libsubdir}/include/objc
2472 %versmainlib libobjc.a
2473 %versmainlib libobjc.so
2474
2475 %if %{separate_biarch}
2476 %files objc%{separate_biarch_suffix}
2477 %defattr(-,root,root)
2478 %versbiarchlib libobjc.a
2479 %versbiarchlib libobjc.so
2480 %endif
2481
2482 %files -n libobjc%{libobjc_sover}%{libobjc_suffix}
2483 %defattr(-,root,root)
2484 %mainlib libobjc.so.%{libobjc_sover}*
2485
2486 %if %{separate_biarch}
2487 %files -n libobjc%{libobjc_sover}%{libobjc_suffix}%{separate_biarch_suffix}
2488 %defattr(-,root,root)
2489 %biarchlib libobjc.so.%{libobjc_sover}*
2490 %endif
2491 %endif
2492
2493
2494 %if %{build_objcp}
2495 %files obj-c++
2496 %defattr(-,root,root)
2497 %{libsubdir}/cc1objplus
2498 %endif
2499
2500
2501 %if %{build_ada}
2502 %files ada
2503 %defattr(-,root,root)
2504 %dir %{_libdir}/gcc
2505 %dir %{_libdir}/gcc/%{GCCDIST}
2506 %dir %{libsubdir}
2507 %{_prefix}/bin/gnat*
2508 %dir %{versmainlibdir}/adainclude
2509 %dir %{versmainlibdir}/adalib
2510 %{versmainlibdir}/adainclude
2511 %{versmainlibdir}/adalib/*.ali
2512 %{versmainlibdir}/adalib/*.a
2513 %{versmainlibdir}/adalib/libgnarl.so
2514 %{versmainlibdir}/adalib/libgnat.so
2515 %{versmainlibdir}/gnat1
2516
2517 %if %{separate_biarch}
2518 %files ada%{separate_biarch_suffix}
2519 %defattr(-,root,root)
2520 %dir %{versmainlibdirbi}/adainclude
2521 %dir %{versmainlibdirbi}/adalib
2522 %{versmainlibdirbi}/adainclude
2523 %{versmainlibdirbi}/adalib/*.ali
2524 %{versmainlibdirbi}/adalib/*.a
2525 %{versmainlibdirbi}/adalib/libgnarl.so
2526 %{versmainlibdirbi}/adalib/libgnat.so
2527 %endif
2528
2529 %files -n libada48
2530 %defattr(-,root,root)
2531 %mainlib libgnarl-*.so
2532 %mainlib libgnat-*.so
2533
2534 %if %{separate_biarch}
2535 %files -n libada48%{separate_biarch_suffix}
2536 %defattr(-,root,root)
2537 %biarchlib libgnarl-*.so
2538 %biarchlib libgnat-*.so
2539 %endif
2540 %endif
2541
2542
2543 %if %{build_java}
2544 %if 0%{?building_libjava:1}
2545 %files -n gcc48-java
2546 %defattr(-,root,root)
2547 %{_prefix}/bin/gcj%{binsuffix}
2548 %{_prefix}/bin/gcjh%{binsuffix}
2549 %{_prefix}/bin/gcj-dbtool%{binsuffix}
2550 %{_prefix}/bin/jcf-dump%{binsuffix}
2551 %{_prefix}/bin/jv-convert%{binsuffix}
2552 %{_prefix}/bin/gc-analyze%{binsuffix}
2553 %{_prefix}/bin/aot-compile%{binsuffix}
2554 %{_prefix}/bin/rebuild-gcj-db%{binsuffix}
2555 %{libsubdir}/jc1
2556 %{libsubdir}/jvgenmain
2557 %{libsubdir}/ecj.jar
2558 %{libsubdir}/ecj1
2559 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
2560 %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
2561 %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
2562 %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
2563 %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
2564 %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
2565 %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz
2566 %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz
2567 %endif
2568 %endif
2569
2570 %if %{build_java}
2571 %if %{build_libjava}
2572 %files -n libgcj48
2573 %defattr(-,root,root)
2574 %dir %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}
2575 %dir %{_libdir}/gcc
2576 %dir %{_libdir}/gcc/%{GCCDIST}
2577 %dir %{libsubdir}
2578 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/classmap.db
2579 # We usually do not multilib libjava
2580 %if %{biarch_libjava}
2581 %versbiarchlib libgcj.la
2582 %biarchlib libgcj.so.*
2583 %biarchlib libgij.so.*
2584 %biarchlib libgcj-tools.so.*
2585 %else
2586 %versmainlib libgcj.la
2587 %mainlib libgcj.so.*
2588 %mainlib libgij.so.*
2589 %mainlib libgcj-tools.so.*
2590 %endif
2591 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.la
2592 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.so
2593 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.la
2594 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.so
2595
2596 %files -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
2597 %defattr(-,root,root)
2598 %if %{biarch_libjava}
2599 %biarchlib libgcj_bc.so.%{libgcj_bc_sover}*
2600 %else
2601 %mainlib libgcj_bc.so.%{libgcj_bc_sover}*
2602 %endif
2603
2604 %files -n libgcj48-jar
2605 %defattr(-,root,root)
2606 %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
2607 %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
2608
2609 %files -n libgcj48-devel
2610 %defattr(-,root,root)
2611 %dir %{_prefix}/include/c++
2612 %dir %{libsubdir}
2613 %dir %{libsubdir}/include
2614 %dir %{gxxinclude}
2615 %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
2616 %{libsubdir}/include/jawt.h
2617 %{libsubdir}/include/jawt_md.h
2618 %{libsubdir}/include/jni.h
2619 %{libsubdir}/include/jni_md.h
2620 %{libsubdir}/include/jvmpi.h
2621 %{gxxinclude}/gnu
2622 %{gxxinclude}/gcj
2623 %{gxxinclude}/java
2624 %{gxxinclude}/javax
2625 %{gxxinclude}/org
2626 %{gxxinclude}/sun
2627 %{libsubdir}/include/gcj
2628 %if %{biarch_libjava}
2629 %versbiarchlib libgcj.so
2630 %versbiarchlib libgcj.spec
2631 %versbiarchlib libgcj-tools.so
2632 %versbiarchlib libgij.so
2633 %versbiarchlib libgcj_bc.so
2634 %else
2635 %versmainlib libgcj.so
2636 %versmainlib libgcj.spec
2637 %versmainlib libgcj-tools.so
2638 %versmainlib libgij.so
2639 %versmainlib libgcj_bc.so
2640 %endif
2641
2642 %files -n gcc48-gij
2643 %defattr(-,root,root)
2644 %{_prefix}/bin/gij%{binsuffix}
2645 %{_prefix}/bin/gappletviewer%{binsuffix}
2646 %{_prefix}/bin/gjar%{binsuffix}
2647 %{_prefix}/bin/gjarsigner%{binsuffix}
2648 %{_prefix}/bin/gjavah%{binsuffix}
2649 %{_prefix}/bin/gkeytool%{binsuffix}
2650 %{_prefix}/bin/gnative2ascii%{binsuffix}
2651 %{_prefix}/bin/gorbd%{binsuffix}
2652 %{_prefix}/bin/grmic%{binsuffix}
2653 %{_prefix}/bin/grmid%{binsuffix}
2654 %{_prefix}/bin/grmiregistry%{binsuffix}
2655 %{_prefix}/bin/gserialver%{binsuffix}
2656 %{_prefix}/bin/gtnameserv%{binsuffix}
2657 %doc %{_mandir}/man1/gij%{binsuffix}.1.gz
2658 %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
2659 %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
2660 %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
2661 %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
2662 %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
2663 %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
2664 %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
2665 %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
2666 %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
2667 %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
2668 %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz
2669 %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz
2670 %endif
2671 %endif
2672
2673 %if %{build_java}
2674 %if 0%{?building_libffi:1}
2675 %files -n libffi%{libffi_sover}%{libffi_suffix}
2676 %defattr(-,root,root)
2677 %mainlib libffi.so.%{libffi_sover}*
2678
2679 %if %{separate_biarch}
2680 %files -n libffi%{libffi_sover}%{libffi_suffix}%{separate_biarch_suffix}
2681 %defattr(-,root,root)
2682 %biarchlib libffi.so.%{libffi_sover}*
2683 %endif
2684
2685 %post -n libffi48-devel
2686 %install_info --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz
2687 %postun -n libffi48-devel
2688 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz
2689
2690 %files -n libffi48-devel
2691 %defattr(-,root,root)
2692 %{_prefix}/include/ffi.h
2693 %{_prefix}/include/ffitarget.h
2694 %mainlib libffi.so
2695 %mainlib libffi.a
2696 %{_libdir}/pkgconfig/libffi.pc
2697 %doc %{_infodir}/libffi%{binsuffix}.info.gz
2698 %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz
2699 %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz
2700 %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz
2701 %doc %{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3.gz
2702
2703 %if %{separate_biarch}
2704 %files -n libffi48-devel%{separate_biarch_suffix}
2705 %defattr(-,root,root)
2706 %biarchlib libffi.so
2707 %biarchlib libffi.a
2708 %endif
2709 %endif
2710 %endif
2711
2712 %if 0%{?run_tests:1}
2713 %files -n gcc48-testresults
2714 %defattr(-,root,root)
2715 %doc testresults/test_summary.txt
2716 %doc testresults/*.sum
2717 %doc testresults/*.log
2718 %endif
2719
2720
2721 %changelog