3 # - http://gcc.gnu.org/PR11203
4 # - http://gcc.gnu.org/PR14776
5 # - http://gcc.gnu.org/PR18648
6 # - http://gcc.gnu.org/PR18676
9 %bcond_without ada # build without ADA support
10 %bcond_without java # build without Java support
11 %bcond_without objc # build without ObjC support
12 %bcond_with ssp # build with stack-smashing protector support
14 Summary: GNU Compiler Collection: the C compiler and shared files
15 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
16 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
17 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
23 Group: Development/Languages
24 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
25 # Source0-md5: e744b30c834360fccac41eb7269a3011
26 Source1: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
27 # Source1-md5: 4736f3422ddfb808423b745629acc321
28 Source2: http://www.trl.ibm.com/projects/security/ssp/gcc2_95_3/gcc_stack_protect.m4.gz
29 # Source2-md5: 07d93ad5fc07ca44cdaba46c658820de
30 Source3: gcc_visibility.m4
31 Patch0: %{name}-info.patch
32 Patch1: %{name}-nolocalefiles.patch
33 Patch2: %{name}-ada-link-new-libgnat.patch
34 Patch3: %{name}-nodebug.patch
35 Patch4: %{name}-ssp.patch
36 Patch5: %{name}-ada-link.patch
37 Patch6: %{name}-pr15666.patch
38 Patch7: %{name}-pr16276.patch
39 Patch8: %{name}-pr18185.patch
41 # -fvisibility={default|internal|hidden|protected}
43 # Set the default ELF image symbol visibility to the specified option.
44 # All symbols will be marked with this unless overrided within the code.
45 # Using this feature can very substantially improve linking and load times
46 # of shared object libraries, produce more optimised code, provide near-perfect
47 # API export and prevent symbol clashes. It is strongly recommended that you
48 # use this in any shared objects you distribute.
50 # -fvisibility-inlines-hidden
52 # Causes all inlined methods to be marked with __attribute__((visibility("hidden")))
53 # so that they do not appear in the export table of a DSO and do not require a PLT
54 # indirection when used within the DSO. Enabling this option can have a dramatic
55 # effect on load and link times of a DSO as it massively reduces the size
56 # of the dynamic export table when the library makes heavy use of templates.
57 # While it can cause bloating through duplication of code within each DSO
58 # where it is used, often the wastage is less than the considerable space
59 # occupied by a long symbol name in the export table which is typical when using
60 # templates and namespaces.
62 # How to Write Shared Libraries: http://people.redhat.com/drepper/dsohowto.pdf
64 Patch9: %{name}-visibility.patch
66 Patch20: %{name}-ada-bootstrap.patch
67 URL: http://gcc.gnu.org/
68 BuildRequires: autoconf
69 BuildRequires: automake
70 BuildRequires: binutils >= 2:2.15.91.0.2
72 BuildRequires: fileutils >= 4.0.41
75 BuildRequires: gcc(ada)
76 BuildRequires: gcc-ada
78 BuildRequires: gettext-devel
79 BuildRequires: glibc-devel >= 2.2.5-20
80 BuildRequires: perl-devel
81 BuildRequires: texinfo >= 4.1
82 BuildRequires: zlib-devel
83 Requires: binutils >= 2:2.15.91.0.2
84 Requires: gcc-dirs >= 1.0-3
85 Requires: libgcc = %{epoch}:%{version}-%{release}
86 Provides: cpp = %{epoch}:%{version}-%{release}
87 %{?with_ada:Provides: gcc(ada)}
88 %{?with_ssp:Provides: gcc(ssp)}
89 # ksi for gcc > 3.3.x not ready yet
95 Conflicts: glibc-devel < 2.2.5-20
96 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
98 %define _slibdir /%{_lib}
100 %define _slibdir64 /lib64
101 %define _libdir /usr/lib
102 %define rpmcflags -O2 -mtune=ultrasparc
106 A compiler aimed at integrating all the optimizations and features
107 necessary for a high-performance and stable development environment.
109 This package contains the C compiler and some files shared by various
110 parts of the GNU Compiler Collection. In order to use another GCC
111 compiler you will need to install the appropriate subpackage.
114 Un compilador destinado a la integración de todas las optimalizaciones
115 y características necesarias para un entorno de desarrollo eficaz y
118 Este paquete contiene el compilador de C y unos ficheros compartidos
119 por varias parted de la colección de compiladores GNU (GCC). Para usar
120 otro compilador de GCC será necesario que instale el subpaquete
124 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
125 wyprodukowania szybkiego i stabilnego kodu wynikowego.
127 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
128 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
129 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
131 %description -l pt_BR
132 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
133 GNU Compiler Collection.
136 Summary: Shared gcc library
137 Summary(es): Biblioteca compartida de gcc
138 Summary(pl): Biblioteka gcc
139 Summary(pt_BR): Biblioteca runtime para o GCC
143 %description -n libgcc
146 %description -n libgcc -l es
147 Biblioteca compartida de gcc.
149 %description -n libgcc -l pl
150 Biblioteka dynamiczna gcc.
152 %description -n libgcc -l pt_BR
153 Biblioteca runtime para o GCC.
156 Summary: C++ support for gcc
157 Summary(es): Soporte de C++ para gcc
158 Summary(pl): Obs³uga C++ dla gcc
159 Summary(pt_BR): Suporte C++ para o gcc
160 Group: Development/Languages
161 Requires: %{name} = %{epoch}:%{version}-%{release}
166 This package adds C++ support to the GNU Compiler Collection. It
167 includes support for most of the current C++ specification, including
168 templates and exception handling. It does not include a standard C++
169 library, which is available separately.
171 %description c++ -l de
172 Dieses Paket enthält die C++-Unterstützung für den
173 GNU-Compiler-Collection. Es unterstützt die aktuelle
174 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
175 C++-Standard-Library ist nicht enthalten - sie ist getrennt
178 %description c++ -l es
179 Este paquete añade soporte de C++ al GCC (colección de compiladores
180 GNU). Ello incluye el soporte para la mayoría de la especificación
181 actual de C++, incluyendo plantillas y manejo de excepciones. No
182 incluye la biblioteca estándar de C++, la que es disponible separada.
184 %description c++ -l fr
185 Ce package ajoute un support C++ a la collection de compilateurs GNU.
186 Il comprend un support pour la plupart des spécifications actuelles de
187 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
188 une bibliothéque C++ standard, qui est disponible séparément.
190 %description c++ -l pl
191 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
192 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
193 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
195 %description c++ -l pt_BR
196 Este pacote adiciona suporte C++ para o gcc.
198 %description c++ -l tr
199 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
200 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
201 C++ kitaplýðý bu pakette yer almaz.
204 Summary: Objective C support for gcc
205 Summary(de): Objektive C-Unterstützung für gcc
206 Summary(es): Soporte de Objective C para gcc
207 Summary(fr): Gestion d'Objective C pour gcc
208 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
209 Summary(tr): gcc için Objective C desteði
210 Group: Development/Languages
211 Requires: %{name} = %{epoch}:%{version}-%{release}
212 Requires: libobjc = %{epoch}:%{version}-%{release}
217 This package adds Objective C support to the GNU Compiler Collection.
218 Objective C is a object oriented derivative of the C language, mainly
219 used on systems running NeXTSTEP. This package does not include the
220 standard objective C object library.
222 %description objc -l de
223 Dieses Paket ergänzt den GNU-Compiler-Collection durch
224 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
225 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
226 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
228 %description objc -l es
229 Este paquete añade soporte de Objective C al GCC (colección de
230 compiladores GNU). Objective C es un lenguaje orientado a objetos
231 derivado de C, principalmente usado en sistemas que funcionan bajo
232 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
235 %description objc -l fr
236 Ce package ajoute un support Objective C a la collection de
237 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
238 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
239 package n'inclue pas la bibliothéque Objective C standard.
241 %description objc -l pl
242 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
243 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
244 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
245 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
247 %description objc -l tr
248 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
249 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
250 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
251 kitaplýðý bu pakette yer almaz.
254 Summary: Objective C Libraries
255 Summary(es): Bibliotecas de Objective C
256 Summary(pl): Biblioteki Obiektowego C
260 %description -n libobjc
261 Objective C Libraries.
263 %description -n libobjc -l es
264 Bibliotecas de Objective C.
266 %description -n libobjc -l pl
267 Biblioteki Obiektowego C.
269 %package -n libobjc-static
270 Summary: Static Objective C Libraries
271 Summary(es): Bibliotecas estáticas de Objective C
272 Summary(pl): Statyczne Biblioteki Obiektowego C
273 Group: Development/Libraries
274 Requires: libobjc = %{epoch}:%{version}-%{release}
276 %description -n libobjc-static
277 Static Objective C Libraries.
279 %description -n libobjc-static -l es
280 Bibliotecas estáticas de Objective C.
282 %description -n libobjc-static -l pl
283 Statyczne biblioteki Obiektowego C.
286 Summary: Fortran 77 support for gcc
287 Summary(es): Soporte de Fortran 77 para gcc
288 Summary(pl): Obs³uga Fortranu 77 dla gcc
289 Summary(pt_BR): Suporte Fortran 77 para o GCC
290 Group: Development/Languages/Fortran
291 Requires: libg2c = %{epoch}:%{version}-%{release}
295 This package adds support for compiling Fortran 77 programs with the
298 %description g77 -l es
299 Este paquete añade soporte para compilar programas escritos en Fortran
300 77 con el compilador GNU.
302 %description g77 -l pl
303 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
304 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
306 %description g77 -l pt_BR
307 Suporte Fortran 77 para o GCC.
310 Summary: Fortran 77 Libraries
311 Summary(es): Bibliotecas de Fortran 77
312 Summary(pl): Biblioteki Fortranu 77
315 %description -n libg2c
316 Fortran 77 Libraries.
318 %description -n libg2c -l es
319 Bibliotecas de Fortran 77.
321 %description -n libg2c -l pl
322 Biblioteki Fortranu 77.
324 %package -n libg2c-static
325 Summary: Static Fortran 77 Libraries
326 Summary(es): Bibliotecas estáticas de Fortran 77
327 Summary(pl): Statyczne Biblioteki Fortranu 77
328 Group: Development/Libraries
329 Requires: libg2c = %{epoch}:%{version}-%{release}
331 %description -n libg2c-static
332 Static Fortran 77 Libraries.
334 %description -n libg2c -l es
335 Bibliotecas estáticas de Fortran 77.
337 %description -n libg2c-static -l pl
338 Statyczne biblioteki Fortranu 77.
341 Summary: Java support for gcc
342 Summary(es): Soporte de Java para gcc
343 Summary(pl): Obs³uga Javy dla gcc
344 Group: Development/Languages/Java
345 Requires: %{name} = %{epoch}:%{version}-%{release}
346 Requires: libgcj = %{epoch}:%{version}-%{release}
347 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
348 Requires: java-shared
349 Provides: gcj = %{epoch}:%{version}-%{release}
352 This package adds experimental support for compiling Java(tm) programs
353 and bytecode into native code. To use this you will also need the
356 %description java -l es
357 Este paquete añade soporte experimental para compilar programas
358 Java(tm) y su bytecode en código nativo. Para usarlo también va a
359 necesitar el paquete libgcj.
361 %description java -l pl
362 Wsparcie dla kompilowania programów Java(tm) zarówno do bajt-kodu jak i
363 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
364 by³o przeprowadziæ kompilacjê.
367 Summary: Shared java tools
368 Summary(es): Herramientas compartidas de Java
369 Summary(pl): Wspó³dzielone narzêdzia javy
370 Group: Development/Languages/Java
371 Provides: jar = %{epoch}:%{version}-%{release}
372 Provides: java-shared
375 Obsoletes: java-shared
377 %description java-tools
378 This package contains tools that are common for every Java(tm)
379 implementation, such as rmic or jar.
381 %description java-tools -l es
382 Este paquete contiene herramientas que son comunes para cada
383 implementación de Java(tm), como rmic o jar.
385 %description java-tools -l pl
386 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
387 Javy(tm), takie jak rmic czy jar.
390 Summary: Java Class Libraries
391 Summary(es): Bibliotecas de clases de Java
392 Summary(pl): Biblioteki Klas Javy
397 %description -n libgcj
398 Java Class Libraries.
400 %description -n libgcj -l es
401 Bibliotecas de clases de Java.
403 %description -n libgcj -l pl
404 Biblioteki Klas Javy.
406 %package -n libgcj-devel
407 Summary: Development files for Java Class Libraries
408 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
409 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
410 Group: Development/Libraries
411 Requires: %{name}-java = %{epoch}:%{version}-%{release}
412 Requires: libgcj = %{epoch}:%{version}-%{release}
413 Obsoletes: libgcj3-devel
415 %description -n libgcj-devel
416 Development files for Java Class Libraries.
418 %description -n libgcj-devel -l es
419 Ficheros de desarrollo para las bibliotecas de clases de Java.
421 %description -n libgcj-devel -l pl
422 Pliki nag³ówkowe dla Bibliotek Klas Javy.
424 %package -n libgcj-static
425 Summary: Static Java Class Libraries
426 Summary(es): Bibliotecas estáticas de clases de Java
427 Summary(pl): Statyczne Biblioteki Klas Javy
428 Group: Development/Libraries
429 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
430 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
432 %description -n libgcj-static
433 Static Java Class Libraries.
435 %description -n libgcj-static -l es
436 Bibliotecas estáticas de clases de Java.
438 %description -n libgcj-static -l pl
439 Statyczne Biblioteki Klas Javy.
441 %package -n libstdc++
442 Summary: GNU c++ library
443 Summary(es): Biblioteca C++ de GNU
444 Summary(pl): Biblioteki GNU C++
445 Summary(pt_BR): Biblioteca C++ GNU
448 Obsoletes: libstdc++3
450 %description -n libstdc++
451 This is the GNU implementation of the standard C++ libraries, along
452 with additional GNU tools. This package includes the shared libraries
453 necessary to run C++ applications.
455 %description -n libstdc++ -l de
456 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
457 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
458 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
460 %description -n libstdc++ -l es
461 Este es el soporte de las bibliotecas padrón del C++, junto con
462 herramientas GNU adicionales. El paquete incluye las bibliotecas
463 compartidas necesarias para ejecutar aplicaciones C++.
465 %description -n libstdc++ -l fr
466 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
467 des outils GNU supplémentaires. Ce package comprend les librairies
468 partagées nécessaires à l'exécution d'application C++.
470 %description -n libstdc++ -l pl
471 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
472 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
473 uruchomienia aplikacji napisanych w C++.
475 %description -n libstdc++ -l pt_BR
476 Este pacote é uma implementação da biblioteca padrão C++ v3, um
477 subconjunto do padrão ISO 14882.
479 %description -n libstdc++ -l tr
480 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
481 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
483 %package -n libstdc++-devel
484 Summary: Header files and documentation for C++ development
485 Summary(de): Header-Dateien zur Entwicklung mit C++
486 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
487 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
488 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
489 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
490 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
491 Group: Development/Libraries
492 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
493 Requires: libstdc++ = %{epoch}:%{version}-%{release}
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}
677 CFLAGS="%{rpmcflags}" \
678 CXXFLAGS="%{rpmcflags}" \
679 TEXCONFIG=false ../configure \
680 --prefix=%{_prefix} \
681 --libdir=%{_libdir} \
682 --libexecdir=%{_libexecdir} \
683 --infodir=%{_infodir} \
684 --mandir=%{_mandir} \
686 --enable-threads=posix \
687 --enable-__cxa_atexit \
688 --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
700 --with-slibdir=%{_slibdir} \
704 PATH=$PATH:/sbin:%{_sbindir}
707 # - on alpha stage1 needs -O0 for 3.3->3.4 bootstrap (gnat from 3.3 is seriously broken)
708 # - on ia64 use bootstrap-lean as profiledbootstrap is broken (PR 13882, 15836, 16108)
709 %{__make} -C obj-%{_target_platform} \
715 GCJFLAGS="%{rpmcflags}" \
716 BOOT_CFLAGS="%{rpmcflags}" \
718 STAGE1_CFLAGS="%{rpmcflags} -O0" \
720 STAGE1_CFLAGS="%{rpmcflags}" \
722 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
727 # cannot build it in parallel
728 for tgt in gnatlib-shared gnattools gnatlib; do
729 %{__make} -C obj-%{_target_platform}/gcc $tgt \
730 BOOT_CFLAGS="%{rpmcflags}" \
731 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
738 rm -rf $RPM_BUILD_ROOT
739 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
741 cd obj-%{_target_platform}
742 PATH=$PATH:/sbin:%{_sbindir}
744 %{__make} -j1 install \
746 infodir=%{_infodir} \
747 DESTDIR=$RPM_BUILD_ROOT
750 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
751 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
754 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
755 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
757 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
758 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
761 # move ada shared libraries to proper place...
762 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
763 $RPM_BUILD_ROOT%{_libdir}
764 # check if symlink to be made is valid
765 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so.1
766 ln -sf libgnat-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so
767 ln -sf libgnarl-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.4.so
768 ln -sf libgnat-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
769 ln -sf libgnarl-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
772 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
778 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
779 cp -f fastjar/README java-doc/README.fastjar
780 cp -f libffi/README java-doc/README.libffi
781 cp -f libffi/LICENSE java-doc/LICENSE.libffi
785 cp -f libobjc/README gcc/objc/README.libobjc
788 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
789 for f in libstdc++.la libsupc++.la %{?with_java:libgcj.la} ; do
790 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
792 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
793 for f in libstdc++.la libsupc++.la libg2c.la \
794 %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
795 %{?with_objc:libobjc.la}; do
796 perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
799 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
800 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
802 # include/ contains install-tools/include/* and headers that were fixed up
803 # by fixincludes, we don't want former
804 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
806 # we have to save these however
807 mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,libffi/ffitarget.h,gcj}} $gccdir/tmp
808 rm -rf $gccdir/include
809 mv -f $gccdir/tmp $gccdir/include
810 cp $gccdir/install-tools/include/*.h $gccdir/include
811 # but we don't want anything more from install-tools
812 rm -rf $gccdir/install-tools
815 %find_lang libstdc\+\+
818 zcat %{SOURCE2} > $RPM_BUILD_ROOT%{_aclocaldir}/gcc_stack_protect.m4
820 install %{SOURCE3} $RPM_BUILD_ROOT%{_aclocaldir}/gcc_visibility.m4
823 rm -rf $RPM_BUILD_ROOT
826 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
829 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
832 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
835 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
838 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
841 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
843 %post -p /sbin/ldconfig -n libgcc
844 %postun -p /sbin/ldconfig -n libgcc
845 %post -p /sbin/ldconfig -n libstdc++
846 %postun -p /sbin/ldconfig -n libstdc++
847 %post -p /sbin/ldconfig -n libobjc
848 %postun -p /sbin/ldconfig -n libobjc
849 %post -p /sbin/ldconfig -n libg2c
850 %postun -p /sbin/ldconfig -n libg2c
851 %post -p /sbin/ldconfig -n libgcj
852 %postun -p /sbin/ldconfig -n libgcj
853 %post -p /sbin/ldconfig -n libgnat
854 %postun -p /sbin/ldconfig -n libgnat
855 %post -p /sbin/ldconfig -n libffi
856 %postun -p /sbin/ldconfig -n libffi
859 %defattr(644,root,root,755)
860 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
861 %doc gcc/{ChangeLog,ONEWS,README.Portability}
862 %dir %{_libdir}/gcc/*/*
863 %dir %{_libdir}/gcc/*/*/include
864 %{?with_ssp:%{_aclocaldir}/gcc_stack_protect.m4}
865 %{_aclocaldir}/gcc_visibility.m4
867 %attr(755,root,root) %{_bindir}/*-gcc*
868 %attr(755,root,root) %{_bindir}/gcc
869 %attr(755,root,root) %{_bindir}/gccbug
870 %attr(755,root,root) %{_bindir}/gcov
871 %attr(755,root,root) %{_bindir}/cc
872 %attr(755,root,root) %{_bindir}/cpp
874 %{_mandir}/man1/cc.1*
875 %{_mandir}/man1/cpp.1*
876 %lang(ja) %{_mandir}/ja/man1/cpp.1*
877 %{_mandir}/man1/gcc.1*
878 %lang(fr) %{_mandir}/fr/man1/gcc.1*
879 %lang(ja) %{_mandir}/ja/man1/gcc.1*
880 %{_mandir}/man1/gcov.1*
885 %attr(755,root,root) /lib/cpp
887 %attr(755,root,root) %{_slibdir}*/lib*.so
889 %{_slibdir}*/libunwind.a
891 %{_libdir}/gcc/*/*/libgcov.a
892 %{_libdir}/gcc/*/*/libgcc.a
893 %{_libdir}/gcc/*/*/libgcc_eh.a
894 %{_libdir}/gcc/*/*/specs
895 %attr(644,root,root) %{_libdir}*/gcc/*/*/crt*.o
897 %{_libdir}/gcc/*/*/*/libgcc.a
898 %{_libdir}/gcc/*/*/*/libgcc_eh.a
899 %attr(644,root,root) %{_libdir}*/gcc/*/*/*/crt*.o
902 %attr(644,root,root) %{_libdir}/gcc/*/*/ecrt*.o
903 %attr(644,root,root) %{_libdir}/gcc/*/*/ncrt*.o
904 %{_libdir}/gcc/*/*/nof
907 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
908 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
910 %{_libdir}/gcc/*/*/include/*.h
911 %exclude %{_libdir}/gcc/*/*/include/g2c.h
914 %defattr(644,root,root,755)
915 %attr(755,root,root) %{_slibdir}*/lib*.so.*
918 %defattr(644,root,root,755)
919 %doc gcc/cp/{ChangeLog,NEWS}
920 %attr(755,root,root) %{_bindir}/g++
921 %attr(755,root,root) %{_bindir}/*-g++
922 %attr(755,root,root) %{_bindir}/c++
923 %attr(755,root,root) %{_bindir}/*-c++
924 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
925 %{_libdir}*/libsupc++.la
927 %{_libdir}/nof/libsupc++.la
928 %{_libdir}/nof/libsupc++.a
930 %{_libdir}*/libsupc++.a
931 %{_mandir}/man1/g++.1*
932 %lang(ja) %{_mandir}/ja/man1/g++.1*
934 %files -n libstdc++ -f libstdc++.lang
935 %defattr(644,root,root,755)
936 %doc libstdc++-v3/{ChangeLog,README}
937 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
939 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
942 %files -n libstdc++-devel
943 %defattr(644,root,root,755)
944 %doc libstdc++-v3/docs/html
945 %dir %{_includedir}/c++
946 %{_includedir}/c++/%{version}
947 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
948 %attr(755,root,root) %{_libdir}*/libstdc++.so
949 %{_libdir}*/libstdc++.la
951 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
952 %{_libdir}/nof/libstdc++.la
955 %files -n libstdc++-static
956 %defattr(644,root,root,755)
957 %{_libdir}*/libstdc++.a
959 %{_libdir}/nof/libstdc++.a
964 %defattr(644,root,root,755)
966 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
967 %attr(755,root,root) %{_libdir}*/libobjc.so
968 %{_libdir}*/libobjc.la
970 %attr(755,root,root) %{_libdir}/nof/libobjc.so
971 %{_libdir}/nof/libobjc.la
973 %{_libdir}/gcc/*/*/include/objc
976 %defattr(644,root,root,755)
977 %doc libobjc/{ChangeLog,README*}
978 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
980 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
983 %files -n libobjc-static
984 %defattr(644,root,root,755)
985 %{_libdir}*/libobjc.a
987 %{_libdir}/nof/libobjc.a
992 %defattr(644,root,root,755)
993 %doc gcc/f/{BUGS,ChangeLog,NEWS}
994 %attr(755,root,root) %{_bindir}/g77
995 %attr(755,root,root) %{_bindir}/f77
997 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
998 %{_libdir}*/libfrtbegin.a
999 %{_libdir}*/libg2c.la
1000 %attr(755,root,root) %{_libdir}*/libg2c.so
1002 %{_libdir}/nof/libfrtbegin.a
1003 %{_libdir}/nof/libg2c.la
1004 %attr(755,root,root) %{_libdir}/nof/libg2c.so
1006 %{_libdir}/gcc/*/*/include/g2c.h
1007 %{_mandir}/man1/g77.1*
1008 %{_mandir}/man1/f77.1*
1009 %lang(ja) %{_mandir}/ja/man1/g77.1*
1010 %lang(ja) %{_mandir}/ja/man1/f77.1*
1013 %defattr(644,root,root,755)
1014 %doc libf2c/{ChangeLog,README,TODO}
1015 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
1017 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
1020 %files -n libg2c-static
1021 %defattr(644,root,root,755)
1022 %{_libdir}*/libg2c.a
1024 %{_libdir}/nof/libg2c.a
1029 %defattr(644,root,root,755)
1030 %doc gcc/java/ChangeLog java-doc/*
1031 %attr(755,root,root) %{_bindir}/gcj*
1032 %attr(755,root,root) %{_bindir}/gij
1033 %attr(755,root,root) %{_bindir}/jcf-dump
1034 %attr(755,root,root) %{_bindir}/jv-*
1035 %attr(755,root,root) %{_bindir}/grepjar
1036 %attr(755,root,root) %{_bindir}/*-gcj*
1037 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1038 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1040 %{_mandir}/man1/jcf-*
1041 %{_mandir}/man1/jv-*
1042 %{_mandir}/man1/gij*
1043 %{_mandir}/man1/gcj*
1044 %{_mandir}/man1/grepjar*
1047 %defattr(644,root,root,755)
1048 %attr(755,root,root) %{_bindir}/rmi*
1049 %attr(755,root,root) %{_bindir}/jar
1050 %{_mandir}/man1/rmi*
1051 %{_mandir}/man1/jar*
1052 %{_infodir}/fastjar*
1055 %defattr(644,root,root,755)
1056 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1057 %attr(755,root,root) %{_bindir}/addr2name.awk
1058 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1059 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1061 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1063 %{_libdir}/logging.properties
1065 %files -n libgcj-devel
1066 %defattr(644,root,root,755)
1068 %{_includedir}/javax
1071 %{_includedir}/gnu/*
1072 %{_libdir}/gcc/*/*/include/gcj
1073 %dir %{_libdir}/security
1074 %{_libdir}/security/*
1075 %dir %{_datadir}/java
1076 %{_datadir}/java/libgcj*.jar
1077 %{_libdir}/lib*cj.spec
1078 %{_libdir}/lib*cj*.la
1079 %attr(755,root,root) %{_libdir}/lib*cj*.so
1080 %attr(755,root,root) %{_libdir}/lib-org-*.so
1081 %{_libdir}/lib-org-*.la
1083 %{_libdir}/nof/lib*cj*.la
1084 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1086 %{_pkgconfigdir}/libgcj.pc
1088 %files -n libgcj-static
1089 %defattr(644,root,root,755)
1090 %{_libdir}/lib*cj*.a
1091 %{_libdir}/lib-org-*.a
1093 %{_libdir}/nof/lib*cj*.a
1097 %defattr(644,root,root,755)
1098 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1099 %attr(755,root,root) %{_libdir}/libffi-*.so
1101 %files -n libffi-devel
1102 %defattr(644,root,root,755)
1103 %{_libdir}/gcc/*/*/include/ffitarget.h
1104 %attr(755,root,root) %{_libdir}/libffi.so
1105 %{_libdir}/libffi.la
1106 %{_includedir}/ffi.h
1108 %files -n libffi-static
1109 %defattr(644,root,root,755)
1115 %defattr(644,root,root,755)
1116 %doc gcc/ada/ChangeLog
1117 %attr(755,root,root) %{_bindir}/gnat*
1118 %attr(755,root,root) %{_bindir}/gpr*
1119 %attr(755,root,root) %{_libdir}/libgnarl*.so
1120 %attr(755,root,root) %{_libdir}/libgnat*.so
1121 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1122 %{_libdir}/gcc/*/*/adainclude
1123 %dir %{_libdir}/gcc/*/*/adalib
1124 %{_libdir}/gcc/*/*/adalib/*.ali
1125 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1126 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1128 %{_libdir}/gcc/*/*/adalib/libgmem.a
1134 %defattr(644,root,root,755)
1135 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1136 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1138 %files -n libgnat-static
1139 %defattr(644,root,root,755)
1140 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1141 %{_libdir}/gcc/*/*/adalib/libgnat.a