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