3 # - http://gcc.gnu.org/PR11203 (inline-asm)
4 # - http://gcc.gnu.org/PR14776 (target / wrong SSE-code)
5 # - http://gcc.gnu.org/PR18378 (regression)
8 %bcond_without ada # build without ADA support
9 %bcond_without java # build without Java support
10 %bcond_without objc # build without ObjC support
11 %bcond_with ssp # build with stack-smashing protector support
13 Summary: GNU Compiler Collection: the C compiler and shared files
14 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
15 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
16 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
22 Group: Development/Languages
23 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
24 # Source0-md5: e744b30c834360fccac41eb7269a3011
25 Source1: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
26 # Source1-md5: 4736f3422ddfb808423b745629acc321
27 Source2: http://www.trl.ibm.com/projects/security/ssp/gcc2_95_3/gcc_stack_protect.m4.gz
28 # Source2-md5: 07d93ad5fc07ca44cdaba46c658820de
29 Source3: gcc_visibility.m4
30 Patch0: %{name}-info.patch
31 Patch1: %{name}-nolocalefiles.patch
32 Patch2: %{name}-ada-link-new-libgnat.patch
33 Patch3: %{name}-nodebug.patch
34 Patch4: %{name}-ssp.patch
35 Patch5: %{name}-ada-link.patch
36 Patch6: %{name}-pr15666.patch
37 Patch7: %{name}-pr16276.patch
38 Patch8: %{name}-pr18185.patch
40 # -fvisibility={default|internal|hidden|protected}
42 # Set the default ELF image symbol visibility to the specified option.
43 # All symbols will be marked with this unless overrided within the code.
44 # Using this feature can very substantially improve linking and load times
45 # of shared object libraries, produce more optimised code, provide near-perfect
46 # API export and prevent symbol clashes. It is strongly recommended that you
47 # use this in any shared objects you distribute.
49 # -fvisibility-inlines-hidden
51 # Causes all inlined methods to be marked with __attribute__((visibility("hidden")))
52 # so that they do not appear in the export table of a DSO and do not require a PLT
53 # indirection when used within the DSO. Enabling this option can have a dramatic
54 # effect on load and link times of a DSO as it massively reduces the size
55 # of the dynamic export table when the library makes heavy use of templates.
56 # While it can cause bloating through duplication of code within each DSO
57 # where it is used, often the wastage is less than the considerable space
58 # occupied by a long symbol name in the export table which is typical when using
59 # templates and namespaces.
61 # How to Write Shared Libraries: http://people.redhat.com/drepper/dsohowto.pdf
63 Patch9: %{name}-visibility.patch
65 Patch20: %{name}-ada-bootstrap.patch
66 URL: http://gcc.gnu.org/
67 BuildRequires: autoconf
68 BuildRequires: automake
69 BuildRequires: binutils >= 2:2.15.91.0.2
71 BuildRequires: fileutils >= 4.0.41
74 BuildRequires: gcc(ada)
75 BuildRequires: gcc-ada
77 BuildRequires: gettext-devel
78 BuildRequires: glibc-devel >= 2.2.5-20
79 BuildRequires: perl-devel
80 BuildRequires: texinfo >= 4.1
81 BuildRequires: zlib-devel
82 Requires: binutils >= 2:2.15.91.0.2
83 Requires: gcc-dirs >= 1.0-3
84 Requires: libgcc = %{epoch}:%{version}-%{release}
85 Provides: cpp = %{epoch}:%{version}-%{release}
86 %{?with_ada:Provides: gcc(ada)}
87 %{?with_ssp:Provides: gcc(ssp)}
88 # ksi for gcc > 3.3.x not ready yet
94 Conflicts: glibc-devel < 2.2.5-20
95 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
97 %define _slibdir /%{_lib}
99 %define _slibdir32 /lib
100 %define _libdir /usr/lib
101 %define rpmcflags -O2 -mtune=ultrasparc
105 A compiler aimed at integrating all the optimizations and features
106 necessary for a high-performance and stable development environment.
108 This package contains the C compiler and some files shared by various
109 parts of the GNU Compiler Collection. In order to use another GCC
110 compiler you will need to install the appropriate subpackage.
113 Un compilador que intenta integrar todas las optimalizaciones y
114 características necesarias para un entorno de desarrollo eficaz y
117 Este paquete contiene el compilador de C y unos ficheros compartidos
118 por varias partes de la colección de compiladores GNU (GCC). Para usar
119 otro compilador de GCC será necesario que instale el subpaquete
123 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
124 wyprodukowania szybkiego i stabilnego kodu wynikowego.
126 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
127 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
128 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
130 %description -l pt_BR
131 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
132 GNU Compiler Collection.
135 Summary: Shared gcc library
136 Summary(es): Biblioteca compartida de gcc
137 Summary(pl): Biblioteka gcc
138 Summary(pt_BR): Biblioteca runtime para o GCC
142 %description -n libgcc
145 %description -n libgcc -l es
146 Biblioteca compartida de gcc.
148 %description -n libgcc -l pl
149 Biblioteka dynamiczna gcc.
151 %description -n libgcc -l pt_BR
152 Biblioteca runtime para o GCC.
155 Summary: C++ support for gcc
156 Summary(es): Soporte de C++ para gcc
157 Summary(pl): Obs³uga C++ dla gcc
158 Summary(pt_BR): Suporte C++ para o gcc
159 Group: Development/Languages
160 Requires: %{name} = %{epoch}:%{version}-%{release}
165 This package adds C++ support to the GNU Compiler Collection. It
166 includes support for most of the current C++ specification, including
167 templates and exception handling. It does not include a standard C++
168 library, which is available separately.
170 %description c++ -l de
171 Dieses Paket enthält die C++-Unterstützung für den
172 GNU-Compiler-Collection. Es unterstützt die aktuelle
173 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
174 C++-Standard-Library ist nicht enthalten - sie ist getrennt
177 %description c++ -l es
178 Este paquete añade soporte de C++ al GCC (colección de compiladores
179 GNU). Ello incluye el soporte para la mayoría de la especificación
180 actual de C++, incluyendo plantillas y manejo de excepciones. No
181 incluye la biblioteca estándar de C++, la que es disponible separada.
183 %description c++ -l fr
184 Ce package ajoute un support C++ a la collection de compilateurs GNU.
185 Il comprend un support pour la plupart des spécifications actuelles de
186 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
187 une bibliothéque C++ standard, qui est disponible séparément.
189 %description c++ -l pl
190 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
191 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
192 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
194 %description c++ -l pt_BR
195 Este pacote adiciona suporte C++ para o gcc.
197 %description c++ -l tr
198 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
199 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
200 C++ kitaplýðý bu pakette yer almaz.
203 Summary: Objective C support for gcc
204 Summary(de): Objektive C-Unterstützung für gcc
205 Summary(es): Soporte de Objective C para gcc
206 Summary(fr): Gestion d'Objective C pour gcc
207 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
208 Summary(tr): gcc için Objective C desteði
209 Group: Development/Languages
210 Requires: %{name} = %{epoch}:%{version}-%{release}
211 Requires: libobjc = %{epoch}:%{version}-%{release}
216 This package adds Objective C support to the GNU Compiler Collection.
217 Objective C is a object oriented derivative of the C language, mainly
218 used on systems running NeXTSTEP. This package does not include the
219 standard objective C object library.
221 %description objc -l de
222 Dieses Paket ergänzt den GNU-Compiler-Collection durch
223 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
224 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
225 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
227 %description objc -l es
228 Este paquete añade soporte de Objective C al GCC (colección de
229 compiladores GNU). Objective C es un lenguaje orientado a objetos
230 derivado de C, principalmente usado en sistemas que funcionan bajo
231 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
234 %description objc -l fr
235 Ce package ajoute un support Objective C a la collection de
236 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
237 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
238 package n'inclue pas la bibliothéque Objective C standard.
240 %description objc -l pl
241 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
242 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
243 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
244 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
246 %description objc -l tr
247 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
248 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
249 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
250 kitaplýðý bu pakette yer almaz.
253 Summary: Objective C Libraries
254 Summary(es): Bibliotecas de Objective C
255 Summary(pl): Biblioteki Obiektowego C
259 %description -n libobjc
260 Objective C Libraries.
262 %description -n libobjc -l es
263 Bibliotecas de Objective C.
265 %description -n libobjc -l pl
266 Biblioteki Obiektowego C.
268 %package -n libobjc-static
269 Summary: Static Objective C Libraries
270 Summary(es): Bibliotecas estáticas de Objective C
271 Summary(pl): Statyczne Biblioteki Obiektowego C
272 Group: Development/Libraries
273 Requires: libobjc = %{epoch}:%{version}-%{release}
275 %description -n libobjc-static
276 Static Objective C Libraries.
278 %description -n libobjc-static -l es
279 Bibliotecas estáticas de Objective C.
281 %description -n libobjc-static -l pl
282 Statyczne biblioteki Obiektowego C.
285 Summary: Fortran 77 support for gcc
286 Summary(es): Soporte de Fortran 77 para gcc
287 Summary(pl): Obs³uga Fortranu 77 dla gcc
288 Summary(pt_BR): Suporte Fortran 77 para o GCC
289 Group: Development/Languages/Fortran
290 Requires: libg2c = %{epoch}:%{version}-%{release}
294 This package adds support for compiling Fortran 77 programs with the
297 %description g77 -l es
298 Este paquete añade soporte para compilar programas escritos en Fortran
299 77 con el compilador GNU.
301 %description g77 -l pl
302 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
303 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
305 %description g77 -l pt_BR
306 Suporte Fortran 77 para o GCC.
309 Summary: Fortran 77 Libraries
310 Summary(es): Bibliotecas de Fortran 77
311 Summary(pl): Biblioteki Fortranu 77
314 %description -n libg2c
315 Fortran 77 Libraries.
317 %description -n libg2c -l es
318 Bibliotecas de Fortran 77.
320 %description -n libg2c -l pl
321 Biblioteki Fortranu 77.
323 %package -n libg2c-static
324 Summary: Static Fortran 77 Libraries
325 Summary(es): Bibliotecas estáticas de Fortran 77
326 Summary(pl): Statyczne Biblioteki Fortranu 77
327 Group: Development/Libraries
328 Requires: libg2c = %{epoch}:%{version}-%{release}
330 %description -n libg2c-static
331 Static Fortran 77 Libraries.
333 %description -n libg2c -l es
334 Bibliotecas estáticas de Fortran 77.
336 %description -n libg2c-static -l pl
337 Statyczne biblioteki Fortranu 77.
340 Summary: Java support for gcc
341 Summary(es): Soporte de Java para gcc
342 Summary(pl): Obs³uga Javy dla gcc
343 Group: Development/Languages/Java
344 Requires: %{name} = %{epoch}:%{version}-%{release}
345 Requires: libgcj = %{epoch}:%{version}-%{release}
346 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
347 Requires: java-shared
348 Provides: gcj = %{epoch}:%{version}-%{release}
351 This package adds experimental support for compiling Java(tm) programs
352 and bytecode into native code. To use this you will also need the
355 %description java -l es
356 Este paquete añade soporte experimental para compilar programas
357 Java(tm) y su bytecode en código nativo. Para usarlo también va a
358 necesitar el paquete libgcj.
360 %description java -l pl
361 Wsparcie dla kompilowania programów Java(tm) zarówno do bajt-kodu jak i
362 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
363 by³o przeprowadziæ kompilacjê.
366 Summary: Shared java tools
367 Summary(es): Herramientas compartidas de Java
368 Summary(pl): Wspó³dzielone narzêdzia javy
369 Group: Development/Languages/Java
370 Provides: jar = %{epoch}:%{version}-%{release}
371 Provides: java-shared
374 Obsoletes: java-shared
376 %description java-tools
377 This package contains tools that are common for every Java(tm)
378 implementation, such as rmic or jar.
380 %description java-tools -l es
381 Este paquete contiene herramientas que son comunes para cada
382 implementación de Java(tm), como rmic o jar.
384 %description java-tools -l pl
385 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
386 Javy(tm), takie jak rmic czy jar.
389 Summary: Java Class Libraries
390 Summary(es): Bibliotecas de clases de Java
391 Summary(pl): Biblioteki Klas Javy
396 %description -n libgcj
397 Java Class Libraries.
399 %description -n libgcj -l es
400 Bibliotecas de clases de Java.
402 %description -n libgcj -l pl
403 Biblioteki Klas Javy.
405 %package -n libgcj-devel
406 Summary: Development files for Java Class Libraries
407 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
408 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
409 Group: Development/Libraries
410 Requires: %{name}-java = %{epoch}:%{version}-%{release}
411 Requires: libgcj = %{epoch}:%{version}-%{release}
412 Obsoletes: libgcj3-devel
414 %description -n libgcj-devel
415 Development files for Java Class Libraries.
417 %description -n libgcj-devel -l es
418 Ficheros de desarrollo para las bibliotecas de clases de Java.
420 %description -n libgcj-devel -l pl
421 Pliki nag³ówkowe dla Bibliotek Klas Javy.
423 %package -n libgcj-static
424 Summary: Static Java Class Libraries
425 Summary(es): Bibliotecas estáticas de clases de Java
426 Summary(pl): Statyczne Biblioteki Klas Javy
427 Group: Development/Libraries
428 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
429 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
431 %description -n libgcj-static
432 Static Java Class Libraries.
434 %description -n libgcj-static -l es
435 Bibliotecas estáticas de clases de Java.
437 %description -n libgcj-static -l pl
438 Statyczne Biblioteki Klas Javy.
440 %package -n libstdc++
441 Summary: GNU c++ library
442 Summary(es): Biblioteca C++ de GNU
443 Summary(pl): Biblioteki GNU C++
444 Summary(pt_BR): Biblioteca C++ GNU
447 Obsoletes: libstdc++3
449 %description -n libstdc++
450 This is the GNU implementation of the standard C++ libraries, along
451 with additional GNU tools. This package includes the shared libraries
452 necessary to run C++ applications.
454 %description -n libstdc++ -l de
455 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
456 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
457 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
459 %description -n libstdc++ -l es
460 Este es el soporte de las bibliotecas padrón del C++, junto con
461 herramientas GNU adicionales. El paquete incluye las bibliotecas
462 compartidas necesarias para ejecutar aplicaciones C++.
464 %description -n libstdc++ -l fr
465 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
466 des outils GNU supplémentaires. Ce package comprend les librairies
467 partagées nécessaires à l'exécution d'application C++.
469 %description -n libstdc++ -l pl
470 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
471 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
472 uruchomienia aplikacji napisanych w C++.
474 %description -n libstdc++ -l pt_BR
475 Este pacote é uma implementação da biblioteca padrão C++ v3, um
476 subconjunto do padrão ISO 14882.
478 %description -n libstdc++ -l tr
479 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
480 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
482 %package -n libstdc++-devel
483 Summary: Header files and documentation for C++ development
484 Summary(de): Header-Dateien zur Entwicklung mit C++
485 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
486 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
487 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
488 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
489 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
490 Group: Development/Libraries
491 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
492 Requires: libstdc++ = %{epoch}:%{version}-%{release}
493 Requires: glibc-devel
494 Obsoletes: libg++-devel
495 Obsoletes: libstdc++3-devel
497 %description -n libstdc++-devel
498 This is the GNU implementation of the standard C++ libraries. This
499 package includes the header files needed for C++ development and
500 library documentation.
502 %description -n libstdc++-devel -l es
503 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
504 paquete incluye los archivos de inclusión y bibliotecas necesarios
505 para desarrollo de programas en lenguaje C++.
507 %description -n libstdc++-devel -l pl
508 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
509 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
510 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
512 %description -n libstdc++-devel -l pt_BR
513 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
514 para desenvolvimento de programas C++.
516 %package -n libstdc++-static
517 Summary: Static C++ standard library
518 Summary(es): Biblioteca estándar estática de C++
519 Summary(pl): Statyczna biblioteka standardowa C++
520 Group: Development/Libraries
521 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
523 %description -n libstdc++-static
524 Static C++ standard library.
526 %description -n libstdc++-static -l es
527 Biblioteca estándar estática de C++.
529 %description -n libstdc++-static -l pl
530 Statyczna biblioteka standardowa C++.
533 Summary: Foreign Function Interface library
534 Summary(es): Biblioteca de interfaz de funciones ajenas
535 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
538 %description -n libffi
539 The libffi library provides a portable, high level programming
540 interface to various calling conventions. This allows a programmer to
541 call any function specified by a call interface description at run
544 %description -n libffi -l es
545 La biblioteca libffi provee una interfaz portable de programación de
546 alto nivel para varias convenciones de llamada. Ello permite que un
547 programador llame una función cualquiera especificada por una
548 descripción de interfaz de llamada en el tiempo de ejecución.
550 %description -n libffi -l pl
551 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
552 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
553 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
556 %package -n libffi-devel
557 Summary: Development files for Foreign Function Interface library
558 Summary(es): Ficheros de desarrollo para libffi
559 Summary(pl): Pliki nag³ówkowe dla libffi
560 Group: Development/Libraries
561 Requires: libffi = %{epoch}:%{version}-%{release}
563 %description -n libffi-devel
564 Development files for Foreign Function Interface library.
566 %description -n libffi-devel -l es
567 Ficheros de desarrollo para libffi.
569 %description -n libffi-devel -l pl
570 Pliki nag³ówkowe dla libffi.
572 %package -n libffi-static
573 Summary: Static Foreign Function Interface library
574 Summary(es): Biblioteca libffi estática
575 Summary(pl): Statyczna biblioteka libffi
576 Group: Development/Libraries
577 Requires: libffi-devel = %{epoch}:%{version}-%{release}
579 %description -n libffi-static
580 Static Foreign Function Interface library.
582 %description -n libffi-static -l es
583 Biblioteca libffi estática.
585 %description -n libffi-static -l pl
586 Statyczna biblioteka libffi.
589 Summary: Ada support for gcc
590 Summary(es): Soporte de Ada para gcc
591 Summary(pl): Obs³uga Ady do gcc
592 Group: Development/Languages
593 Requires: %{name} = %{epoch}:%{version}-%{release}
594 Requires: libgnat = %{epoch}:%{version}-%{release}
596 Obsoletes: gnat-devel
599 This package adds experimental support for compiling Ada programs.
601 %description ada -l es
602 Este paquete añade soporte experimental para compilar programas en
605 %description ada -l pl
606 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
610 Summary: Ada standard libraries
611 Summary(es): Bibliotecas estándares de Ada
612 Summary(pl): Biblioteki standardowe dla Ady
617 %description -n libgnat
618 This package contains shared libraries needed to run programs written
621 %description -n libgnat -l es
622 Este paquete contiene las bibliotecas compartidas necesarias para
623 ejecutar programas escritos en Ada.
625 %description -n libgnat -l pl
626 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
629 %package -n libgnat-static
630 Summary: Static Ada standard libraries
631 Summary(pl): Statyczne biblioteki standardowe dla Ady
633 Obsoletes: gnat-static
635 %description -n libgnat-static
636 This package contains static libraries for programs written in Ada.
638 %description -n libgnat-static -l pl
639 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
648 %{!?debug:%patch3 -p1}
649 %{?with_ssp:%patch4 -p1}
657 # needed for bootstrap using gcc 3.3.x on alpha
658 # and even using the same 3.4.x(!) (but not Debian's 3.3.x) on ia64
662 # because we distribute modified version of gcc...
663 perl -pi -e 's/(version.*)";/$1 %{?with_ssp:SSP }(PLD Linux)";/' gcc/version.c
664 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
666 mv ChangeLog ChangeLog.general
669 # because pr16276 patch modifies configure.ac
673 cp -f /usr/share/automake/config.sub .
675 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
681 exec /usr/bin/gcc -m64 "$@"
687 CFLAGS="%{rpmcflags}" \
688 CXXFLAGS="%{rpmcflags}" \
690 TEXCONFIG=false ../configure \
691 --prefix=%{_prefix} \
692 --libdir=%{_libdir} \
693 --libexecdir=%{_libdir} \
694 --infodir=%{_infodir} \
695 --mandir=%{_mandir} \
697 --enable-threads=posix \
698 --enable-__cxa_atexit \
699 --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
711 --with-slibdir=%{_slibdir} \
715 PATH=$PATH:/sbin:%{_sbindir}
718 # - on alpha stage1 needs -O0 for 3.3->3.4 bootstrap (gnat from 3.3 is seriously broken)
719 # - on ia64 use bootstrap-lean as profiledbootstrap is broken (PR 13882, 15836, 16108)
720 %{__make} -C obj-%{_target_platform} \
726 GCJFLAGS="%{rpmcflags}" \
727 BOOT_CFLAGS="%{rpmcflags}" \
729 STAGE1_CFLAGS="%{rpmcflags} -O0" \
731 STAGE1_CFLAGS="%{rpmcflags}" \
733 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
738 # cannot build it in parallel
739 for tgt in gnatlib-shared gnattools gnatlib; do
740 %{__make} -C obj-%{_target_platform}/gcc $tgt \
741 BOOT_CFLAGS="%{rpmcflags}" \
742 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
749 rm -rf $RPM_BUILD_ROOT
750 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
752 cd obj-%{_target_platform}
753 PATH=$PATH:/sbin:%{_sbindir}
755 %{__make} -j1 install \
757 infodir=%{_infodir} \
758 DESTDIR=$RPM_BUILD_ROOT
761 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
762 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
765 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
766 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
768 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
769 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
772 # move ada shared libraries to proper place...
773 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
774 $RPM_BUILD_ROOT%{_libdir}
775 # check if symlink to be made is valid
776 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so.1
777 ln -sf libgnat-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so
778 ln -sf libgnarl-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.4.so
779 ln -sf libgnat-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
780 ln -sf libgnarl-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
783 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
789 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
790 cp -f fastjar/README java-doc/README.fastjar
791 cp -f libffi/README java-doc/README.libffi
792 cp -f libffi/LICENSE java-doc/LICENSE.libffi
796 cp -f libobjc/README gcc/objc/README.libobjc
799 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
800 for f in libstdc++.la libsupc++.la %{?with_java:libgcj.la} ; do
801 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
803 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
804 for f in libstdc++.la libsupc++.la libg2c.la \
805 %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
806 %{?with_objc:libobjc.la}; do
807 perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
810 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
811 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
813 # include/ contains install-tools/include/* and headers that were fixed up
814 # by fixincludes, we don't want former
815 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
817 # we have to save these however
818 mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,libffi/ffitarget.h,gcj}} $gccdir/tmp
819 rm -rf $gccdir/include
820 mv -f $gccdir/tmp $gccdir/include
821 cp $gccdir/install-tools/include/*.h $gccdir/include
822 # but we don't want anything more from install-tools
823 rm -rf $gccdir/install-tools
826 ln -sf %{_slibdir}*/libgcc_s.so.1 $gccdir/libgcc_s.so
827 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/libgcc_s_32.so
831 %find_lang libstdc\+\+
834 zcat %{SOURCE2} > $RPM_BUILD_ROOT%{_aclocaldir}/gcc_stack_protect.m4
836 install %{SOURCE3} $RPM_BUILD_ROOT%{_aclocaldir}/gcc_visibility.m4
839 rm -rf $RPM_BUILD_ROOT
842 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
845 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
848 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
851 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
854 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
857 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
859 %post -p /sbin/ldconfig -n libgcc
860 %postun -p /sbin/ldconfig -n libgcc
861 %post -p /sbin/ldconfig -n libstdc++
862 %postun -p /sbin/ldconfig -n libstdc++
863 %post -p /sbin/ldconfig -n libobjc
864 %postun -p /sbin/ldconfig -n libobjc
865 %post -p /sbin/ldconfig -n libg2c
866 %postun -p /sbin/ldconfig -n libg2c
867 %post -p /sbin/ldconfig -n libgcj
868 %postun -p /sbin/ldconfig -n libgcj
869 %post -p /sbin/ldconfig -n libgnat
870 %postun -p /sbin/ldconfig -n libgnat
871 %post -p /sbin/ldconfig -n libffi
872 %postun -p /sbin/ldconfig -n libffi
875 %defattr(644,root,root,755)
876 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
877 %doc gcc/{ChangeLog,ONEWS,README.Portability}
878 %dir %{_libdir}/gcc/*/*
879 %dir %{_libdir}/gcc/*/*/include
880 %{?with_ssp:%{_aclocaldir}/gcc_stack_protect.m4}
881 %{_aclocaldir}/gcc_visibility.m4
883 %attr(755,root,root) %{_bindir}/*-gcc*
884 %attr(755,root,root) %{_bindir}/gcc
885 %attr(755,root,root) %{_bindir}/gccbug
886 %attr(755,root,root) %{_bindir}/gcov
887 %attr(755,root,root) %{_bindir}/cc
888 %attr(755,root,root) %{_bindir}/cpp
890 %{_mandir}/man1/cc.1*
891 %{_mandir}/man1/cpp.1*
892 %lang(ja) %{_mandir}/ja/man1/cpp.1*
893 %{_mandir}/man1/gcc.1*
894 %lang(fr) %{_mandir}/fr/man1/gcc.1*
895 %lang(ja) %{_mandir}/ja/man1/gcc.1*
896 %{_mandir}/man1/gcov.1*
901 %attr(755,root,root) /lib/cpp
903 %attr(755,root,root) %{_slibdir}*/lib*.so
905 %{_slibdir}*/libunwind.a
907 %{_libdir}/gcc/*/*/libgcov.a
908 %{_libdir}/gcc/*/*/libgcc.a
909 %{_libdir}/gcc/*/*/libgcc_eh.a
910 %{_libdir}/gcc/*/*/specs
911 %attr(644,root,root) %{_libdir}*/gcc/*/*/crt*.o
913 %{_libdir}/gcc/*/*/*/libgcc.a
914 %{_libdir}/gcc/*/*/*/libgcc_eh.a
915 %{_libdir}/gcc/*/*/*/libgcov.a
916 %{_libdir}/gcc/*/*/libgcc*so
917 %attr(644,root,root) %{_libdir}*/gcc/*/*/*/crt*.o
920 %attr(644,root,root) %{_libdir}/gcc/*/*/ecrt*.o
921 %attr(644,root,root) %{_libdir}/gcc/*/*/ncrt*.o
922 %{_libdir}/gcc/*/*/nof
925 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
926 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
928 %{_libdir}/gcc/*/*/include/*.h
929 %exclude %{_libdir}/gcc/*/*/include/g2c.h
932 %defattr(644,root,root,755)
933 %attr(755,root,root) %{_slibdir}*/lib*.so.*
935 %attr(755,root,root) %{_slibdir32}/lib*.so.*
939 %defattr(644,root,root,755)
940 %doc gcc/cp/{ChangeLog,NEWS}
941 %attr(755,root,root) %{_bindir}/g++
942 %attr(755,root,root) %{_bindir}/*-g++
943 %attr(755,root,root) %{_bindir}/c++
944 %attr(755,root,root) %{_bindir}/*-c++
945 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
946 %{_libdir}*/libsupc++.la
948 %{_libdir}/nof/libsupc++.la
949 %{_libdir}/nof/libsupc++.a
951 %{_libdir}*/libsupc++.a
952 %{_mandir}/man1/g++.1*
953 %lang(ja) %{_mandir}/ja/man1/g++.1*
955 %files -n libstdc++ -f libstdc++.lang
956 %defattr(644,root,root,755)
957 %doc libstdc++-v3/{ChangeLog,README}
958 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
960 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
963 %files -n libstdc++-devel
964 %defattr(644,root,root,755)
965 %doc libstdc++-v3/docs/html
966 %dir %{_includedir}/c++
967 %{_includedir}/c++/%{version}
968 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
969 %attr(755,root,root) %{_libdir}*/libstdc++.so
970 %{_libdir}*/libstdc++.la
972 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
973 %{_libdir}/nof/libstdc++.la
976 %files -n libstdc++-static
977 %defattr(644,root,root,755)
978 %{_libdir}*/libstdc++.a
980 %{_libdir}/nof/libstdc++.a
985 %defattr(644,root,root,755)
987 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
988 %attr(755,root,root) %{_libdir}*/libobjc.so
989 %{_libdir}*/libobjc.la
991 %attr(755,root,root) %{_libdir}/nof/libobjc.so
992 %{_libdir}/nof/libobjc.la
994 %{_libdir}/gcc/*/*/include/objc
997 %defattr(644,root,root,755)
998 %doc libobjc/{ChangeLog,README*}
999 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
1001 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
1004 %files -n libobjc-static
1005 %defattr(644,root,root,755)
1006 %{_libdir}*/libobjc.a
1008 %{_libdir}/nof/libobjc.a
1013 %defattr(644,root,root,755)
1014 %doc gcc/f/{BUGS,ChangeLog,NEWS}
1015 %attr(755,root,root) %{_bindir}/g77
1016 %attr(755,root,root) %{_bindir}/f77
1018 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
1019 %{_libdir}*/libfrtbegin.a
1020 %{_libdir}*/libg2c.la
1021 %attr(755,root,root) %{_libdir}*/libg2c.so
1023 %{_libdir}/nof/libfrtbegin.a
1024 %{_libdir}/nof/libg2c.la
1025 %attr(755,root,root) %{_libdir}/nof/libg2c.so
1027 %{_libdir}/gcc/*/*/include/g2c.h
1028 %{_mandir}/man1/g77.1*
1029 %{_mandir}/man1/f77.1*
1030 %lang(ja) %{_mandir}/ja/man1/g77.1*
1031 %lang(ja) %{_mandir}/ja/man1/f77.1*
1034 %defattr(644,root,root,755)
1035 %doc libf2c/{ChangeLog,README,TODO}
1036 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
1038 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
1041 %files -n libg2c-static
1042 %defattr(644,root,root,755)
1043 %{_libdir}*/libg2c.a
1045 %{_libdir}/nof/libg2c.a
1050 %defattr(644,root,root,755)
1051 %doc gcc/java/ChangeLog java-doc/*
1052 %attr(755,root,root) %{_bindir}/gcj*
1053 %attr(755,root,root) %{_bindir}/gij
1054 %attr(755,root,root) %{_bindir}/jcf-dump
1055 %attr(755,root,root) %{_bindir}/jv-*
1056 %attr(755,root,root) %{_bindir}/grepjar
1057 %attr(755,root,root) %{_bindir}/*-gcj*
1058 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1059 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1061 %{_mandir}/man1/jcf-*
1062 %{_mandir}/man1/jv-*
1063 %{_mandir}/man1/gij*
1064 %{_mandir}/man1/gcj*
1065 %{_mandir}/man1/grepjar*
1068 %defattr(644,root,root,755)
1069 %attr(755,root,root) %{_bindir}/rmi*
1070 %attr(755,root,root) %{_bindir}/jar
1071 %{_mandir}/man1/rmi*
1072 %{_mandir}/man1/jar*
1073 %{_infodir}/fastjar*
1076 %defattr(644,root,root,755)
1077 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1078 %attr(755,root,root) %{_bindir}/addr2name.awk
1079 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1080 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1082 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1084 %{_libdir}/logging.properties
1086 %files -n libgcj-devel
1087 %defattr(644,root,root,755)
1089 %{_includedir}/javax
1092 %{_includedir}/gnu/*
1093 %{_libdir}/gcc/*/*/include/gcj
1094 %dir %{_libdir}/security
1095 %{_libdir}/security/*
1096 %dir %{_datadir}/java
1097 %{_datadir}/java/libgcj*.jar
1098 %{_libdir}/lib*cj.spec
1099 %{_libdir}/lib*cj*.la
1100 %attr(755,root,root) %{_libdir}/lib*cj*.so
1101 %attr(755,root,root) %{_libdir}/lib-org-*.so
1102 %{_libdir}/lib-org-*.la
1104 %{_libdir}/nof/lib*cj*.la
1105 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1107 %{_pkgconfigdir}/libgcj.pc
1109 %files -n libgcj-static
1110 %defattr(644,root,root,755)
1111 %{_libdir}/lib*cj*.a
1112 %{_libdir}/lib-org-*.a
1114 %{_libdir}/nof/lib*cj*.a
1118 %defattr(644,root,root,755)
1119 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1120 %attr(755,root,root) %{_libdir}/libffi-*.so
1122 %files -n libffi-devel
1123 %defattr(644,root,root,755)
1124 %{_libdir}/gcc/*/*/include/ffitarget.h
1125 %attr(755,root,root) %{_libdir}/libffi.so
1126 %{_libdir}/libffi.la
1127 %{_includedir}/ffi.h
1129 %files -n libffi-static
1130 %defattr(644,root,root,755)
1136 %defattr(644,root,root,755)
1137 %doc gcc/ada/ChangeLog
1138 %attr(755,root,root) %{_bindir}/gnat*
1139 %attr(755,root,root) %{_bindir}/gpr*
1140 %attr(755,root,root) %{_libdir}/libgnarl*.so
1141 %attr(755,root,root) %{_libdir}/libgnat*.so
1142 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1143 %{_libdir}/gcc/*/*/adainclude
1144 %dir %{_libdir}/gcc/*/*/adalib
1145 %{_libdir}/gcc/*/*/adalib/*.ali
1146 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1147 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1149 %{_libdir}/gcc/*/*/adalib/libgmem.a
1155 %defattr(644,root,root,755)
1156 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1157 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1159 %files -n libgnat-static
1160 %defattr(644,root,root,755)
1161 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1162 %{_libdir}/gcc/*/*/adalib/libgnat.a