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
12 %bcond_with multilib # build with multilib support
13 %ifnarch amd64 ppc64 s390x sparc64
14 %undefine with_multilib
17 Summary: GNU Compiler Collection: the C compiler and shared files
18 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
19 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
20 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
26 Group: Development/Languages
27 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
28 # Source0-md5: e744b30c834360fccac41eb7269a3011
29 Source1: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
30 # Source1-md5: 4736f3422ddfb808423b745629acc321
31 Source2: http://www.trl.ibm.com/projects/security/ssp/gcc2_95_3/gcc_stack_protect.m4.gz
32 # Source2-md5: 07d93ad5fc07ca44cdaba46c658820de
33 Source3: gcc_visibility.m4
34 Patch0: %{name}-info.patch
35 Patch1: %{name}-nolocalefiles.patch
36 Patch2: %{name}-ada-link-new-libgnat.patch
37 Patch3: %{name}-nodebug.patch
38 Patch4: %{name}-ssp.patch
39 Patch5: %{name}-ada-link.patch
40 Patch6: %{name}-pr15666.patch
41 Patch7: %{name}-pr16276.patch
42 Patch8: %{name}-pr18185.patch
44 # -fvisibility={default|internal|hidden|protected}
46 # Set the default ELF image symbol visibility to the specified option.
47 # All symbols will be marked with this unless overrided within the code.
48 # Using this feature can very substantially improve linking and load times
49 # of shared object libraries, produce more optimised code, provide near-perfect
50 # API export and prevent symbol clashes. It is strongly recommended that you
51 # use this in any shared objects you distribute.
53 # -fvisibility-inlines-hidden
55 # Causes all inlined methods to be marked with __attribute__((visibility("hidden")))
56 # so that they do not appear in the export table of a DSO and do not require a PLT
57 # indirection when used within the DSO. Enabling this option can have a dramatic
58 # effect on load and link times of a DSO as it massively reduces the size
59 # of the dynamic export table when the library makes heavy use of templates.
60 # While it can cause bloating through duplication of code within each DSO
61 # where it is used, often the wastage is less than the considerable space
62 # occupied by a long symbol name in the export table which is typical when using
63 # templates and namespaces.
65 # How to Write Shared Libraries: http://people.redhat.com/drepper/dsohowto.pdf
67 Patch9: %{name}-visibility.patch
68 Patch10: %{name}-pr13470.patch
70 Patch20: %{name}-ada-bootstrap.patch
71 URL: http://gcc.gnu.org/
72 BuildRequires: autoconf
73 BuildRequires: automake
74 BuildRequires: binutils >= 2:2.15.91.0.2
76 BuildRequires: fileutils >= 4.0.41
79 BuildRequires: gcc(ada)
80 BuildRequires: gcc-ada
82 BuildRequires: gettext-devel
83 BuildRequires: glibc-devel >= 2.2.5-20
84 BuildRequires: perl-devel
85 BuildRequires: texinfo >= 4.1
86 BuildRequires: zlib-devel
87 Requires: binutils >= 2:2.15.91.0.2
88 Requires: gcc-dirs >= 1.0-3
89 Requires: libgcc = %{epoch}:%{version}-%{release}
90 Provides: cpp = %{epoch}:%{version}-%{release}
91 %{?with_ada:Provides: gcc(ada)}
92 %{?with_ssp:Provides: gcc(ssp)}
93 # ksi for gcc > 3.3.x not ready yet
99 Conflicts: glibc-devel < 2.2.5-20
100 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
102 %define _slibdir /%{_lib}
103 %ifarch amd64 ppc64 s390x sparc64
104 %define _slibdir32 /lib
105 %define _libdir32 /usr/lib
108 %define rpmcflags -O2 -mtune=ultrasparc
112 A compiler aimed at integrating all the optimizations and features
113 necessary for a high-performance and stable development environment.
115 This package contains the C compiler and some files shared by various
116 parts of the GNU Compiler Collection. In order to use another GCC
117 compiler you will need to install the appropriate subpackage.
120 Un compilador que intenta integrar todas las optimalizaciones y
121 características necesarias para un entorno de desarrollo eficaz y
124 Este paquete contiene el compilador de C y unos ficheros compartidos
125 por varias partes de la colección de compiladores GNU (GCC). Para usar
126 otro compilador de GCC será necesario que instale el subpaquete
130 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
131 wyprodukowania szybkiego i stabilnego kodu wynikowego.
133 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
134 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
135 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
137 %description -l pt_BR
138 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
139 GNU Compiler Collection.
142 Summary: Shared gcc library
143 Summary(es): Biblioteca compartida de gcc
144 Summary(pl): Biblioteka gcc
145 Summary(pt_BR): Biblioteca runtime para o GCC
146 License: GPL with unlimited link permission
150 %description -n libgcc
153 %description -n libgcc -l es
154 Biblioteca compartida de gcc.
156 %description -n libgcc -l pl
157 Biblioteka dynamiczna gcc.
159 %description -n libgcc -l pt_BR
160 Biblioteca runtime para o GCC.
163 Summary: C++ support for gcc
164 Summary(es): Soporte de C++ para gcc
165 Summary(pl): Obs³uga C++ dla gcc
166 Summary(pt_BR): Suporte C++ para o gcc
167 Group: Development/Languages
168 Requires: %{name} = %{epoch}:%{version}-%{release}
173 This package adds C++ support to the GNU Compiler Collection. It
174 includes support for most of the current C++ specification, including
175 templates and exception handling. It does not include a standard C++
176 library, which is available separately.
178 %description c++ -l de
179 Dieses Paket enthält die C++-Unterstützung für den
180 GNU-Compiler-Collection. Es unterstützt die aktuelle
181 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
182 C++-Standard-Library ist nicht enthalten - sie ist getrennt
185 %description c++ -l es
186 Este paquete añade soporte de C++ al GCC (colección de compiladores
187 GNU). Ello incluye el soporte para la mayoría de la especificación
188 actual de C++, incluyendo plantillas y manejo de excepciones. No
189 incluye la biblioteca estándar de C++, la que es disponible separada.
191 %description c++ -l fr
192 Ce package ajoute un support C++ a la collection de compilateurs GNU.
193 Il comprend un support pour la plupart des spécifications actuelles de
194 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
195 une bibliothéque C++ standard, qui est disponible séparément.
197 %description c++ -l pl
198 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
199 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
200 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
202 %description c++ -l pt_BR
203 Este pacote adiciona suporte C++ para o gcc.
205 %description c++ -l tr
206 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
207 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
208 C++ kitaplýðý bu pakette yer almaz.
211 Summary: Objective C support for gcc
212 Summary(de): Objektive C-Unterstützung für gcc
213 Summary(es): Soporte de Objective C para gcc
214 Summary(fr): Gestion d'Objective C pour gcc
215 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
216 Summary(tr): gcc için Objective C desteði
217 Group: Development/Languages
218 Requires: %{name} = %{epoch}:%{version}-%{release}
219 Requires: libobjc = %{epoch}:%{version}-%{release}
224 This package adds Objective C support to the GNU Compiler Collection.
225 Objective C is a object oriented derivative of the C language, mainly
226 used on systems running NeXTSTEP. This package does not include the
227 standard objective C object library.
229 %description objc -l de
230 Dieses Paket ergänzt den GNU-Compiler-Collection durch
231 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
232 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
233 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
235 %description objc -l es
236 Este paquete añade soporte de Objective C al GCC (colección de
237 compiladores GNU). Objective C es un lenguaje orientado a objetos
238 derivado de C, principalmente usado en sistemas que funcionan bajo
239 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
242 %description objc -l fr
243 Ce package ajoute un support Objective C a la collection de
244 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
245 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
246 package n'inclue pas la bibliothéque Objective C standard.
248 %description objc -l pl
249 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
250 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
251 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
252 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
254 %description objc -l tr
255 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
256 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
257 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
258 kitaplýðý bu pakette yer almaz.
261 Summary: Objective C Libraries
262 Summary(es): Bibliotecas de Objective C
263 Summary(pl): Biblioteki Obiektowego C
264 License: GPL v2+ with linking exception
268 %description -n libobjc
269 Objective C Libraries.
271 %description -n libobjc -l es
272 Bibliotecas de Objective C.
274 %description -n libobjc -l pl
275 Biblioteki Obiektowego C.
277 %package -n libobjc-static
278 Summary: Static Objective C Libraries
279 Summary(es): Bibliotecas estáticas de Objective C
280 Summary(pl): Statyczne Biblioteki Obiektowego C
281 License: GPL v2+ with linking exception
282 Group: Development/Libraries
283 Requires: libobjc = %{epoch}:%{version}-%{release}
285 %description -n libobjc-static
286 Static Objective C Libraries.
288 %description -n libobjc-static -l es
289 Bibliotecas estáticas de Objective C.
291 %description -n libobjc-static -l pl
292 Statyczne biblioteki Obiektowego C.
295 Summary: Fortran 77 support for gcc
296 Summary(es): Soporte de Fortran 77 para gcc
297 Summary(pl): Obs³uga Fortranu 77 dla gcc
298 Summary(pt_BR): Suporte Fortran 77 para o GCC
299 Group: Development/Languages/Fortran
300 Requires: libg2c = %{epoch}:%{version}-%{release}
304 This package adds support for compiling Fortran 77 programs with the
307 %description g77 -l es
308 Este paquete añade soporte para compilar programas escritos en Fortran
309 77 con el compilador GNU.
311 %description g77 -l pl
312 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
313 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
315 %description g77 -l pt_BR
316 Suporte Fortran 77 para o GCC.
319 Summary: Fortran 77 Libraries
320 Summary(es): Bibliotecas de Fortran 77
321 Summary(pl): Biblioteki Fortranu 77
325 %description -n libg2c
326 Fortran 77 Libraries.
328 %description -n libg2c -l es
329 Bibliotecas de Fortran 77.
331 %description -n libg2c -l pl
332 Biblioteki Fortranu 77.
334 %package -n libg2c-static
335 Summary: Static Fortran 77 Libraries
336 Summary(es): Bibliotecas estáticas de Fortran 77
337 Summary(pl): Statyczne Biblioteki Fortranu 77
339 Group: Development/Libraries
340 Requires: libg2c = %{epoch}:%{version}-%{release}
342 %description -n libg2c-static
343 Static Fortran 77 Libraries.
345 %description -n libg2c -l es
346 Bibliotecas estáticas de Fortran 77.
348 %description -n libg2c-static -l pl
349 Statyczne biblioteki Fortranu 77.
352 Summary: Java support for gcc
353 Summary(es): Soporte de Java para gcc
354 Summary(pl): Obs³uga Javy dla gcc
355 Group: Development/Languages/Java
356 Requires: %{name} = %{epoch}:%{version}-%{release}
357 Requires: libgcj = %{epoch}:%{version}-%{release}
358 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
359 Requires: java-shared
360 Provides: gcj = %{epoch}:%{version}-%{release}
363 This package adds experimental support for compiling Java(tm) programs
364 and bytecode into native code. To use this you will also need the
367 %description java -l es
368 Este paquete añade soporte experimental para compilar programas
369 Java(tm) y su bytecode en código nativo. Para usarlo también va a
370 necesitar el paquete libgcj.
372 %description java -l pl
373 Wsparcie dla kompilowania programów Java(tm) zarówno do bajt-kodu jak i
374 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
375 by³o przeprowadziæ kompilacjê.
378 Summary: Shared java tools
379 Summary(es): Herramientas compartidas de Java
380 Summary(pl): Wspó³dzielone narzêdzia javy
381 Group: Development/Languages/Java
382 Provides: jar = %{epoch}:%{version}-%{release}
383 Provides: java-shared
386 Obsoletes: java-shared
388 %description java-tools
389 This package contains tools that are common for every Java(tm)
390 implementation, such as rmic or jar.
392 %description java-tools -l es
393 Este paquete contiene herramientas que son comunes para cada
394 implementación de Java(tm), como rmic o jar.
396 %description java-tools -l pl
397 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
398 Javy(tm), takie jak rmic czy jar.
401 Summary: Java Class Libraries
402 Summary(es): Bibliotecas de clases de Java
403 Summary(pl): Biblioteki Klas Javy
404 License: GPL with limited linking exception
409 %description -n libgcj
410 Java Class Libraries.
412 %description -n libgcj -l es
413 Bibliotecas de clases de Java.
415 %description -n libgcj -l pl
416 Biblioteki Klas Javy.
418 %package -n libgcj-devel
419 Summary: Development files for Java Class Libraries
420 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
421 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
422 License: GPL with limited linking exception
423 Group: Development/Libraries
424 Requires: %{name}-java = %{epoch}:%{version}-%{release}
425 Requires: libgcj = %{epoch}:%{version}-%{release}
426 Obsoletes: libgcj3-devel
428 %description -n libgcj-devel
429 Development files for Java Class Libraries.
431 %description -n libgcj-devel -l es
432 Ficheros de desarrollo para las bibliotecas de clases de Java.
434 %description -n libgcj-devel -l pl
435 Pliki nag³ówkowe dla Bibliotek Klas Javy.
437 %package -n libgcj-static
438 Summary: Static Java Class Libraries
439 Summary(es): Bibliotecas estáticas de clases de Java
440 Summary(pl): Statyczne Biblioteki Klas Javy
441 License: GPL with limited linking exception
442 Group: Development/Libraries
443 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
444 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
446 %description -n libgcj-static
447 Static Java Class Libraries.
449 %description -n libgcj-static -l es
450 Bibliotecas estáticas de clases de Java.
452 %description -n libgcj-static -l pl
453 Statyczne Biblioteki Klas Javy.
455 %package -n libstdc++
456 Summary: GNU c++ library
457 Summary(es): Biblioteca C++ de GNU
458 Summary(pl): Biblioteki GNU C++
459 Summary(pt_BR): Biblioteca C++ GNU
460 License: GPL v2+ with free software exception
463 Obsoletes: libstdc++3
465 %description -n libstdc++
466 This is the GNU implementation of the standard C++ libraries, along
467 with additional GNU tools. This package includes the shared libraries
468 necessary to run C++ applications.
470 %description -n libstdc++ -l de
471 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
472 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
473 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
475 %description -n libstdc++ -l es
476 Este es el soporte de las bibliotecas padrón del C++, junto con
477 herramientas GNU adicionales. El paquete incluye las bibliotecas
478 compartidas necesarias para ejecutar aplicaciones C++.
480 %description -n libstdc++ -l fr
481 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
482 des outils GNU supplémentaires. Ce package comprend les librairies
483 partagées nécessaires à l'exécution d'application C++.
485 %description -n libstdc++ -l pl
486 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
487 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
488 uruchomienia aplikacji napisanych w C++.
490 %description -n libstdc++ -l pt_BR
491 Este pacote é uma implementação da biblioteca padrão C++ v3, um
492 subconjunto do padrão ISO 14882.
494 %description -n libstdc++ -l tr
495 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
496 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
498 %package -n libstdc++-devel
499 Summary: Header files and documentation for C++ development
500 Summary(de): Header-Dateien zur Entwicklung mit C++
501 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
502 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
503 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
504 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
505 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
506 License: GPL v2+ with free software exception
507 Group: Development/Libraries
508 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
509 Requires: libstdc++ = %{epoch}:%{version}-%{release}
510 Requires: glibc-devel
511 Obsoletes: libg++-devel
512 Obsoletes: libstdc++3-devel
514 %description -n libstdc++-devel
515 This is the GNU implementation of the standard C++ libraries. This
516 package includes the header files needed for C++ development and
517 library documentation.
519 %description -n libstdc++-devel -l es
520 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
521 paquete incluye los archivos de inclusión y bibliotecas necesarios
522 para desarrollo de programas en lenguaje C++.
524 %description -n libstdc++-devel -l pl
525 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
526 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
527 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
529 %description -n libstdc++-devel -l pt_BR
530 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
531 para desenvolvimento de programas C++.
533 %package -n libstdc++-static
534 Summary: Static C++ standard library
535 Summary(es): Biblioteca estándar estática de C++
536 Summary(pl): Statyczna biblioteka standardowa C++
537 License: GPL v2+ with free software exception
538 Group: Development/Libraries
539 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
541 %description -n libstdc++-static
542 Static C++ standard library.
544 %description -n libstdc++-static -l es
545 Biblioteca estándar estática de C++.
547 %description -n libstdc++-static -l pl
548 Statyczna biblioteka standardowa C++.
551 Summary: Foreign Function Interface library
552 Summary(es): Biblioteca de interfaz de funciones ajenas
553 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
557 %description -n libffi
558 The libffi library provides a portable, high level programming
559 interface to various calling conventions. This allows a programmer to
560 call any function specified by a call interface description at run
563 %description -n libffi -l es
564 La biblioteca libffi provee una interfaz portable de programación de
565 alto nivel para varias convenciones de llamada. Ello permite que un
566 programador llame una función cualquiera especificada por una
567 descripción de interfaz de llamada en el tiempo de ejecución.
569 %description -n libffi -l pl
570 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
571 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
572 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
575 %package -n libffi-devel
576 Summary: Development files for Foreign Function Interface library
577 Summary(es): Ficheros de desarrollo para libffi
578 Summary(pl): Pliki nag³ówkowe dla libffi
580 Group: Development/Libraries
581 Requires: libffi = %{epoch}:%{version}-%{release}
583 %description -n libffi-devel
584 Development files for Foreign Function Interface library.
586 %description -n libffi-devel -l es
587 Ficheros de desarrollo para libffi.
589 %description -n libffi-devel -l pl
590 Pliki nag³ówkowe dla libffi.
592 %package -n libffi-static
593 Summary: Static Foreign Function Interface library
594 Summary(es): Biblioteca libffi estática
595 Summary(pl): Statyczna biblioteka libffi
597 Group: Development/Libraries
598 Requires: libffi-devel = %{epoch}:%{version}-%{release}
600 %description -n libffi-static
601 Static Foreign Function Interface library.
603 %description -n libffi-static -l es
604 Biblioteca libffi estática.
606 %description -n libffi-static -l pl
607 Statyczna biblioteka libffi.
610 Summary: Ada support for gcc
611 Summary(es): Soporte de Ada para gcc
612 Summary(pl): Obs³uga Ady do gcc
613 Group: Development/Languages
614 Requires: %{name} = %{epoch}:%{version}-%{release}
615 Requires: libgnat = %{epoch}:%{version}-%{release}
617 Obsoletes: gnat-devel
620 This package adds experimental support for compiling Ada programs.
622 %description ada -l es
623 Este paquete añade soporte experimental para compilar programas en
626 %description ada -l pl
627 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
631 Summary: Ada standard libraries
632 Summary(es): Bibliotecas estándares de Ada
633 Summary(pl): Biblioteki standardowe dla Ady
634 License: GPL v2+ with linking exception
639 %description -n libgnat
640 This package contains shared libraries needed to run programs written
643 %description -n libgnat -l es
644 Este paquete contiene las bibliotecas compartidas necesarias para
645 ejecutar programas escritos en Ada.
647 %description -n libgnat -l pl
648 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
651 %package -n libgnat-static
652 Summary: Static Ada standard libraries
653 Summary(pl): Statyczne biblioteki standardowe dla Ady
654 License: GPL v2+ with linking exception
656 Obsoletes: gnat-static
658 %description -n libgnat-static
659 This package contains static libraries for programs written in Ada.
661 %description -n libgnat-static -l pl
662 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
671 %{!?debug:%patch3 -p1}
672 %{?with_ssp:%patch4 -p1}
681 # needed for bootstrap using gcc 3.3.x on alpha
682 # and even using the same 3.4.x(!) (but not Debian's 3.3.x) on ia64
686 # because we distribute modified version of gcc...
687 perl -pi -e 's/(version.*)";/$1 %{?with_ssp:SSP }(PLD Linux)";/' gcc/version.c
688 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
690 mv ChangeLog ChangeLog.general
693 # because pr16276 patch modifies configure.ac
697 cp -f /usr/share/automake/config.sub .
699 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
706 exec /usr/bin/gcc -m64 "$@"
712 CFLAGS="%{rpmcflags}" \
713 CXXFLAGS="%{rpmcflags}" \
717 --prefix=%{_prefix} \
718 --libdir=%{_libdir} \
719 --libexecdir=%{_libdir} \
720 --infodir=%{_infodir} \
721 --mandir=%{_mandir} \
723 --enable-threads=posix \
724 --enable-__cxa_atexit \
725 --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
729 %if %{without multilib}
737 --with-slibdir=%{_slibdir} \
741 PATH=$PATH:/sbin:%{_sbindir}
744 # - on alpha stage1 needs -O0 for 3.3->3.4 bootstrap (gnat from 3.3 is seriously broken)
745 # - on ia64 use bootstrap-lean as profiledbootstrap is broken (PR 13882, 15836, 16108)
746 %{__make} -C obj-%{_target_platform} \
752 GCJFLAGS="%{rpmcflags}" \
753 BOOT_CFLAGS="%{rpmcflags}" \
755 STAGE1_CFLAGS="%{rpmcflags} -O0" \
757 STAGE1_CFLAGS="%{rpmcflags}" \
759 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
764 # cannot build it in parallel
765 for tgt in gnatlib-shared gnattools gnatlib; do
766 %{__make} -C obj-%{_target_platform}/gcc $tgt \
767 BOOT_CFLAGS="%{rpmcflags}" \
768 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
775 rm -rf $RPM_BUILD_ROOT
776 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
778 cd obj-%{_target_platform}
779 PATH=$PATH:/sbin:%{_sbindir}
781 %{__make} -j1 install \
783 infodir=%{_infodir} \
784 DESTDIR=$RPM_BUILD_ROOT
787 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
788 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
791 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
792 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
794 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
795 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
798 # move ada shared libraries to proper place...
799 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
800 $RPM_BUILD_ROOT%{_libdir}
801 # check if symlink to be made is valid
802 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so.1
803 ln -sf libgnat-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so
804 ln -sf libgnarl-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.4.so
805 ln -sf libgnat-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
806 ln -sf libgnarl-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
809 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
815 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
816 cp -f fastjar/README java-doc/README.fastjar
817 cp -f libffi/README java-doc/README.libffi
818 cp -f libffi/LICENSE java-doc/LICENSE.libffi
822 cp -f libobjc/README gcc/objc/README.libobjc
825 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
826 for f in libstdc++.la libsupc++.la %{?with_java:libgcj.la} ; do
827 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
829 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
830 for f in libstdc++.la libsupc++.la libg2c.la \
831 %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
832 %{?with_objc:libobjc.la}; do
833 perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
836 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
837 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
839 # include/ contains install-tools/include/* and headers that were fixed up
840 # by fixincludes, we don't want former
841 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
843 # we have to save these however
844 mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,libffi/ffitarget.h,gcj}} $gccdir/tmp
845 rm -rf $gccdir/include
846 mv -f $gccdir/tmp $gccdir/include
847 cp $gccdir/install-tools/include/*.h $gccdir/include
848 # but we don't want anything more from install-tools
849 rm -rf $gccdir/install-tools
852 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
853 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/libgcc_s_32.so
857 %find_lang libstdc\+\+
860 zcat %{SOURCE2} > $RPM_BUILD_ROOT%{_aclocaldir}/gcc_stack_protect.m4
862 install %{SOURCE3} $RPM_BUILD_ROOT%{_aclocaldir}/gcc_visibility.m4
865 rm -rf $RPM_BUILD_ROOT
868 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
871 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
874 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
877 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
880 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
883 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
885 %post -p /sbin/ldconfig -n libgcc
886 %postun -p /sbin/ldconfig -n libgcc
887 %post -p /sbin/ldconfig -n libstdc++
888 %postun -p /sbin/ldconfig -n libstdc++
889 %post -p /sbin/ldconfig -n libobjc
890 %postun -p /sbin/ldconfig -n libobjc
891 %post -p /sbin/ldconfig -n libg2c
892 %postun -p /sbin/ldconfig -n libg2c
893 %post -p /sbin/ldconfig -n libgcj
894 %postun -p /sbin/ldconfig -n libgcj
895 %post -p /sbin/ldconfig -n libgnat
896 %postun -p /sbin/ldconfig -n libgnat
897 %post -p /sbin/ldconfig -n libffi
898 %postun -p /sbin/ldconfig -n libffi
901 %defattr(644,root,root,755)
902 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
903 %doc gcc/{ChangeLog,ONEWS,README.Portability}
904 %dir %{_libdir}/gcc/*/*
905 %dir %{_libdir}/gcc/*/*/include
906 %{?with_ssp:%{_aclocaldir}/gcc_stack_protect.m4}
907 %{_aclocaldir}/gcc_visibility.m4
909 %attr(755,root,root) %{_bindir}/*-gcc*
910 %attr(755,root,root) %{_bindir}/gcc
911 %attr(755,root,root) %{_bindir}/gccbug
912 %attr(755,root,root) %{_bindir}/gcov
913 %attr(755,root,root) %{_bindir}/cc
914 %attr(755,root,root) %{_bindir}/cpp
916 %{_mandir}/man1/cc.1*
917 %{_mandir}/man1/cpp.1*
918 %lang(ja) %{_mandir}/ja/man1/cpp.1*
919 %{_mandir}/man1/gcc.1*
920 %lang(fr) %{_mandir}/fr/man1/gcc.1*
921 %lang(ja) %{_mandir}/ja/man1/gcc.1*
922 %{_mandir}/man1/gcov.1*
927 %attr(755,root,root) /lib/cpp
929 %attr(755,root,root) %{_slibdir}/lib*.so
931 %{_slibdir}/libunwind.a
933 %{_libdir}/gcc/*/*/libgcov.a
934 %{_libdir}/gcc/*/*/libgcc.a
935 %{_libdir}/gcc/*/*/libgcc_eh.a
936 %{_libdir}/gcc/*/*/specs
937 %{_libdir}/gcc/*/*/crt*.o
939 %attr(755,root,root) %{_libdir}/gcc/*/*/libgcc_s*.so
940 %dir %{_libdir}/gcc/*/*/32
941 %{_libdir}/gcc/*/*/32/libgcc.a
942 %{_libdir}/gcc/*/*/32/libgcc_eh.a
943 %{_libdir}/gcc/*/*/32/libgcov.a
944 %{_libdir}/gcc/*/*/32/crt*.o
947 %{_libdir}/gcc/*/*/ecrt*.o
948 %{_libdir}/gcc/*/*/ncrt*.o
949 %{_libdir}/gcc/*/*/nof
952 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
953 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
955 %{_libdir}/gcc/*/*/include/*.h
956 %exclude %{_libdir}/gcc/*/*/include/g2c.h
959 %defattr(644,root,root,755)
960 %attr(755,root,root) %{_slibdir}*/lib*.so.*
962 %attr(755,root,root) %{_slibdir32}/lib*.so.*
966 %defattr(644,root,root,755)
967 %doc gcc/cp/{ChangeLog,NEWS}
968 %attr(755,root,root) %{_bindir}/g++
969 %attr(755,root,root) %{_bindir}/*-g++
970 %attr(755,root,root) %{_bindir}/c++
971 %attr(755,root,root) %{_bindir}/*-c++
972 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
973 %{_libdir}/libsupc++.la
974 %{_libdir}/libsupc++.a
976 %{_libdir}/nof/libsupc++.la
977 %{_libdir}/nof/libsupc++.a
980 %{_libdir32}/libsupc++.la
981 %{_libdir32}/libsupc++.a
983 %{_mandir}/man1/g++.1*
984 %lang(ja) %{_mandir}/ja/man1/g++.1*
986 %files -n libstdc++ -f libstdc++.lang
987 %defattr(644,root,root,755)
988 %doc libstdc++-v3/{ChangeLog,README}
989 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
991 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
994 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
997 %files -n libstdc++-devel
998 %defattr(644,root,root,755)
999 %doc libstdc++-v3/docs/html
1000 %dir %{_includedir}/c++
1001 %{_includedir}/c++/%{version}
1002 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
1003 %attr(755,root,root) %{_libdir}/libstdc++.so
1004 %{_libdir}/libstdc++.la
1006 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
1007 %{_libdir}/nof/libstdc++.la
1009 %if %{with multilib}
1010 %attr(755,root,root) %{_libdir32}/libstdc++.so
1011 %{_libdir32}/libstdc++.la
1014 %files -n libstdc++-static
1015 %defattr(644,root,root,755)
1016 %{_libdir}/libstdc++.a
1018 %{_libdir}/nof/libstdc++.a
1020 %if %{with multilib}
1021 %{_libdir32}/libstdc++.a
1026 %defattr(644,root,root,755)
1027 %doc gcc/objc/README
1028 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1029 %attr(755,root,root) %{_libdir}/libobjc.so
1030 %{_libdir}/libobjc.la
1032 %attr(755,root,root) %{_libdir}/nof/libobjc.so
1033 %{_libdir}/nof/libobjc.la
1035 %if %{with multilib}
1036 %attr(755,root,root) %{_libdir32}/libobjc.so
1037 %{_libdir32}/libobjc.la
1039 %{_libdir}/gcc/*/*/include/objc
1042 %defattr(644,root,root,755)
1043 %doc libobjc/{ChangeLog,README*}
1044 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
1046 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
1048 %if %{with multilib}
1049 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
1052 %files -n libobjc-static
1053 %defattr(644,root,root,755)
1054 %{_libdir}/libobjc.a
1056 %{_libdir}/nof/libobjc.a
1058 %if %{with multilib}
1059 %{_libdir32}/libobjc.a
1064 %defattr(644,root,root,755)
1065 %doc gcc/f/{BUGS,ChangeLog,NEWS}
1066 %attr(755,root,root) %{_bindir}/g77
1067 %attr(755,root,root) %{_bindir}/f77
1069 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
1070 %{_libdir}/libfrtbegin.a
1071 %{_libdir}/libg2c.la
1072 %attr(755,root,root) %{_libdir}/libg2c.so
1074 %{_libdir}/nof/libfrtbegin.a
1075 %{_libdir}/nof/libg2c.la
1076 %attr(755,root,root) %{_libdir}/nof/libg2c.so
1078 %if %{with multilib}
1079 %{_libdir32}/libfrtbegin.a
1080 %{_libdir32}/libg2c.la
1081 %attr(755,root,root) %{_libdir32}/libg2c.so
1083 %{_libdir}/gcc/*/*/include/g2c.h
1084 %{_mandir}/man1/g77.1*
1085 %{_mandir}/man1/f77.1*
1086 %lang(ja) %{_mandir}/ja/man1/g77.1*
1087 %lang(ja) %{_mandir}/ja/man1/f77.1*
1090 %defattr(644,root,root,755)
1091 %doc libf2c/{ChangeLog,README,TODO}
1092 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
1094 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
1096 %if %{with multilib}
1097 %attr(755,root,root) %{_libdir32}/libg2c.so.*.*.*
1100 %files -n libg2c-static
1101 %defattr(644,root,root,755)
1104 %{_libdir}/nof/libg2c.a
1106 %if %{with multilib}
1107 %{_libdir32}/libg2c.a
1112 %defattr(644,root,root,755)
1113 %doc gcc/java/ChangeLog java-doc/*
1114 %attr(755,root,root) %{_bindir}/gcj*
1115 %attr(755,root,root) %{_bindir}/gij
1116 %attr(755,root,root) %{_bindir}/jcf-dump
1117 %attr(755,root,root) %{_bindir}/jv-*
1118 %attr(755,root,root) %{_bindir}/grepjar
1119 %attr(755,root,root) %{_bindir}/*-gcj*
1120 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1121 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1123 %{_mandir}/man1/jcf-*
1124 %{_mandir}/man1/jv-*
1125 %{_mandir}/man1/gij*
1126 %{_mandir}/man1/gcj*
1127 %{_mandir}/man1/grepjar*
1130 %defattr(644,root,root,755)
1131 %attr(755,root,root) %{_bindir}/rmi*
1132 %attr(755,root,root) %{_bindir}/jar
1133 %{_mandir}/man1/rmi*
1134 %{_mandir}/man1/jar*
1135 %{_infodir}/fastjar*
1138 %defattr(644,root,root,755)
1139 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1140 %attr(755,root,root) %{_bindir}/addr2name.awk
1141 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1142 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1144 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1146 %{_libdir}/logging.properties
1148 %files -n libgcj-devel
1149 %defattr(644,root,root,755)
1151 %{_includedir}/javax
1154 %{_includedir}/gnu/*
1155 %{_libdir}/gcc/*/*/include/gcj
1156 %dir %{_libdir}/security
1157 %{_libdir}/security/*
1158 %dir %{_datadir}/java
1159 %{_datadir}/java/libgcj*.jar
1160 %{_libdir}/lib*cj.spec
1161 %{_libdir}/lib*cj*.la
1162 %attr(755,root,root) %{_libdir}/lib*cj*.so
1163 %attr(755,root,root) %{_libdir}/lib-org-*.so
1164 %{_libdir}/lib-org-*.la
1166 %{_libdir}/nof/lib*cj*.la
1167 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1169 %{_pkgconfigdir}/libgcj.pc
1171 %files -n libgcj-static
1172 %defattr(644,root,root,755)
1173 %{_libdir}/lib*cj*.a
1174 %{_libdir}/lib-org-*.a
1176 %{_libdir}/nof/lib*cj*.a
1180 %defattr(644,root,root,755)
1181 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1182 %attr(755,root,root) %{_libdir}/libffi-*.so
1184 %files -n libffi-devel
1185 %defattr(644,root,root,755)
1186 %{_libdir}/gcc/*/*/include/ffitarget.h
1187 %attr(755,root,root) %{_libdir}/libffi.so
1188 %{_libdir}/libffi.la
1189 %{_includedir}/ffi.h
1191 %files -n libffi-static
1192 %defattr(644,root,root,755)
1198 %defattr(644,root,root,755)
1199 %doc gcc/ada/ChangeLog
1200 %attr(755,root,root) %{_bindir}/gnat*
1201 %attr(755,root,root) %{_bindir}/gpr*
1202 %attr(755,root,root) %{_libdir}/libgnarl*.so
1203 %attr(755,root,root) %{_libdir}/libgnat*.so
1204 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1205 %{_libdir}/gcc/*/*/adainclude
1206 %dir %{_libdir}/gcc/*/*/adalib
1207 %{_libdir}/gcc/*/*/adalib/*.ali
1208 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1209 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1211 %{_libdir}/gcc/*/*/adalib/libgmem.a
1217 %defattr(644,root,root,755)
1218 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1219 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1221 %files -n libgnat-static
1222 %defattr(644,root,root,755)
1223 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1224 %{_libdir}/gcc/*/*/adalib/libgnat.a