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)
6 # - fix build on ac-i586: (it`s strange because other builders are OK)
7 # (File not found by glob: /tmp/B.e501ff/gcc-3.4.3-root-builder/usr/include/c++/3.4.3/*/bits/stdc++.h.gch)
11 %bcond_without ada # build without ADA support
12 %bcond_without java # build without Java support
13 %bcond_without objc # build without ObjC support
14 %bcond_with ssp # build with stack-smashing protector support
15 %bcond_with multilib # build with multilib support
16 %ifnarch amd64 ppc64 s390x sparc64
17 %undefine with_multilib
20 Summary: GNU Compiler Collection: the C compiler and shared files
21 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
22 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
23 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
29 Group: Development/Languages
30 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
31 # Source0-md5: e744b30c834360fccac41eb7269a3011
32 Source1: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
33 # Source1-md5: 4736f3422ddfb808423b745629acc321
34 Source2: http://www.trl.ibm.com/projects/security/ssp/gcc2_95_3/gcc_stack_protect.m4.gz
35 # Source2-md5: 07d93ad5fc07ca44cdaba46c658820de
36 Source3: gcc_visibility.m4
37 Patch0: %{name}-info.patch
38 Patch1: %{name}-nolocalefiles.patch
39 Patch2: %{name}-ada-link-new-libgnat.patch
40 Patch3: %{name}-nodebug.patch
41 Patch4: %{name}-ssp.patch
42 Patch5: %{name}-ada-link.patch
43 Patch6: %{name}-pr15666.patch
44 Patch7: %{name}-pr16276.patch
45 Patch8: %{name}-pr18185.patch
47 # -fvisibility={default|internal|hidden|protected}
49 # Set the default ELF image symbol visibility to the specified option.
50 # All symbols will be marked with this unless overrided within the code.
51 # Using this feature can very substantially improve linking and load times
52 # of shared object libraries, produce more optimised code, provide near-perfect
53 # API export and prevent symbol clashes. It is strongly recommended that you
54 # use this in any shared objects you distribute.
56 # -fvisibility-inlines-hidden
58 # Causes all inlined methods to be marked with __attribute__((visibility("hidden")))
59 # so that they do not appear in the export table of a DSO and do not require a PLT
60 # indirection when used within the DSO. Enabling this option can have a dramatic
61 # effect on load and link times of a DSO as it massively reduces the size
62 # of the dynamic export table when the library makes heavy use of templates.
63 # While it can cause bloating through duplication of code within each DSO
64 # where it is used, often the wastage is less than the considerable space
65 # occupied by a long symbol name in the export table which is typical when using
66 # templates and namespaces.
68 # How to Write Shared Libraries: http://people.redhat.com/drepper/dsohowto.pdf
70 Patch9: %{name}-visibility.patch
71 Patch10: %{name}-pr13470.patch
73 Patch20: %{name}-ada-bootstrap.patch
74 URL: http://gcc.gnu.org/
75 BuildRequires: autoconf
76 BuildRequires: automake
77 BuildRequires: binutils >= 2:2.15.91.0.2
79 BuildRequires: fileutils >= 4.0.41
82 BuildRequires: gcc(ada)
83 BuildRequires: gcc-ada
85 BuildRequires: gettext-devel
86 BuildRequires: glibc-devel >= 2.2.5-20
87 BuildRequires: perl-devel
88 BuildRequires: texinfo >= 4.1
89 BuildRequires: zlib-devel
90 Requires: binutils >= 2:2.15.91.0.2
91 Requires: gcc-dirs >= 1.0-3
92 Requires: libgcc = %{epoch}:%{version}-%{release}
93 Provides: cpp = %{epoch}:%{version}-%{release}
94 %{?with_ada:Provides: gcc(ada)}
95 %{?with_ssp:Provides: gcc(ssp)}
96 # ksi for gcc > 3.3.x not ready yet
102 Conflicts: glibc-devel < 2.2.5-20
103 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
105 %define _slibdir /%{_lib}
106 %ifarch amd64 ppc64 s390x sparc64
107 %define _slibdir32 /lib
108 %define _libdir32 /usr/lib
111 %define rpmcflags -O2 -mtune=ultrasparc
115 A compiler aimed at integrating all the optimizations and features
116 necessary for a high-performance and stable development environment.
118 This package contains the C compiler and some files shared by various
119 parts of the GNU Compiler Collection. In order to use another GCC
120 compiler you will need to install the appropriate subpackage.
123 Un compilador que intenta integrar todas las optimalizaciones y
124 características necesarias para un entorno de desarrollo eficaz y
127 Este paquete contiene el compilador de C y unos ficheros compartidos
128 por varias partes de la colección de compiladores GNU (GCC). Para usar
129 otro compilador de GCC será necesario que instale el subpaquete
133 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
134 wyprodukowania szybkiego i stabilnego kodu wynikowego.
136 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
137 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
138 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
140 %description -l pt_BR
141 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
142 GNU Compiler Collection.
145 Summary: Shared gcc library
146 Summary(es): Biblioteca compartida de gcc
147 Summary(pl): Biblioteka gcc
148 Summary(pt_BR): Biblioteca runtime para o GCC
149 License: GPL with unlimited link permission
153 %description -n libgcc
156 %description -n libgcc -l es
157 Biblioteca compartida de gcc.
159 %description -n libgcc -l pl
160 Biblioteka dynamiczna gcc.
162 %description -n libgcc -l pt_BR
163 Biblioteca runtime para o GCC.
166 Summary: C++ support for gcc
167 Summary(es): Soporte de C++ para gcc
168 Summary(pl): Obs³uga C++ dla gcc
169 Summary(pt_BR): Suporte C++ para o gcc
170 Group: Development/Languages
171 Requires: %{name} = %{epoch}:%{version}-%{release}
176 This package adds C++ support to the GNU Compiler Collection. It
177 includes support for most of the current C++ specification, including
178 templates and exception handling. It does not include a standard C++
179 library, which is available separately.
181 %description c++ -l de
182 Dieses Paket enthält die C++-Unterstützung für den
183 GNU-Compiler-Collection. Es unterstützt die aktuelle
184 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
185 C++-Standard-Library ist nicht enthalten - sie ist getrennt
188 %description c++ -l es
189 Este paquete añade soporte de C++ al GCC (colección de compiladores
190 GNU). Ello incluye el soporte para la mayoría de la especificación
191 actual de C++, incluyendo plantillas y manejo de excepciones. No
192 incluye la biblioteca estándar de C++, la que es disponible separada.
194 %description c++ -l fr
195 Ce package ajoute un support C++ a la collection de compilateurs GNU.
196 Il comprend un support pour la plupart des spécifications actuelles de
197 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
198 une bibliothéque C++ standard, qui est disponible séparément.
200 %description c++ -l pl
201 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
202 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
203 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
205 %description c++ -l pt_BR
206 Este pacote adiciona suporte C++ para o gcc.
208 %description c++ -l tr
209 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
210 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
211 C++ kitaplýðý bu pakette yer almaz.
214 Summary: Objective C support for gcc
215 Summary(de): Objektive C-Unterstützung für gcc
216 Summary(es): Soporte de Objective C para gcc
217 Summary(fr): Gestion d'Objective C pour gcc
218 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
219 Summary(tr): gcc için Objective C desteði
220 Group: Development/Languages
221 Requires: %{name} = %{epoch}:%{version}-%{release}
222 Requires: libobjc = %{epoch}:%{version}-%{release}
227 This package adds Objective C support to the GNU Compiler Collection.
228 Objective C is a object oriented derivative of the C language, mainly
229 used on systems running NeXTSTEP. This package does not include the
230 standard objective C object library.
232 %description objc -l de
233 Dieses Paket ergänzt den GNU-Compiler-Collection durch
234 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
235 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
236 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
238 %description objc -l es
239 Este paquete añade soporte de Objective C al GCC (colección de
240 compiladores GNU). Objective C es un lenguaje orientado a objetos
241 derivado de C, principalmente usado en sistemas que funcionan bajo
242 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
245 %description objc -l fr
246 Ce package ajoute un support Objective C a la collection de
247 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
248 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
249 package n'inclue pas la bibliothéque Objective C standard.
251 %description objc -l pl
252 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
253 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
254 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
255 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
257 %description objc -l tr
258 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
259 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
260 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
261 kitaplýðý bu pakette yer almaz.
264 Summary: Objective C Libraries
265 Summary(es): Bibliotecas de Objective C
266 Summary(pl): Biblioteki Obiektowego C
267 License: GPL v2+ with linking exception
271 %description -n libobjc
272 Objective C Libraries.
274 %description -n libobjc -l es
275 Bibliotecas de Objective C.
277 %description -n libobjc -l pl
278 Biblioteki Obiektowego C.
280 %package -n libobjc-static
281 Summary: Static Objective C Libraries
282 Summary(es): Bibliotecas estáticas de Objective C
283 Summary(pl): Statyczne Biblioteki Obiektowego C
284 License: GPL v2+ with linking exception
285 Group: Development/Libraries
286 Requires: libobjc = %{epoch}:%{version}-%{release}
288 %description -n libobjc-static
289 Static Objective C Libraries.
291 %description -n libobjc-static -l es
292 Bibliotecas estáticas de Objective C.
294 %description -n libobjc-static -l pl
295 Statyczne biblioteki Obiektowego C.
298 Summary: Fortran 77 support for gcc
299 Summary(es): Soporte de Fortran 77 para gcc
300 Summary(pl): Obs³uga Fortranu 77 dla gcc
301 Summary(pt_BR): Suporte Fortran 77 para o GCC
302 Group: Development/Languages/Fortran
303 Requires: libg2c = %{epoch}:%{version}-%{release}
307 This package adds support for compiling Fortran 77 programs with the
310 %description g77 -l es
311 Este paquete añade soporte para compilar programas escritos en Fortran
312 77 con el compilador GNU.
314 %description g77 -l pl
315 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
316 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
318 %description g77 -l pt_BR
319 Suporte Fortran 77 para o GCC.
322 Summary: Fortran 77 Libraries
323 Summary(es): Bibliotecas de Fortran 77
324 Summary(pl): Biblioteki Fortranu 77
328 %description -n libg2c
329 Fortran 77 Libraries.
331 %description -n libg2c -l es
332 Bibliotecas de Fortran 77.
334 %description -n libg2c -l pl
335 Biblioteki Fortranu 77.
337 %package -n libg2c-static
338 Summary: Static Fortran 77 Libraries
339 Summary(es): Bibliotecas estáticas de Fortran 77
340 Summary(pl): Statyczne Biblioteki Fortranu 77
342 Group: Development/Libraries
343 Requires: libg2c = %{epoch}:%{version}-%{release}
345 %description -n libg2c-static
346 Static Fortran 77 Libraries.
348 %description -n libg2c -l es
349 Bibliotecas estáticas de Fortran 77.
351 %description -n libg2c-static -l pl
352 Statyczne biblioteki Fortranu 77.
355 Summary: Java support for gcc
356 Summary(es): Soporte de Java para gcc
357 Summary(pl): Obs³uga Javy dla gcc
358 Group: Development/Languages/Java
359 Requires: %{name} = %{epoch}:%{version}-%{release}
360 Requires: libgcj = %{epoch}:%{version}-%{release}
361 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
362 Requires: java-shared
363 Provides: gcj = %{epoch}:%{version}-%{release}
366 This package adds experimental support for compiling Java(tm) programs
367 and bytecode into native code. To use this you will also need the
370 %description java -l es
371 Este paquete añade soporte experimental para compilar programas
372 Java(tm) y su bytecode en código nativo. Para usarlo también va a
373 necesitar el paquete libgcj.
375 %description java -l pl
376 Wsparcie dla kompilowania programów Java(tm) zarówno do bajt-kodu jak i
377 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
378 by³o przeprowadziæ kompilacjê.
381 Summary: Shared java tools
382 Summary(es): Herramientas compartidas de Java
383 Summary(pl): Wspó³dzielone narzêdzia javy
384 Group: Development/Languages/Java
385 Provides: jar = %{epoch}:%{version}-%{release}
386 Provides: java-shared
389 Obsoletes: java-shared
391 %description java-tools
392 This package contains tools that are common for every Java(tm)
393 implementation, such as rmic or jar.
395 %description java-tools -l es
396 Este paquete contiene herramientas que son comunes para cada
397 implementación de Java(tm), como rmic o jar.
399 %description java-tools -l pl
400 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
401 Javy(tm), takie jak rmic czy jar.
404 Summary: Java Class Libraries
405 Summary(es): Bibliotecas de clases de Java
406 Summary(pl): Biblioteki Klas Javy
407 License: GPL with limited linking exception
412 %description -n libgcj
413 Java Class Libraries.
415 %description -n libgcj -l es
416 Bibliotecas de clases de Java.
418 %description -n libgcj -l pl
419 Biblioteki Klas Javy.
421 %package -n libgcj-devel
422 Summary: Development files for Java Class Libraries
423 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
424 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
425 License: GPL with limited linking exception
426 Group: Development/Libraries
427 Requires: %{name}-java = %{epoch}:%{version}-%{release}
428 Requires: libgcj = %{epoch}:%{version}-%{release}
429 Obsoletes: libgcj3-devel
431 %description -n libgcj-devel
432 Development files for Java Class Libraries.
434 %description -n libgcj-devel -l es
435 Ficheros de desarrollo para las bibliotecas de clases de Java.
437 %description -n libgcj-devel -l pl
438 Pliki nag³ówkowe dla Bibliotek Klas Javy.
440 %package -n libgcj-static
441 Summary: Static Java Class Libraries
442 Summary(es): Bibliotecas estáticas de clases de Java
443 Summary(pl): Statyczne Biblioteki Klas Javy
444 License: GPL with limited linking exception
445 Group: Development/Libraries
446 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
447 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
449 %description -n libgcj-static
450 Static Java Class Libraries.
452 %description -n libgcj-static -l es
453 Bibliotecas estáticas de clases de Java.
455 %description -n libgcj-static -l pl
456 Statyczne Biblioteki Klas Javy.
458 %package -n libstdc++
459 Summary: GNU c++ library
460 Summary(es): Biblioteca C++ de GNU
461 Summary(pl): Biblioteki GNU C++
462 Summary(pt_BR): Biblioteca C++ GNU
463 License: GPL v2+ with free software exception
466 Obsoletes: libstdc++3
468 %description -n libstdc++
469 This is the GNU implementation of the standard C++ libraries, along
470 with additional GNU tools. This package includes the shared libraries
471 necessary to run C++ applications.
473 %description -n libstdc++ -l de
474 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
475 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
476 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
478 %description -n libstdc++ -l es
479 Este es el soporte de las bibliotecas padrón del C++, junto con
480 herramientas GNU adicionales. El paquete incluye las bibliotecas
481 compartidas necesarias para ejecutar aplicaciones C++.
483 %description -n libstdc++ -l fr
484 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
485 des outils GNU supplémentaires. Ce package comprend les librairies
486 partagées nécessaires à l'exécution d'application C++.
488 %description -n libstdc++ -l pl
489 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
490 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
491 uruchomienia aplikacji napisanych w C++.
493 %description -n libstdc++ -l pt_BR
494 Este pacote é uma implementação da biblioteca padrão C++ v3, um
495 subconjunto do padrão ISO 14882.
497 %description -n libstdc++ -l tr
498 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
499 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
501 %package -n libstdc++-devel
502 Summary: Header files and documentation for C++ development
503 Summary(de): Header-Dateien zur Entwicklung mit C++
504 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
505 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
506 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
507 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
508 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
509 License: GPL v2+ with free software exception
510 Group: Development/Libraries
511 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
512 Requires: libstdc++ = %{epoch}:%{version}-%{release}
513 Requires: glibc-devel
514 Obsoletes: libg++-devel
515 Obsoletes: libstdc++3-devel
517 %description -n libstdc++-devel
518 This is the GNU implementation of the standard C++ libraries. This
519 package includes the header files needed for C++ development and
520 library documentation.
522 %description -n libstdc++-devel -l es
523 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
524 paquete incluye los archivos de inclusión y bibliotecas necesarios
525 para desarrollo de programas en lenguaje C++.
527 %description -n libstdc++-devel -l pl
528 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
529 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
530 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
532 %description -n libstdc++-devel -l pt_BR
533 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
534 para desenvolvimento de programas C++.
536 %package -n libstdc++-static
537 Summary: Static C++ standard library
538 Summary(es): Biblioteca estándar estática de C++
539 Summary(pl): Statyczna biblioteka standardowa C++
540 License: GPL v2+ with free software exception
541 Group: Development/Libraries
542 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
544 %description -n libstdc++-static
545 Static C++ standard library.
547 %description -n libstdc++-static -l es
548 Biblioteca estándar estática de C++.
550 %description -n libstdc++-static -l pl
551 Statyczna biblioteka standardowa C++.
554 Summary: Foreign Function Interface library
555 Summary(es): Biblioteca de interfaz de funciones ajenas
556 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
560 %description -n libffi
561 The libffi library provides a portable, high level programming
562 interface to various calling conventions. This allows a programmer to
563 call any function specified by a call interface description at run
566 %description -n libffi -l es
567 La biblioteca libffi provee una interfaz portable de programación de
568 alto nivel para varias convenciones de llamada. Ello permite que un
569 programador llame una función cualquiera especificada por una
570 descripción de interfaz de llamada en el tiempo de ejecución.
572 %description -n libffi -l pl
573 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
574 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
575 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
578 %package -n libffi-devel
579 Summary: Development files for Foreign Function Interface library
580 Summary(es): Ficheros de desarrollo para libffi
581 Summary(pl): Pliki nag³ówkowe dla libffi
583 Group: Development/Libraries
584 Requires: libffi = %{epoch}:%{version}-%{release}
586 %description -n libffi-devel
587 Development files for Foreign Function Interface library.
589 %description -n libffi-devel -l es
590 Ficheros de desarrollo para libffi.
592 %description -n libffi-devel -l pl
593 Pliki nag³ówkowe dla libffi.
595 %package -n libffi-static
596 Summary: Static Foreign Function Interface library
597 Summary(es): Biblioteca libffi estática
598 Summary(pl): Statyczna biblioteka libffi
600 Group: Development/Libraries
601 Requires: libffi-devel = %{epoch}:%{version}-%{release}
603 %description -n libffi-static
604 Static Foreign Function Interface library.
606 %description -n libffi-static -l es
607 Biblioteca libffi estática.
609 %description -n libffi-static -l pl
610 Statyczna biblioteka libffi.
613 Summary: Ada support for gcc
614 Summary(es): Soporte de Ada para gcc
615 Summary(pl): Obs³uga Ady do gcc
616 Group: Development/Languages
617 Requires: %{name} = %{epoch}:%{version}-%{release}
618 Requires: libgnat = %{epoch}:%{version}-%{release}
620 Obsoletes: gnat-devel
623 This package adds experimental support for compiling Ada programs.
625 %description ada -l es
626 Este paquete añade soporte experimental para compilar programas en
629 %description ada -l pl
630 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
634 Summary: Ada standard libraries
635 Summary(es): Bibliotecas estándares de Ada
636 Summary(pl): Biblioteki standardowe dla Ady
637 License: GPL v2+ with linking exception
642 %description -n libgnat
643 This package contains shared libraries needed to run programs written
646 %description -n libgnat -l es
647 Este paquete contiene las bibliotecas compartidas necesarias para
648 ejecutar programas escritos en Ada.
650 %description -n libgnat -l pl
651 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
654 %package -n libgnat-static
655 Summary: Static Ada standard libraries
656 Summary(pl): Statyczne biblioteki standardowe dla Ady
657 License: GPL v2+ with linking exception
659 Obsoletes: gnat-static
661 %description -n libgnat-static
662 This package contains static libraries for programs written in Ada.
664 %description -n libgnat-static -l pl
665 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
674 %{!?debug:%patch3 -p1}
675 %{?with_ssp:%patch4 -p1}
684 # needed for bootstrap using gcc 3.3.x on alpha
685 # and even using the same 3.4.x(!) (but not Debian's 3.3.x) on ia64
689 # because we distribute modified version of gcc...
690 perl -pi -e 's/(version.*)";/$1 %{?with_ssp:SSP }(PLD Linux)";/' gcc/version.c
691 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
693 mv ChangeLog ChangeLog.general
696 # because pr16276 patch modifies configure.ac
700 cp -f /usr/share/automake/config.sub .
702 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
709 exec /usr/bin/gcc -m64 "$@"
715 CFLAGS="%{rpmcflags}" \
716 CXXFLAGS="%{rpmcflags}" \
720 --prefix=%{_prefix} \
721 --libdir=%{_libdir} \
722 --libexecdir=%{_libdir} \
723 --infodir=%{_infodir} \
724 --mandir=%{_mandir} \
726 --enable-threads=posix \
727 --enable-__cxa_atexit \
728 --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
732 %if %{without multilib}
740 --with-slibdir=%{_slibdir} \
744 PATH=$PATH:/sbin:%{_sbindir}
747 # - on alpha stage1 needs -O0 for 3.3->3.4 bootstrap (gnat from 3.3 is seriously broken)
748 # - on ia64 use bootstrap-lean as profiledbootstrap is broken (PR 13882, 15836, 16108)
749 %{__make} -C obj-%{_target_platform} \
755 GCJFLAGS="%{rpmcflags}" \
756 BOOT_CFLAGS="%{rpmcflags}" \
758 STAGE1_CFLAGS="%{rpmcflags} -O0" \
760 STAGE1_CFLAGS="%{rpmcflags}" \
762 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
767 # cannot build it in parallel
768 for tgt in gnatlib-shared gnattools gnatlib; do
769 %{__make} -C obj-%{_target_platform}/gcc $tgt \
770 BOOT_CFLAGS="%{rpmcflags}" \
771 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
778 rm -rf $RPM_BUILD_ROOT
779 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
781 cd obj-%{_target_platform}
782 PATH=$PATH:/sbin:%{_sbindir}
784 %{__make} -j1 install \
786 infodir=%{_infodir} \
787 DESTDIR=$RPM_BUILD_ROOT
790 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
791 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
794 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
795 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
797 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
798 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
801 # move ada shared libraries to proper place...
802 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
803 $RPM_BUILD_ROOT%{_libdir}
804 # check if symlink to be made is valid
805 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so.1
806 ln -sf libgnat-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so
807 ln -sf libgnarl-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.4.so
808 ln -sf libgnat-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
809 ln -sf libgnarl-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
812 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
818 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
819 cp -f fastjar/README java-doc/README.fastjar
820 cp -f libffi/README java-doc/README.libffi
821 cp -f libffi/LICENSE java-doc/LICENSE.libffi
825 cp -f libobjc/README gcc/objc/README.libobjc
828 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
829 for f in libstdc++.la libsupc++.la %{?with_java:libgcj.la} ; do
830 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
832 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
833 for f in libstdc++.la libsupc++.la libg2c.la \
834 %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
835 %{?with_objc:libobjc.la}; do
836 perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
839 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
840 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
842 # include/ contains install-tools/include/* and headers that were fixed up
843 # by fixincludes, we don't want former
844 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
846 # we have to save these however
847 mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,libffi/ffitarget.h,gcj}} $gccdir/tmp
848 rm -rf $gccdir/include
849 mv -f $gccdir/tmp $gccdir/include
850 cp $gccdir/install-tools/include/*.h $gccdir/include
851 # but we don't want anything more from install-tools
852 rm -rf $gccdir/install-tools
855 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
856 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/libgcc_s_32.so
860 %find_lang libstdc\+\+
863 zcat %{SOURCE2} > $RPM_BUILD_ROOT%{_aclocaldir}/gcc_stack_protect.m4
865 install %{SOURCE3} $RPM_BUILD_ROOT%{_aclocaldir}/gcc_visibility.m4
868 rm -rf $RPM_BUILD_ROOT
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
886 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
888 %post -p /sbin/ldconfig -n libgcc
889 %postun -p /sbin/ldconfig -n libgcc
890 %post -p /sbin/ldconfig -n libstdc++
891 %postun -p /sbin/ldconfig -n libstdc++
892 %post -p /sbin/ldconfig -n libobjc
893 %postun -p /sbin/ldconfig -n libobjc
894 %post -p /sbin/ldconfig -n libg2c
895 %postun -p /sbin/ldconfig -n libg2c
896 %post -p /sbin/ldconfig -n libgcj
897 %postun -p /sbin/ldconfig -n libgcj
898 %post -p /sbin/ldconfig -n libgnat
899 %postun -p /sbin/ldconfig -n libgnat
900 %post -p /sbin/ldconfig -n libffi
901 %postun -p /sbin/ldconfig -n libffi
904 %defattr(644,root,root,755)
905 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
906 %doc gcc/{ChangeLog,ONEWS,README.Portability}
907 %dir %{_libdir}/gcc/*/*
908 %dir %{_libdir}/gcc/*/*/include
909 %{?with_ssp:%{_aclocaldir}/gcc_stack_protect.m4}
910 %{_aclocaldir}/gcc_visibility.m4
912 %attr(755,root,root) %{_bindir}/*-gcc*
913 %attr(755,root,root) %{_bindir}/gcc
914 %attr(755,root,root) %{_bindir}/gccbug
915 %attr(755,root,root) %{_bindir}/gcov
916 %attr(755,root,root) %{_bindir}/cc
917 %attr(755,root,root) %{_bindir}/cpp
919 %{_mandir}/man1/cc.1*
920 %{_mandir}/man1/cpp.1*
921 %lang(ja) %{_mandir}/ja/man1/cpp.1*
922 %{_mandir}/man1/gcc.1*
923 %lang(fr) %{_mandir}/fr/man1/gcc.1*
924 %lang(ja) %{_mandir}/ja/man1/gcc.1*
925 %{_mandir}/man1/gcov.1*
930 %attr(755,root,root) /lib/cpp
932 %attr(755,root,root) %{_slibdir}/lib*.so
934 %{_slibdir}/libunwind.a
936 %{_libdir}/gcc/*/*/libgcov.a
937 %{_libdir}/gcc/*/*/libgcc.a
938 %{_libdir}/gcc/*/*/libgcc_eh.a
939 %{_libdir}/gcc/*/*/specs
940 %{_libdir}/gcc/*/*/crt*.o
942 %attr(755,root,root) %{_libdir}/gcc/*/*/libgcc_s*.so
943 %{_libdir}/gcc/*/*/32/libgcc.a
944 %{_libdir}/gcc/*/*/32/libgcc_eh.a
945 %{_libdir}/gcc/*/*/32/libgcov.a
946 %{_libdir}/gcc/*/*/32/crt*.o
949 %{_libdir}/gcc/*/*/ecrt*.o
950 %{_libdir}/gcc/*/*/ncrt*.o
951 %{_libdir}/gcc/*/*/nof
954 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
955 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
957 %{_libdir}/gcc/*/*/include/*.h
958 %exclude %{_libdir}/gcc/*/*/include/g2c.h
961 %defattr(644,root,root,755)
962 %attr(755,root,root) %{_slibdir}*/lib*.so.*
964 %attr(755,root,root) %{_slibdir32}/lib*.so.*
968 %defattr(644,root,root,755)
969 %doc gcc/cp/{ChangeLog,NEWS}
970 %attr(755,root,root) %{_bindir}/g++
971 %attr(755,root,root) %{_bindir}/*-g++
972 %attr(755,root,root) %{_bindir}/c++
973 %attr(755,root,root) %{_bindir}/*-c++
974 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
975 %{_libdir}/libsupc++.la
976 %{_libdir}/libsupc++.a
978 %{_libdir}/nof/libsupc++.la
979 %{_libdir}/nof/libsupc++.a
982 %{_libdir32}/libsupc++.la
983 %{_libdir32}/libsupc++.a
985 %{_mandir}/man1/g++.1*
986 %lang(ja) %{_mandir}/ja/man1/g++.1*
988 %files -n libstdc++ -f libstdc++.lang
989 %defattr(644,root,root,755)
990 %doc libstdc++-v3/{ChangeLog,README}
991 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
993 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
996 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
999 %files -n libstdc++-devel
1000 %defattr(644,root,root,755)
1001 %doc libstdc++-v3/docs/html
1002 %dir %{_includedir}/c++
1003 %{_includedir}/c++/%{version}
1004 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
1005 %attr(755,root,root) %{_libdir}/libstdc++.so
1006 %{_libdir}/libstdc++.la
1008 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
1009 %{_libdir}/nof/libstdc++.la
1011 %if %{with multilib}
1012 %attr(755,root,root) %{_libdir32}/libstdc++.so
1013 %{_libdir32}/libstdc++.la
1016 %files -n libstdc++-static
1017 %defattr(644,root,root,755)
1018 %{_libdir}/libstdc++.a
1020 %{_libdir}/nof/libstdc++.a
1022 %if %{with multilib}
1023 %{_libdir32}/libstdc++.a
1028 %defattr(644,root,root,755)
1029 %doc gcc/objc/README
1030 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1031 %attr(755,root,root) %{_libdir}/libobjc.so
1032 %{_libdir}/libobjc.la
1034 %attr(755,root,root) %{_libdir}/nof/libobjc.so
1035 %{_libdir}/nof/libobjc.la
1037 %if %{with multilib}
1038 %attr(755,root,root) %{_libdir32}/libobjc.so
1039 %{_libdir32}/libobjc.la
1041 %{_libdir}/gcc/*/*/include/objc
1044 %defattr(644,root,root,755)
1045 %doc libobjc/{ChangeLog,README*}
1046 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
1048 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
1050 %if %{with multilib}
1051 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
1054 %files -n libobjc-static
1055 %defattr(644,root,root,755)
1056 %{_libdir}/libobjc.a
1058 %{_libdir}/nof/libobjc.a
1060 %if %{with multilib}
1061 %{_libdir32}/libobjc.a
1066 %defattr(644,root,root,755)
1067 %doc gcc/f/{BUGS,ChangeLog,NEWS}
1068 %attr(755,root,root) %{_bindir}/g77
1069 %attr(755,root,root) %{_bindir}/f77
1071 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
1072 %{_libdir}/libfrtbegin.a
1073 %{_libdir}/libg2c.la
1074 %attr(755,root,root) %{_libdir}/libg2c.so
1076 %{_libdir}/nof/libfrtbegin.a
1077 %{_libdir}/nof/libg2c.la
1078 %attr(755,root,root) %{_libdir}/nof/libg2c.so
1080 %if %{with multilib}
1081 %{_libdir32}/libfrtbegin.a
1082 %{_libdir32}/libg2c.la
1083 %attr(755,root,root) %{_libdir32}/libg2c.so
1085 %{_libdir}/gcc/*/*/include/g2c.h
1086 %{_mandir}/man1/g77.1*
1087 %{_mandir}/man1/f77.1*
1088 %lang(ja) %{_mandir}/ja/man1/g77.1*
1089 %lang(ja) %{_mandir}/ja/man1/f77.1*
1092 %defattr(644,root,root,755)
1093 %doc libf2c/{ChangeLog,README,TODO}
1094 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
1096 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
1098 %if %{with multilib}
1099 %attr(755,root,root) %{_libdir32}/libg2c.so.*.*.*
1102 %files -n libg2c-static
1103 %defattr(644,root,root,755)
1106 %{_libdir}/nof/libg2c.a
1108 %if %{with multilib}
1109 %{_libdir32}/libg2c.a
1114 %defattr(644,root,root,755)
1115 %doc gcc/java/ChangeLog java-doc/*
1116 %attr(755,root,root) %{_bindir}/gcj*
1117 %attr(755,root,root) %{_bindir}/gij
1118 %attr(755,root,root) %{_bindir}/jcf-dump
1119 %attr(755,root,root) %{_bindir}/jv-*
1120 %attr(755,root,root) %{_bindir}/grepjar
1121 %attr(755,root,root) %{_bindir}/*-gcj*
1122 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1123 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1125 %{_mandir}/man1/jcf-*
1126 %{_mandir}/man1/jv-*
1127 %{_mandir}/man1/gij*
1128 %{_mandir}/man1/gcj*
1129 %{_mandir}/man1/grepjar*
1132 %defattr(644,root,root,755)
1133 %attr(755,root,root) %{_bindir}/rmi*
1134 %attr(755,root,root) %{_bindir}/jar
1135 %{_mandir}/man1/rmi*
1136 %{_mandir}/man1/jar*
1137 %{_infodir}/fastjar*
1140 %defattr(644,root,root,755)
1141 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1142 %attr(755,root,root) %{_bindir}/addr2name.awk
1143 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1144 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1146 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1148 %{_libdir}/logging.properties
1150 %files -n libgcj-devel
1151 %defattr(644,root,root,755)
1153 %{_includedir}/javax
1156 %{_includedir}/gnu/*
1157 %{_libdir}/gcc/*/*/include/gcj
1158 %dir %{_libdir}/security
1159 %{_libdir}/security/*
1160 %dir %{_datadir}/java
1161 %{_datadir}/java/libgcj*.jar
1162 %{_libdir}/lib*cj.spec
1163 %{_libdir}/lib*cj*.la
1164 %attr(755,root,root) %{_libdir}/lib*cj*.so
1165 %attr(755,root,root) %{_libdir}/lib-org-*.so
1166 %{_libdir}/lib-org-*.la
1168 %{_libdir}/nof/lib*cj*.la
1169 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1171 %{_pkgconfigdir}/libgcj.pc
1173 %files -n libgcj-static
1174 %defattr(644,root,root,755)
1175 %{_libdir}/lib*cj*.a
1176 %{_libdir}/lib-org-*.a
1178 %{_libdir}/nof/lib*cj*.a
1182 %defattr(644,root,root,755)
1183 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1184 %attr(755,root,root) %{_libdir}/libffi-*.so
1186 %files -n libffi-devel
1187 %defattr(644,root,root,755)
1188 %{_libdir}/gcc/*/*/include/ffitarget.h
1189 %attr(755,root,root) %{_libdir}/libffi.so
1190 %{_libdir}/libffi.la
1191 %{_includedir}/ffi.h
1193 %files -n libffi-static
1194 %defattr(644,root,root,755)
1200 %defattr(644,root,root,755)
1201 %doc gcc/ada/ChangeLog
1202 %attr(755,root,root) %{_bindir}/gnat*
1203 %attr(755,root,root) %{_bindir}/gpr*
1204 %attr(755,root,root) %{_libdir}/libgnarl*.so
1205 %attr(755,root,root) %{_libdir}/libgnat*.so
1206 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1207 %{_libdir}/gcc/*/*/adainclude
1208 %dir %{_libdir}/gcc/*/*/adalib
1209 %{_libdir}/gcc/*/*/adalib/*.ali
1210 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1211 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1213 %{_libdir}/gcc/*/*/adalib/libgmem.a
1219 %defattr(644,root,root,755)
1220 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1221 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1223 %files -n libgnat-static
1224 %defattr(644,root,root,755)
1225 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1226 %{_libdir}/gcc/*/*/adalib/libgnat.a