Update packaging for 4.8
[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 %ifarch hppa
60 %define libgcc_s 4
61 %else
62 %define libgcc_s 1
63 %endif
64 %define libgcj_sover 14
65 %define libgcj_bc_sover 1
66 %define libffi_sover 4
67 %define libmudflap_sover 0
68 %define libgomp_sover 1
69 %define libstdcxx_sover 6
70 %define libobjc_sover 4
71 %define libgfortran_sover 3
72 %define libquadmath_sover 0
73 %define libasan_sover 0
74 %define libtsan_sover 0
75 %define libatomic_sover 1
76 %define libitm_sover 1
77
78 # Shared library package suffix
79 # This is used for the "non-standard" set of libraries, the standard
80 # being defined by %product_libs_gcc_ver, the GCC version that should
81 # provide un-suffixed shared library packages following the shared-library
82 # policy.  Even suffixed variants should provide the shared-library policy
83 # mandated names and ensure they conflict with each other.
84 # Note that on SONAME changes of any library the %product_libs_gcc_ver
85 # define needs to be either split or the newest GCC version still providing
86 # the old SONAME needs to unconditionally produce an un-suffixed library
87 # if %product_libs_gcc_ver is newer than it.  Similar the _oldest_ GCC
88 # version first providing a new SONAME needs to unconditionally produce
89 # an un-suffixed library if %product_libs_gcc_ver is lower that it.
90 %if %{!?product_libs_gcc_ver:48}%{?product_libs_gcc_ver} != 48
91 %define pne 1
92 %endif
93 %define libgcc_s_suffix %{?pne:-gcc48}
94 # libgcj SONAME changes with every GCC version
95 %define libgcj_suffix %nil
96 %define libgcj_bc_suffix %{?pne:-gcc48}
97 %define libffi_suffix %{?pne:-gcc48}
98 %define libmudflap_suffix %{?pne:-gcc48}
99 %define libgomp_suffix %{?pne:-gcc48}
100 %define libstdcxx_suffix %{?pne:-gcc48}
101 %define libobjc_suffix %{?pne:-gcc48}
102 %define libgfortran_suffix %{?pne:-gcc48}
103 %define libquadmath_suffix %{?pne:-gcc48}
104 %define libasan_suffix %{?pne:-gcc48}
105 %define libtsan_suffix %{?pne:-gcc48}
106 %define libatomic_suffix %{?pne:-gcc48}
107 %define libitm_suffix %{?pne:-gcc48}
108
109
110
111
112 Name:         gcc48
113 BuildRequires: gcc-c++
114 BuildRequires: bison
115 BuildRequires: flex
116 BuildRequires: glibc-devel-32bit
117 BuildRequires: mpc-devel
118 BuildRequires: mpfr-devel
119 BuildRequires: perl
120 BuildRequires: makeinfo
121 BuildRequires: zlib-devel
122 %ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
123 BuildRequires: cloog-isl-devel
124 BuildRequires: isl-devel
125 %endif
126 %if %{build_ada}
127 %define hostsuffix -4.7
128 BuildRequires: gcc47-ada
129 %endif
130 %if 0%{?building_libjava:1}%{?building_testsuite:1}
131 BuildRequires: fastjar
132 %endif
133 %if 0%{?building_libffi:1}
134 BuildRequires: pkg-config
135 %endif
136 %ifarch ia64
137 BuildRequires: libunwind-devel
138 %endif
139 %if 0%{?run_tests:1}
140 BuildRequires: dejagnu
141 BuildRequires: expect
142 BuildRequires: gdb
143 %endif
144
145 %define separate_bi32 0
146 %define separate_bi64 0
147 %ifarch ppc sparcv9
148 # Beware, this does _not_ separate libgcj, as for that one multilibing
149 # is inactive for the time being
150 %define separate_bi64 1
151 %endif
152 %ifarch x86_64 s390x ppc64 sparc64
153 %define separate_bi32 1
154 %endif
155
156 # Define two macros to trigger -32bit or -64bit package variants
157 %define separate_biarch 0
158 %if %{separate_bi32}
159 %define separate_biarch 1
160 %define separate_biarch_suffix -32bit
161 %endif
162 %if %{separate_bi64}
163 %define separate_biarch 1
164 %define separate_biarch_suffix -64bit
165 %endif
166
167 %ifarch x86_64 ia64 s390x alpha ppc64 sparc64
168 # 64-bit is primary build target
169 %define build_primary_64bit 1
170 %else
171 %define build_primary_64bit 0
172 %endif
173
174 %define biarch_libjava 0
175
176 %define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
177
178 URL:          http://gcc.gnu.org/
179 Version: 4.8.1
180 Release:      1
181 %define gcc_version %(echo %version | sed 's/_.*//')
182 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
183 %define snapshot_date %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/_/-/')
184 %define binsuffix -4.8
185
186 %if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
187 Requires: binutils glibc-devel
188 Requires: cpp48 = %{version}-%{release}
189 Requires: libgcc_s%{libgcc_s} >= %{version}-%{release}
190 Requires: libgomp%{libgomp_sover} >= %{version}-%{release}
191 %if %{build_with_mudflap}
192 Requires: libmudflap%{libmudflap_sover} >= %{version}-%{release}
193 Requires: libmudflapth%{libmudflap_sover} >= %{version}-%{release}
194 %endif
195 %ifarch %asan_arch
196 Requires: libasan%{libasan_sover} >= %{version}-%{release}
197 %endif
198 %ifarch %tsan_arch
199 Requires: libtsan%{libtsan_sover} >= %{version}-%{release}
200 %endif
201 %ifarch %atomic_arch
202 Requires: libatomic%{libatomic_sover} >= %{version}-%{release}
203 %endif
204 %ifarch %itm_arch
205 Requires: libitm%{libitm_sover} >= %{version}-%{release}
206 %endif
207 Suggests: gcc48-info gcc48-locale
208 %endif
209
210 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
211 Source:         gcc-%{gcc_version}%{snapshot_date}.tar.bz2
212 Source1:        change_spec
213 Source3:        gcc48-rpmlintrc
214 Source4:        ecj.jar
215 Source6:        baselibs.conf
216
217
218 Group:          Development/Languages/C and C++
219 Summary:        The GNU C Compiler and Support Files
220 License:        GPL-3.0+
221
222 %description
223 Core package for the GNU Compiler Collection, including the C language
224 frontend.
225
226 Language frontends other than C are split to different sub-packages,
227 namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
228 gcc-obj-c++.
229
230
231
232 %package -n gcc48-32bit
233 Summary:      The GNU C Compiler 32bit support
234 Group:        Development/Languages/C and C++
235 Requires: gcc48 = %{version}-%{release}
236 Requires: libgcc_s%{libgcc_s}-32bit >= %{version}-%{release}
237 Requires: libgomp%{libgomp_sover}-32bit >= %{version}-%{release}
238 %if %{build_with_mudflap}
239 Requires: libmudflap%{libmudflap_sover}-32bit >= %{version}-%{release}
240 Requires: libmudflapth%{libmudflap_sover}-32bit >= %{version}-%{release}
241 %endif
242 Requires: glibc-devel-32bit
243
244 %description -n gcc48-32bit
245 This package contains 32bit support for the GNU Compiler Collection.
246
247 %package -n gcc48-64bit
248 Summary:      The GNU C Compiler 64bit support
249 Group:        Development/Languages/C and C++
250 Requires: gcc48 = %{version}-%{release}
251 Requires: libgcc_s%{libgcc_s}-64bit >= %{version}-%{release}
252 Requires: libgomp%{libgomp_sover}-64bit >= %{version}-%{release}
253 %if %{build_with_mudflap}
254 Requires: libmudflap%{libmudflap_sover}-64bit >= %{version}-%{release}
255 Requires: libmudflapth%{libmudflap_sover}-64bit >= %{version}-%{release}
256 %endif
257 Requires: glibc-devel-64bit
258
259 %description -n gcc48-64bit
260 This package contains 64bit support for the GNU Compiler Collection.
261
262
263 %package locale
264 Summary:      Locale Data for the GNU Compiler Collection
265 License:        GPL-3.0+
266 Group:        Development/Languages/C and C++
267 Requires: gcc48 = %{version}-%{release}
268
269 %description locale
270 Locale data for the GNU Compiler Collection (GCC) to give error message
271 in the current locale.
272
273
274 %package c++
275 Summary:      The GNU C++ Compiler
276 License:        GPL-3.0+
277 Group:        Development/Languages/C and C++
278 Requires: gcc48 = %{version}-%{release}
279 Requires: libstdc++48-devel = %{version}-%{release}
280
281 %description c++
282 This package contains the GNU compiler for C++.
283
284 %package -n libstdc++48-devel
285 Summary:      Include Files and Libraries mandatory for Development
286 License:        GPL-3.0-with-GCC-exception
287 Group:        Development/Languages/C and C++
288 Requires: libstdc++%{libstdcxx_sover} >= %{version}-%{release}
289 Requires: glibc-devel
290 %ifarch ia64
291 Requires: libunwind-devel
292 %endif
293
294 %description -n libstdc++48-devel
295 This package contains all the headers and libraries of the standard C++
296 library. It is needed for compiling C++ code.
297 %package -n libstdc++48-devel-32bit
298 Summary:      Include Files and Libraries mandatory for Development
299 License:        GPL-3.0-with-GCC-exception
300 Group:        Development/Languages/C and C++
301 Requires: libstdc++%{libstdcxx_sover}-32bit >= %{version}-%{release}
302 Requires: glibc-devel-32bit
303 %ifarch ia64
304 Requires: libunwind-devel
305 %endif
306
307 %description -n libstdc++48-devel-32bit
308 This package contains all the headers and libraries of the standard C++
309 library. It is needed for compiling C++ code.
310 %package -n libstdc++48-devel-64bit
311 Summary:      Include Files and Libraries mandatory for Development
312 License:        GPL-3.0-with-GCC-exception
313 Group:        Development/Languages/C and C++
314 Requires: libstdc++%{libstdcxx_sover}-64bit >= %{version}-%{release}
315 Requires: glibc-devel-64bit
316 %ifarch ia64
317 Requires: libunwind-devel
318 %endif
319
320 %description -n libstdc++48-devel-64bit
321 This package contains all the headers and libraries of the standard C++
322 library. It is needed for compiling C++ code.
323
324 %package -n libstdc++48-doc
325 Summary:      Documentation for the GNU C++ standard library
326 License:        GPL-3.0+
327 Group:        Documentation/HTML
328 BuildArch:    noarch
329
330 %description -n libstdc++48-doc
331 Extensive HTML documentation for the GNU C++ standard library.
332
333
334 %package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
335 Summary:      C compiler runtime library
336 License:        GPL-3.0-with-GCC-exception
337 Group:        System/Base
338 Provides:       libgcc_s%{libgcc_s} = %{version}-%{release}
339
340 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
341 Libgcc is needed for dynamically linked C programs.
342
343 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
344 /sbin/ldconfig
345
346 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
347 /sbin/ldconfig
348 %package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
349 Summary:      C compiler runtime library
350 License:        GPL-3.0-with-GCC-exception
351 Group:        System/Base
352 Provides:       libgcc_s%{libgcc_s}-32bit = %{version}-%{release}
353
354 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
355 Libgcc is needed for dynamically linked C programs.
356
357 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
358 /sbin/ldconfig
359
360 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
361 /sbin/ldconfig
362 %package -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
363 Summary:      C compiler runtime library
364 License:        GPL-3.0-with-GCC-exception
365 Group:        System/Base
366 Provides:       libgcc_s%{libgcc_s}-64bit = %{version}-%{release}
367
368 %description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
369 Libgcc is needed for dynamically linked C programs.
370
371 %post -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
372 /sbin/ldconfig
373
374 %postun -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
375 /sbin/ldconfig
376
377 %package -n libgomp%{libgomp_sover}%{libgomp_suffix}
378 Summary:      The GNU compiler collection OpenMP runtime library
379 License:        GPL-3.0-with-GCC-exception
380 Group:        System/Base
381 Provides:       libgomp%{libgomp_sover} = %{version}-%{release}
382
383 %description -n libgomp%{libgomp_sover}%{libgomp_suffix}
384 This is the OpenMP runtime library needed by OpenMP enabled programs
385 that were built with the -fopenmp compiler option and by programs that
386 were auto-parallelized via the -ftree-parallelize-loops compiler
387 option.
388
389
390 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}
391 /sbin/ldconfig
392
393 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}
394 /sbin/ldconfig
395 %package -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
396 Summary:      The GNU compiler collection OpenMP runtime library
397 License:        GPL-3.0-with-GCC-exception
398 Group:        System/Base
399 Provides:       libgomp%{libgomp_sover}-32bit = %{version}-%{release}
400
401 %description -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
402 This is the OpenMP runtime library needed by OpenMP enabled programs
403 that were built with the -fopenmp compiler option and by programs that
404 were auto-parallelized via the -ftree-parallelize-loops compiler
405 option.
406
407
408 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
409 /sbin/ldconfig
410
411 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}-32bit
412 /sbin/ldconfig
413 %package -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
414 Summary:      The GNU compiler collection OpenMP runtime library
415 License:        GPL-3.0-with-GCC-exception
416 Group:        System/Base
417 Provides:       libgomp%{libgomp_sover}-64bit = %{version}-%{release}
418
419 %description -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
420 This is the OpenMP runtime library needed by OpenMP enabled programs
421 that were built with the -fopenmp compiler option and by programs that
422 were auto-parallelized via the -ftree-parallelize-loops compiler
423 option.
424
425
426 %post -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
427 /sbin/ldconfig
428
429 %postun -n libgomp%{libgomp_sover}%{libgomp_suffix}-64bit
430 /sbin/ldconfig
431
432 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
433 Summary:      The standard C++ shared library
434 License:        GPL-3.0-with-GCC-exception
435 Group:        System/Libraries
436 Suggests:       libstdc++%{libstdcxx_sover}-locale
437 Provides:       libstdc++%{libstdcxx_sover} = %{version}-%{release}
438
439 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
440 The standard C++ library, needed for dynamically linked C++ programs.
441
442
443 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
444 /sbin/ldconfig
445
446 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
447 /sbin/ldconfig
448 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
449 Summary:      The standard C++ shared library
450 License:        GPL-3.0-with-GCC-exception
451 Group:        System/Libraries
452 Suggests:       libstdc++%{libstdcxx_sover}-locale
453 Provides:       libstdc++%{libstdcxx_sover}-32bit = %{version}-%{release}
454
455 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
456 The standard C++ library, needed for dynamically linked C++ programs.
457
458
459 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
460 /sbin/ldconfig
461
462 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-32bit
463 /sbin/ldconfig
464 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
465 Summary:      The standard C++ shared library
466 License:        GPL-3.0-with-GCC-exception
467 Group:        System/Libraries
468 Suggests:       libstdc++%{libstdcxx_sover}-locale
469 Provides:       libstdc++%{libstdcxx_sover}-64bit = %{version}-%{release}
470
471 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
472 The standard C++ library, needed for dynamically linked C++ programs.
473
474
475 %post -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
476 /sbin/ldconfig
477
478 %postun -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-64bit
479 /sbin/ldconfig
480
481 %package -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
482 Summary:        Locale Data for the standard C++ shared library
483 License:        GPL-3.0-with-GCC-exception
484 Group:          System/Libraries
485 Provides:       libstdc++%{libstdcxx_sover}-locale = %{version}-%{release}
486
487 %description -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
488 The standard C++ library locale data.
489
490
491 %package info
492 Summary:      Documentation for the GNU compiler collection
493 License:      GFDL-1.2
494 Group:        Documentation/Other
495 BuildArch:    noarch
496
497 %description info
498 GNU info-pages for the GNU compiler collection covering both user-level
499 and internals documentation.
500
501
502 %package objc
503 Summary:      GNU Objective C Compiler
504 License:        GPL-3.0+
505 Group:        Development/Languages/Other
506 Requires: gcc48 = %{version}-%{release}
507 Requires: libobjc%{libobjc_sover} >= %{version}-%{release}
508
509 %description objc
510 This package contains the GNU Objective C compiler. Objective C is an
511 object oriented language, created by Next Inc. and used in their
512 Nextstep OS. The source code is available in the gcc package.
513 %package objc-32bit
514 Summary:      GNU Objective C Compiler
515 License:        GPL-3.0+
516 Group:        Development/Languages/Other
517 Requires: gcc48 = %{version}-%{release}
518 Requires: libobjc%{libobjc_sover}-32bit >= %{version}-%{release}
519
520 %description objc-32bit
521 This package contains the GNU Objective C compiler. Objective C is an
522 object oriented language, created by Next Inc. and used in their
523 Nextstep OS. The source code is available in the gcc package.
524 %package objc-64bit
525 Summary:      GNU Objective C Compiler
526 License:        GPL-3.0+
527 Group:        Development/Languages/Other
528 Requires: gcc48 = %{version}-%{release}
529 Requires: libobjc%{libobjc_sover}-64bit >= %{version}-%{release}
530
531 %description objc-64bit
532 This package contains the GNU Objective C compiler. Objective C is an
533 object oriented language, created by Next Inc. and used in their
534 Nextstep OS. The source code is available in the gcc package.
535
536 %package -n libobjc%{libobjc_sover}%{libobjc_suffix}
537 Summary:      Library for the GNU Objective C Compiler
538 License:        GPL-3.0-with-GCC-exception
539 Group:        Development/Libraries/Other
540 Provides:       libobjc%{libobjc_sover} = %{version}-%{release}
541
542 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}
543 The library for the GNU Objective C compiler.
544
545 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}
546 /sbin/ldconfig
547
548 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}
549 /sbin/ldconfig
550 %package -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
551 Summary:      Library for the GNU Objective C Compiler
552 License:        GPL-3.0-with-GCC-exception
553 Group:        Development/Libraries/Other
554 Provides:       libobjc%{libobjc_sover}-32bit = %{version}-%{release}
555
556 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
557 The library for the GNU Objective C compiler.
558
559 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
560 /sbin/ldconfig
561
562 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}-32bit
563 /sbin/ldconfig
564 %package -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
565 Summary:      Library for the GNU Objective C Compiler
566 License:        GPL-3.0-with-GCC-exception
567 Group:        Development/Libraries/Other
568 Provides:       libobjc%{libobjc_sover}-64bit = %{version}-%{release}
569
570 %description -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
571 The library for the GNU Objective C compiler.
572
573 %post -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
574 /sbin/ldconfig
575
576 %postun -n libobjc%{libobjc_sover}%{libobjc_suffix}-64bit
577 /sbin/ldconfig
578
579 %package obj-c++
580 Summary:      GNU Objective C++ Compiler
581 License:        GPL-3.0+
582 Group:        Development/Languages/Other
583 Requires: gcc48-objc = %{version}-%{release}
584 Requires: gcc48-c++ = %{version}-%{release}
585
586 %description obj-c++
587 This package contains the GNU Objective C++ compiler. Objective C++ is an
588 object oriented language, created by Next Inc. and used in their
589 Nextstep OS. The source code is available in the gcc package.
590
591
592 %package -n cpp48
593 Summary:      The GCC Preprocessor
594 License:        GPL-3.0+
595 Group:        Development/Languages/C and C++
596
597 %description -n cpp48
598 This Package contains just the preprocessor that is used by the X11
599 packages.
600
601
602 %package ada
603 Summary:      GNU Ada95 Compiler Based on GCC (GNAT)
604 License:        GPL-3.0+
605 Group:        Development/Languages/Other
606 Requires: gcc48 = %{version}-%{release}
607 Requires: libada48 = %{version}-%{release}
608
609 %description ada
610 This package contains an Ada95 compiler and associated development
611 tools based on the GNU GCC technology. Ada95 is the object oriented
612 successor of the Ada83 language. To build this package from source you
613 must have installed a binary version to bootstrap the compiler.
614 %package ada-32bit
615 Summary:      GNU Ada95 Compiler Based on GCC (GNAT)
616 License:        GPL-3.0+
617 Group:        Development/Languages/Other
618 Requires: gcc48-32bit = %{version}-%{release}
619 Requires: libada48-32bit = %{version}-%{release}
620
621 %description ada-32bit
622 This package contains an Ada95 compiler and associated development
623 tools based on the GNU GCC technology. Ada95 is the object oriented
624 successor of the Ada83 language. To build this package from source you
625 must have installed a binary version to bootstrap the compiler.
626 %package ada-64bit
627 Summary:      GNU Ada95 Compiler Based on GCC (GNAT)
628 License:        GPL-3.0+
629 Group:        Development/Languages/Other
630 Requires: gcc48-64bit = %{version}-%{release}
631 Requires: libada48-64bit = %{version}-%{release}
632
633 %description ada-64bit
634 This package contains an Ada95 compiler and associated development
635 tools based on the GNU GCC technology. Ada95 is the object oriented
636 successor of the Ada83 language. To build this package from source you
637 must have installed a binary version to bootstrap the compiler.
638
639 %package -n libada48
640 Summary:      GNU Ada Runtime Libraries
641 License:      GPL-3.0-with-GCC-exception
642 Group:        System/Libraries
643 %description -n libada48
644 This package contains the shared libraries required to run programs
645 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
646 shared libraries. It also contains the shared libraries for the
647 Implementation of the Ada Semantic Interface Specification (ASIS), the
648 implementation of Distributed Systems Programming (GLADE) and the Posix
649 1003.5 Binding (Florist).
650
651 %post -n libada48
652 /sbin/ldconfig
653
654 %postun -n libada48
655 /sbin/ldconfig
656 %package -n libada48-32bit
657 Summary:      GNU Ada Runtime Libraries
658 License:      GPL-3.0-with-GCC-exception
659 Group:        System/Libraries
660 %description -n libada48-32bit
661 This package contains the shared libraries required to run programs
662 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
663 shared libraries. It also contains the shared libraries for the
664 Implementation of the Ada Semantic Interface Specification (ASIS), the
665 implementation of Distributed Systems Programming (GLADE) and the Posix
666 1003.5 Binding (Florist).
667
668 %post -n libada48-32bit
669 /sbin/ldconfig
670
671 %postun -n libada48-32bit
672 /sbin/ldconfig
673 %package -n libada48-64bit
674 Summary:      GNU Ada Runtime Libraries
675 License:      GPL-3.0-with-GCC-exception
676 Group:        System/Libraries
677 %description -n libada48-64bit
678 This package contains the shared libraries required to run programs
679 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
680 shared libraries. It also contains the shared libraries for the
681 Implementation of the Ada Semantic Interface Specification (ASIS), the
682 implementation of Distributed Systems Programming (GLADE) and the Posix
683 1003.5 Binding (Florist).
684
685 %post -n libada48-64bit
686 /sbin/ldconfig
687
688 %postun -n libada48-64bit
689 /sbin/ldconfig
690
691 %package fortran
692 Summary:      The GNU Fortran Compiler and Support Files
693 License:        GPL-3.0+
694 Group:        Development/Languages/Fortran
695 Requires: gcc48 = %{version}-%{release}
696 Requires: libgfortran%{libgfortran_sover} >= %{version}-%{release}
697 %ifarch %quadmath_arch
698 Requires: libquadmath%{libquadmath_sover} >= %{version}-%{release}
699 %endif
700
701 %description fortran
702 This is the Fortran compiler of the GNU Compiler Collection (GCC).
703 %package fortran-32bit
704 Summary:      The GNU Fortran Compiler and Support Files
705 License:        GPL-3.0+
706 Group:        Development/Languages/Fortran
707 Requires: gcc48 = %{version}-%{release}
708 Requires: libgfortran%{libgfortran_sover}-32bit >= %{version}-%{release}
709 %ifarch %quadmath_arch
710 Requires: libquadmath%{libquadmath_sover}-32bit >= %{version}-%{release}
711 %endif
712
713 %description fortran-32bit
714 This is the Fortran compiler of the GNU Compiler Collection (GCC).
715 %package fortran-64bit
716 Summary:      The GNU Fortran Compiler and Support Files
717 License:        GPL-3.0+
718 Group:        Development/Languages/Fortran
719 Requires: gcc48 = %{version}-%{release}
720 Requires: libgfortran%{libgfortran_sover}-64bit >= %{version}-%{release}
721 %ifarch %quadmath_arch
722 Requires: libquadmath%{libquadmath_sover}-64bit >= %{version}-%{release}
723 %endif
724
725 %description fortran-64bit
726 This is the Fortran compiler of the GNU Compiler Collection (GCC).
727
728 %package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
729 Summary:      The GNU Fortran Compiler Runtime Library
730 License:        GPL-3.0-with-GCC-exception
731 Group:        Development/Languages/Fortran
732 %ifarch %quadmath_arch
733 Requires: libquadmath%{libquadmath_sover} >= %{version}-%{release}
734 %endif
735 Provides:       libgfortran%{libgfortran_sover} = %{version}-%{release}
736
737 %description -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
738 The runtime library needed to run programs compiled with the Fortran compiler
739 of the GNU Compiler Collection (GCC).
740
741 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
742 /sbin/ldconfig
743
744 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
745 /sbin/ldconfig
746 %package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
747 Summary:      The GNU Fortran Compiler Runtime Library
748 License:        GPL-3.0-with-GCC-exception
749 Group:        Development/Languages/Fortran
750 %ifarch %quadmath_arch
751 Requires: libquadmath%{libquadmath_sover}-32bit >= %{version}-%{release}
752 %endif
753 Provides:       libgfortran%{libgfortran_sover}-32bit = %{version}-%{release}
754
755 %description -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
756 The runtime library needed to run programs compiled with the Fortran compiler
757 of the GNU Compiler Collection (GCC).
758
759 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
760 /sbin/ldconfig
761
762 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-32bit
763 /sbin/ldconfig
764 %package -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
765 Summary:      The GNU Fortran Compiler Runtime Library
766 License:        GPL-3.0-with-GCC-exception
767 Group:        Development/Languages/Fortran
768 %ifarch %quadmath_arch
769 Requires: libquadmath%{libquadmath_sover}-64bit >= %{version}-%{release}
770 %endif
771 Provides:       libgfortran%{libgfortran_sover}-64bit = %{version}-%{release}
772
773 %description -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
774 The runtime library needed to run programs compiled with the Fortran compiler
775 of the GNU Compiler Collection (GCC).
776
777 %post -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
778 /sbin/ldconfig
779
780 %postun -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}-64bit
781 /sbin/ldconfig
782
783 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
784 Summary:      The GNU Fortran Compiler Quadmath Runtime Library
785 License:        LGPL-2.1
786 Group:        Development/Languages/Fortran
787 Provides:       libquadmath%{libquadmath_sover} = %{version}-%{release}
788
789 %description -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
790 The runtime library needed to run programs compiled with the Fortran compiler
791 of the GNU Compiler Collection (GCC) and quadruple precision floating point
792 operations.
793
794 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
795 /sbin/ldconfig
796
797 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
798 /sbin/ldconfig
799 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
800 Summary:      The GNU Fortran Compiler Quadmath Runtime Library
801 License:        LGPL-2.1
802 Group:        Development/Languages/Fortran
803 Provides:       libquadmath%{libquadmath_sover}-32bit = %{version}-%{release}
804
805 %description -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
806 The runtime library needed to run programs compiled with the Fortran compiler
807 of the GNU Compiler Collection (GCC) and quadruple precision floating point
808 operations.
809
810 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
811 /sbin/ldconfig
812
813 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-32bit
814 /sbin/ldconfig
815 %package -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
816 Summary:      The GNU Fortran Compiler Quadmath Runtime Library
817 License:        LGPL-2.1
818 Group:        Development/Languages/Fortran
819 Provides:       libquadmath%{libquadmath_sover}-64bit = %{version}-%{release}
820
821 %description -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
822 The runtime library needed to run programs compiled with the Fortran compiler
823 of the GNU Compiler Collection (GCC) and quadruple precision floating point
824 operations.
825
826 %post -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
827 /sbin/ldconfig
828
829 %postun -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}-64bit
830 /sbin/ldconfig
831
832 %package -n libmudflap48
833 Summary:      The Mudflap Extension Runtime Library
834 License:        GPL-3.0-with-GCC-exception
835 Group:        Development/Languages/C and C++
836
837 %description -n libmudflap48
838 This is the Mudflap Extension Runtime Library.
839
840 %post -n libmudflap48
841 /sbin/ldconfig
842
843 %postun -n libmudflap48
844 /sbin/ldconfig
845 %package -n libmudflap48-32bit
846 Summary:      The Mudflap Extension Runtime Library
847 License:        GPL-3.0-with-GCC-exception
848 Group:        Development/Languages/C and C++
849
850 %description -n libmudflap48-32bit
851 This is the Mudflap Extension Runtime Library.
852
853 %post -n libmudflap48-32bit
854 /sbin/ldconfig
855
856 %postun -n libmudflap48-32bit
857 /sbin/ldconfig
858 %package -n libmudflap48-64bit
859 Summary:      The Mudflap Extension Runtime Library
860 License:        GPL-3.0-with-GCC-exception
861 Group:        Development/Languages/C and C++
862
863 %description -n libmudflap48-64bit
864 This is the Mudflap Extension Runtime Library.
865
866 %post -n libmudflap48-64bit
867 /sbin/ldconfig
868
869 %postun -n libmudflap48-64bit
870 /sbin/ldconfig
871
872 %package -n libitm%{libitm_sover}%{libitm_suffix}
873 Summary:      The GNU Compiler Transactional Memory Runtime Library
874 License:        MIT
875 Group:        Development/Languages/C and C++
876
877 %description -n libitm%{libitm_sover}%{libitm_suffix}
878 The runtime library needed to run programs compiled with the
879 -fgnu-tm option of the GNU Compiler Collection (GCC).
880
881 %post -n libitm%{libitm_sover}%{libitm_suffix}
882 /sbin/ldconfig
883
884 %postun -n libitm%{libitm_sover}%{libitm_suffix}
885 /sbin/ldconfig
886 %package -n libitm%{libitm_sover}%{libitm_suffix}-32bit
887 Summary:      The GNU Compiler Transactional Memory Runtime Library
888 License:        MIT
889 Group:        Development/Languages/C and C++
890
891 %description -n libitm%{libitm_sover}%{libitm_suffix}-32bit
892 The runtime library needed to run programs compiled with the
893 -fgnu-tm option of the GNU Compiler Collection (GCC).
894
895 %post -n libitm%{libitm_sover}%{libitm_suffix}-32bit
896 /sbin/ldconfig
897
898 %postun -n libitm%{libitm_sover}%{libitm_suffix}-32bit
899 /sbin/ldconfig
900 %package -n libitm%{libitm_sover}%{libitm_suffix}-64bit
901 Summary:      The GNU Compiler Transactional Memory Runtime Library
902 License:        MIT
903 Group:        Development/Languages/C and C++
904
905 %description -n libitm%{libitm_sover}%{libitm_suffix}-64bit
906 The runtime library needed to run programs compiled with the
907 -fgnu-tm option of the GNU Compiler Collection (GCC).
908
909 %post -n libitm%{libitm_sover}%{libitm_suffix}-64bit
910 /sbin/ldconfig
911
912 %postun -n libitm%{libitm_sover}%{libitm_suffix}-64bit
913 /sbin/ldconfig
914
915 %package -n libasan%{libasan_sover}%{libasan_suffix}
916 Summary:      The GNU Compiler Address Sanitizer Runtime Library
917 License:        MIT
918 Group:        Development/Languages/C and C++
919
920 %description -n libasan%{libasan_sover}%{libasan_suffix}
921 The runtime library needed to run programs compiled with the
922 -fsanitize=address option of the GNU Compiler Collection (GCC).
923
924 %post -n libasan%{libasan_sover}%{libasan_suffix}
925 /sbin/ldconfig
926
927 %postun -n libasan%{libasan_sover}%{libasan_suffix}
928 /sbin/ldconfig
929 %package -n libasan%{libasan_sover}%{libasan_suffix}-32bit
930 Summary:      The GNU Compiler Address Sanitizer Runtime Library
931 License:        MIT
932 Group:        Development/Languages/C and C++
933
934 %description -n libasan%{libasan_sover}%{libasan_suffix}-32bit
935 The runtime library needed to run programs compiled with the
936 -fsanitize=address option of the GNU Compiler Collection (GCC).
937
938 %post -n libasan%{libasan_sover}%{libasan_suffix}-32bit
939 /sbin/ldconfig
940
941 %postun -n libasan%{libasan_sover}%{libasan_suffix}-32bit
942 /sbin/ldconfig
943 %package -n libasan%{libasan_sover}%{libasan_suffix}-64bit
944 Summary:      The GNU Compiler Address Sanitizer Runtime Library
945 License:        MIT
946 Group:        Development/Languages/C and C++
947
948 %description -n libasan%{libasan_sover}%{libasan_suffix}-64bit
949 The runtime library needed to run programs compiled with the
950 -fsanitize=address option of the GNU Compiler Collection (GCC).
951
952 %post -n libasan%{libasan_sover}%{libasan_suffix}-64bit
953 /sbin/ldconfig
954
955 %postun -n libasan%{libasan_sover}%{libasan_suffix}-64bit
956 /sbin/ldconfig
957
958 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}
959 Summary:      The GNU Compiler Thread Sanitizer Runtime Library
960 License:        MIT
961 Group:        Development/Languages/C and C++
962
963 %description -n libtsan%{libtsan_sover}%{libtsan_suffix}
964 The runtime library needed to run programs compiled with the
965 -fsanitize=thread option of the GNU Compiler Collection (GCC).
966
967 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}
968 /sbin/ldconfig
969
970 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}
971 /sbin/ldconfig
972 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
973 Summary:      The GNU Compiler Thread Sanitizer Runtime Library
974 License:        MIT
975 Group:        Development/Languages/C and C++
976
977 %description -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
978 The runtime library needed to run programs compiled with the
979 -fsanitize=thread option of the GNU Compiler Collection (GCC).
980
981 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
982 /sbin/ldconfig
983
984 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}-32bit
985 /sbin/ldconfig
986 %package -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
987 Summary:      The GNU Compiler Thread Sanitizer Runtime Library
988 License:        MIT
989 Group:        Development/Languages/C and C++
990
991 %description -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
992 The runtime library needed to run programs compiled with the
993 -fsanitize=thread option of the GNU Compiler Collection (GCC).
994
995 %post -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
996 /sbin/ldconfig
997
998 %postun -n libtsan%{libtsan_sover}%{libtsan_suffix}-64bit
999 /sbin/ldconfig
1000
1001 %package -n libatomic%{libatomic_sover}%{libatomic_suffix}
1002 Summary:      The GNU Compiler Atomic Operations Runtime Library
1003 License:      GPL-3.0-with-GCC-exception
1004 Group:        Development/Languages/C and C++
1005
1006 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}
1007 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
1008
1009 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}
1010 /sbin/ldconfig
1011
1012 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}
1013 /sbin/ldconfig
1014 %package -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1015 Summary:      The GNU Compiler Atomic Operations Runtime Library
1016 License:      GPL-3.0-with-GCC-exception
1017 Group:        Development/Languages/C and C++
1018
1019 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1020 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
1021
1022 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1023 /sbin/ldconfig
1024
1025 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}-32bit
1026 /sbin/ldconfig
1027 %package -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1028 Summary:      The GNU Compiler Atomic Operations Runtime Library
1029 License:      GPL-3.0-with-GCC-exception
1030 Group:        Development/Languages/C and C++
1031
1032 %description -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1033 The runtime library for atomic operations of the GNU Compiler Collection (GCC).
1034
1035 %post -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1036 /sbin/ldconfig
1037
1038 %postun -n libatomic%{libatomic_sover}%{libatomic_suffix}-64bit
1039 /sbin/ldconfig
1040
1041
1042 %package -n libgcj48
1043 Summary:      Java Runtime Library for gcc
1044 License:      GPL-2.0-with-classpath-exception
1045 Group:        System/Libraries
1046
1047 %description -n libgcj48
1048 This library is needed if you want to use the GNU Java compiler, gcj.
1049 Source code for this package is in gcc.
1050
1051 %post -n libgcj48
1052 /sbin/ldconfig
1053
1054 %postun -n libgcj48
1055 /sbin/ldconfig
1056
1057
1058 %package -n gcc48-java
1059 Summary:      The GNU Java Compiler
1060 License:        GPL-3.0+
1061 Group:        Development/Languages/Java
1062 Requires: gcc48 = %{version}
1063 Requires: libgcj48-devel = %{version}-%{release}
1064
1065 %description -n gcc48-java
1066 The Java compiler from the GCC-tools-suite.
1067
1068
1069 %package -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
1070 Summary:      Fake library for BC-ABI compatibility.
1071 License:        GPL-2.0-with-classpath-exception
1072 Group:        Development/Libraries/Java
1073 # libgcj_bc is special in that it just contains a symlink to
1074 # a proper libgcj version.  So require that library and add
1075 # provides for the shlib version as created at link time
1076 Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
1077 %ifarch x86_64 ia64 ppc64 s390x sparc64 aarch64
1078 Provides: libgcj_bc.so.%{libgcj_bc_sover}()(64bit)
1079 %else
1080 Provides: libgcj_bc.so.%{libgcj_bc_sover}
1081 %endif
1082
1083 %description -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
1084 A fake library that is used at link time only. It ensures that
1085 binaries built with the BC-ABI link against a constant SONAME.
1086 This way, BC-ABI binaries continue to work if the SONAME underlying
1087 libgcj.so changes.
1088
1089
1090 %package -n libgcj48-jar
1091 Summary:      Java runtime library (jar files).
1092 License:        GPL-2.0-with-classpath-exception
1093 Group:        Development/Libraries/Java
1094
1095 %description -n libgcj48-jar
1096 These are the jar files that go along with the gcj front end to gcc.
1097
1098
1099 %package -n libgcj48-devel
1100 Summary:      Include Files and Libraries mandatory for Development.
1101 License:        GPL-2.0-with-classpath-exception
1102 Group:        Development/Libraries/Java
1103 Requires: libstdc++48-devel = %{version}
1104 Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
1105 Requires: libgcj_bc%{libgcj_bc_sover} >= %{version}-%{release}
1106 Requires: libgcj48-jar = %{version}-%{release}
1107 Requires: gtk2-devel
1108 Requires: libart_lgpl-devel
1109 Requires: glibc-devel
1110 Requires: zlib-devel
1111 %ifarch ia64
1112 Requires: libunwind-devel
1113 %endif
1114
1115 %description -n libgcj48-devel
1116 This package contains all necessary include files and libraries needed
1117 to develop applications that require these.
1118
1119
1120 %package -n gcc48-gij
1121 Summary:      Java Bytecode Interpreter for gcc
1122 License:      GPL-2.0-with-classpath-exception
1123 Group:        Development/Libraries/Java
1124 Requires: libgcj%{libgcj_sover} >= %{version}-%{release}
1125
1126 %description -n gcc48-gij
1127 This package contains the java bytecode interpreter gij and related tools.
1128
1129 %package -n libffi%{libffi_sover}%{libffi_suffix}
1130 Summary:      Foreign Function Interface library
1131 License:        BSD-3-Clause
1132 Group:        Development/Languages/C and C++
1133
1134 %description -n libffi%{libffi_sover}%{libffi_suffix}
1135 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
1136
1137 %post -n libffi%{libffi_sover}%{libffi_suffix}
1138 /sbin/ldconfig
1139
1140 %postun -n libffi%{libffi_sover}%{libffi_suffix}
1141 /sbin/ldconfig
1142 %package -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1143 Summary:      Foreign Function Interface library
1144 License:        BSD-3-Clause
1145 Group:        Development/Languages/C and C++
1146
1147 %description -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1148 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
1149
1150 %post -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1151 /sbin/ldconfig
1152
1153 %postun -n libffi%{libffi_sover}%{libffi_suffix}-32bit
1154 /sbin/ldconfig
1155 %package -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1156 Summary:      Foreign Function Interface library
1157 License:        BSD-3-Clause
1158 Group:        Development/Languages/C and C++
1159
1160 %description -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1161 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
1162
1163 %post -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1164 /sbin/ldconfig
1165
1166 %postun -n libffi%{libffi_sover}%{libffi_suffix}-64bit
1167 /sbin/ldconfig
1168
1169 %package -n libffi48-devel
1170 Summary:      Foreign Function Interface library development files
1171 License:        BSD 3-Clause
1172 Group:        Development/Languages/C and C++
1173 Requires: libffi%{libffi_sover} >= %{version}-%{release}
1174
1175 %description -n libffi48-devel
1176 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
1177 %package -n libffi48-devel-32bit
1178 Summary:      Foreign Function Interface library development files
1179 License:        BSD 3-Clause
1180 Group:        Development/Languages/C and C++
1181 Requires: libffi%{libffi_sover}-32bit >= %{version}-%{release}
1182
1183 %description -n libffi48-devel-32bit
1184 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
1185 %package -n libffi48-devel-64bit
1186 Summary:      Foreign Function Interface library development files
1187 License:        BSD 3-Clause
1188 Group:        Development/Languages/C and C++
1189 Requires: libffi%{libffi_sover}-64bit >= %{version}-%{release}
1190
1191 %description -n libffi48-devel-64bit
1192 A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language.
1193
1194 %package -n gcc48-testresults
1195 Summary:      Testsuite results
1196 License:        SUSE-Public-Domain
1197 Group:        Development/Languages/C and C++
1198
1199 %description -n gcc48-testresults
1200 Results from running the gcc and target library testsuites.
1201
1202
1203
1204 # Define the canonical target and host architecture
1205 #   %gcc_target_arch  is supposed to be the full target triple
1206 #   %TARGET_ARCH      is the canonicalized CPU part
1207 #   %CONFIGURE_TARGET is the target triple used for --target=
1208 %if 0%{?gcc_target_arch:1}
1209 %define CONFIGURE_TARGET %{gcc_target_arch}
1210 %define TARGET_ARCH %(echo %{gcc_target_arch} | cut -d - -f 1 | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1211 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc"
1212 %define CONFIGURE_TARGET powerpc64-tizen-linux
1213 %endif
1214 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "powerpc64"
1215 %define CONFIGURE_TARGET powerpc64-tizen-linux
1216 %endif
1217 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
1218 %define CONFIGURE_TARGET i586-tizen-linux
1219 %endif
1220 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
1221 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
1222 %endif
1223 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
1224 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
1225 %endif
1226 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5tel"
1227 %define CONFIGURE_TARGET armv5tel-tizen-linux-gnueabi
1228 %endif
1229 %else
1230 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1231 %endif
1232 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
1233
1234 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
1235
1236 %ifarch ppc
1237 %define GCCDIST powerpc64-tizen-linux
1238 %else
1239 %ifarch %sparc
1240 %define GCCDIST sparc64-tizen-linux
1241 %else
1242 %ifarch %arm
1243 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
1244 %else
1245 %define GCCDIST %{HOST_ARCH}-tizen-linux
1246 %endif
1247 %endif
1248 %endif
1249
1250 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
1251 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
1252
1253
1254 # Versionspecific directories
1255 %define versmainlibdir %{libsubdir}
1256 %define versmainlibdirbi32 %{libsubdir}/32
1257 %define versmainlibdirbi64 %{libsubdir}/64
1258 %ifarch ppc
1259 %define versmainlibdirbi32 %{libsubdir}
1260 %define versmainlibdirbi64 %{libsubdir}/64
1261 %endif
1262 %if %{build_primary_64bit}
1263 %define versmainlibdirbi %{versmainlibdirbi32}
1264 %else
1265 %define versmainlibdirbi %{versmainlibdirbi64}
1266 %endif
1267
1268 %define mainlibdir %{_libdir}
1269 %define mainlibdirbi32 %{_prefix}/lib
1270 %define mainlibdirbi64 %{_prefix}/lib64
1271 %if %{build_primary_64bit}
1272 %define mainlibdirbi %{mainlibdirbi32}
1273 %else
1274 %define mainlibdirbi %{mainlibdirbi64}
1275 %endif
1276
1277
1278 # Now define a few macros that make it easy to package libs and
1279 # related files just to the right package, without caring for the
1280 # exact path the files are in.
1281 #   %mainlib  package X from all dirs that belong to the main package
1282 #   %biarchlib   package X from all dirs that belong to the -32/64bit package
1283 %define mainlib() %{mainlibdir}/%1\
1284 %{nil}
1285 %define biarchlib() %{nil}
1286 %if %{biarch}
1287 %if !%{separate_biarch}
1288 %define mainlib() %{mainlibdir}/%1\
1289 %{mainlibdirbi}/%1\
1290 %{nil}
1291 %else
1292 %define biarchlib() %{mainlibdirbi}/%1\
1293 %{nil}
1294 %endif
1295 %endif
1296
1297 %define versmainlib() %{versmainlibdir}/%1\
1298 %{nil}
1299 %define versbiarchlib() %{nil}
1300 %if %{biarch}
1301 %if !%{separate_biarch}
1302 %define versmainlib() %{versmainlibdir}/%1\
1303 %{versmainlibdirbi}/%1\
1304 %{nil}
1305 %else
1306 %define versbiarchlib() %{versmainlibdirbi}/%1\
1307 %{nil}
1308 %endif
1309 %endif
1310
1311
1312
1313 %prep
1314 %setup -q -n gcc-%{gcc_version}%{snapshot_date}
1315
1316
1317 # We are configuring ppc as ppc64 but with switched multilibs.  Adjust
1318 # the libstdc++ abi testsuite baseline files accordingly
1319 %ifarch ppc
1320 if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
1321   mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
1322   mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
1323         libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
1324   mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
1325         libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
1326 fi
1327 %endif
1328
1329 %build
1330 # Avoid rebuilding of generated files
1331 contrib/gcc_update --touch
1332 # Avoid fucking up testsuite results with Java and indirect dispatch
1333 export LD_AS_NEEDED=0
1334 # Split version file into version used for directories (X.Y) and
1335 # version to report with --version (X.Y.Z).
1336 # See also gcc-dir-version.patch.
1337 # Also decrement the patchlevel version by one
1338 if test `cat gcc/DEV-PHASE` == "prerelease"; then
1339   ( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER
1340 else
1341   mv gcc/BASE-VER gcc/FULL-VER
1342 fi
1343 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
1344
1345 rm -rf obj-%{GCCDIST}
1346 mkdir obj-%{GCCDIST}
1347 cd obj-%{GCCDIST}
1348 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
1349 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
1350 %ifarch %ix86
1351 # -mcpu is superceded by -mtune but -mtune is not supported by
1352 # our bootstrap compiler.  -mcpu gives a warning that stops
1353 # the build process, so remove it for now.  Also remove all other
1354 # -march and -mtune flags.  They are superseeded by proper
1355 # default compiler settings now.
1356 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
1357 %endif
1358 %ifarch s390 s390x
1359 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
1360 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
1361 %endif
1362 %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
1363 # Kill all -march/tune/cpu because that screws building the target libs
1364 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
1365 %endif
1366 # Replace 2 spaces by one finally
1367 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/  / /g'`
1368
1369 languages=c
1370 %if %{build_cp}
1371 languages=$languages,c++
1372 %endif
1373 %if %{build_objc}
1374 languages=$languages,objc
1375 %endif
1376 %if %{build_fortran}
1377 languages=$languages,fortran
1378 %endif
1379 %if %{build_objcp}
1380 languages=$languages,obj-c++
1381 %endif
1382 %if %{build_java}
1383 languages=$languages,java
1384 %endif
1385 %if %{build_ada}
1386 languages=$languages,ada
1387 %endif
1388
1389 J=%{?jobs:%jobs}
1390 if test -z "$J"; then
1391   J=$(getconf _NPROCESSORS_CONF)
1392   JL=$(($J * 2))
1393 else
1394   test 1 -gt "$J" && J=1
1395   JL=$(($(getconf _NPROCESSORS_CONF)*2))
1396 fi
1397 if test "$J" == "0"; then
1398   J=1
1399 fi
1400 if test "$JL" == "0"; then
1401   JL=1
1402 fi
1403 PARALLEL="-j$J -l$JL"
1404
1405 # we don't want some miscompiles in the testsuite, or some fault in
1406 # the compiler to kill the machine.  Hence we limit the amount of memory
1407 # by the physical RAM plus half of swap
1408 #MEM=$(free -m | awk '/^Mem:/ {print $2}')
1409 #SWAP=$(free -m | awk '/^Swap:/ {print $2}')
1410 #ulimit -v $(((MEM + SWAP/2)*1024))
1411
1412 # In general we want to ship release checking enabled compilers
1413 # and run BETA with checking enabled.
1414 #ENABLE_CHECKING="--enable-checking=yes"
1415 ENABLE_CHECKING="--enable-checking=release"
1416
1417 # Work around tail/head -1 changes
1418 export _POSIX2_VERSION=199209
1419
1420 # configure tries to parse include/features.h to detect
1421 # if glibc supports SSP.  When cross compiling we would need
1422 # to install a cross glibc, which we don't, or make the whole
1423 # thing point to the native glibc, which is in /, hence the
1424 # --with-build-sysroot=/
1425
1426 %if %{build_ada}
1427 # Using the host gnatmake like
1428 #   CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
1429 #   GNATMAKE="gnatmake%{hostsuffix}"
1430 # doesn't work due to PR33857, so an un-suffixed gnatmake has to be
1431 # available
1432 mkdir -p host-tools/bin
1433 cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
1434 cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
1435 cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
1436 cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
1437 ln -sf /usr/%{_lib} host-tools/%{_lib}
1438 export PATH="`pwd`/host-tools/bin:$PATH"
1439 %endif
1440 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
1441 #%else
1442 #       --enable-threads=posix \
1443 #%endif
1444 #       --enable-shared \
1445 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
1446 # temporary workaround for a miscompilation of hash functions in java code
1447 GCJ_EXTRA_FLAGS="-marm"
1448 %endif
1449 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
1450 TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
1451 ../configure \
1452         --prefix=%{_prefix} \
1453         --infodir=%{_infodir} \
1454         --mandir=%{_mandir} \
1455         --libdir=%{_libdir} \
1456         --libexecdir=%{_libdir} \
1457     --disable-bootstrap \
1458         --enable-languages=$languages \
1459         $ENABLE_CHECKING \
1460         --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
1461         --enable-ssp \
1462         --disable-libssp \
1463         --disable-plugin \
1464         --with-bugurl="http://bugs.tizen.org/" \
1465         --with-pkgversion="Tizen" \
1466 %if !%{build_libjava}
1467         --disable-libgcj \
1468 %else
1469         --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
1470         --with-ecj-jar=%{libsubdir}/ecj.jar \
1471         --disable-java-awt \
1472 %if !%{biarch_libjava}
1473         --disable-libjava-multilib \
1474 %endif
1475 %endif
1476 %if !%{build_with_mudflap}
1477         --disable-libmudflap \
1478 %endif
1479         --with-slibdir=/%{_lib} \
1480         --with-system-zlib \
1481         --enable-__cxa_atexit \
1482         --enable-libstdcxx-allocator=new \
1483         --disable-libstdcxx-pch \
1484         --enable-version-specific-runtime-libs \
1485         --enable-linker-build-id \
1486 %if 0%{?gcc_target_arch:1}
1487 %if 0%{?gcc_icecream:1}
1488         --with-build-sysroot=/ \
1489         --with-sysroot=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi} \
1490         --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/usr/include/c++/%{gcc_dir_version} \
1491         --enable-linux-futex \
1492 %endif
1493 %if 0%{?canonical_target:1}
1494         --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
1495 %endif
1496 %if 0%{?sysroot:1}
1497         --with-sysroot=%sysroot \
1498 %endif
1499 %if 0%{?build_static:1}
1500         --disable-shared \
1501 %endif
1502 %if "%{TARGET_ARCH}" == "spu"
1503         --with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
1504         --with-newlib \
1505 %endif
1506         --disable-nls \
1507         --target=%{CONFIGURE_TARGET} \
1508 %else
1509         --program-suffix=%{binsuffix} \
1510         --enable-linux-futex \
1511 %ifarch ia64
1512         --with-system-libunwind \
1513 %else
1514         --without-system-libunwind \
1515 %endif
1516 %endif
1517 %if "%{TARGET_ARCH}" == "armv5tel"
1518         --with-arch=armv5te \
1519         --with-float=soft \
1520         --with-mode=arm \
1521         --with-abi=aapcs-linux \
1522         --disable-sjlj-exceptions \
1523 %endif
1524 %if "%{TARGET_ARCH}" == "armv7l" 
1525         --with-arch=armv7-a \
1526         --with-tune=cortex-a9 \
1527         --with-float=hard \
1528         --with-abi=aapcs-linux \
1529         --with-fpu=vfpv3-d16 \
1530         --disable-sjlj-exceptions \
1531 %endif
1532 %if  "%{TARGET_ARCH}" == "armv7hl"
1533         --with-arch=armv7-a \
1534         --with-tune=cortex-a9 \
1535         --with-float=hard \
1536         --with-abi=aapcs-linux \
1537         --with-fpu=vfpv3-d16 \
1538         --disable-sjlj-exceptions \
1539 %endif
1540 %if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64"
1541 %if "%{TARGET_ARCH}" == "powerpc"
1542         --with-cpu=default32 \
1543 %endif
1544         --with-cpu-64=power4 \
1545         --enable-secureplt \
1546         --with-long-double-128 \
1547 %endif
1548 %if "%{TARGET_ARCH}" == "sparc64"
1549         --with-cpu=ultrasparc \
1550         --with-long-double-128 \
1551 %endif
1552 %if "%{TARGET_ARCH}" == "sparc"
1553         --with-cpu=v8 \
1554         --with-long-double-128 \
1555 %endif
1556 %if "%{TARGET_ARCH}" == "i586"
1557         --with-arch-32=i586 \
1558         --with-tune=generic \
1559 %endif
1560 %if "%{TARGET_ARCH}" == "x86_64"
1561         --with-arch-32=i586 \
1562         --with-tune=generic \
1563 %endif
1564 %if "%{TARGET_ARCH}" == "s390"
1565         --with-tune=z196 --with-arch=z10 \
1566         --with-long-double-128 \
1567         --enable-decimal-float \
1568 %endif
1569 %if "%{TARGET_ARCH}" == "s390x"
1570         --with-tune=z196 --with-arch=z10 \
1571         --with-long-double-128 \
1572         --enable-decimal-float \
1573 %endif
1574         --build=%{GCCDIST}
1575
1576
1577 %if 0%{?building_libffi:1}
1578 make stage1-bubble $PARALLEL
1579 make all-target-libffi $PARALLEL
1580 %else
1581 STAGE1_FLAGS="-g"
1582 # Only run profiled bootstrap on archs where it works
1583 #%ifarch %ix86 x86_64 ppc ppc64 ia64
1584 #make profiledbootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1585 #%else
1586 #make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1587 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1588 #%endif
1589 #make -C gcc proto
1590 make info
1591 %if 0%{?run_tests:1}
1592 echo "Run testsuite"
1593 (make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1594 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1595 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1596 # asan needs a whole shadow address space
1597 ulimit -v unlimited || true
1598 make -k check $PARALLEL || true
1599 mkdir ../testresults
1600 ../contrib/test_summary | tee ../testresults/test_summary.txt
1601 %endif
1602 %endif
1603
1604 %install
1605 export NO_BRP_CHECK_BYTECODE_VERSION=true
1606 cd obj-%{GCCDIST}
1607 # Work around tail/head -1 changes
1608 export _POSIX2_VERSION=199209
1609 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi}
1610 %if 0%{?building_libffi:1}
1611 make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
1612 %else
1613 %if 0%{?building_libjava:1}
1614 make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
1615 make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
1616 make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
1617 make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
1618 # install-common also installs collect2, gcov and the g++ and gfortran driver
1619 %if %{build_cp}
1620 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1621 %endif
1622 %if %{build_fortran}
1623 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1624 %endif
1625 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1626 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1627 %else
1628 make install DESTDIR=$RPM_BUILD_ROOT
1629 %if %{build_java}
1630 make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
1631 make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT
1632 rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
1633 rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
1634 rm $RPM_BUILD_ROOT%{libsubdir}/jc1
1635 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
1636 %endif
1637 %endif
1638 %endif
1639
1640 # Remove libffi installed files if we did not want to build it
1641 %if !0%{?building_libffi:1}
1642 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.*
1643 %if %{biarch}
1644   rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
1645 %endif
1646 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h
1647 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h
1648 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3*
1649 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3*
1650 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3*
1651 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3*
1652 %endif
1653
1654 # Remove some useless .la files
1655 for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \
1656     libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij \
1657     libasan libatomic libitm libtsan; do
1658   rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la
1659 %if %{biarch}
1660   rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1661 %endif
1662 done
1663
1664 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1665 %if %{biarch}
1666 %if %{build_primary_64bit}
1667 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1668 %else
1669 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1670 %endif
1671 %endif
1672
1673 %if %{build_cp}
1674 # Merge multilib c++config.h to allow omitting the duplicate and
1675 # identical other arch specific headers
1676 dir_ml=
1677 cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1678 for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1679   if ! diff -up $cxxconfig $i; then
1680     file_32=x
1681     file_64=x
1682     case $i in
1683       %{GCCDIST}/32/*)
1684         file_32=$i
1685         file_64=$cxxconfig
1686         dir_ml=32
1687         ;;
1688       %{GCCDIST}/64/*)
1689         file_32=$cxxconfig
1690         file_64=$i
1691         dir_ml=64
1692         ;;
1693     esac
1694     if ! ( test -f "$file_32" && test -f "$file_64" ); then
1695       echo "Urgs?"
1696       exit 1
1697     fi
1698     
1699     cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1700 #ifndef _CPP_CPPCONFIG_WRAPPER
1701 #define _CPP_CPPCONFIG_WRAPPER 1
1702 #include <bits/wordsize.h>
1703 #if __WORDSIZE == 32
1704 `cat $file_32`
1705 #else
1706 `cat $file_64`
1707 #endif
1708 #endif
1709 EOF
1710     break
1711   fi
1712 done
1713 rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1714 if ! test -z "$dir_ml"; then
1715   ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1716 fi
1717 %endif
1718
1719 # move shared libs from versionspecific dir to main libdir
1720 for libname in \
1721 %if 0%{?building_libjava:1}
1722   libgcj libgij libgcj-tools \
1723 %else
1724 %if %{build_fortran}
1725   libgfortran \
1726 %ifarch %quadmath_arch
1727   libquadmath \
1728 %endif
1729 %endif
1730 %if %{build_objc}
1731   libobjc \
1732 %endif
1733 %if %{build_cp}
1734   libstdc++ \
1735 %endif
1736   libgomp \
1737 %ifarch %atomic_arch
1738   libatomic \
1739 %endif
1740 %ifarch %itm_arch
1741   libitm \
1742 %endif
1743 %ifarch %asan_arch
1744   libasan \
1745 %endif
1746 %ifarch %tsan_arch
1747   libtsan \
1748 %endif
1749 %if %{build_with_mudflap}
1750   libmudflap libmudflapth \
1751 %endif
1752 %endif
1753     ; do
1754   for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1755     mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1756   done
1757   ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'`  \
1758          $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
1759 %if %{biarch}
1760   if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1761     for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1762       mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/
1763     done
1764     ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'`  \
1765          $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1766   fi
1767 %endif
1768 done
1769 # FIXME, tsan is not multilib
1770 %ifarch %tsan_arch
1771 %if %{biarch}
1772 rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/libtsan.so
1773 %endif
1774 %endif
1775 %if %{build_cp}
1776 %if !0%{?building_libjava:1}
1777 # And we want to move the shlib gdb pretty printers to a more sane
1778 # place so ldconfig does not complain
1779 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
1780 mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
1781 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py
1782 %if %{biarch}
1783   if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1784     mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
1785     mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1786     sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1787   fi
1788 %endif
1789 %endif
1790 %endif
1791 %if 0%{?building_libjava:1}
1792 # libgcj_bc is special as the .so file is actually a different
1793 # library as the library refered to by the SONAME which should
1794 # be a simple link to our libgcj.
1795 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do
1796   rm $lib
1797 done
1798 ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.%{libgcj_bc_sover}
1799 %if %{biarch_libjava}
1800 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do
1801   rm $lib
1802 done
1803 ln -s libgcj.so.%{libgcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.%{libgcj_bc_sover}
1804 %endif
1805 %endif
1806
1807 # Move libgcc_s around
1808 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1809   rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1810   ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1811 else
1812   mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1813 fi
1814 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
1815 %if %{biarch}
1816 %if %{build_primary_64bit}
1817 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1818   rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1819   ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1820 else
1821   mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1822 fi
1823 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1824 chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
1825 %else
1826 # 32-bit biarch systems
1827 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1828   rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1829   ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1830 else
1831   mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1832 fi
1833 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1834 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1835 %endif
1836 %endif
1837
1838
1839 %if %{build_ada}
1840 mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir}
1841 ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so
1842 ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so
1843 chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
1844 %if %{biarch}
1845 mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
1846 ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1847 ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1848 chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
1849 %endif
1850 %endif
1851
1852 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1853
1854 # Remove some crap from the .la files:
1855 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
1856   echo "changing $l"
1857 # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g'
1858   sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1859       -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1860       -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1861       -e '/^dependency_libs/s|-L[^ ]* ||g' \
1862 %if %{biarch}
1863 %if %{build_primary_64bit}
1864       -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1865       -e '/^libdir/s|lib64/\.\./||' \
1866 %else
1867       -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1868 %endif
1869 %endif
1870       < $l  > $l.new
1871   mv $l.new $l
1872 done
1873
1874 %if 0%{?run_tests:1} 
1875 cp `find . -name "*.sum"` ../testresults/
1876 cp `find . -name "*.log"  \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
1877 chmod 644 ../testresults/*
1878 %endif
1879 %if %{build_cp}
1880 # Find C++ and Java headers
1881 find $RPM_BUILD_ROOT%{_prefix}/include/c++ \
1882   -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \
1883   -o \( -type d -printf "%%%%dir " , \
1884         -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers
1885 %endif
1886 # Remove files that we do not need to clean up filelist
1887 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-*
1888 rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools
1889 #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
1890 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root
1891 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h
1892 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-*
1893 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux
1894 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound
1895 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h
1896 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h
1897 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h
1898 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h
1899 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11
1900 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1901 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h
1902 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h
1903 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h
1904 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1905 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys
1906 # no plugins
1907 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1908 rm -f  $RPM_BUILD_ROOT%{_infodir}/dir
1909 rm -f  $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix}
1910
1911 %if !0%{?building_libjava:1}%{?building_libffi:1}
1912 # delete compile flag tracking from crt files
1913 crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o
1914 %if %{biarch}
1915 %if %{build_primary_64bit}
1916 crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o
1917 %else
1918 crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o
1919 %endif
1920 %endif
1921 for o in $crt_list $crt32_list $crt64_list; do
1922   objcopy -R ".comment.SUSE.OPTs" $o
1923 done
1924 %endif
1925
1926 %if 0%{?building_libjava:1}
1927 # gcj -static doesn't work properly anyway, unless using --whole-archive
1928 # let's save the space instead.
1929 find $RPM_BUILD_ROOT -name libgcj.a \
1930         -o -name libgcj-tools.a \
1931         -o -name libgij.a \
1932         -o -name libjvm.a \
1933         -o -name libgcj_bc.a \
1934   | xargs rm -f
1935
1936 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
1937   sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
1938
1939 # security files have broken install locations, also they cause conflicts
1940 # between libgcj versions.  Simply delete them here, libgcj will use its
1941 # defaults in this case (which is what these files contain anyway).
1942 rm $RPM_BUILD_ROOT%{_libdir}/logging.properties
1943 rm -r $RPM_BUILD_ROOT%{_libdir}/security
1944 %endif
1945
1946 %if 0%{?building_libffi:1}
1947 # Move libffi headers, remove empty libffi libtool file
1948 mkdir -p $RPM_BUILD_ROOT%{_prefix}/include
1949 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/
1950 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/
1951 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la
1952 %if %{biarch}
1953 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
1954 %endif
1955 # Generate a simple pkg-config file
1956 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
1957 echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc
1958 %endif
1959
1960 %if %{build_java}
1961 %if !%{build_libjava}
1962 rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
1963 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
1964 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
1965 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
1966 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1
1967 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1
1968 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1
1969 %endif
1970 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py
1971 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py
1972 %endif
1973 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
1974 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
1975 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
1976 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
1977 %if %{biarch}
1978 %if %{build_primary_64bit}
1979 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
1980 %else
1981 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
1982 %endif
1983 %endif
1984 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
1985 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
1986
1987 %if 0%{?building_libjava:1}
1988 # For building libjava only we need to delete other info docs
1989 rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
1990 # Remove stale manpages for binaries we do not build
1991 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1
1992 # For building the java frontend we need to copy the ecj jar
1993 mkdir -p $RPM_BUILD_ROOT%{libsubdir}
1994 cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
1995 %else
1996 # For regular build, some info files do not get renamed properly.
1997 # Do so here.
1998 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
1999 %ifarch %itm_arch
2000 mv $RPM_BUILD_ROOT%{_infodir}/libitm.info $RPM_BUILD_ROOT%{_infodir}/libitm%{binsuffix}.info
2001 %endif
2002 %if %{build_fortran} 
2003 %ifarch %quadmath_arch
2004 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
2005 %endif
2006 %endif
2007 %if %{build_ada}
2008 mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info
2009 mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info
2010 mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info
2011 %endif
2012 %endif
2013
2014 cd ..
2015 %find_lang cpplib%{binsuffix}
2016 %find_lang gcc%{binsuffix}
2017 cat cpplib%{binsuffix}.lang gcc%{binsuffix}.lang > gcc48-locale.lang
2018
2019
2020 %post info
2021 %install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
2022 %install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
2023 %install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
2024 %install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
2025 %install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
2026 %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
2027 %if %{build_fortran} 
2028 %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
2029 %ifarch %quadmath_arch
2030 %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
2031 %endif
2032 %endif
2033 %if %{build_java}
2034 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
2035 %endif
2036 %if %{build_ada}
2037 %install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
2038 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
2039 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
2040 %endif
2041
2042 %postun info
2043 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
2044 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
2045 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
2046 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
2047 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
2048 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
2049 %if %{build_fortran}
2050 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
2051 %ifarch %quadmath_arch
2052 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
2053 %endif
2054 %endif
2055 %if %{build_java}
2056 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
2057 %endif
2058 %if %{build_ada}
2059 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
2060 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
2061 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
2062 %endif
2063
2064 %files
2065 %defattr(-,root,root)
2066 %dir %{_libdir}/gcc
2067 %dir %{_libdir}/gcc/%{GCCDIST}
2068 %dir %{libsubdir}
2069 %dir %{libsubdir}/include
2070 %dir %{libsubdir}/include-fixed
2071 %if %{biarch}
2072 %if %{build_primary_64bit}
2073 %dir %{libsubdir}/32
2074 %else
2075 %dir %{libsubdir}/64
2076 %endif
2077 %endif
2078 %{_prefix}/bin/gcc%{binsuffix}
2079 %{_prefix}/bin/gcov%{binsuffix}
2080 %{_prefix}/bin/gcc-ar%{binsuffix}
2081 %{_prefix}/bin/gcc-nm%{binsuffix}
2082 %{_prefix}/bin/gcc-ranlib%{binsuffix}
2083 %{libsubdir}/collect2
2084 %{libsubdir}/lto1
2085 %{libsubdir}/lto-wrapper
2086 %{libsubdir}/liblto_plugin.so*
2087 %{libsubdir}/include-fixed/README
2088 %{libsubdir}/include-fixed/limits.h
2089 %{libsubdir}/include-fixed/syslimits.h
2090 %{libsubdir}/include/omp.h
2091 %{libsubdir}/include/float.h
2092 %{libsubdir}/include/iso646.h
2093 %{libsubdir}/include/stdarg.h
2094 %{libsubdir}/include/stdbool.h
2095 %{libsubdir}/include/stdfix.h
2096 %{libsubdir}/include/stddef.h
2097 %{libsubdir}/include/unwind.h
2098 %{libsubdir}/include/varargs.h
2099 %{libsubdir}/include/stdint.h
2100 %{libsubdir}/include/stdint-gcc.h
2101 %{libsubdir}/include/stdnoreturn.h
2102 %{libsubdir}/include/stdalign.h
2103 %ifarch %sparc
2104 %{libsubdir}/include/visintrin.h
2105 %endif
2106 %ifarch ppc ppc64
2107 %{libsubdir}/include/altivec.h
2108 %{libsubdir}/include/ppc-asm.h
2109 %{libsubdir}/include/paired.h
2110 %{libsubdir}/include/ppu_intrinsics.h
2111 %{libsubdir}/include/si2vmx.h
2112 %{libsubdir}/include/spe.h
2113 %{libsubdir}/include/spu2vmx.h
2114 %{libsubdir}/include/vec_types.h
2115 %endif
2116 %ifarch ia64
2117 %{libsubdir}/include/ia64intrin.h
2118 %endif
2119 %ifarch aarch64
2120 %{libsubdir}/include/arm_neon.h
2121 %endif
2122 %ifarch %arm
2123 %{libsubdir}/include/mmintrin.h
2124 %{libsubdir}/include/arm_neon.h
2125 %{libsubdir}/include/unwind-arm-common.h
2126 %endif
2127 %ifarch %ix86 x86_64
2128 %{libsubdir}/include/cross-stdarg.h
2129 %{libsubdir}/include/cpuid.h
2130 %{libsubdir}/include/mm3dnow.h
2131 %{libsubdir}/include/mmintrin.h
2132 %{libsubdir}/include/ammintrin.h
2133 %{libsubdir}/include/bmmintrin.h
2134 %{libsubdir}/include/emmintrin.h
2135 %{libsubdir}/include/immintrin.h
2136 %{libsubdir}/include/avxintrin.h
2137 %{libsubdir}/include/pmmintrin.h
2138 %{libsubdir}/include/xmmintrin.h
2139 %{libsubdir}/include/tmmintrin.h
2140 %{libsubdir}/include/nmmintrin.h
2141 %{libsubdir}/include/smmintrin.h
2142 %{libsubdir}/include/wmmintrin.h
2143 %{libsubdir}/include/x86intrin.h
2144 %{libsubdir}/include/ia32intrin.h
2145 %{libsubdir}/include/mm_malloc.h
2146 %{libsubdir}/include/fma4intrin.h
2147 %{libsubdir}/include/xopintrin.h
2148 %{libsubdir}/include/lwpintrin.h
2149 %{libsubdir}/include/popcntintrin.h
2150 %{libsubdir}/include/bmiintrin.h
2151 %{libsubdir}/include/tbmintrin.h
2152 %{libsubdir}/include/avx2intrin.h
2153 %{libsubdir}/include/bmi2intrin.h
2154 %{libsubdir}/include/fmaintrin.h
2155 %{libsubdir}/include/lzcntintrin.h
2156 %{libsubdir}/include/f16cintrin.h
2157 %{libsubdir}/include/adxintrin.h
2158 %{libsubdir}/include/fxsrintrin.h
2159 %{libsubdir}/include/prfchwintrin.h
2160 %{libsubdir}/include/rdseedintrin.h
2161 %{libsubdir}/include/rtmintrin.h
2162 %{libsubdir}/include/xsaveintrin.h
2163 %{libsubdir}/include/xsaveoptintrin.h
2164 %{libsubdir}/include/xtestintrin.h
2165 %endif
2166 %if %{build_with_mudflap}
2167 %{libsubdir}/include/mf-runtime.h
2168 %endif
2169 %versmainlib *crt*.o
2170 %versmainlib libgcc*.a
2171 %versmainlib libgcov.a
2172 %versmainlib libgcc_s*.so
2173 %if %{build_with_mudflap}
2174 %versmainlib libmudflap.a
2175 %versmainlib libmudflap.so
2176 %versmainlib libmudflapth.a
2177 %versmainlib libmudflapth.so
2178 %endif
2179 %versmainlib libgomp.so
2180 %versmainlib libgomp.a
2181 %versmainlib libgomp.spec
2182 %ifarch %itm_arch
2183 %versmainlib libitm.so
2184 %versmainlib libitm.a
2185 %versmainlib libitm.spec
2186 %endif
2187 %ifarch %atomic_arch
2188 %versmainlib libatomic.so
2189 %versmainlib libatomic.a
2190 %endif
2191 %ifarch %asan_arch
2192 %versmainlib libasan.so
2193 %versmainlib libasan.a
2194 %versmainlib libasan_preinit.o
2195 %endif
2196 %ifarch %tsan_arch
2197 %versmainlib libtsan.so
2198 %versmainlib libtsan.a
2199 %endif
2200 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
2201 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
2202
2203 %if %{separate_biarch}
2204 %files -n gcc48%{separate_biarch_suffix}
2205 %defattr(-,root,root)
2206 %versbiarchlib *crt*.o
2207 %versbiarchlib libgcc*.a
2208 %versbiarchlib libgcov.a
2209 %versbiarchlib libgcc_s*.so
2210 %if %{build_with_mudflap}
2211 %versbiarchlib libmudflap.a
2212 %versbiarchlib libmudflap.so
2213 %versbiarchlib libmudflapth.a
2214 %versbiarchlib libmudflapth.so
2215 %endif
2216 %versbiarchlib libgomp.so
2217 %versbiarchlib libgomp.a
2218 %versbiarchlib libgomp.spec
2219 %ifarch %itm_arch
2220 %versbiarchlib libitm.so
2221 %versbiarchlib libitm.a
2222 %versbiarchlib libitm.spec
2223 %endif
2224 %ifarch %atomic_arch
2225 %versbiarchlib libatomic.a
2226 %versbiarchlib libatomic.so
2227 %endif
2228 %ifarch %asan_arch
2229 %versbiarchlib libasan.a
2230 %versbiarchlib libasan.so
2231 %versbiarchlib libasan_preinit.o
2232 %endif
2233 %if 0
2234 %ifarch %tsan_arch
2235 %versbiarchlib libtsan.a
2236 %versbiarchlib libtsan.so
2237 %endif
2238 %endif
2239 %endif
2240
2241 %files locale -f gcc48-locale.lang
2242
2243 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}-locale
2244
2245 %if %{build_cp}
2246 %files c++
2247 %defattr(-,root,root)
2248 %dir %{_libdir}/gcc
2249 %dir %{_libdir}/gcc/%{GCCDIST}
2250 %dir %{libsubdir}
2251 %{_prefix}/bin/g++%{binsuffix}
2252 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
2253 %{libsubdir}/cc1plus
2254
2255 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}
2256 %defattr(-,root,root)
2257 %mainlib libstdc++.so.%{libstdcxx_sover}*
2258
2259 %if %{separate_biarch}
2260 %files -n libstdc++%{libstdcxx_sover}%{libstdcxx_suffix}%{separate_biarch_suffix}
2261 %defattr(-,root,root)
2262 %biarchlib libstdc++.so.%{libstdcxx_sover}*
2263 %endif
2264
2265 %files -n libstdc++48-devel -f c++-headers
2266 %defattr(-,root,root)
2267 %versmainlib libstdc++.a
2268 %versmainlib libstdc++.so
2269 %versmainlib libsupc++.a
2270 %dir %{_datadir}/gdb
2271 %dir %{_datadir}/gdb/auto-load
2272 %dir %{_datadir}/gdb/auto-load%{_prefix}
2273 %dir %{_datadir}/gdb/auto-load/%{mainlibdir}
2274 %{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
2275 %{_datadir}/gcc%{binsuffix}
2276
2277 %if %{separate_biarch}
2278 %files -n libstdc++48-devel%{separate_biarch_suffix}
2279 %defattr(-,root,root)
2280 %versbiarchlib libstdc++.a
2281 %versbiarchlib libstdc++.so
2282 %versbiarchlib libsupc++.a
2283 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
2284 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
2285 %endif
2286
2287 %files -n libstdc++48-doc
2288 %defattr(-,root,root)
2289 %doc libstdc++-v3/doc/html
2290 %endif
2291
2292 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
2293 %defattr(-,root,root)
2294 /%{_lib}/libgcc_s.so.%{libgcc_s}
2295 %if %{biarch}
2296 %if %{build_primary_64bit}
2297 %if !%{separate_bi32}
2298 /lib/libgcc_s.so.%{libgcc_s}
2299 %endif
2300 %else
2301 %if !%{separate_bi64}
2302 /lib64/libgcc_s.so.%{libgcc_s}
2303 %endif
2304 %endif
2305 %endif
2306
2307 %if %{separate_bi64}
2308 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
2309 %defattr(-,root,root)
2310 /lib64/libgcc_s.so.%{libgcc_s}
2311 %endif
2312
2313 %if %{separate_bi32}
2314 %files -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
2315 %defattr(-,root,root)
2316 /lib/libgcc_s.so.%{libgcc_s}
2317 %endif
2318
2319
2320 %files -n libgomp%{libgomp_sover}%{libgomp_suffix}
2321 %defattr(-,root,root)
2322 %mainlib libgomp.so.%{libgomp_sover}*
2323
2324 %if %{separate_biarch}
2325 %files -n libgomp%{libgomp_sover}%{libgomp_suffix}%{separate_biarch_suffix}
2326 %defattr(-,root,root)
2327 %biarchlib libgomp.so.%{libgomp_sover}*
2328 %endif
2329
2330
2331 %ifarch %asan_arch
2332 %files -n libasan%{libasan_sover}%{libasan_suffix}
2333 %defattr(-,root,root)
2334 %mainlib libasan.so.%{libasan_sover}*
2335
2336 %if %{separate_biarch}
2337 %files -n libasan%{libasan_sover}%{libasan_suffix}%{separate_biarch_suffix}
2338 %defattr(-,root,root)
2339 %biarchlib libasan.so.%{libasan_sover}*
2340 %endif
2341 %endif
2342
2343
2344 %ifarch %tsan_arch
2345 %files -n libtsan%{libtsan_sover}%{libtsan_suffix}
2346 %defattr(-,root,root)
2347 %mainlib libtsan.so.%{libtsan_sover}*
2348
2349 %if 0
2350 %if %{separate_biarch}
2351 %files -n libtsan%{libtsan_sover}%{libtsan_suffix}%{separate_biarch_suffix}
2352 %defattr(-,root,root)
2353 %biarchlib libtsan.so.%{libtsan_sover}*
2354 %endif
2355 %endif
2356 %endif
2357
2358
2359 %ifarch %atomic_arch
2360 %files -n libatomic%{libatomic_sover}%{libatomic_suffix}
2361 %defattr(-,root,root)
2362 %mainlib libatomic.so.%{libatomic_sover}*
2363
2364 %if %{separate_biarch}
2365 %files -n libatomic%{libatomic_sover}%{libatomic_suffix}%{separate_biarch_suffix}
2366 %defattr(-,root,root)
2367 %biarchlib libatomic.so.%{libatomic_sover}*
2368 %endif
2369 %endif
2370
2371
2372 %ifarch %itm_arch
2373 %files -n libitm%{libitm_sover}%{libitm_suffix}
2374 %defattr(-,root,root)
2375 %mainlib libitm.so.%{libitm_sover}*
2376
2377 %if %{separate_biarch}
2378 %files -n libitm%{libitm_sover}%{libitm_suffix}%{separate_biarch_suffix}
2379 %defattr(-,root,root)
2380 %biarchlib libitm.so.%{libitm_sover}*
2381 %endif
2382 %endif
2383
2384
2385
2386 %if %{build_fortran}
2387 %files fortran
2388 %defattr(-,root,root)
2389 %dir %{libsubdir}/finclude
2390 %{_prefix}/bin/gfortran%{binsuffix}
2391 %{libsubdir}/f951
2392 %{libsubdir}/finclude/*
2393 %versmainlib libgfortran.a
2394 %versmainlib libgfortran.so
2395 %versmainlib libgfortran.spec
2396 %versmainlib libgfortranbegin.a
2397 %versmainlib libcaf_single.a
2398 %ifarch %quadmath_arch
2399 %{libsubdir}/include/quadmath.h
2400 %{libsubdir}/include/quadmath_weak.h
2401 %versmainlib libquadmath.a
2402 %versmainlib libquadmath.so
2403 %endif
2404 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
2405
2406 %if %{separate_biarch}
2407 %files fortran%{separate_biarch_suffix}
2408 %defattr(-,root,root)
2409 %versbiarchlib libgfortran.a
2410 %versbiarchlib libgfortran.so
2411 %versbiarchlib libgfortran.spec
2412 %versbiarchlib libgfortranbegin.a
2413 %versbiarchlib libcaf_single.a
2414 %ifarch %quadmath_arch
2415 %versbiarchlib libquadmath.a
2416 %versbiarchlib libquadmath.so
2417 %endif
2418 %endif
2419
2420 %files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}
2421 %defattr(-,root,root)
2422 %mainlib libgfortran.so.%{libgfortran_sover}*
2423
2424 %if %{separate_biarch}
2425 %files -n libgfortran%{libgfortran_sover}%{libgfortran_suffix}%{separate_biarch_suffix}
2426 %defattr(-,root,root)
2427 %biarchlib libgfortran.so.%{libgfortran_sover}*
2428 %endif
2429
2430 %ifarch %quadmath_arch
2431 %files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}
2432 %defattr(-,root,root)
2433 %mainlib libquadmath.so.%{libquadmath_sover}*
2434
2435 %if %{separate_biarch}
2436 %files -n libquadmath%{libquadmath_sover}%{libquadmath_suffix}%{separate_biarch_suffix}
2437 %defattr(-,root,root)
2438 %biarchlib libquadmath.so.%{libquadmath_sover}*
2439 %endif
2440 %endif
2441 %endif
2442
2443 %if %{build_with_mudflap}
2444 %files -n libmudflap48
2445 %defattr(-,root,root)
2446 %mainlib libmudflap.so.%{libmudflap_sover}*
2447 %mainlib libmudflapth.so.%{libmudflap_sover}*
2448
2449 %if %{separate_biarch}
2450 %files -n libmudflap48%{separate_biarch_suffix}
2451 %defattr(-,root,root)
2452 %biarchlib libmudflap.so.%{libmudflap_sover}*
2453 %biarchlib libmudflapth.so.%{libmudflap_sover}*
2454 %endif
2455 %endif
2456
2457 %files info
2458 %defattr(-,root,root)
2459 %doc %{_infodir}/*.gz
2460
2461 %files -n cpp48
2462 %defattr(-,root,root)
2463 %dir %{_libdir}/gcc
2464 %dir %{_libdir}/gcc/%{GCCDIST}
2465 %dir %{libsubdir}
2466 %{_prefix}/bin/cpp%{binsuffix}
2467 %{libsubdir}/cc1
2468 #%{libsubdir}/specs
2469 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
2470
2471 %if %{build_objc}
2472 %files objc
2473 %defattr(-,root,root)
2474 %{libsubdir}/cc1obj
2475 %{libsubdir}/include/objc
2476 %versmainlib libobjc.a
2477 %versmainlib libobjc.so
2478
2479 %if %{separate_biarch}
2480 %files objc%{separate_biarch_suffix}
2481 %defattr(-,root,root)
2482 %versbiarchlib libobjc.a
2483 %versbiarchlib libobjc.so
2484 %endif
2485
2486 %files -n libobjc%{libobjc_sover}%{libobjc_suffix}
2487 %defattr(-,root,root)
2488 %mainlib libobjc.so.%{libobjc_sover}*
2489
2490 %if %{separate_biarch}
2491 %files -n libobjc%{libobjc_sover}%{libobjc_suffix}%{separate_biarch_suffix}
2492 %defattr(-,root,root)
2493 %biarchlib libobjc.so.%{libobjc_sover}*
2494 %endif
2495 %endif
2496
2497
2498 %if %{build_objcp}
2499 %files obj-c++
2500 %defattr(-,root,root)
2501 %{libsubdir}/cc1objplus
2502 %endif
2503
2504
2505 %if %{build_ada}
2506 %files ada
2507 %defattr(-,root,root)
2508 %dir %{_libdir}/gcc
2509 %dir %{_libdir}/gcc/%{GCCDIST}
2510 %dir %{libsubdir}
2511 %{_prefix}/bin/gnat*
2512 %dir %{versmainlibdir}/adainclude
2513 %dir %{versmainlibdir}/adalib
2514 %{versmainlibdir}/adainclude
2515 %{versmainlibdir}/adalib/*.ali
2516 %{versmainlibdir}/adalib/*.a
2517 %{versmainlibdir}/adalib/libgnarl.so
2518 %{versmainlibdir}/adalib/libgnat.so
2519 %{versmainlibdir}/gnat1
2520
2521 %if %{separate_biarch}
2522 %files ada%{separate_biarch_suffix}
2523 %defattr(-,root,root)
2524 %dir %{versmainlibdirbi}/adainclude
2525 %dir %{versmainlibdirbi}/adalib
2526 %{versmainlibdirbi}/adainclude
2527 %{versmainlibdirbi}/adalib/*.ali
2528 %{versmainlibdirbi}/adalib/*.a
2529 %{versmainlibdirbi}/adalib/libgnarl.so
2530 %{versmainlibdirbi}/adalib/libgnat.so
2531 %endif
2532
2533 %files -n libada48
2534 %defattr(-,root,root)
2535 %mainlib libgnarl-*.so
2536 %mainlib libgnat-*.so
2537
2538 %if %{separate_biarch}
2539 %files -n libada48%{separate_biarch_suffix}
2540 %defattr(-,root,root)
2541 %biarchlib libgnarl-*.so
2542 %biarchlib libgnat-*.so
2543 %endif
2544 %endif
2545
2546
2547 %if %{build_java}
2548 %if 0%{?building_libjava:1}
2549 %files -n gcc48-java
2550 %defattr(-,root,root)
2551 %{_prefix}/bin/gcj%{binsuffix}
2552 %{_prefix}/bin/gcjh%{binsuffix}
2553 %{_prefix}/bin/gcj-dbtool%{binsuffix}
2554 %{_prefix}/bin/jcf-dump%{binsuffix}
2555 %{_prefix}/bin/jv-convert%{binsuffix}
2556 %{_prefix}/bin/gc-analyze%{binsuffix}
2557 %{_prefix}/bin/aot-compile%{binsuffix}
2558 %{_prefix}/bin/rebuild-gcj-db%{binsuffix}
2559 %{libsubdir}/jc1
2560 %{libsubdir}/jvgenmain
2561 %{libsubdir}/ecj.jar
2562 %{libsubdir}/ecj1
2563 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
2564 %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
2565 %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
2566 %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
2567 %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
2568 %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
2569 %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz
2570 %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz
2571 %endif
2572 %endif
2573
2574 %if %{build_java}
2575 %if %{build_libjava}
2576 %files -n libgcj48
2577 %defattr(-,root,root)
2578 %dir %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}
2579 %dir %{_libdir}/gcc
2580 %dir %{_libdir}/gcc/%{GCCDIST}
2581 %dir %{libsubdir}
2582 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/classmap.db
2583 # We usually do not multilib libjava
2584 %if %{biarch_libjava}
2585 %versbiarchlib libgcj.la
2586 %biarchlib libgcj.so.*
2587 %biarchlib libgij.so.*
2588 %biarchlib libgcj-tools.so.*
2589 %else
2590 %versmainlib libgcj.la
2591 %mainlib libgcj.so.*
2592 %mainlib libgij.so.*
2593 %mainlib libgcj-tools.so.*
2594 %endif
2595 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.la
2596 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjvm.so
2597 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.la
2598 %{_libdir}/gcj-%{gcc_dir_version}-%{libgcj_sover}/libjavamath.so
2599
2600 %files -n libgcj_bc%{libgcj_bc_sover}%{libgcj_bc_suffix}
2601 %defattr(-,root,root)
2602 %if %{biarch_libjava}
2603 %biarchlib libgcj_bc.so.%{libgcj_bc_sover}*
2604 %else
2605 %mainlib libgcj_bc.so.%{libgcj_bc_sover}*
2606 %endif
2607
2608 %files -n libgcj48-jar
2609 %defattr(-,root,root)
2610 %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
2611 %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
2612
2613 %files -n libgcj48-devel
2614 %defattr(-,root,root)
2615 %dir %{_prefix}/include/c++
2616 %dir %{libsubdir}
2617 %dir %{libsubdir}/include
2618 %dir %{gxxinclude}
2619 %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
2620 %{libsubdir}/include/jawt.h
2621 %{libsubdir}/include/jawt_md.h
2622 %{libsubdir}/include/jni.h
2623 %{libsubdir}/include/jni_md.h
2624 %{libsubdir}/include/jvmpi.h
2625 %{gxxinclude}/gnu
2626 %{gxxinclude}/gcj
2627 %{gxxinclude}/java
2628 %{gxxinclude}/javax
2629 %{gxxinclude}/org
2630 %{gxxinclude}/sun
2631 %{libsubdir}/include/gcj
2632 %if %{biarch_libjava}
2633 %versbiarchlib libgcj.so
2634 %versbiarchlib libgcj.spec
2635 %versbiarchlib libgcj-tools.so
2636 %versbiarchlib libgij.so
2637 %versbiarchlib libgcj_bc.so
2638 %else
2639 %versmainlib libgcj.so
2640 %versmainlib libgcj.spec
2641 %versmainlib libgcj-tools.so
2642 %versmainlib libgij.so
2643 %versmainlib libgcj_bc.so
2644 %endif
2645
2646 %files -n gcc48-gij
2647 %defattr(-,root,root)
2648 %{_prefix}/bin/gij%{binsuffix}
2649 %{_prefix}/bin/gappletviewer%{binsuffix}
2650 %{_prefix}/bin/gjar%{binsuffix}
2651 %{_prefix}/bin/gjarsigner%{binsuffix}
2652 %{_prefix}/bin/gjavah%{binsuffix}
2653 %{_prefix}/bin/gkeytool%{binsuffix}
2654 %{_prefix}/bin/gnative2ascii%{binsuffix}
2655 %{_prefix}/bin/gorbd%{binsuffix}
2656 %{_prefix}/bin/grmic%{binsuffix}
2657 %{_prefix}/bin/grmid%{binsuffix}
2658 %{_prefix}/bin/grmiregistry%{binsuffix}
2659 %{_prefix}/bin/gserialver%{binsuffix}
2660 %{_prefix}/bin/gtnameserv%{binsuffix}
2661 %doc %{_mandir}/man1/gij%{binsuffix}.1.gz
2662 %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
2663 %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
2664 %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
2665 %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
2666 %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
2667 %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
2668 %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
2669 %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
2670 %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
2671 %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
2672 %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz
2673 %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz
2674 %endif
2675 %endif
2676
2677 %if %{build_java}
2678 %if 0%{?building_libffi:1}
2679 %files -n libffi%{libffi_sover}%{libffi_suffix}
2680 %defattr(-,root,root)
2681 %mainlib libffi.so.%{libffi_sover}*
2682
2683 %if %{separate_biarch}
2684 %files -n libffi%{libffi_sover}%{libffi_suffix}%{separate_biarch_suffix}
2685 %defattr(-,root,root)
2686 %biarchlib libffi.so.%{libffi_sover}*
2687 %endif
2688
2689 %post -n libffi48-devel
2690 %install_info --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz
2691 %postun -n libffi48-devel
2692 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libffi%{binsuffix}.info.gz
2693
2694 %files -n libffi48-devel
2695 %defattr(-,root,root)
2696 %{_prefix}/include/ffi.h
2697 %{_prefix}/include/ffitarget.h
2698 %mainlib libffi.so
2699 %mainlib libffi.a
2700 %{_libdir}/pkgconfig/libffi.pc
2701 %doc %{_infodir}/libffi%{binsuffix}.info.gz
2702 %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz
2703 %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz
2704 %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz
2705 %doc %{_mandir}/man3/ffi_prep_cif_var%{binsuffix}.3.gz
2706
2707 %if %{separate_biarch}
2708 %files -n libffi48-devel%{separate_biarch_suffix}
2709 %defattr(-,root,root)
2710 %biarchlib libffi.so
2711 %biarchlib libffi.a
2712 %endif
2713 %endif
2714 %endif
2715
2716 %if 0%{?run_tests:1}
2717 %files -n gcc48-testresults
2718 %defattr(-,root,root)
2719 %doc testresults/test_summary.txt
2720 %doc testresults/*.sum
2721 %doc testresults/*.log
2722 %endif
2723
2724
2725 %changelog