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