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