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