58a9cf98c6552e3afaa891cb48a5bf7e8830f6f9
[platform/upstream/gcc48.git] / packaging / gcc.spec.in
1 %define fast_build 1
2
3 # Ada currently fails to build on a few platforms, enable it only
4 # on those that work
5 # Note that AdaCore only supports %ix86, x86_64 and ia64
6 %ifarch %ix86 x86_64
7 %define build_ada !0%{?building_libjava:1}%{?building_libffi:1}
8 %else
9 %define build_ada 0
10 %endif
11
12 %define quadmath_arch %ix86 x86_64 ia64
13
14 # We don't want to build java
15 %ifarch mips
16 %define build_java 0
17 %define build_libjava 0
18 %else
19 %define build_java 1
20 %define build_libjava 0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
21 %endif
22
23 %define build_cp 1
24 %define build_fortran 1
25 %define build_objc 1
26 %define build_objcp !0%{?building_libjava:1}%{?building_libffi:1}
27 %define build_with_mudflap 0
28
29 %if %{build_objcp}
30 %define build_cp 1
31 %define build_objc 1
32 %endif
33
34 %if %{build_libjava}
35 %define build_cp 1
36 %endif
37
38 # For optional compilers only build C, C++ and Fortran
39 ##%if 0%{?build_optional_compiler:1}%{?build_optional_compiler_languages:1}
40 %if 0%{!?building_libffi:1}
41 %define build_ada 0
42 %define build_java 0
43 %define build_libjava 0
44 %define build_objc 1
45 %define build_objcp 1
46 %endif
47
48
49 Name:         gcc@base_ver@
50 BuildRequires: bison
51 BuildRequires: flex
52 BuildRequires: gettext-tools
53 BuildRequires: makeinfo
54 BuildRequires: glibc-devel-32bit
55 BuildRequires: mpc-devel
56 BuildRequires: mpfr-devel
57 BuildRequires: perl
58 BuildRequires: texinfo
59 BuildRequires: zlib-devel
60 %ifarch %ix86 x86_64 %arm
61 BuildRequires: cloog-devel
62 BuildRequires: ppl-devel
63 %endif
64 %if %{build_ada}
65 %define hostsuffix -4.7
66 BuildRequires: gcc47-ada
67 %endif
68 %if 0%{?building_libjava:1}%{?building_testsuite:1}
69 BuildRequires: fastjar
70 BuildRequires: unzip
71 %endif
72 %if 0%{?building_libffi:1}
73 BuildRequires: pkg-config
74 %endif
75 %ifarch ia64
76 BuildRequires: libunwind-devel
77 %endif
78 %if 0%{?run_tests:1}
79 BuildRequires: dejagnu
80 BuildRequires: expect
81 BuildRequires: gdb
82 %endif
83
84 # Define version number of libgcc_s
85 %ifarch hppa
86 %define libgcc_s 4
87 %else
88 %define libgcc_s 1
89 %endif
90 %ifarch ppc
91 # We support building the nof libraries, but don't want this in the
92 # regular rpms
93 %define build_nof 0
94 %else
95 %define build_nof 0
96 %endif
97
98 %define separate_bi32 0
99 %define separate_bi64 0
100 %ifarch x86_64 
101 %define separate_bi32 1
102 %endif
103
104 # Define two macros to trigger -32bit or -64bit package variants
105 %define separate_biarch 0
106 %if %{separate_bi32}
107 %define separate_biarch 1
108 %define separate_biarch_suffix -32bit
109 %endif
110 %if %{separate_bi64}
111 %define separate_biarch 1
112 %define separate_biarch_suffix -64bit
113 %endif
114
115 %ifarch x86_64
116 # 64-bit is primary build target
117 %define build_primary_64bit 1
118 %else
119 %define build_primary_64bit 0
120 %endif
121
122 %define biarch_libjava 0
123
124 # COMMON-BEGIN
125 %define biarch_targets x86_64 
126
127 URL:          http://gcc.gnu.org/
128 Version: 4.7.2
129 Release:      1
130 %define gcc_version %(echo %version | sed 's/_.*//')
131 %define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
132 %define snapshot_date %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/_/-/')
133 %define binsuffix -4.7
134 # COMMON-END
135
136 %if !0%{?building_libjava:1}%{?building_libffi:1}%{?building_testsuite:1}
137 Requires: binutils glibc-devel
138 Requires: cpp@base_ver@ = %{version}-%{release}
139 %if 0%{!?build_optional_compiler:1}
140 Requires: libgcc%{libgcc_s} >= %{version}-%{release}
141 Requires: libgomp1 >= %{version}-%{release}
142 %if %{build_with_mudflap}
143 Requires: libmudflap0 >= %{version}-%{release}
144 Requires: libmudflapth0 >= %{version}-%{release}
145 %endif
146 %else
147 Requires: libgcc@base_ver@ = %{version}-%{release}
148 Requires: libgomp@base_ver@ = %{version}-%{release}
149 %endif
150 %endif
151
152 # COMMON-BEGIN
153 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
154 #Source:                gcc-%{gcc_version}%{snapshot_date}.tar.bz2
155 Source:     gcc-%{version}.tar.bz2
156
157 Source1:        change_spec
158 Source2:        libgcj47-rpmlintrc
159 Source3:        gcc47-rpmlintrc
160 Source4:        ecj.jar
161 Source6:        baselibs.conf
162 # Patches auto-generated by git-buildpackage:
163 Patch0:     0001-dir-version.patch
164 Patch1:     0002-textdomain.patch
165 Patch2:     0003-rename-info-files.patch
166
167 # GCC-TESTSUITE-DELETE-BEGIN
168 # LIBFFI-DELETE-BEGIN
169 # LIBJAVA-DELETE-BEGIN
170 Group:          Development/Languages/C and C++
171 Summary:        The GNU C Compiler and Support Files
172 License:        GPL-3.0+
173
174 %description
175 Core package for the GNU Compiler Collection, including the C language
176 frontend.
177
178 Language frontends other than C are split to different sub-packages,
179 namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
180 gcc-obj-c++.
181
182
183
184 # COMMON-END
185 %package -n gcc@base_ver@-32bit
186 Summary:      The GNU C Compiler 32bit support
187 Group:        Development/Languages/C and C++
188 Requires: gcc@base_ver@ = %{version}-%{release}
189 %if 0%{!?build_optional_compiler:1}
190 Requires: libgcc%{libgcc_s}-32bit >= %{version}-%{release}
191 Requires: libgomp1-32bit >= %{version}-%{release}
192 %if %{build_with_mudflap}
193 Requires: libmudflap0-32bit >= %{version}-%{release}
194 Requires: libmudflapth0-32bit >= %{version}-%{release}
195 %endif
196 %else
197 Requires: libgcc@base_ver@-32bit = %{version}-%{release}
198 Requires: libgomp@base_ver@-32bit = %{version}-%{release}
199 %endif
200 Requires: glibc-devel-32bit
201
202 %description -n gcc@base_ver@-32bit
203 This package contains 32bit support for the GNU Compiler Collection.
204
205 %package -n gcc@base_ver@-64bit
206 Summary:      The GNU C Compiler 64bit support
207 Group:        Development/Languages/C and C++
208 Requires: gcc@base_ver@ = %{version}-%{release}
209 %if 0%{!?build_optional_compiler:1}
210 Requires: libgcc%{libgcc_s}-64bit >= %{version}-%{release}
211 Requires: libgomp1-64bit >= %{version}-%{release}
212 %if %{build_with_mudflap}
213 Requires: libmudflap0-64bit >= %{version}-%{release}
214 Requires: libmudflapth0-64bit >= %{version}-%{release}
215 %endif
216 %else
217 Requires: libgcc@base_ver@-64bit = %{version}-%{release}
218 Requires: libgomp@base_ver@-64bit = %{version}-%{release}
219 %endif
220 Requires: glibc-devel-64bit
221
222 %description -n gcc@base_ver@-64bit
223 This package contains 64bit support for the GNU Compiler Collection.
224
225
226 %package locale
227 Summary:      Locale Data for the GNU Compiler Collection
228 License:        GPL-3.0+
229 Group:        Development/Languages/C and C++
230 Requires: gcc@base_ver@ = %{version}-%{release}
231
232 %description locale
233 Locale data for the GNU Compiler Collection (GCC) to give error message
234 in the current locale.
235
236
237 %package c++
238 Summary:      The GNU C++ Compiler
239 License:        GPL-3.0+
240 Group:        Development/Languages/C and C++
241 Requires: gcc@base_ver@ = %{version}-%{release}
242 Requires: libstdc++@base_ver@-devel = %{version}-%{release}
243
244 %description c++
245 This package contains the GNU compiler for C++.
246
247 # PACKAGE-BEGIN
248 %package -n libstdc++@base_ver@-devel@variant@
249 Summary:      Include Files and Libraries mandatory for Development
250 License:        GPL-3.0-with-GCC-exception
251 Group:        Development/Languages/C and C++
252 %if 0%{!?build_optional_compiler:1}
253 Requires: libstdc++6@variant@ >= %{version}-%{release}
254 %else
255 Requires: libstdc++@base_ver@@variant@ = %{version}-%{release}
256 %endif
257 Requires: glibc-devel@variant@
258 %ifarch ia64
259 Requires: libunwind-devel
260 %endif
261
262 %description -n libstdc++@base_ver@-devel@variant@
263 This package contains all the headers and libraries of the standard C++
264 library. It is needed for compiling C++ code.
265 # PACKAGE-END
266
267 %package -n libstdc++@base_ver@-doc
268 Summary:      Documentation for the GNU C++ standard library
269 License:        GPL-3.0+
270 Group:        Documentation/HTML
271 BuildArch:    noarch
272
273 %description -n libstdc++@base_ver@-doc
274 Extensive HTML documentation for the GNU C++ standard library.
275
276
277 # PACKAGE-BEGIN
278 %package -n libgcc@base_ver@@variant@
279 Summary:      C compiler runtime library
280 License:        GPL-3.0-with-GCC-exception
281 Group:        System/Base
282 %if 0%{!?build_optional_compiler:1}
283 Provides: libgcc%{libgcc_s}@variant@ = %{version}-%{release}
284 Conflicts: libgcc%{libgcc_s}@variant@ < %{version}-%{release}
285 %else
286 Autoprov: no
287 %endif
288
289 %description -n libgcc@base_ver@@variant@
290 Libgcc is needed for dynamically linked C programs.
291
292 %post -n libgcc@base_ver@@variant@
293 /sbin/ldconfig
294
295 %postun -n libgcc@base_ver@@variant@
296 /sbin/ldconfig
297 # PACKAGE-END
298
299 # PACKAGE-BEGIN
300 %package -n libgomp@base_ver@@variant@
301 Summary:      The GNU compiler collection OpenMP runtime library
302 License:        GPL-3.0-with-GCC-exception
303 Group:        System/Base
304 %if 0%{!?build_optional_compiler:1}
305 Provides: libgomp1@variant@ = %{version}-%{release}
306 Conflicts: libgomp1@variant@ < %{version}-%{release}
307 %else
308 Autoprov: no
309 %endif
310
311 %description -n libgomp@base_ver@@variant@
312 This is the OpenMP runtime library needed by OpenMP enabled programs
313 that were built with the -fopenmp compiler option and by programs that
314 were auto-parallelized via the -ftree-parallelize-loops compiler
315 option.
316
317
318 %post -n libgomp@base_ver@@variant@
319 /sbin/ldconfig
320
321 %postun -n libgomp@base_ver@@variant@
322 /sbin/ldconfig
323 # PACKAGE-END
324
325 # PACKAGE-BEGIN
326 %package -n libstdc++@base_ver@@variant@
327 Summary:      The standard C++ shared library
328 License:        GPL-3.0-with-GCC-exception
329 Group:        System/Libraries
330 %if 0%{!?build_optional_compiler:1}
331 Provides: libstdc++6@variant@ = %{version}-%{release}
332 Conflicts: libstdc++6@variant@ < %{version}-%{release}
333 %else
334 Autoprov: no
335 %endif
336
337 %description -n libstdc++@base_ver@@variant@
338 The standard C++ library, needed for dynamically linked C++ programs.
339
340
341 %post -n libstdc++@base_ver@@variant@
342 /sbin/ldconfig
343
344 %postun -n libstdc++@base_ver@@variant@
345 /sbin/ldconfig
346 # PACKAGE-END
347
348
349 %package info
350 Summary:      Documentation for the GNU compiler collection
351 License:      GFDL-1.2
352 Group:        Documentation/Other
353 BuildArch:    noarch
354
355 %description info
356 GNU info-pages for the GNU compiler collection covering both user-level
357 and internals documentation.
358
359
360 # PACKAGE-BEGIN
361 %package objc@variant@
362 Summary:      GNU Objective C Compiler
363 License:        GPL-3.0+
364 Group:        Development/Languages/Other
365 Requires: gcc@base_ver@ = %{version}-%{release}
366 Requires: libobjc2@variant@ >= %{version}-%{release}
367
368 %description objc@variant@
369 This package contains the GNU Objective C compiler. Objective C is an
370 object oriented language, created by Next Inc. and used in their
371 Nextstep OS. The source code is available in the gcc package.
372 # PACKAGE-END
373
374 # PACKAGE-BEGIN
375 %package -n libobjc@base_ver@@variant@
376 Summary:      Library for the GNU Objective C Compiler
377 License:        GPL-3.0-with-GCC-exception
378 Group:        Development/Libraries/Other
379 Provides: libobjc2@variant@ = %{version}-%{release}
380 Conflicts: libobjc2@variant@ < %{version}-%{release}
381
382 %description -n libobjc@base_ver@@variant@
383 The library for the GNU Objective C compiler.
384
385 %post -n libobjc@base_ver@@variant@
386 /sbin/ldconfig
387
388 %postun -n libobjc@base_ver@@variant@
389 /sbin/ldconfig
390 # PACKAGE-END
391
392 %package obj-c++
393 Summary:      GNU Objective C++ Compiler
394 License:        GPL-3.0+
395 Group:        Development/Languages/Other
396 Requires: gcc@base_ver@-objc = %{version}-%{release}
397 Requires: gcc@base_ver@-c++ = %{version}-%{release}
398
399 %description obj-c++
400 This package contains the GNU Objective C++ compiler. Objective C++ is an
401 object oriented language, created by Next Inc. and used in their
402 Nextstep OS. The source code is available in the gcc package.
403
404
405 %package -n cpp@base_ver@
406 Summary:      The GCC Preprocessor
407 License:        GPL-3.0+
408 Group:        Development/Languages/C and C++
409
410 %description -n cpp@base_ver@
411 This Package contains just the preprocessor that is used by the X11
412 packages.
413
414
415 # PACKAGE-BEGIN
416 %package ada@variant@
417 Summary:      GNU Ada95 Compiler Based on GCC (GNAT)
418 License:        GPL-3.0+
419 Group:        Development/Languages/Other
420 Requires: gcc@base_ver@@variant@ = %{version}-%{release}
421 Requires: libada@base_ver@@variant@ = %{version}-%{release}
422
423 %description ada@variant@
424 This package contains an Ada95 compiler and associated development
425 tools based on the GNU GCC technology. Ada95 is the object oriented
426 successor of the Ada83 language. To build this package from source you
427 must have installed a binary version to bootstrap the compiler.
428 # PACKAGE-END
429
430 # PACKAGE-BEGIN
431 %package -n libada@base_ver@@variant@
432 Summary:      GNU Ada Runtime Libraries
433 License:      GPL-3.0-with-GCC-exception
434 Group:        System/Libraries
435 Provides: libgnarl-4_7@variant@ = %{version}-%{release}
436 Conflicts: libgnarl-4_7@variant@ < %{version}-%{release}
437 Provides: libgnat-4_7@variant@ = %{version}-%{release}
438 Conflicts: libgnat-4_7@variant@ < %{version}-%{release}
439
440 %description -n libada@base_ver@@variant@
441 This package contains the shared libraries required to run programs
442 compiled with the GNU Ada compiler (GNAT) if they are compiled to use
443 shared libraries. It also contains the shared libraries for the
444 Implementation of the Ada Semantic Interface Specification (ASIS), the
445 implementation of Distributed Systems Programming (GLADE) and the Posix
446 1003.5 Binding (Florist).
447
448 %post -n libada@base_ver@@variant@
449 /sbin/ldconfig
450
451 %postun -n libada@base_ver@@variant@
452 /sbin/ldconfig
453 # PACKAGE-END
454
455 # PACKAGE-BEGIN
456 %package fortran@variant@
457 Summary:      The GNU Fortran Compiler and Support Files
458 License:        GPL-3.0+
459 Group:        Development/Languages/Fortran
460 Requires: gcc@base_ver@ = %{version}-%{release}
461 %if 0%{!?build_optional_compiler:1}
462 Requires: libgfortran3@variant@ >= %{version}-%{release}
463 %ifarch %quadmath_arch
464 Requires: libquadmath0@variant@ >= %{version}-%{release}
465 %endif
466 %else
467 Requires: libgfortran@base_ver@@variant@ = %{version}-%{release}
468 %ifarch %quadmath_arch
469 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
470 %endif
471 %endif
472
473 %description fortran@variant@
474 This is the Fortran compiler of the GNU Compiler Collection (GCC).
475 # PACKAGE-END
476
477 # PACKAGE-BEGIN
478 %package -n libgfortran@base_ver@@variant@
479 Summary:      The GNU Fortran Compiler Runtime Library
480 License:        GPL-3.0-with-GCC-exception
481 Group:        Development/Languages/Fortran
482 %if 0%{!?build_optional_compiler:1}
483 Provides: libgfortran3@variant@ = %{version}-%{release}
484 Conflicts: libgfortran3@variant@ < %{version}-%{release}
485 %ifarch %quadmath_arch
486 Requires: libquadmath0@variant@ >= %{version}-%{release}
487 %endif
488 %else
489 %ifarch %quadmath_arch
490 Requires: libquadmath@base_ver@@variant@ = %{version}-%{release}
491 %endif
492 Autoprov: no
493 %endif
494
495 %description -n libgfortran@base_ver@@variant@
496 The runtime library needed to run programs compiled with the Fortran compiler
497 of the GNU Compiler Collection (GCC).
498
499 %post -n libgfortran@base_ver@@variant@
500 /sbin/ldconfig
501
502 %postun -n libgfortran@base_ver@@variant@
503 /sbin/ldconfig
504 # PACKAGE-END
505
506 # PACKAGE-BEGIN
507 %package -n libquadmath@base_ver@@variant@
508 Summary:      The GNU Fortran Compiler Quadmath Runtime Library
509 License:        LGPL-2.1
510 Group:        Development/Languages/Fortran
511 %if 0%{!?build_optional_compiler:1}
512 Provides: libquadmath0@variant@ = %{version}-%{release}
513 Conflicts: libquadmath0@variant@ < %{version}-%{release}
514 %else
515 Autoprov: no
516 %endif
517
518 %description -n libquadmath@base_ver@@variant@
519 The runtime library needed to run programs compiled with the Fortran compiler
520 of the GNU Compiler Collection (GCC) and quadruple precision floating point
521 operations.
522
523 %post -n libquadmath@base_ver@@variant@
524 /sbin/ldconfig
525
526 %postun -n libquadmath@base_ver@@variant@
527 /sbin/ldconfig
528 # PACKAGE-END
529
530 # PACKAGE-BEGIN
531 %package -n libmudflap@base_ver@@variant@
532 Summary:      The Mudflap Extension Runtime Library
533 License:        GPL-3.0-with-GCC-exception
534 Group:        Development/Languages/C and C++
535 Provides: libmudflap0@variant@ = %{version}-%{release}
536 Conflicts: libmudflap0@variant@ < %{version}-%{release}
537 Provides: libmudflapth0@variant@ = %{version}-%{release}
538 Conflicts: libmudflapth0@variant@ < %{version}-%{release}
539
540 %description -n libmudflap@base_ver@@variant@
541 This is the Mudflap Extension Runtime Library.
542
543 %post -n libmudflap@base_ver@@variant@
544 /sbin/ldconfig
545
546 %postun -n libmudflap@base_ver@@variant@
547 /sbin/ldconfig
548 # PACKAGE-END
549
550
551 %package -n libgcj@base_ver@
552 # LIBJAVA-DELETE-END
553 Summary:      Java Runtime Library for gcc
554 License:      GPL-2.0-with-classpath-exception
555 Group:        System/Libraries
556 %define gcj_sover 13
557 Provides: libgcj%{gcj_sover} = %{version}-%{release}
558 Conflicts: libgcj%{gcj_sover} < %{version}-%{release}
559 Provides: libgij%{gcj_sover} = %{version}-%{release}
560 Conflicts: libgij%{gcj_sover} < %{version}-%{release}
561 Provides: libgcj-tools%{gcj_sover} = %{version}-%{release}
562 Conflicts: libgcj-tools%{gcj_sover} < %{version}-%{release}
563
564 %description -n libgcj@base_ver@
565 This library is needed if you want to use the GNU Java compiler, gcj.
566 Source code for this package is in gcc.
567
568 %post -n libgcj@base_ver@
569 /sbin/ldconfig
570
571 %postun -n libgcj@base_ver@
572 /sbin/ldconfig
573
574
575 %package -n gcc@base_ver@-java
576 Summary:      The GNU Java Compiler
577 License:        GPL-3.0+
578 Group:        Development/Languages/Java
579 Requires: gcc@base_ver@ = %{version}
580 Requires: libgcj@base_ver@-devel = %{version}-%{release}
581
582 %description -n gcc@base_ver@-java
583 The Java compiler from the GCC-tools-suite.
584
585
586 %package -n libgcj_bc@base_ver@
587 Summary:      Fake library for BC-ABI compatibility.
588 License:        GPL-2.0-with-classpath-exception
589 Group:        Development/Libraries/Java
590 Provides: libgcj_bc1 = %{version}-%{release}
591 Conflicts: libgcj_bc1 < %{version}-%{release}
592 # libgcj_bc is special in that it just contains a symlink to
593 # a proper libgcj version.  So require that library and add
594 # provides for the shlib version as created at link time
595 Requires: libgcj%{gcj_sover}
596 %ifarch x86_64 
597 Provides: libgcj_bc.so.1()(64bit)
598 %else
599 Provides: libgcj_bc.so.1
600 %endif
601
602
603 %description -n libgcj_bc@base_ver@
604 A fake library that is used at link time only. It ensures that
605 binaries built with the BC-ABI link against a constant SONAME.
606 This way, BC-ABI binaries continue to work if the SONAME underlying
607 libgcj.so changes.
608
609
610 %package -n libgcj@base_ver@-jar
611 Summary:      Java runtime library (jar files).
612 License:        GPL-2.0-with-classpath-exception
613 Group:        Development/Libraries/Java
614
615 %description -n libgcj@base_ver@-jar
616 These are the jar files that go along with the gcj front end to gcc.
617
618
619 %package -n libgcj@base_ver@-devel
620 Summary:      Include Files and Libraries mandatory for Development.
621 License:        GPL-2.0-with-classpath-exception
622 Group:        Development/Libraries/Java
623 Requires: libstdc++@base_ver@-devel = %{version}
624 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
625 Requires: libgcj_bc1 >= %{version}-%{release}
626 Requires: libgcj@base_ver@-jar = %{version}-%{release}
627 Requires: gtk2-devel
628 Requires: libart_lgpl-devel
629 Requires: glibc-devel
630 Requires: zlib-devel
631 %ifarch ia64
632 Requires: libunwind-devel
633 %endif
634
635 %description -n libgcj@base_ver@-devel
636 This package contains all necessary include files and libraries needed
637 to develop applications that require these.
638
639
640 %package -n gcc@base_ver@-gij
641 Summary:      Java Bytecode Interpreter for gcc
642 License:      GPL-2.0-with-classpath-exception
643 Group:        Development/Libraries/Java
644 Requires: libgcj%{gcj_sover} >= %{version}-%{release}
645
646 %description -n gcc@base_ver@-gij
647 This package contains the java bytecode interpreter gij and related tools.
648
649 # LIBFFI-DELETE-END
650 # PACKAGE-BEGIN
651 %package -n libffi@base_ver@@variant@
652 Summary:      Foreign Function Interface library
653 License:        BSD-3-Clause
654 Group:        Development/Languages/C and C++
655 Provides: g-wrap:/usr/lib/libffi.so.4
656 Provides: libffi4@variant@ = %{version}-%{release}
657 Conflicts: libffi4@variant@ < %{version}-%{release}
658
659 %description -n libffi@base_ver@@variant@
660 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.
661
662 %post -n libffi@base_ver@@variant@
663 /sbin/ldconfig
664
665 %postun -n libffi@base_ver@@variant@
666 /sbin/ldconfig
667 # PACKAGE-END
668
669 # PACKAGE-BEGIN
670 %package -n libffi@base_ver@-devel@variant@
671 Summary:      Foreign Function Interface library development files
672 License:        BSD 3-Clause
673 Group:        Development/Languages/C and C++
674 Requires: libffi4@variant@ >= %{version}-%{release}
675 Provides: libffi-devel@variant@ = %{version}-%{release}
676 Conflicts: libffi-devel@variant@ < %{version}-%{release}
677
678 %description -n libffi@base_ver@-devel@variant@
679 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.
680 # PACKAGE-END
681
682 %package -n gcc@base_ver@-testresults
683 # GCC-TESTSUITE-DELETE-END
684 Summary:      Testsuite results
685 License:        SUSE-Public-Domain
686 Group:        Development/Languages/C and C++
687
688 %description -n gcc@base_ver@-testresults
689 Results from running the gcc and target library testsuites.
690
691
692 # COMMON-BEGIN
693
694 # Define the canonical target and host architecture
695 #   %gcc_target_arch  is supposed to be the full target triple
696 #   %TARGET_ARCH      is the canonicalized CPU part
697 #   %CONFIGURE_TARGET is the target triple used for --target=
698 %if 0%{?gcc_target_arch:1}
699 %define CONFIGURE_TARGET %{gcc_target_arch}
700 %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/;")
701 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "i586"
702 %define CONFIGURE_TARGET i586-tizen-linux
703 %endif
704 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7l"
705 %define CONFIGURE_TARGET armv7l-tizen-linux-gnueabi
706 %endif
707 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7hl"
708 %define CONFIGURE_TARGET armv7hl-tizen-linux-gnueabi
709 %endif
710 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv7el"
711 %define CONFIGURE_TARGET armv7el-tizen-linux-gnueabi
712 %endif
713 %if 0%{?gcc_icecream:1} && %{TARGET_ARCH} == "armv5el"
714 %define CONFIGURE_TARGET armv5el-tizen-linux-gnueabi
715 %endif
716 %else
717 %define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
718 %endif
719 %define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
720
721 %define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
722
723 %ifarch %arm
724 %define GCCDIST %{HOST_ARCH}-tizen-linux-gnueabi
725 %else
726 %define GCCDIST %{HOST_ARCH}-tizen-linux
727 %endif
728
729 %define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
730 %define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
731
732 # COMMON-END
733
734 # Versionspecific directories
735 %define versmainlibdir %{libsubdir}
736 %define versmainlibdirbi32 %{libsubdir}/32
737 %define versmainlibdirbi64 %{libsubdir}/64
738 %if %{build_primary_64bit}
739 %define versmainlibdirbi %{versmainlibdirbi32}
740 %else
741 %define versmainlibdirbi %{versmainlibdirbi64}
742 %endif
743
744 %if 0%{?build_optional_compiler:1}
745 %define mainlibdir %{versmainlibdir}
746 %define mainlibdirbi32 %{versmainlibdirbi32}
747 %define mainlibdirbi64 %{versmainlibdirbi64}
748 %define noflibdir %{versnoflibdir}
749 %define mainlibdirbi %{versmainlibdirbi}
750 %else
751 %define mainlibdir %{_libdir}
752 %define mainlibdirbi32 %{_prefix}/lib
753 %define mainlibdirbi64 %{_prefix}/lib64
754 %define noflibdir %{_prefix}/lib/nof
755 %if %{build_primary_64bit}
756 %define mainlibdirbi %{mainlibdirbi32}
757 %else
758 %define mainlibdirbi %{mainlibdirbi64}
759 %endif
760 %endif
761
762
763 # Now define a few macros that make it easy to package libs and
764 # related files just to the right package, without caring for the
765 # exact path the files are in.
766 #   %mainlib  package X from all dirs that belong to the main package
767 #   %biarchlib   package X from all dirs that belong to the -32/64bit package
768 # by default, nof libs go where the 32bit libs go.
769 %if %{build_nof}
770 %define mainlib() %{mainlibdir}/%1\
771 %{noflibdir}/%1\
772 %{nil}
773 %else
774 %define mainlib() %{mainlibdir}/%1\
775 %{nil}
776 %endif
777 %define biarchlib() %{nil}
778 %if %{biarch}
779 %if !%{separate_biarch}
780 %if %{build_nof}
781 %define mainlib() %{mainlibdir}/%1\
782 %{mainlibdirbi}/%1\
783 %{noflibdir}/%1\
784 %{nil}
785 %else
786 %define mainlib() %{mainlibdir}/%1\
787 %{mainlibdirbi}/%1\
788 %{nil}
789 %endif
790 %else
791 %if %{build_nof}
792 %define biarchlib() %{mainlibdirbi}/%1\
793 %{noflibdir}/%1\
794 %{nil}
795 %define mainlib() %{mainlibdir}/%1\
796 %{nil}
797 %else
798 %define biarchlib() %{mainlibdirbi}/%1\
799 %{nil}
800 %endif
801 %endif
802 %endif
803
804 %if %{build_nof}
805 %define versmainlib() %{versmainlibdir}/%1\
806 %{versnoflibdir}/%1\
807 %{nil}
808 %else
809 %define versmainlib() %{versmainlibdir}/%1\
810 %{nil}
811 %endif
812 %define versbiarchlib() %{nil}
813 %if %{biarch}
814 %if !%{separate_biarch}
815 %if %{build_nof}
816 %define versmainlib() %{versmainlibdir}/%1\
817 %{versmainlibdirbi}/%1\
818 %{versnoflibdir}/%1\
819 %{nil}
820 %else
821 %define versmainlib() %{versmainlibdir}/%1\
822 %{versmainlibdirbi}/%1\
823 %{nil}
824 %endif
825 %else
826 %if %{build_nof}
827 %define versbiarchlib() %{versmainlibdirbi}/%1\
828 %{versnoflibdir}/%1\
829 %{nil}
830 %define versmainlib() %{versmainlibdir}/%1\
831 %{nil}
832 %else
833 %define versbiarchlib() %{versmainlibdirbi}/%1\
834 %{nil}
835 %endif
836 %endif
837 %endif
838
839
840 # COMMON-BEGIN
841
842 %prep
843 #%setup -q -n gcc-%{gcc_version}%{snapshot_date}
844 %setup -q -n gcc-%{version}
845 # 0001-dir-version.patch
846 %patch0 -p1
847 %patch1 -p1
848 %patch2 -p1
849
850 %build
851 # Avoid rebuilding of generated files
852 contrib/gcc_update --touch
853 # Avoid fucking up testsuite results with Java and indirect dispatch
854 export LD_AS_NEEDED=0
855 # Split version file into version used for directories (X.Y) and
856 # version to report with --version (X.Y.Z).
857 # See also gcc-dir-version.patch.
858 # Also decrement the patchlevel version by one
859 if test `cat gcc/DEV-PHASE` == "prerelease"; then
860   ( 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
861 else
862   mv gcc/BASE-VER gcc/FULL-VER
863 fi
864 cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
865
866 rm -rf obj-%{GCCDIST}
867 mkdir obj-%{GCCDIST}
868 cd obj-%{GCCDIST}
869 RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
870 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'`
871 %ifarch %ix86
872 # -mcpu is superceded by -mtune but -mtune is not supported by
873 # our bootstrap compiler.  -mcpu gives a warning that stops
874 # the build process, so remove it for now.  Also remove all other
875 # -march and -mtune flags.  They are superseeded by proper
876 # default compiler settings now.
877 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'`
878 %endif
879 %if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
880 # Kill all -march/tune/cpu because that screws building the target libs
881 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
882 %endif
883 # Replace 2 spaces by one finally
884 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/  / /g'`
885
886 languages=c
887 %if %{build_cp}
888 languages=$languages,c++
889 %endif
890 %if %{build_objc}
891 languages=$languages,objc
892 %endif
893 %if %{build_fortran}
894 languages=$languages,fortran
895 %endif
896 %if %{build_objcp}
897 languages=$languages,obj-c++
898 %endif
899 %if %{build_java}
900 languages=$languages,java
901 %endif
902 %if %{build_ada}
903 languages=$languages,ada
904 %endif
905
906 J=%{?jobs:%jobs}
907 if test -z "$J"; then
908   J=$(getconf _NPROCESSORS_CONF)
909   JL=$(($J * 2))
910 else
911   test 1 -gt "$J" && J=1
912   JL=$(($(getconf _NPROCESSORS_CONF)*2))
913 fi
914 if test "$J" == "0"; then
915   J=1
916 fi
917 if test "$JL" == "0"; then
918   JL=1
919 fi
920 PARALLEL="-j$J -l$JL"
921
922 # we don't want some miscompiles in the testsuite, or some fault in
923 # the compiler to kill the machine.  Hence we limit the amount of memory
924 # by the physical RAM plus half of swap
925 #MEM=$(free -m | awk '/^Mem:/ {print $2}')
926 #SWAP=$(free -m | awk '/^Swap:/ {print $2}')
927 #ulimit -v $(((MEM + SWAP/2)*1024))
928
929 # In general we want to ship release checking enabled compilers
930 # and run BETA with checking enabled.
931 #ENABLE_CHECKING="--enable-checking=yes"
932 ENABLE_CHECKING="--enable-checking=release"
933
934 # Work around tail/head -1 changes
935 export _POSIX2_VERSION=199209
936
937 # configure tries to parse include/features.h to detect
938 # if glibc supports SSP.  When cross compiling we would need
939 # to install a cross glibc, which we don't, or make the whole
940 # thing point to the native glibc, which is in /, hence the
941 # --with-sysroot=/
942
943 %if %{build_ada}
944 # Using the host gnatmake like
945 #   CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
946 #   GNATMAKE="gnatmake%{hostsuffix}"
947 # doesn't work due to PR33857, so an un-suffixed gnatmake has to be
948 # available
949 mkdir -p host-tools/bin
950 cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
951 cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
952 cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
953 cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
954 ln -sf /usr/%{_lib} host-tools/%{_lib}
955 export PATH="`pwd`/host-tools/bin:$PATH"
956 %endif
957 #%if 0%{?gcc_target_arch:1} && 0%{!?gcc_icecream:1}
958 #%else
959 #       --enable-threads=posix \
960 #%endif
961 #       --enable-shared \
962 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
963 TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS" \
964 ../configure \
965         --prefix=%{_prefix} \
966         --infodir=%{_infodir} \
967         --mandir=%{_mandir} \
968         --libdir=%{_libdir} \
969         --libexecdir=%{_libdir} \
970         --enable-languages=$languages \
971         $ENABLE_CHECKING \
972         --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
973         --enable-ssp \
974         --disable-libssp \
975         --disable-libitm \
976 %if 0%{?fast_build}
977         --disable-bootstrap \
978 %endif
979         --disable-plugin \
980         --with-bugurl="http://bugs.tizen.org/" \
981         --with-pkgversion="Tizen Linux" \
982 %if !%{build_libjava}
983         --disable-libgcj \
984 %else
985         --with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
986         --with-ecj-jar=%{libsubdir}/ecj.jar \
987         --disable-java-awt \
988 %if !%{biarch_libjava}
989         --disable-libjava-multilib \
990 %endif
991 %endif
992 %if !%{build_with_mudflap}
993         --disable-libmudflap \
994 %endif
995         --with-slibdir=/%{_lib} \
996         --with-system-zlib \
997         --enable-__cxa_atexit \
998         --enable-libstdcxx-allocator=new \
999         --disable-libstdcxx-pch \
1000         --enable-version-specific-runtime-libs \
1001         --enable-linker-build-id \
1002 %if 0%{?gcc_target_arch:1}
1003 %if 0%{?gcc_icecream:1}
1004         --with-build-sysroot=/ \
1005         --with-sysroot=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi} \
1006         --with-gxx-include-dir=%{_prefix}/%{gcc_target_arch}%{?canonical_target_abi:%canonical_target_abi}/usr/include/c++/%{gcc_dir_version} \
1007         --enable-linux-futex \
1008 %endif
1009 %if 0%{?canonical_target:1}
1010         --with-build-time-tools=/usr/%{canonical_target}-tizen-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
1011 %endif
1012 %if 0%{?build_static:1}
1013         --disable-shared \
1014 %endif
1015 %if "%{TARGET_ARCH}" == "spu"
1016         --with-sysroot=/usr/spu \
1017         --with-gxx-include-dir=%{_prefix}/spu/include/c++/%{gcc_dir_version} \
1018         --with-newlib \
1019 %endif
1020         --disable-nls \
1021         --target=%{CONFIGURE_TARGET} \
1022 %else
1023         --program-suffix=%{binsuffix} \
1024         --enable-linux-futex \
1025 %ifarch ia64
1026         --with-system-libunwind \
1027 %else
1028         --without-system-libunwind \
1029 %endif
1030 %endif
1031 %if "%{TARGET_ARCH}" == "armv5tel"
1032         --with-arch=armv5te \
1033         --with-float=soft \
1034         --with-mode=arm \
1035         --with-abi=aapcs-linux \
1036         --disable-sjlj-exceptions \
1037 %endif
1038 %if "%{TARGET_ARCH}" == "armv7el" 
1039         --with-arch=armv7-a \
1040         --with-tune=cortex-a9 \
1041         --with-float=soft \
1042         --with-abi=softfp \
1043         --with-fpu=vfpv3 \
1044         --disable-sjlj-exceptions \
1045 %endif
1046 %if "%{TARGET_ARCH}" == "armv7l" || "%{TARGET_ARCH}" == "armv7hl"
1047         --with-arch=armv7-a \
1048         --with-tune=cortex-a9 \
1049         --with-float=hard \
1050         --with-abi=aapcs-linux \
1051         --with-fpu=vfpv3-d16 \
1052         --disable-sjlj-exceptions \
1053 %endif
1054 %if "%{TARGET_ARCH}" == "i586"
1055         --with-arch-32=i586 \
1056         --with-tune=generic \
1057 %endif
1058 %if "%{TARGET_ARCH}" == "x86_64"
1059         --with-arch-32=i586 \
1060         --with-tune=generic \
1061 %endif
1062         --build=%{GCCDIST}
1063
1064 # COMMON-END
1065
1066 %if 0%{?building_libffi:1}
1067 make stage1-bubble $PARALLEL
1068 make all-target-libffi $PARALLEL
1069 %else
1070 # Only run profiled bootstrap on archs where it works
1071 #%ifarch %ix86 x86_64 ppc ppc64 ia64
1072 #make profiledbootstrap-lean STAGE1_CFLAGS="-O -g" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1073 #%else
1074 %ifarch %arm
1075 STAGE1_FLAGS="-O0"
1076 %else
1077 STAGE1_FLAGS="-O -g"
1078 %endif
1079 #make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1080 make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
1081 #%endif
1082 #make -C gcc proto
1083 make info
1084 %if 0%{?run_tests:1}
1085 echo "Run testsuite"
1086 (make -C %{GCCDIST}/libstdc++-v3 check-abi || true)
1087 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.log %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.log
1088 mv %{GCCDIST}/libstdc++-v3/testsuite/libstdc++.sum %{GCCDIST}/libstdc++-v3/testsuite/libstdc++-abi.sum
1089 make -k check $PARALLEL || true
1090 mkdir ../testresults
1091 ../contrib/test_summary | tee ../testresults/test_summary.txt
1092 %endif
1093 %endif
1094
1095 %install
1096 export NO_BRP_CHECK_BYTECODE_VERSION=true
1097 cd obj-%{GCCDIST}
1098 # GCC-TESTSUITE-DELETE-BEGIN
1099 # Work around tail/head -1 changes
1100 export _POSIX2_VERSION=199209
1101 export LIBRARY_PATH=$RPM_BUILD_ROOT%{libsubdir}:$RPM_BUILD_ROOT%{mainlibdirbi}
1102 %if 0%{?building_libffi:1}
1103 make -C %{GCCDIST}/libffi install DESTDIR=$RPM_BUILD_ROOT
1104 %else
1105 %if 0%{?building_libjava:1}
1106 make -C %{GCCDIST}/libjava install DESTDIR=$RPM_BUILD_ROOT
1107 make -C gcc java.install-man DESTDIR=$RPM_BUILD_ROOT
1108 make -C gcc java.install-common DESTDIR=$RPM_BUILD_ROOT
1109 make -C gcc install-common DESTDIR=$RPM_BUILD_ROOT COMPILERS='jc1$(exeext) jvgenmain$(exeext)'
1110 # install-common also installs collect2, gcov and the g++ and gfortran driver
1111 %if %{build_cp}
1112 rm $RPM_BUILD_ROOT%{_prefix}/bin/g++%{binsuffix}
1113 %endif
1114 %if %{build_fortran}
1115 rm $RPM_BUILD_ROOT%{_prefix}/bin/gfortran%{binsuffix}
1116 %endif
1117 rm $RPM_BUILD_ROOT%{_prefix}/bin/gcov%{binsuffix}
1118 rm $RPM_BUILD_ROOT%{libsubdir}/collect2
1119 %else
1120 make install DESTDIR=$RPM_BUILD_ROOT
1121 %if %{build_java}
1122 make -C gcc java.uninstall DESTDIR=$RPM_BUILD_ROOT
1123 make -C gcc java.install-info DESTDIR=$RPM_BUILD_ROOT
1124 rm $RPM_BUILD_ROOT%{_prefix}/bin/jcf-dump%{binsuffix}
1125 rm $RPM_BUILD_ROOT%{_mandir}/man1/jcf-dump%{binsuffix}.1
1126 rm $RPM_BUILD_ROOT%{libsubdir}/jc1
1127 rm $RPM_BUILD_ROOT%{libsubdir}/jvgenmain
1128 %endif
1129 %endif
1130 %endif
1131
1132 # Remove libffi installed files if we did not want to build it
1133 %if !0%{?building_libffi:1}
1134 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.*
1135 %if %{biarch}
1136   rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.*
1137 %endif
1138 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h
1139 rm -f $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h
1140 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi%{binsuffix}.3*
1141 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_call%{binsuffix}.3*
1142 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/ffi_prep_cif%{binsuffix}.3*
1143 %endif
1144
1145 # Remove some useless .la files
1146 for lib in libobjc libgfortran libgfortranbegin libquadmath libcaf_single \
1147     libmudflap libmudflapth libgomp libstdc++ libsupc++ libgcj-tools libgij; do
1148   rm -f $RPM_BUILD_ROOT%{versmainlibdir}/$lib.la
1149 %if %{biarch}
1150   rm -f $RPM_BUILD_ROOT%{versmainlibdirbi}/$lib.la
1151 %endif
1152 done
1153
1154 mkdir -p $RPM_BUILD_ROOT%{_libdir}
1155 %if %{biarch}
1156 %if %{build_primary_64bit}
1157 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
1158 %else
1159 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64
1160 %endif
1161 %endif
1162
1163 # LIBFFI-DELETE-BEGIN
1164 # LIBJAVA-DELETE-BEGIN
1165 %if %{build_cp}
1166 # Merge multilib c++config.h to allow omitting the duplicate and
1167 # identical other arch specific headers
1168 dir_ml=
1169 cxxconfig="`find %{GCCDIST}/libstdc++-v3/include -name c++config.h`"
1170 for i in `find %{GCCDIST}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
1171   if ! diff -up $cxxconfig $i; then
1172     file_32=x
1173     file_64=x
1174     case $i in
1175       %{GCCDIST}/32/*)
1176         file_32=$i
1177         file_64=$cxxconfig
1178         dir_ml=32
1179         ;;
1180       %{GCCDIST}/64/*)
1181         file_32=$cxxconfig
1182         file_64=$i
1183         dir_ml=64
1184         ;;
1185     esac
1186     if ! ( test -f "$file_32" && test -f "$file_64" ); then
1187       echo "Urgs?"
1188       exit 1
1189     fi
1190     
1191     cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/bits/c++config.h <<EOF
1192 #ifndef _CPP_CPPCONFIG_WRAPPER
1193 #define _CPP_CPPCONFIG_WRAPPER 1
1194 #include <bits/wordsize.h>
1195 #if __WORDSIZE == 32
1196 `cat $file_32`
1197 #else
1198 `cat $file_64`
1199 #endif
1200 #endif
1201 EOF
1202     break
1203   fi
1204 done
1205 rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/[36]*
1206 if ! test -z "$dir_ml"; then
1207   ln -s . $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_dir_version}/%{GCCDIST}/$dir_ml
1208 fi
1209 %endif
1210 # LIBJAVA-DELETE-END
1211
1212 %if 0%{!?build_optional_compiler:1}
1213 # move shared libs from versionspecific dir to main libdir
1214 for libname in \
1215 %if 0%{?building_libjava:1}
1216   libgcj libgij libgcj-tools \
1217 %else
1218 %if %{build_fortran}
1219   libgfortran \
1220 %ifarch %quadmath_arch
1221   libquadmath \
1222 %endif
1223 %endif
1224 %if %{build_objc}
1225   libobjc \
1226 %endif
1227 %if %{build_cp}
1228   libstdc++ \
1229 %endif
1230   libgomp \
1231 %if %{build_with_mudflap}
1232   libmudflap libmudflapth \
1233 %endif
1234 %endif
1235     ; do
1236   for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name $libname.so.*`; do
1237     mv $lib $RPM_BUILD_ROOT%{mainlibdir}/
1238   done
1239   ln -sf %{mainlibdir}/`readlink $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'`  \
1240          $RPM_BUILD_ROOT%{versmainlibdir}/$libname.so
1241 %if %{biarch}
1242   if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1243     for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name "$libname.so.*"`; do
1244       mv $lib $RPM_BUILD_ROOT%{mainlibdirbi}/
1245     done
1246     ln -sf %{mainlibdirbi}/`readlink $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so | sed -e 's/\(.*\.so\.[^\.]*\).*/\1/'`  \
1247          $RPM_BUILD_ROOT%{versmainlibdirbi}/$libname.so
1248   fi
1249 %endif
1250 done
1251 %if %{build_cp}
1252 %if !0%{?building_libjava:1}
1253 # And we want to move the shlib gdb pretty printers to a more sane
1254 # place so ldconfig does not complain
1255 mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}
1256 mv $RPM_BUILD_ROOT%{mainlibdir}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/
1257 sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdir}/libstdc++.so.*-gdb.py
1258 %if %{biarch}
1259   if test -d $RPM_BUILD_ROOT%{versmainlibdirbi}; then
1260     mkdir -p $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}
1261     mv $RPM_BUILD_ROOT%{mainlibdirbi}/libstdc++.so.*-gdb.py $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/
1262     sed -i -e '/^libdir/s/\/gcc\/%{GCCDIST}\/%{gcc_dir_version}//g' $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load%{mainlibdirbi}/libstdc++.so.*-gdb.py
1263   fi
1264 %endif
1265 %endif
1266 %endif
1267 %if 0%{?building_libjava:1}
1268 # libgcj_bc is special as the .so file is actually a different
1269 # library as the library refered to by the SONAME which should
1270 # be a simple link to our libgcj.
1271 for lib in `find $RPM_BUILD_ROOT%{versmainlibdir} -maxdepth 1 -name libgcj_bc.so.*`; do
1272   rm $lib
1273 done
1274 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdir}/libgcj_bc.so.1
1275 %if %{biarch_libjava}
1276 for lib in `find $RPM_BUILD_ROOT%{versmainlibdirbi} -maxdepth 1 -name libgcj_bc.so.*`; do
1277   rm $lib
1278 done
1279 ln -s libgcj.so.%{gcj_sover} $RPM_BUILD_ROOT%{mainlibdirbi}/libgcj_bc.so.1
1280 %endif
1281 %endif
1282 %endif
1283
1284 # LIBJAVA-DELETE-BEGIN
1285 %if 0%{!?build_optional_compiler:1}
1286 # Move libgcc_s around
1287 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1288   rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1289   ln -sf /%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1290 else
1291   mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1292 fi
1293 chmod a+x $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s}
1294 %if %{biarch}
1295 %if %{build_primary_64bit}
1296 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1297   rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1298   ln -sf /lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1299 else
1300   mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1301 fi
1302 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1303 chmod a+x $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s}
1304 %else
1305 # 32-bit biarch systems
1306 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1307   rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1308   ln -sf /lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1309 else
1310   mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1311 fi
1312 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1313 chmod a+x $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s}
1314 %endif
1315 %endif
1316 %else
1317 # Move libgcc_s around
1318 mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/
1319 if test -L $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so; then
1320   rm -f $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so
1321   ln -sf %{versmainlibdir}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so
1322 else
1323   mv $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdir}/
1324 fi
1325 chmod a+x $RPM_BUILD_ROOT%{versmainlibdir}/libgcc_s.so.%{libgcc_s}
1326 %if %{biarch}
1327 %if %{build_primary_64bit}
1328 mv $RPM_BUILD_ROOT/lib/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1329 if test -L $RPM_BUILD_ROOT/lib/libgcc_s.so; then
1330   rm -f $RPM_BUILD_ROOT/lib/libgcc_s.so
1331   ln -sf %{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so
1332 else
1333   mv $RPM_BUILD_ROOT/lib/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/
1334 fi
1335 ln -sf %{versmainlibdirbi32}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s_32.so
1336 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi32}/libgcc_s.so.%{libgcc_s}
1337 %else
1338 # 32-bit biarch systems
1339 mv $RPM_BUILD_ROOT/lib64/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1340 if test -L $RPM_BUILD_ROOT/lib64/libgcc_s.so; then
1341   rm -f $RPM_BUILD_ROOT/lib64/libgcc_s.so
1342   ln -sf %{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s} $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so
1343 else
1344   mv $RPM_BUILD_ROOT/lib64/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/
1345 fi
1346 ln -sf %{versmainlibdirbi64}/libgcc_s.so $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s_64.so
1347 chmod a+x $RPM_BUILD_ROOT%{versmainlibdirbi64}/libgcc_s.so.%{libgcc_s}
1348 %endif
1349 %endif
1350 %endif
1351
1352 # Provide a defaults.spec file which adds a proper rpath
1353 %if 0%{?build_optional_compiler:1}
1354 cat > $RPM_BUILD_ROOT%{libsubdir}/defaults.spec << EOF
1355 *link:
1356 + %%{!m32:%%{!m64:-rpath=%{libsubdir}}} %%{m32:-rpath=%{libsubdir}/32} %%{m64:-rpath=%{libsubdir}/64}
1357 EOF
1358 %endif
1359 # LIBJAVA-DELETE-END
1360 # LIBFFI-DELETE-END
1361
1362 %if %{build_ada}
1363 mv $RPM_BUILD_ROOT%{libsubdir}/adalib/lib*-*.so $RPM_BUILD_ROOT%{_libdir}
1364 ln -sf %{_libdir}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnarl.so
1365 ln -sf %{_libdir}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{libsubdir}/adalib/libgnat.so
1366 chmod a+x $RPM_BUILD_ROOT%{_libdir}/libgna*-*.so
1367 %if %{biarch}
1368 mv $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/lib*-*.so $RPM_BUILD_ROOT%{mainlibdirbi}/
1369 ln -sf %{mainlibdirbi}/libgnarl%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1370 ln -sf %{mainlibdirbi}/libgnat%{binsuffix}.so $RPM_BUILD_ROOT%{versmainlibdirbi}/adalib/libgnarl.so
1371 chmod a+x $RPM_BUILD_ROOT%{mainlibdirbi}/libgna*-*.so
1372 %endif
1373 %endif
1374
1375 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/c++%{binsuffix}
1376
1377 # Remove some crap from the .la files:
1378 for l in `find $RPM_BUILD_ROOT -name '*.la'`; do
1379   echo "changing $l"
1380 # -e '/^dependency_libs/s|%{libsubdir}/\([^.]*\)\.la |%{_libdir}/\1\.la |g'
1381   sed -e '/^dependency_libs/s| -L%{_builddir}/[^ ]*||g' \
1382       -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \
1383       -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \
1384       -e '/^dependency_libs/s|-L[^ ]* ||g' \
1385 %if %{biarch}
1386 %if %{build_primary_64bit}
1387       -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \
1388       -e '/^libdir/s|lib64/\.\./||' \
1389 %else
1390       -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \
1391 %endif
1392 %endif
1393       < $l  > $l.new
1394   mv $l.new $l
1395 done
1396
1397 # GCC-TESTSUITE-DELETE-END
1398 %if 0%{?run_tests:1} 
1399 cp `find . -name "*.sum"` ../testresults/
1400 cp `find . -name "*.log"  \! -name "config.log" | grep -v 'acats.\?/tests' ` ../testresults/
1401 chmod 644 ../testresults/*
1402 %endif
1403 # GCC-TESTSUITE-DELETE-BEGIN
1404 # LIBFFI-DELETE-BEGIN
1405 %if %{build_cp}
1406 # Find C++ and Java headers
1407 find $RPM_BUILD_ROOT%{_prefix}/include/c++ \
1408   -regex ".*/\(org\|gcj\|gnu\|java\|javax\)" -prune \
1409   -o \( -type d -printf "%%%%dir " , \
1410         -printf "%{_prefix}/include/c++/%%P\n" \) > ../c++-headers
1411 %endif
1412 # LIBFFI-DELETE-END
1413 # Remove files that we do not need to clean up filelist
1414 rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{GCCDIST}-*
1415 rm -rf $RPM_BUILD_ROOT%{libsubdir}/install-tools
1416 #rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
1417 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/root
1418 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/curses.h
1419 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/asm-*
1420 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/linux
1421 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sound
1422 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/features.h
1423 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/ncurses.h
1424 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/stdio.h
1425 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/zutil.h
1426 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/X11
1427 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1428 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/obstack.h
1429 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/spe.h
1430 rm -f $RPM_BUILD_ROOT%{libsubdir}/include-fixed/tgmath.h
1431 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/bits
1432 rm -rf $RPM_BUILD_ROOT%{libsubdir}/include-fixed/sys
1433 # no plugins
1434 rm -rf $RPM_BUILD_ROOT%{libsubdir}/plugin
1435 rm -f  $RPM_BUILD_ROOT%{_infodir}/dir
1436 rm -f  $RPM_BUILD_ROOT%{_prefix}/bin/gccbug%{binsuffix}
1437
1438 %if !0%{?building_libjava:1}%{?building_libffi:1}
1439 # delete compile flag tracking from crt files
1440 crt_list=$RPM_BUILD_ROOT%{versmainlibdir}/crt*.o
1441 %if %{biarch}
1442 %if %{build_primary_64bit}
1443 crt32_list=$RPM_BUILD_ROOT%{versmainlibdirbi32}/crt*.o
1444 %else
1445 crt64_list=$RPM_BUILD_ROOT%{versmainlibdirbi64}/crt*.o
1446 %endif
1447 %endif
1448 for o in $crt_list $crt32_list $crt64_list; do
1449   objcopy -R ".comment.SUSE.OPTs" $o
1450 done
1451 %endif
1452
1453 %if 0%{?building_libjava:1}
1454 # gcj -static doesn't work properly anyway, unless using --whole-archive
1455 # let's save the space instead.
1456 find $RPM_BUILD_ROOT -name libgcj.a \
1457         -o -name libgcj-tools.a \
1458         -o -name libgij.a \
1459         -o -name libjvm.a \
1460         -o -name libgcj_bc.a \
1461   | xargs rm -f
1462
1463 find $RPM_BUILD_ROOT -name libgcj.spec | xargs \
1464   sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/'
1465
1466 # security files have broken install locations, also they cause conflicts
1467 # between libgcj versions.  Simply delete them here, libgcj will use its
1468 # defaults in this case (which is what these files contain anyway).
1469 rm $RPM_BUILD_ROOT%{_libdir}/logging.properties
1470 rm -r $RPM_BUILD_ROOT%{_libdir}/security
1471 %endif
1472
1473 %if 0%{?building_libffi:1}
1474 # Move libffi headers, remove empty libffi libtool file
1475 mkdir -p $RPM_BUILD_ROOT%{_prefix}/include
1476 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffitarget.h $RPM_BUILD_ROOT%{_prefix}/include/
1477 mv $RPM_BUILD_ROOT%{libsubdir}/include/ffi.h $RPM_BUILD_ROOT%{_prefix}/include/
1478 rm -f $RPM_BUILD_ROOT%{mainlibdir}/libffi.la
1479 %if %{biarch}
1480 rm -f $RPM_BUILD_ROOT%{mainlibdirbi}/libffi.la
1481 %endif
1482 # Generate a simple pkg-config file
1483 mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig
1484 echo -e 'Name: libffi\nVersion: 3.0.9\nDescription: libffi\nLibs: -lffi' > $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libffi.pc
1485 %endif
1486
1487 %if %{build_java}
1488 %if !%{build_libjava}
1489 rm $RPM_BUILD_ROOT%{_mandir}/man1/jv-convert%{binsuffix}.1
1490 rm $RPM_BUILD_ROOT%{_mandir}/man1/gcj-dbtool%{binsuffix}.1
1491 rm $RPM_BUILD_ROOT%{_mandir}/man1/gij%{binsuffix}.1
1492 rm $RPM_BUILD_ROOT%{_mandir}/man1/grmic%{binsuffix}.1
1493 rm $RPM_BUILD_ROOT%{_mandir}/man1/gc-analyze%{binsuffix}.1
1494 rm $RPM_BUILD_ROOT%{_mandir}/man1/aot-compile%{binsuffix}.1
1495 rm $RPM_BUILD_ROOT%{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1
1496 %endif
1497 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/aotcompile.py
1498 rm -f $RPM_BUILD_ROOT%{_datadir}/gcc%{binsuffix}/python/libjava/classfile.py
1499 %endif
1500 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/fsf-funding.7
1501 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gfdl.7
1502 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/gpl.7
1503 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
1504 %if %{build_nof}
1505 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/nof/libiberty.a
1506 %endif
1507 %if %{biarch}
1508 %if %{build_primary_64bit}
1509 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
1510 %else
1511 rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/libiberty.a
1512 %endif
1513 %endif
1514 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.a
1515 rm -f $RPM_BUILD_ROOT%{libsubdir}/liblto_plugin.la
1516
1517 # LIBFFI-DELETE-BEGIN
1518 %if 0%{?building_libjava:1}
1519 # For building libjava only we need to delete other info docs
1520 rm $RPM_BUILD_ROOT%{_infodir}/cp-tools.info*
1521 # Remove stale manpages for binaries we do not build
1522 rm $RPM_BUILD_ROOT%{_mandir}/man1/gjdoc%{binsuffix}.1
1523 # For building the java frontend we need to copy the ecj jar
1524 mkdir -p $RPM_BUILD_ROOT%{libsubdir}
1525 cp $RPM_SOURCE_DIR/ecj.jar $RPM_BUILD_ROOT%{libsubdir}
1526 %else
1527 # For regular build, some info files do not get renamed properly.
1528 # Do so here.
1529 mv $RPM_BUILD_ROOT%{_infodir}/libgomp.info $RPM_BUILD_ROOT%{_infodir}/libgomp%{binsuffix}.info
1530 %if %{build_fortran} 
1531 %ifarch %quadmath_arch
1532 mv $RPM_BUILD_ROOT%{_infodir}/libquadmath.info $RPM_BUILD_ROOT%{_infodir}/libquadmath%{binsuffix}.info
1533 %endif
1534 %endif
1535 %if %{build_ada}
1536 mv $RPM_BUILD_ROOT%{_infodir}/gnat-style.info $RPM_BUILD_ROOT%{_infodir}/gnat-style%{binsuffix}.info
1537 mv $RPM_BUILD_ROOT%{_infodir}/gnat_rm.info $RPM_BUILD_ROOT%{_infodir}/gnat_rm%{binsuffix}.info
1538 mv $RPM_BUILD_ROOT%{_infodir}/gnat_ugn.info $RPM_BUILD_ROOT%{_infodir}/gnat_ugn%{binsuffix}.info
1539 %endif
1540 %endif
1541
1542 # LIBJAVA-DELETE-BEGIN
1543 cd ..
1544 %find_lang gcc@base_ver@-locale --all-name
1545
1546 %post info
1547 %install_info --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1548 %install_info --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1549 %install_info --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1550 %install_info --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1551 %install_info --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1552 %install_info --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1553 %if %{build_fortran} 
1554 %install_info --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1555 %ifarch %quadmath_arch
1556 %install_info --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1557 %endif
1558 %endif
1559 %if %{build_java}
1560 %install_info --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1561 %endif
1562 %if %{build_ada}
1563 %install_info --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1564 %install_info --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1565 %install_info --info-dir=%{_infodir} --section="GNU Ada tools" --entry="* GNAT User's Guide: (gnat_ugn). GNAT User's Guide for Unix Platforms" %{_infodir}/gnat_ugn%{binsuffix}.info.gz
1566 %endif
1567
1568 %postun info
1569 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cpp%{binsuffix}.info.gz
1570 %install_info_delete --info-dir=%{_infodir} %{_infodir}/cppinternals%{binsuffix}.info.gz
1571 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcc%{binsuffix}.info.gz
1572 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccint%{binsuffix}.info.gz
1573 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gccinstall%{binsuffix}.info.gz
1574 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libgomp%{binsuffix}.info.gz
1575 %if %{build_fortran}
1576 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gfortran%{binsuffix}.info.gz
1577 %ifarch %quadmath_arch
1578 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libquadmath%{binsuffix}.info.gz
1579 %endif
1580 %endif
1581 %if %{build_java}
1582 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gcj%{binsuffix}.info.gz
1583 %endif
1584 %if %{build_ada}
1585 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat-style%{binsuffix}.info.gz
1586 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_rm%{binsuffix}.info.gz
1587 %install_info_delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn%{binsuffix}.info.gz
1588 %endif
1589
1590
1591 %files
1592 %defattr(-,root,root)
1593 %dir %{_libdir}/gcc
1594 %dir %{_libdir}/gcc/%{GCCDIST}
1595 %dir %{libsubdir}
1596 %dir %{libsubdir}/include
1597 %dir %{libsubdir}/include-fixed
1598 %if %{biarch}
1599 %if %{build_primary_64bit}
1600 %dir %{libsubdir}/32
1601 %else
1602 %dir %{libsubdir}/64
1603 %endif
1604 %endif
1605 %if %{build_nof}
1606 %dir %{libsubdir}/nof
1607 %endif
1608 %{_prefix}/bin/gcc%{binsuffix}
1609 %{_prefix}/bin/gcov%{binsuffix}
1610 %{_prefix}/bin/gcc-ar%{binsuffix}
1611 %{_prefix}/bin/gcc-nm%{binsuffix}
1612 %{_prefix}/bin/gcc-ranlib%{binsuffix}
1613 %{libsubdir}/collect2
1614 %{libsubdir}/lto1
1615 %{libsubdir}/lto-wrapper
1616 %{libsubdir}/liblto_plugin.so*
1617 %{libsubdir}/include-fixed/README
1618 %{libsubdir}/include-fixed/limits.h
1619 %{libsubdir}/include-fixed/syslimits.h
1620 %{libsubdir}/include/omp.h
1621 %{libsubdir}/include/float.h
1622 %{libsubdir}/include/iso646.h
1623 %{libsubdir}/include/stdarg.h
1624 %{libsubdir}/include/stdbool.h
1625 %{libsubdir}/include/stdfix.h
1626 %{libsubdir}/include/stddef.h
1627 %{libsubdir}/include/unwind.h
1628 %{libsubdir}/include/varargs.h
1629 %{libsubdir}/include/stdint.h
1630 %{libsubdir}/include/stdint-gcc.h
1631 %{libsubdir}/include/stdnoreturn.h
1632 %{libsubdir}/include/stdalign.h
1633 %ifarch %arm
1634 %{libsubdir}/include/mmintrin.h
1635 %{libsubdir}/include/arm_neon.h
1636 %{libsubdir}/include/unwind-arm-common.h
1637 %endif
1638 %ifarch %ix86 x86_64
1639 %{libsubdir}/include/cross-stdarg.h
1640 %{libsubdir}/include/cpuid.h
1641 %{libsubdir}/include/mm3dnow.h
1642 %{libsubdir}/include/mmintrin.h
1643 %{libsubdir}/include/ammintrin.h
1644 %{libsubdir}/include/bmmintrin.h
1645 %{libsubdir}/include/emmintrin.h
1646 %{libsubdir}/include/immintrin.h
1647 %{libsubdir}/include/avxintrin.h
1648 %{libsubdir}/include/pmmintrin.h
1649 %{libsubdir}/include/xmmintrin.h
1650 %{libsubdir}/include/tmmintrin.h
1651 %{libsubdir}/include/nmmintrin.h
1652 %{libsubdir}/include/smmintrin.h
1653 %{libsubdir}/include/wmmintrin.h
1654 %{libsubdir}/include/x86intrin.h
1655 %{libsubdir}/include/ia32intrin.h
1656 %{libsubdir}/include/mm_malloc.h
1657 %{libsubdir}/include/fma4intrin.h
1658 %{libsubdir}/include/xopintrin.h
1659 %{libsubdir}/include/lwpintrin.h
1660 %{libsubdir}/include/popcntintrin.h
1661 %{libsubdir}/include/bmiintrin.h
1662 %{libsubdir}/include/tbmintrin.h
1663 %{libsubdir}/include/avx2intrin.h
1664 %{libsubdir}/include/bmi2intrin.h
1665 %{libsubdir}/include/fmaintrin.h
1666 %{libsubdir}/include/lzcntintrin.h
1667 %{libsubdir}/include/f16cintrin.h
1668 %endif
1669 %if %{build_with_mudflap}
1670 %{libsubdir}/include/mf-runtime.h
1671 %endif
1672 %versmainlib *crt*.o
1673 %versmainlib libgcc*.a
1674 %versmainlib libgcov.a
1675 %versmainlib libgcc_s*.so
1676 %if %{build_with_mudflap}
1677 %versmainlib libmudflap.a
1678 %versmainlib libmudflap.so
1679 %versmainlib libmudflapth.a
1680 %versmainlib libmudflapth.so
1681 %endif
1682 %versmainlib libgomp.so
1683 %versmainlib libgomp.a
1684 %versmainlib libgomp.spec
1685 %doc %{_mandir}/man1/gcc%{binsuffix}.1.gz
1686 %doc %{_mandir}/man1/gcov%{binsuffix}.1.gz
1687 %if 0%{?build_optional_compiler:1}
1688 %{libsubdir}/defaults.spec
1689 %endif
1690
1691 %if %{separate_biarch}
1692 %files -n gcc@base_ver@%{separate_biarch_suffix}
1693 %defattr(-,root,root)
1694 %versbiarchlib *crt*.o
1695 %versbiarchlib libgcc*.a
1696 %versbiarchlib libgcov.a
1697 %versbiarchlib libgcc_s*.so
1698 %if %{build_with_mudflap}
1699 %versbiarchlib libmudflap.a
1700 %versbiarchlib libmudflap.so
1701 %versbiarchlib libmudflapth.a
1702 %versbiarchlib libmudflapth.so
1703 %endif
1704 %versbiarchlib libgomp.so
1705 %versbiarchlib libgomp.a
1706 %versbiarchlib libgomp.spec
1707 %endif
1708
1709 %files locale -f gcc@base_ver@-locale.lang
1710
1711 %if %{build_cp}
1712 %files c++
1713 %defattr(-,root,root)
1714 %dir %{_libdir}/gcc
1715 %dir %{_libdir}/gcc/%{GCCDIST}
1716 %dir %{libsubdir}
1717 %{_prefix}/bin/g++%{binsuffix}
1718 %doc %{_mandir}/man1/g++%{binsuffix}.1.gz
1719 %{libsubdir}/cc1plus
1720
1721 %files -n libstdc++@base_ver@
1722 %defattr(-,root,root)
1723 %if %{build_nof}
1724 %dir %{noflibdir}
1725 %endif
1726 %mainlib libstdc++.so.*
1727
1728 %if %{separate_biarch}
1729 %files -n libstdc++@base_ver@%{separate_biarch_suffix}
1730 %defattr(-,root,root)
1731 %biarchlib libstdc++.so.*
1732 %endif
1733
1734 %files -n libstdc++@base_ver@-devel -f c++-headers
1735 %defattr(-,root,root)
1736 %versmainlib libstdc++.a
1737 %versmainlib libstdc++.so
1738 %versmainlib libsupc++.a
1739 %dir %{_datadir}/gdb
1740 %dir %{_datadir}/gdb/auto-load
1741 %dir %{_datadir}/gdb/auto-load%{_prefix}
1742 %dir %{_datadir}/gdb/auto-load/%{mainlibdir}
1743 %{_datadir}/gdb/auto-load/%{mainlibdir}/libstdc++.so.*-gdb.py
1744 %{_datadir}/gcc%{binsuffix}
1745
1746 %if %{separate_biarch}
1747 %files -n libstdc++@base_ver@-devel%{separate_biarch_suffix}
1748 %defattr(-,root,root)
1749 %versbiarchlib libstdc++.a
1750 %versbiarchlib libstdc++.so
1751 %versbiarchlib libsupc++.a
1752 %dir %{_datadir}/gdb/auto-load/%{mainlibdirbi}
1753 %{_datadir}/gdb/auto-load/%{mainlibdirbi}/libstdc++.so.*-gdb.py
1754 %endif
1755
1756 %files -n libstdc++@base_ver@-doc
1757 %defattr(-,root,root)
1758 %doc libstdc++-v3/doc/html
1759 %endif
1760
1761 %files -n libgcc@base_ver@
1762 %defattr(-,root,root)
1763 %if 0%{!?build_optional_compiler:1}
1764 /%{_lib}/libgcc_s.so.%{libgcc_s}
1765 %if %{build_nof}
1766 %dir /lib/nof
1767 /lib/nof/libgcc_s.so.%{libgcc_s}
1768 %endif
1769 %if %{biarch}
1770 %if %{build_primary_64bit}
1771 %if !%{separate_bi32}
1772 /lib/libgcc_s.so.%{libgcc_s}
1773 %endif
1774 %else
1775 %if !%{separate_bi64}
1776 /lib64/libgcc_s.so.%{libgcc_s}
1777 %endif
1778 %endif
1779 %endif
1780 %else
1781 %versmainlib libgcc_s.so.%{libgcc_s}
1782 %endif
1783
1784 %if %{separate_bi64}
1785 %files -n libgcc@base_ver@-64bit
1786 %defattr(-,root,root)
1787 %if 0%{!?build_optional_compiler:1}
1788 /lib64/libgcc_s.so.%{libgcc_s}
1789 %else
1790 %versbiarchlib libgcc_s.so.%{libgcc_s}
1791 %endif
1792 %endif
1793
1794 %if %{separate_bi32}
1795 %files -n libgcc@base_ver@-32bit
1796 %defattr(-,root,root)
1797 %if 0%{!?build_optional_compiler:1}
1798 /lib/libgcc_s.so.%{libgcc_s}
1799 %else
1800 %versbiarchlib libgcc_s.so.%{libgcc_s}
1801 %endif
1802 %endif
1803
1804
1805 %files -n libgomp@base_ver@
1806 %defattr(-,root,root)
1807 %mainlib libgomp.so.1*
1808
1809 %if %{separate_biarch}
1810 %files -n libgomp@base_ver@%{separate_biarch_suffix}
1811 %defattr(-,root,root)
1812 %biarchlib libgomp.so.1*
1813 %endif
1814
1815
1816 %if %{build_fortran}
1817 %files fortran
1818 %defattr(-,root,root)
1819 %dir %{libsubdir}/finclude
1820 %{_prefix}/bin/gfortran%{binsuffix}
1821 %{libsubdir}/f951
1822 %{libsubdir}/finclude/*
1823 %versmainlib libgfortran.a
1824 %versmainlib libgfortran.so
1825 %versmainlib libgfortran.spec
1826 %versmainlib libgfortranbegin.a
1827 %versmainlib libcaf_single.a
1828 %ifarch %quadmath_arch
1829 %{libsubdir}/include/quadmath.h
1830 %{libsubdir}/include/quadmath_weak.h
1831 %versmainlib libquadmath.a
1832 %versmainlib libquadmath.so
1833 %endif
1834 %doc %{_mandir}/man1/gfortran%{binsuffix}.1.gz
1835
1836 %if %{separate_biarch}
1837 %files fortran%{separate_biarch_suffix}
1838 %defattr(-,root,root)
1839 %versbiarchlib libgfortran.a
1840 %versbiarchlib libgfortran.so
1841 %versbiarchlib libgfortran.spec
1842 %versbiarchlib libgfortranbegin.a
1843 %versbiarchlib libcaf_single.a
1844 %ifarch %quadmath_arch
1845 %versbiarchlib libquadmath.a
1846 %versbiarchlib libquadmath.so
1847 %endif
1848 %endif
1849
1850 %files -n libgfortran@base_ver@
1851 %defattr(-,root,root)
1852 %mainlib libgfortran.so.*
1853
1854 %if %{separate_biarch}
1855 %files -n libgfortran@base_ver@%{separate_biarch_suffix}
1856 %defattr(-,root,root)
1857 %biarchlib libgfortran.so.*
1858 %endif
1859
1860 %ifarch %quadmath_arch
1861 %files -n libquadmath@base_ver@
1862 %defattr(-,root,root)
1863 %mainlib libquadmath.so.*
1864
1865 %if %{separate_biarch}
1866 %files -n libquadmath@base_ver@%{separate_biarch_suffix}
1867 %defattr(-,root,root)
1868 %biarchlib libquadmath.so.*
1869 %endif
1870 %endif
1871 %endif
1872
1873 %if %{build_with_mudflap}
1874 %files -n libmudflap@base_ver@
1875 %defattr(-,root,root)
1876 %mainlib libmudflap.so.0*
1877 %mainlib libmudflapth.so.0*
1878
1879 %if %{separate_biarch}
1880 %files -n libmudflap@base_ver@%{separate_biarch_suffix}
1881 %defattr(-,root,root)
1882 %biarchlib libmudflap.so.0*
1883 %biarchlib libmudflapth.so.0*
1884 %endif
1885 %endif
1886
1887 %files info
1888 %defattr(-,root,root)
1889 %doc %{_infodir}/cpp%{binsuffix}.info*.gz
1890 %doc %{_infodir}/cppinternals%{binsuffix}.info*.gz
1891 %doc %{_infodir}/gcc%{binsuffix}.info*.gz
1892 %doc %{_infodir}/gccint%{binsuffix}.info*.gz
1893 %doc %{_infodir}/gccinstall%{binsuffix}.info*.gz
1894 %doc %{_infodir}/libgomp%{binsuffix}.info*.gz
1895 %if %{build_fortran}
1896 %doc %{_infodir}/gfortran%{binsuffix}.info*.gz
1897 %ifarch %quadmath_arch
1898 %doc %{_infodir}/libquadmath%{binsuffix}.info*.gz
1899 %endif
1900 %endif
1901 %if %{build_java}
1902 %doc %{_infodir}/gcj%{binsuffix}.info*.gz
1903 %endif
1904 %if %{build_ada}
1905 %doc %{_infodir}/gnat-style%{binsuffix}.info*gz
1906 %doc %{_infodir}/gnat_rm%{binsuffix}.info*gz
1907 %doc %{_infodir}/gnat_ugn%{binsuffix}.info*gz
1908 %endif
1909
1910 %files -n cpp@base_ver@
1911 %defattr(-,root,root)
1912 %dir %{_libdir}/gcc
1913 %dir %{_libdir}/gcc/%{GCCDIST}
1914 %dir %{libsubdir}
1915 %{_prefix}/bin/cpp%{binsuffix}
1916 %{libsubdir}/cc1
1917 #%{libsubdir}/specs
1918 %doc %{_mandir}/man1/cpp%{binsuffix}.1.gz
1919
1920 %if %{build_objc}
1921 %files objc
1922 %defattr(-,root,root)
1923 %{libsubdir}/cc1obj
1924 %{libsubdir}/include/objc
1925 %versmainlib libobjc.a
1926 %versmainlib libobjc.so
1927
1928 %if %{separate_biarch}
1929 %files objc%{separate_biarch_suffix}
1930 %defattr(-,root,root)
1931 %versbiarchlib libobjc.a
1932 %versbiarchlib libobjc.so
1933 %endif
1934
1935 %files -n libobjc@base_ver@
1936 %defattr(-,root,root)
1937 %mainlib libobjc.so.*
1938
1939 %if %{separate_biarch}
1940 %files -n libobjc@base_ver@%{separate_biarch_suffix}
1941 %defattr(-,root,root)
1942 %biarchlib libobjc.so.*
1943 %endif
1944 %endif
1945
1946
1947 %if %{build_objcp}
1948 %files obj-c++
1949 %defattr(-,root,root)
1950 %{libsubdir}/cc1objplus
1951 %endif
1952
1953
1954 %if %{build_ada}
1955 %files ada
1956 %defattr(-,root,root)
1957 %dir %{_libdir}/gcc
1958 %dir %{_libdir}/gcc/%{GCCDIST}
1959 %dir %{libsubdir}
1960 %{_prefix}/bin/gnat*
1961 %dir %{versmainlibdir}/adainclude
1962 %dir %{versmainlibdir}/adalib
1963 %{versmainlibdir}/adainclude
1964 %{versmainlibdir}/adalib/*.ali
1965 %{versmainlibdir}/adalib/*.a
1966 %{versmainlibdir}/adalib/libgnarl.so
1967 %{versmainlibdir}/adalib/libgnat.so
1968 %{versmainlibdir}/gnat1
1969
1970 %if %{separate_biarch}
1971 %files ada%{separate_biarch_suffix}
1972 %defattr(-,root,root)
1973 %dir %{versmainlibdirbi}/adainclude
1974 %dir %{versmainlibdirbi}/adalib
1975 %{versmainlibdirbi}/adainclude
1976 %{versmainlibdirbi}/adalib/*.ali
1977 %{versmainlibdirbi}/adalib/*.a
1978 %{versmainlibdirbi}/adalib/libgnarl.so
1979 %{versmainlibdirbi}/adalib/libgnat.so
1980 %endif
1981
1982 %files -n libada@base_ver@
1983 %defattr(-,root,root)
1984 %mainlib libgnarl-*.so
1985 %mainlib libgnat-*.so
1986
1987 %if %{separate_biarch}
1988 %files -n libada@base_ver@%{separate_biarch_suffix}
1989 %defattr(-,root,root)
1990 %biarchlib libgnarl-*.so
1991 %biarchlib libgnat-*.so
1992 %endif
1993 %endif
1994 # LIBJAVA-DELETE-END
1995
1996
1997 %if %{build_java}
1998 %if 0%{?building_libjava:1}
1999 %files -n gcc@base_ver@-java
2000 %defattr(-,root,root)
2001 %{_prefix}/bin/gcj%{binsuffix}
2002 %{_prefix}/bin/gcjh%{binsuffix}
2003 %{_prefix}/bin/gcj-dbtool%{binsuffix}
2004 %{_prefix}/bin/jcf-dump%{binsuffix}
2005 %{_prefix}/bin/jv-convert%{binsuffix}
2006 %{_prefix}/bin/gc-analyze%{binsuffix}
2007 %{_prefix}/bin/aot-compile%{binsuffix}
2008 %{_prefix}/bin/rebuild-gcj-db%{binsuffix}
2009 %{libsubdir}/jc1
2010 %{libsubdir}/jvgenmain
2011 %{libsubdir}/ecj.jar
2012 %{libsubdir}/ecj1
2013 %doc %{_mandir}/man1/gcj%{binsuffix}.1.gz
2014 %doc %{_mandir}/man1/gcjh%{binsuffix}.1.gz
2015 %doc %{_mandir}/man1/gcj-dbtool%{binsuffix}.1.gz
2016 %doc %{_mandir}/man1/jcf-dump%{binsuffix}.1.gz
2017 %doc %{_mandir}/man1/jv-convert%{binsuffix}.1.gz
2018 %doc %{_mandir}/man1/gc-analyze%{binsuffix}.1.gz
2019 %doc %{_mandir}/man1/aot-compile%{binsuffix}.1.gz
2020 %doc %{_mandir}/man1/rebuild-gcj-db%{binsuffix}.1.gz
2021 %endif
2022 %endif
2023
2024 %if %{build_java}
2025 %if %{build_libjava}
2026 %files -n libgcj@base_ver@
2027 %defattr(-,root,root)
2028 %dir %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}
2029 %dir %{_libdir}/gcc
2030 %dir %{_libdir}/gcc/%{GCCDIST}
2031 %dir %{libsubdir}
2032 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/classmap.db
2033 # We usually do not multilib libjava
2034 %if %{biarch_libjava}
2035 %versbiarchlib libgcj.la
2036 %biarchlib libgcj.so.*
2037 %biarchlib libgij.so.*
2038 %biarchlib libgcj-tools.so.*
2039 %else
2040 %versmainlib libgcj.la
2041 %mainlib libgcj.so.*
2042 %mainlib libgij.so.*
2043 %mainlib libgcj-tools.so.*
2044 %endif
2045 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.la
2046 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjvm.so
2047 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.la
2048 %{_libdir}/gcj-%{gcc_dir_version}-%{gcj_sover}/libjavamath.so
2049
2050 %files -n libgcj_bc@base_ver@
2051 %defattr(-,root,root)
2052 %if %{biarch_libjava}
2053 %biarchlib libgcj_bc.so.*
2054 %else
2055 %mainlib libgcj_bc.so.*
2056 %endif
2057
2058 %files -n libgcj@base_ver@-jar
2059 %defattr(-,root,root)
2060 %{_prefix}/share/java/libgcj-%{gcc_dir_version}.jar
2061 %{_prefix}/share/java/libgcj-tools-%{gcc_dir_version}.jar
2062
2063 %files -n libgcj@base_ver@-devel
2064 %defattr(-,root,root)
2065 %dir %{_prefix}/include/c++
2066 %dir %{libsubdir}
2067 %dir %{libsubdir}/include
2068 %dir %{gxxinclude}
2069 %{_libdir}/pkgconfig/libgcj%{binsuffix}.pc
2070 %{libsubdir}/include/jawt.h
2071 %{libsubdir}/include/jawt_md.h
2072 %{libsubdir}/include/jni.h
2073 %{libsubdir}/include/jni_md.h
2074 %{libsubdir}/include/jvmpi.h
2075 %{gxxinclude}/gnu
2076 %{gxxinclude}/gcj
2077 %{gxxinclude}/java
2078 %{gxxinclude}/javax
2079 %{gxxinclude}/org
2080 %{gxxinclude}/sun
2081 %{libsubdir}/include/gcj
2082 %if %{biarch_libjava}
2083 %versbiarchlib libgcj.so
2084 %versbiarchlib libgcj.spec
2085 %versbiarchlib libgcj-tools.so
2086 %versbiarchlib libgij.so
2087 %versbiarchlib libgcj_bc.so
2088 %else
2089 %versmainlib libgcj.so
2090 %versmainlib libgcj.spec
2091 %versmainlib libgcj-tools.so
2092 %versmainlib libgij.so
2093 %versmainlib libgcj_bc.so
2094 %endif
2095
2096 %files -n gcc@base_ver@-gij
2097 %defattr(-,root,root)
2098 %{_prefix}/bin/gij%{binsuffix}
2099 %{_prefix}/bin/gappletviewer%{binsuffix}
2100 %{_prefix}/bin/gjar%{binsuffix}
2101 %{_prefix}/bin/gjarsigner%{binsuffix}
2102 %{_prefix}/bin/gjavah%{binsuffix}
2103 %{_prefix}/bin/gkeytool%{binsuffix}
2104 %{_prefix}/bin/gnative2ascii%{binsuffix}
2105 %{_prefix}/bin/gorbd%{binsuffix}
2106 %{_prefix}/bin/grmic%{binsuffix}
2107 %{_prefix}/bin/grmid%{binsuffix}
2108 %{_prefix}/bin/grmiregistry%{binsuffix}
2109 %{_prefix}/bin/gserialver%{binsuffix}
2110 %{_prefix}/bin/gtnameserv%{binsuffix}
2111 %doc %{_mandir}/man1/gij%{binsuffix}.1.gz
2112 %doc %{_mandir}/man1/gappletviewer%{binsuffix}.1.gz
2113 %doc %{_mandir}/man1/grmic%{binsuffix}.1.gz
2114 %doc %{_mandir}/man1/grmid%{binsuffix}.1.gz
2115 %doc %{_mandir}/man1/grmiregistry%{binsuffix}.1.gz
2116 %doc %{_mandir}/man1/gkeytool%{binsuffix}.1.gz
2117 %doc %{_mandir}/man1/gjar%{binsuffix}.1.gz
2118 %doc %{_mandir}/man1/gjarsigner%{binsuffix}.1.gz
2119 %doc %{_mandir}/man1/gjavah%{binsuffix}.1.gz
2120 %doc %{_mandir}/man1/gnative2ascii%{binsuffix}.1.gz
2121 %doc %{_mandir}/man1/gorbd%{binsuffix}.1.gz
2122 %doc %{_mandir}/man1/gserialver%{binsuffix}.1.gz
2123 %doc %{_mandir}/man1/gtnameserv%{binsuffix}.1.gz
2124 %endif
2125 %endif
2126 # LIBFFI-DELETE-END
2127
2128 %if %{build_java}
2129 %if 0%{?building_libffi:1}
2130 %files -n libffi@base_ver@
2131 %defattr(-,root,root)
2132 %mainlib libffi.so.*
2133
2134 %if %{separate_biarch}
2135 %files -n libffi@base_ver@%{separate_biarch_suffix}
2136 %defattr(-,root,root)
2137 %biarchlib libffi.so.*
2138 %endif
2139
2140 %files -n libffi@base_ver@-devel
2141 %defattr(-,root,root)
2142 %{_prefix}/include/ffi.h
2143 %{_prefix}/include/ffitarget.h
2144 %mainlib libffi.so
2145 %mainlib libffi.a
2146 %{_libdir}/pkgconfig/libffi.pc
2147 %doc %{_mandir}/man3/ffi%{binsuffix}.3.gz
2148 %doc %{_mandir}/man3/ffi_call%{binsuffix}.3.gz
2149 %doc %{_mandir}/man3/ffi_prep_cif%{binsuffix}.3.gz
2150
2151 %if %{separate_biarch}
2152 %files -n libffi@base_ver@-devel%{separate_biarch_suffix}
2153 %defattr(-,root,root)
2154 %biarchlib libffi.so
2155 %biarchlib libffi.a
2156 %endif
2157 %endif
2158 %endif
2159 # GCC-TESTSUITE-DELETE-END
2160
2161 %if 0%{?run_tests:1}
2162 %files -n gcc@base_ver@-testresults
2163 %defattr(-,root,root)
2164 %doc testresults/test_summary.txt
2165 %doc testresults/*.sum
2166 %doc testresults/*.log
2167 %endif
2168
2169
2170 %changelog