3 # - fix ada build errors
4 # - provide as full gcc 3.x as possible without conflicting with gcc 4.x
5 # - should be named gcc3.4 or so, gcc3 is too ambiguous
6 # (there were 4 different ABIs and very different compatibility issues)
11 %bcond_with ada # build without ADA support
12 %bcond_with java # build without Java support
13 %bcond_with 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.UTF-8): Colección de compiladores GNU: el compilador C y ficheros compartidos
22 Summary(pl.UTF-8): Kolekcja kompilatorów GNU: kompilator C i pliki współdzielone
23 Summary(pt_BR.UTF-8): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
28 Group: Development/Languages
29 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
30 # Source0-md5: 4a21ac777d4b5617283ce488b808da7b
31 Source2: http://www.trl.ibm.com/projects/security/ssp/gcc2_95_3/gcc_stack_protect.m4.gz
32 # Source2-md5: 07d93ad5fc07ca44cdaba46c658820de
33 Source3: %{name}-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
42 # -fvisibility={default|internal|hidden|protected}
44 # Set the default ELF image symbol visibility to the specified option.
45 # All symbols will be marked with this unless overrided within the code.
46 # Using this feature can very substantially improve linking and load times
47 # of shared object libraries, produce more optimised code, provide near-perfect
48 # API export and prevent symbol clashes. It is strongly recommended that you
49 # use this in any shared objects you distribute.
51 # -fvisibility-inlines-hidden
53 # Causes all inlined methods to be marked with __attribute__((visibility("hidden")))
54 # so that they do not appear in the export table of a DSO and do not require a PLT
55 # indirection when used within the DSO. Enabling this option can have a dramatic
56 # effect on load and link times of a DSO as it massively reduces the size
57 # of the dynamic export table when the library makes heavy use of templates.
58 # While it can cause bloating through duplication of code within each DSO
59 # where it is used, often the wastage is less than the considerable space
60 # occupied by a long symbol name in the export table which is typical when using
61 # templates and namespaces.
63 # How to Write Shared Libraries: http://people.redhat.com/drepper/dsohowto.pdf
65 Patch7: %{name}-visibility.patch
66 Patch8: %{name}-cxxabi.patch
67 Patch9: %{name}-pr-rh.patch
69 Patch20: %{name}-ada-bootstrap.patch
70 URL: http://gcc.gnu.org/
71 BuildRequires: autoconf
72 BuildRequires: automake
73 BuildRequires: binutils >= 2:2.15.91.0.2
75 BuildRequires: fileutils >= 4.0.41
78 BuildRequires: gcc(ada)
79 BuildRequires: gcc-ada
81 BuildRequires: gettext-tools
82 BuildRequires: glibc-devel >= 2.2.5-20
83 BuildRequires: perl-devel
84 BuildRequires: texinfo >= 4.1
85 BuildRequires: zlib-devel
86 Requires: binutils >= 2:2.15.91.0.2
87 Requires: gcc-dirs >= 1.0-3
88 Provides: cpp = %{epoch}:%{version}-%{release}
89 %{?with_ada:Provides: gcc(ada)}
90 %{?with_ssp:Provides: gcc(ssp)}
92 Conflicts: glibc-devel < 2.2.5-20
93 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
95 %define _slibdir /%{_lib}
96 %ifarch amd64 ppc64 s390x sparc64
97 %define _slibdir32 /lib
98 %define _libdir32 /usr/lib
101 %define rpmcflags -O2 -mtune=ultrasparc
105 A compiler aimed at integrating all the optimizations and features
106 necessary for a high-performance and stable development environment.
108 This package contains the C compiler and some files shared by various
109 parts of the GNU Compiler Collection. In order to use another GCC
110 compiler you will need to install the appropriate subpackage.
112 %description -l es.UTF-8
113 Un compilador que intenta integrar todas las optimalizaciones y
114 características necesarias para un entorno de desarrollo eficaz y
117 Este paquete contiene el compilador de C y unos ficheros compartidos
118 por varias partes de la colección de compiladores GNU (GCC). Para usar
119 otro compilador de GCC será necesario que instale el subpaquete
122 %description -l pl.UTF-8
123 Kompilator, posiadający duże możliwości optymalizacyjne niezbędne do
124 wyprodukowania szybkiego i stabilnego kodu wynikowego.
126 Ten pakiet zawiera kompilator C i pliki współdzielone przez różne
127 części kolekcji kompilatorów GNU (GCC). Żeby używać innego kompilatora
128 z GCC, trzeba zainstalować odpowiedni podpakiet.
130 %description -l pt_BR.UTF-8
131 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
132 GNU Compiler Collection.
135 Summary: Shared gcc library
136 Summary(es.UTF-8): Biblioteca compartida de gcc
137 Summary(pl.UTF-8): Biblioteka gcc
138 Summary(pt_BR.UTF-8): Biblioteca runtime para o GCC
140 Obsoletes: gcc3-libgcc
145 %description libgcc -l es.UTF-8
146 Biblioteca compartida de gcc.
148 %description libgcc -l pl.UTF-8
149 Biblioteka dynamiczna gcc.
151 %description libgcc -l pt_BR.UTF-8
152 Biblioteca runtime para o GCC.
155 Summary: C++ support for gcc
156 Summary(es.UTF-8): Soporte de C++ para gcc
157 Summary(pl.UTF-8): Obsługa C++ dla gcc
158 Summary(pt_BR.UTF-8): Suporte C++ para o gcc
159 Group: Development/Languages
160 Requires: %{name} = %{epoch}:%{version}-%{release}
164 This package adds C++ support to the GNU Compiler Collection. It
165 includes support for most of the current C++ specification, including
166 templates and exception handling. It does not include a standard C++
167 library, which is available separately.
169 %description c++ -l de.UTF-8
170 Dieses Paket enthält die C++-Unterstützung für den
171 GNU-Compiler-Collection. Es unterstützt die aktuelle
172 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
173 C++-Standard-Library ist nicht enthalten - sie ist getrennt
176 %description c++ -l es.UTF-8
177 Este paquete añade soporte de C++ al GCC (colección de compiladores
178 GNU). Ello incluye el soporte para la mayoría de la especificación
179 actual de C++, incluyendo plantillas y manejo de excepciones. No
180 incluye la biblioteca estándar de C++, la que es disponible separada.
182 %description c++ -l fr.UTF-8
183 Ce package ajoute un support C++ a la collection de compilateurs GNU.
184 Il comprend un support pour la plupart des spécifications actuelles de
185 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
186 une bibliothéque C++ standard, qui est disponible séparément.
188 %description c++ -l pl.UTF-8
189 Ten pakiet dodaje obsługę C++ do kompilatora gcc. Ma wsparcie dla
190 dużej ilości obecnych specyfikacji C++, nie zawiera natomiast
191 standardowych bibliotek C++, które są w oddzielnym pakiecie.
193 %description c++ -l pt_BR.UTF-8
194 Este pacote adiciona suporte C++ para o gcc.
196 %description c++ -l tr.UTF-8
197 Bu paket, GNU C derleyicisine C++ desteği ekler. 'Template'ler ve
198 aykırı durum işleme gibi çoğu güncel C++ tanımlarına uyar. Standart
199 C++ kitaplığı bu pakette yer almaz.
202 Summary: Objective C support for gcc
203 Summary(de.UTF-8): Objektive C-Unterstützung für gcc
204 Summary(es.UTF-8): Soporte de Objective C para gcc
205 Summary(fr.UTF-8): Gestion d'Objective C pour gcc
206 Summary(pl.UTF-8): Obsługa obiektowego C dla kompilatora gcc
207 Summary(tr.UTF-8): gcc için Objective C desteği
208 Group: Development/Languages
209 Requires: %{name} = %{epoch}:%{version}-%{release}
210 Requires: %{name}-libobjc = %{epoch}:%{version}-%{release}
213 This package adds Objective C support to the GNU Compiler Collection.
214 Objective C is a object oriented derivative of the C language, mainly
215 used on systems running NeXTSTEP. This package does not include the
216 standard objective C object library.
218 %description objc -l de.UTF-8
219 Dieses Paket ergänzt den GNU-Compiler-Collection durch
220 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
221 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
222 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
224 %description objc -l es.UTF-8
225 Este paquete añade soporte de Objective C al GCC (colección de
226 compiladores GNU). Objective C es un lenguaje orientado a objetos
227 derivado de C, principalmente usado en sistemas que funcionan bajo
228 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
231 %description objc -l fr.UTF-8
232 Ce package ajoute un support Objective C a la collection de
233 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
234 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
235 package n'inclue pas la bibliothéque Objective C standard.
237 %description objc -l pl.UTF-8
238 Ten pakiet dodaje obsługę obiektowego C do kompilatora gcc. Obiektowe
239 C (objc) jest zorientowaną obiektowo pochodną języka C, używaną
240 głównie w systemach używających NeXTSTEP. W pakiecie nie ma
241 standardowej biblioteki objc (która znajduje się w osobnym pakiecie).
243 %description objc -l tr.UTF-8
244 Bu paket, GNU C derleyicisine Objective C desteği ekler. Objective C,
245 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altında çalışan
246 sistemlerde yaygın olarak kullanılır. Standart Objective C nesne
247 kitaplığı bu pakette yer almaz.
250 Summary: Objective C Libraries
251 Summary(es.UTF-8): Bibliotecas de Objective C
252 Summary(pl.UTF-8): Biblioteki Obiektowego C
256 Objective C Libraries.
258 %description libobjc -l es.UTF-8
259 Bibliotecas de Objective C.
261 %description libobjc -l pl.UTF-8
262 Biblioteki Obiektowego C.
264 %package libobjc-static
265 Summary: Static Objective C Libraries
266 Summary(es.UTF-8): Bibliotecas estáticas de Objective C
267 Summary(pl.UTF-8): Statyczne Biblioteki Obiektowego C
268 Group: Development/Libraries
269 Requires: %{name}-libobjc = %{epoch}:%{version}-%{release}
271 %description libobjc-static
272 Static Objective C Libraries.
274 %description libobjc-static -l es.UTF-8
275 Bibliotecas estáticas de Objective C.
277 %description libobjc-static -l pl.UTF-8
278 Statyczne biblioteki Obiektowego C.
281 Summary: Fortran 77 support for gcc
282 Summary(es.UTF-8): Soporte de Fortran 77 para gcc
283 Summary(pl.UTF-8): Obsługa Fortranu 77 dla gcc
284 Summary(pt_BR.UTF-8): Suporte Fortran 77 para o GCC
285 Group: Development/Languages/Fortran
286 Requires: %{name}-libg2c = %{epoch}:%{version}-%{release}
289 This package adds support for compiling Fortran 77 programs with the
292 %description g77 -l es.UTF-8
293 Este paquete añade soporte para compilar programas escritos en Fortran
294 77 con el compilador GNU.
296 %description g77 -l pl.UTF-8
297 Ten pakiet dodaje obsługę Fortranu 77 do kompilatora gcc. Jest
298 potrzebny do kompilowania programów pisanych w języku Fortran 77.
300 %description g77 -l pt_BR.UTF-8
301 Suporte Fortran 77 para o GCC.
304 Summary: Fortran 77 Libraries
305 Summary(es.UTF-8): Bibliotecas de Fortran 77
306 Summary(pl.UTF-8): Biblioteki Fortranu 77
310 Fortran 77 Libraries.
312 %description libg2c -l es.UTF-8
313 Bibliotecas de Fortran 77.
315 %description libg2c -l pl.UTF-8
316 Biblioteki Fortranu 77.
318 %package libg2c-static
319 Summary: Static Fortran 77 Libraries
320 Summary(es.UTF-8): Bibliotecas estáticas de Fortran 77
321 Summary(pl.UTF-8): Statyczne Biblioteki Fortranu 77
322 Group: Development/Libraries
323 Requires: %{name}-libg2c = %{epoch}:%{version}-%{release}
325 %description libg2c-static
326 Static Fortran 77 Libraries.
328 %description libg2c-static -l es.UTF-8
329 Bibliotecas estáticas de Fortran 77.
331 %description libg2c-static -l pl.UTF-8
332 Statyczne biblioteki Fortranu 77.
335 Summary: Java support for gcc
336 Summary(es.UTF-8): Soporte de Java para gcc
337 Summary(pl.UTF-8): Obsługa Javy dla gcc
338 Group: Development/Languages/Java
339 Requires: %{name} = %{epoch}:%{version}-%{release}
340 Requires: %{name}-libgcj = %{epoch}:%{version}-%{release}
341 Requires: %{name}-libgcj-devel = %{epoch}:%{version}-%{release}
342 Requires: java-shared
343 Provides: gcj = %{epoch}:%{version}-%{release}
346 This package adds experimental support for compiling Java(tm) programs
347 and bytecode into native code. To use this you will also need the
350 %description java -l es.UTF-8
351 Este paquete añade soporte experimental para compilar programas
352 Java(tm) y su bytecode en código nativo. Para usarlo también va a
353 necesitar el paquete libgcj.
355 %description java -l pl.UTF-8
356 Wsparcie dla kompilowania programów Java(tm) zarówno do bajt-kodu jak
357 i do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby można
358 było przeprowadzić kompilację.
361 Summary: Shared java tools
362 Summary(es.UTF-8): Herramientas compartidas de Java
363 Summary(pl.UTF-8): Współdzielone narzędzia javy
364 Group: Development/Languages/Java
365 Provides: jar = %{epoch}:%{version}-%{release}
366 Provides: java-shared
369 Obsoletes: java-shared
371 %description java-tools
372 This package contains tools that are common for every Java(tm)
373 implementation, such as rmic or jar.
375 %description java-tools -l es.UTF-8
376 Este paquete contiene herramientas que son comunes para cada
377 implementación de Java(tm), como rmic o jar.
379 %description java-tools -l pl.UTF-8
380 Pakiet ten zawiera narzędzia wspólne dla każdej implementacji
381 Javy(tm), takie jak rmic czy jar.
384 Summary: Java Class Libraries
385 Summary(es.UTF-8): Bibliotecas de clases de Java
386 Summary(pl.UTF-8): Biblioteki Klas Javy
391 Java Class Libraries.
393 %description libgcj -l es.UTF-8
394 Bibliotecas de clases de Java.
396 %description libgcj -l pl.UTF-8
397 Biblioteki Klas Javy.
399 %package libgcj-devel
400 Summary: Development files for Java Class Libraries
401 Summary(es.UTF-8): Ficheros de desarrollo para las bibliotecas de clases de Java
402 Summary(pl.UTF-8): Pliki nagłówkowe dla Bibliotek Klas Javy
403 Group: Development/Libraries
404 Requires: %{name}-java = %{epoch}:%{version}-%{release}
405 Requires: %{name}-libgcj = %{epoch}:%{version}-%{release}
407 %description libgcj-devel
408 Development files for Java Class Libraries.
410 %description libgcj-devel -l es.UTF-8
411 Ficheros de desarrollo para las bibliotecas de clases de Java.
413 %description libgcj-devel -l pl.UTF-8
414 Pliki nagłówkowe dla Bibliotek Klas Javy.
416 %package libgcj-static
417 Summary: Static Java Class Libraries
418 Summary(es.UTF-8): Bibliotecas estáticas de clases de Java
419 Summary(pl.UTF-8): Statyczne Biblioteki Klas Javy
420 Group: Development/Libraries
421 Requires: %{name}-libgcj-devel = %{epoch}:%{version}-%{release}
422 Requires: %{name}-libstdc++-devel = %{epoch}:%{version}-%{release}
424 %description libgcj-static
425 Static Java Class Libraries.
427 %description libgcj-static -l es.UTF-8
428 Bibliotecas estáticas de clases de Java.
430 %description libgcj-static -l pl.UTF-8
431 Statyczne Biblioteki Klas Javy.
434 Summary: GNU c++ library
435 Summary(es.UTF-8): Biblioteca C++ de GNU
436 Summary(pl.UTF-8): Biblioteki GNU C++
437 Summary(pt_BR.UTF-8): Biblioteca C++ GNU
439 Obsoletes: gcc3-libstdc++
441 %description libstdc++
442 This is the GNU implementation of the standard C++ libraries, along
443 with additional GNU tools. This package includes the shared libraries
444 necessary to run C++ applications.
446 %description libstdc++ -l de.UTF-8
447 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
448 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
449 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
451 %description libstdc++ -l es.UTF-8
452 Este es el soporte de las bibliotecas padrón del C++, junto con
453 herramientas GNU adicionales. El paquete incluye las bibliotecas
454 compartidas necesarias para ejecutar aplicaciones C++.
456 %description libstdc++ -l fr.UTF-8
457 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
458 des outils GNU supplémentaires. Ce package comprend les librairies
459 partagées nécessaires à l'exécution d'application C++.
461 %description libstdc++ -l pl.UTF-8
462 Pakiet ten zawiera biblioteki będące implementacją standardowych
463 bibliotek C++. Znajdują się w nim biblioteki dynamiczne niezbędne do
464 uruchomienia aplikacji napisanych w C++.
466 %description libstdc++ -l pt_BR.UTF-8
467 Este pacote é uma implementação da biblioteca padrão C++ v3, um
468 subconjunto do padrão ISO 14882.
470 %description libstdc++ -l tr.UTF-8
471 Bu paket, standart C++ kitaplıklarının GNU gerçeklemesidir ve C++
472 uygulamalarının koşturulması için gerekli kitaplıkları içerir.
474 %package libstdc++-devel
475 Summary: Header files and documentation for C++ development
476 Summary(de.UTF-8): Header-Dateien zur Entwicklung mit C++
477 Summary(es.UTF-8): Ficheros de cabecera y documentación para desarrollo C++
478 Summary(fr.UTF-8): Fichiers d'en-tête et biblitothèques pour développer en C++
479 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja do biblioteki standardowej C++
480 Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
481 Summary(tr.UTF-8): C++ ile program geliştirmek için gerekli dosyalar
482 Group: Development/Libraries
483 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
484 Requires: %{name}-libstdc++ = %{epoch}:%{version}-%{release}
485 Requires: glibc-devel
486 Obsoletes: gcc3-libstdc++-devel
488 %description libstdc++-devel
489 This is the GNU implementation of the standard C++ libraries. This
490 package includes the header files needed for C++ development and
491 library documentation.
493 %description libstdc++-devel -l es.UTF-8
494 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
495 paquete incluye los archivos de inclusión y bibliotecas necesarios
496 para desarrollo de programas en lenguaje C++.
498 %description libstdc++-devel -l pl.UTF-8
499 Pakiet ten zawiera biblioteki będące implementacją standardowych
500 bibliotek C++. Znajdują się w nim pliki nagłówkowe wykorzystywane przy
501 programowaniu w języku C++ oraz dokumentacja biblioteki standardowej.
503 %description libstdc++-devel -l pt_BR.UTF-8
504 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
505 para desenvolvimento de programas C++.
507 %package libstdc++-static
508 Summary: Static C++ standard library
509 Summary(es.UTF-8): Biblioteca estándar estática de C++
510 Summary(pl.UTF-8): Statyczna biblioteka standardowa C++
511 Group: Development/Libraries
512 Requires: %{name}-libstdc++-devel = %{epoch}:%{version}-%{release}
513 Obsoletes: gcc3-libstdc++-static
515 %description libstdc++-static
516 Static C++ standard library.
518 %description libstdc++-static -l es.UTF-8
519 Biblioteca estándar estática de C++.
521 %description libstdc++-static -l pl.UTF-8
522 Statyczna biblioteka standardowa C++.
525 Summary: Foreign Function Interface library
526 Summary(es.UTF-8): Biblioteca de interfaz de funciones ajenas
527 Summary(pl.UTF-8): Biblioteka zewnętrznych wywołań funkcji
531 The libffi library provides a portable, high level programming
532 interface to various calling conventions. This allows a programmer to
533 call any function specified by a call interface description at run
536 %description libffi -l es.UTF-8
537 La biblioteca libffi provee una interfaz portable de programación de
538 alto nivel para varias convenciones de llamada. Ello permite que un
539 programador llame una función cualquiera especificada por una
540 descripción de interfaz de llamada en el tiempo de ejecución.
542 %description libffi -l pl.UTF-8
543 Biblioteka libffi dostarcza przenośnego, wysokopoziomowego
544 międzymordzia do różnych konwencji wywołań funkcji. Pozwala to
545 programiście wywoływać dowolne funkcje podając konwencję wywołania w
548 %package libffi-devel
549 Summary: Development files for Foreign Function Interface library
550 Summary(es.UTF-8): Ficheros de desarrollo para libffi
551 Summary(pl.UTF-8): Pliki nagłówkowe dla libffi
552 Group: Development/Libraries
553 Requires: %{name}-libffi = %{epoch}:%{version}-%{release}
555 %description libffi-devel
556 Development files for Foreign Function Interface library.
558 %description libffi-devel -l es.UTF-8
559 Ficheros de desarrollo para libffi.
561 %description libffi-devel -l pl.UTF-8
562 Pliki nagłówkowe dla libffi.
564 %package libffi-static
565 Summary: Static Foreign Function Interface library
566 Summary(es.UTF-8): Biblioteca libffi estática
567 Summary(pl.UTF-8): Statyczna biblioteka libffi
568 Group: Development/Libraries
569 Requires: %{name}-libffi-devel = %{epoch}:%{version}-%{release}
571 %description libffi-static
572 Static Foreign Function Interface library.
574 %description libffi-static -l es.UTF-8
575 Biblioteca libffi estática.
577 %description libffi-static -l pl.UTF-8
578 Statyczna biblioteka libffi.
581 Summary: Ada support for gcc
582 Summary(es.UTF-8): Soporte de Ada para gcc
583 Summary(pl.UTF-8): Obsługa Ady do gcc
584 Group: Development/Languages
585 Requires: %{name} = %{epoch}:%{version}-%{release}
586 Requires: %{name}-libgnat = %{epoch}:%{version}-%{release}
589 This package adds experimental support for compiling Ada programs.
591 %description ada -l es.UTF-8
592 Este paquete añade soporte experimental para compilar programas en
595 %description ada -l pl.UTF-8
596 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
600 Summary: Ada standard libraries
601 Summary(es.UTF-8): Bibliotecas estándares de Ada
602 Summary(pl.UTF-8): Biblioteki standardowe dla Ady
606 This package contains shared libraries needed to run programs written
609 %description libgnat -l es.UTF-8
610 Este paquete contiene las bibliotecas compartidas necesarias para
611 ejecutar programas escritos en Ada.
613 %description libgnat -l pl.UTF-8
614 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
617 %package libgnat-static
618 Summary: Static Ada standard libraries
619 Summary(pl.UTF-8): Statyczne biblioteki standardowe dla Ady
622 %description libgnat-static
623 This package contains static libraries for programs written in Ada.
625 %description libgnat-static -l pl.UTF-8
626 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
630 %setup -q -n gcc-%{version}
635 %{!?debug:%patch3 -p1}
636 %{?with_ssp:%patch4 -p1}
644 # needed for bootstrap using gcc 3.3.x on alpha
645 # and even using the same 3.4.x(!) (but not Debian's 3.3.x) on ia64
649 # because we distribute modified version of gcc...
650 perl -pi -e 's/(version.*)";/$1 %{?with_ssp:SSP }(PLD Linux)";/' gcc/version.c
651 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
653 mv ChangeLog ChangeLog.general
656 # because pr16276 patch modifies configure.ac
660 cp -f /usr/share/automake/config.sub .
662 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
669 exec /usr/bin/gcc -m64 "$@"
675 CFLAGS="%{rpmcflags}" \
676 CXXFLAGS="%{rpmcflags}" \
680 --prefix=%{_prefix} \
681 --libdir=%{_libdir} \
682 --libexecdir=%{_libdir} \
683 --infodir=%{_infodir} \
684 --mandir=%{_mandir} \
685 --program-suffix="3.4" \
686 --enable-version-specific-runtime-libs \
688 --enable-threads=posix \
689 --enable-__cxa_atexit \
690 --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,f77}%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
694 %if %{without multilib}
702 --with-slibdir=%{_slibdir} \
706 PATH=$PATH:/sbin:%{_sbindir}
709 # - on alpha stage1 needs -O0 for 3.3->3.4 bootstrap (gnat from 3.3 is seriously broken)
710 # - on ia64 use bootstrap-lean as profiledbootstrap is broken (PR 13882, 15836, 16108)
711 %{__make} -C obj-%{_target_platform} \
717 GCJFLAGS="%{rpmcflags}" \
718 BOOT_CFLAGS="%{rpmcflags}" \
720 STAGE1_CFLAGS="%{rpmcflags} -O0" \
722 STAGE1_CFLAGS="%{rpmcflags}" \
724 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
729 # cannot build it in parallel
730 for tgt in gnatlib-shared gnattools gnatlib; do
731 %{__make} -C obj-%{_target_platform}/gcc $tgt \
732 BOOT_CFLAGS="%{rpmcflags}" \
733 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
740 rm -rf $RPM_BUILD_ROOT
741 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
743 cd obj-%{_target_platform}
744 PATH=$PATH:/sbin:%{_sbindir}
746 %{__make} -j1 install \
748 infodir=%{_infodir} \
749 DESTDIR=$RPM_BUILD_ROOT
752 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
753 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
756 ln -sf gcc3.4 $RPM_BUILD_ROOT%{_bindir}/cc3.4
757 echo ".so gcc3.4.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc3.4.1
760 ln -sf g773.4 $RPM_BUILD_ROOT%{_bindir}/f773.4
761 echo ".so g773.4" > $RPM_BUILD_ROOT%{_mandir}/man1/f773.4
765 # move ada shared libraries to proper place...
766 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
767 $RPM_BUILD_ROOT%{_libdir}
768 # check if symlink to be made is valid
769 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat3.4.so.1
770 ln -sf libgnat3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat3.4.so
771 ln -sf libgnarl3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl3.4.so
772 ln -sf libgnat3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnat3.4.so
773 ln -sf libgnarl3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnarl3.4.so
780 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
781 cp -f fastjar/README java-doc/README.fastjar
782 cp -f libffi/README java-doc/README.libffi
783 cp -f libffi/LICENSE java-doc/LICENSE.libffi
787 cp -f libobjc/README gcc/objc/README.libobjc
790 # include/ contains install-tools/include/* and headers that were fixed up
791 # by fixincludes, we don't want former
792 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
794 # we have to save these however
795 mv -f $gccdir/include/syslimits.h $gccdir/tmp
796 %{?with_cxx:mv -f $gccdir/include/c++ $gccdir/tmp}
797 %{?with_fortran:mv -f $gccdir/include/g2c.h $gccdir/tmp}
798 %{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
799 %{?with_java:mv -f $gccdir/include/{libffi/ffitarget.h,gcj} $gccdir/tmp}
800 rm -rf $gccdir/include
801 mv -f $gccdir/tmp $gccdir/include
802 cp $gccdir/install-tools/include/*.h $gccdir/include
803 # but we don't want anything more from install-tools
804 rm -rf $gccdir/install-tools
807 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
808 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/libgcc_s_32.so
812 zcat %{SOURCE2} > $RPM_BUILD_ROOT%{_aclocaldir}/gcc_stack_protect.m4
814 install %{SOURCE3} $RPM_BUILD_ROOT%{_aclocaldir}/gcc_visibility.m4
817 rm -rf $RPM_BUILD_ROOT
820 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
823 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
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
837 %post -p /sbin/ldconfig libgcc
838 %postun -p /sbin/ldconfig libgcc
839 %post -p /sbin/ldconfig libstdc++
840 %postun -p /sbin/ldconfig libstdc++
841 %post -p /sbin/ldconfig libobjc
842 %postun -p /sbin/ldconfig libobjc
843 %post -p /sbin/ldconfig libg2c
844 %postun -p /sbin/ldconfig libg2c
845 %post -p /sbin/ldconfig libgcj
846 %postun -p /sbin/ldconfig libgcj
847 %post -p /sbin/ldconfig libgnat
848 %postun -p /sbin/ldconfig libgnat
849 %post -p /sbin/ldconfig libffi
850 %postun -p /sbin/ldconfig libffi
853 %defattr(644,root,root,755)
854 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
855 %doc gcc/{ChangeLog,ONEWS,README.Portability}
856 %dir %{_libdir}/gcc/*/*
857 %dir %{_libdir}/gcc/*/*/include
858 %{?with_ssp:%{_aclocaldir}/gcc_stack_protect.m4}
859 %{_aclocaldir}/gcc_visibility.m4
861 %attr(755,root,root) %{_bindir}/*-gcc*
862 %attr(755,root,root) %{_bindir}/gcc3.4
863 %attr(755,root,root) %{_bindir}/gccbug3.4
864 %attr(755,root,root) %{_bindir}/gcov3.4
865 %attr(755,root,root) %{_bindir}/cc3.4
866 %attr(755,root,root) %{_bindir}/cpp3.4
868 %{_mandir}/man1/cc3.4.1*
869 %{_mandir}/man1/cpp3.4.1*
870 %{_mandir}/man1/gcc3.4.1*
871 %{_mandir}/man1/gcov3.4.1*
873 %attr(755,root,root) %{_slibdir}/lib*.so
875 %{_slibdir}/libunwind.a
877 %{_libdir}/gcc/*/*/libgcov.a
878 %{_libdir}/gcc/*/*/libgcc.a
879 %{_libdir}/gcc/*/*/libgcc_eh.a
880 %{_libdir}/gcc/*/*/specs
881 %{_libdir}/gcc/*/*/crt*.o
883 %attr(755,root,root) %{_libdir}/gcc/*/*/libgcc_s*.so
884 %{_libdir}/gcc/*/*/32/libgcc.a
885 %{_libdir}/gcc/*/*/32/libgcc_eh.a
886 %{_libdir}/gcc/*/*/32/libgcov.a
887 %{_libdir}/gcc/*/*/32/crt*.o
890 %{_libdir}/gcc/*/*/ecrt*.o
891 %{_libdir}/gcc/*/*/ncrt*.o
892 %{_libdir}/gcc/*/*/nof
895 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
896 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
898 %{_libdir}/gcc/*/*/include/*.h
899 %{?with_fortran:%exclude %{_libdir}/gcc/*/*/include/g2c.h}
902 %defattr(644,root,root,755)
903 %attr(755,root,root) %{_slibdir}*/lib*.so.*
905 %attr(755,root,root) %{_slibdir32}/lib*.so.*
910 %defattr(644,root,root,755)
911 %doc gcc/cp/{ChangeLog,NEWS}
912 %attr(755,root,root) %{_bindir}/g++3.4
913 %attr(755,root,root) %{_bindir}/*-g++3.4
914 %attr(755,root,root) %{_bindir}/c++3.4
915 %attr(755,root,root) %{_bindir}/*-c++3.4
916 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
917 %{_libdir}/gcc/*/*/libsupc++.la
918 %{_libdir}/gcc/*/*/libsupc++.a
920 %{_libdir}/gcc/*/*/nof/libsupc++.la
921 %{_libdir}/gcc/*/*/nof/libsupc++.a
924 %{_libdir32}/gcc/*/*/libsupc++.la
925 %{_libdir32}/gcc/*/*/libsupc++.a
927 %{_mandir}/man1/g++3.4.1*
930 %defattr(644,root,root,755)
931 %doc libstdc++-v3.4/{ChangeLog,README}
932 %attr(755,root,root) %{_libdir}/gcc/*/*/libstdc++.so.*.*.*
934 %attr(755,root,root) %{_libdir}/nof/gcc/*/*/libstdc++.so.*.*.*
937 %attr(755,root,root) %{_libdir32}/gcc/*/*/libstdc++.so.*.*.*
940 %files libstdc++-devel
941 %defattr(644,root,root,755)
942 %doc libstdc++-v3.4/docs/html
943 %{_libdir}/gcc/*/*/include/c++
944 %attr(755,root,root) %{_libdir}/gcc/*/*/libstdc++.so
945 %{_libdir}/gcc/*/*/libstdc++.la
947 %attr(755,root,root) %{_libdir}/gcc/*/*/nof/libstdc++.so
948 %{_libdir}/gcc/*/*/nof/libstdc++.la
951 %attr(755,root,root) %{_libdir32}/gcc/*/*/libstdc++.so
952 %{_libdir32}/gcc/*/*/libstdc++.la
955 %files libstdc++-static
956 %defattr(644,root,root,755)
957 %{_libdir}/gcc/*/*/libstdc++.a
959 %{_libdir}/gcc/*/*/nof/libstdc++.a
962 %{_libdir32}/gcc/*/*/libstdc++.a
968 %defattr(644,root,root,755)
970 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
971 %attr(755,root,root) %{_libdir}/libobjc.so
972 %{_libdir}/libobjc.la
974 %attr(755,root,root) %{_libdir}/nof/libobjc.so
975 %{_libdir}/nof/libobjc.la
978 %attr(755,root,root) %{_libdir32}/libobjc.so
979 %{_libdir32}/libobjc.la
981 %{_libdir}/gcc/*/*/include/objc
984 %defattr(644,root,root,755)
985 %doc libobjc/{ChangeLog,README*}
986 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
988 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
991 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
994 %files libobjc-static
995 %defattr(644,root,root,755)
998 %{_libdir}/nof/libobjc.a
1000 %if %{with multilib}
1001 %{_libdir32}/libobjc.a
1007 %defattr(644,root,root,755)
1008 %doc gcc/f/{BUGS,ChangeLog,NEWS}
1009 %attr(755,root,root) %{_bindir}/g77-*
1010 %attr(755,root,root) %{_bindir}/f77
1012 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
1013 %{_libdir}/libfrtbegin.a
1014 %{_libdir}/libg2c.la
1015 %attr(755,root,root) %{_libdir}/libg2c.so
1017 %{_libdir}/nof/libfrtbegin.a
1018 %{_libdir}/nof/libg2c.la
1019 %attr(755,root,root) %{_libdir}/nof/libg2c.so
1021 %if %{with multilib}
1022 %{_libdir32}/libfrtbegin.a
1023 %{_libdir32}/libg2c.la
1024 %attr(755,root,root) %{_libdir32}/libg2c.so
1026 %{_libdir}/gcc/*/*/include/g2c.h
1027 %{_mandir}/man1/g77.1*
1028 %{_mandir}/man1/f77.1*
1031 %defattr(644,root,root,755)
1032 %doc libf2c/{ChangeLog,README,TODO}
1033 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
1035 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
1037 %if %{with multilib}
1038 %attr(755,root,root) %{_libdir32}/libg2c.so.*.*.*
1041 %files libg2c-static
1042 %defattr(644,root,root,755)
1045 %{_libdir}/nof/libg2c.a
1047 %if %{with multilib}
1048 %{_libdir32}/libg2c.a
1054 %defattr(644,root,root,755)
1055 %doc gcc/java/ChangeLog java-doc/*
1056 %attr(755,root,root) %{_bindir}/gcj*
1057 %attr(755,root,root) %{_bindir}/gij
1058 %attr(755,root,root) %{_bindir}/jcf-dump
1059 %attr(755,root,root) %{_bindir}/jv-*
1060 %attr(755,root,root) %{_bindir}/grepjar
1061 %attr(755,root,root) %{_bindir}/*-gcj*
1062 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1063 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1065 %{_mandir}/man1/jcf-*
1066 %{_mandir}/man1/jv-*
1067 %{_mandir}/man1/gij*
1068 %{_mandir}/man1/gcj*
1069 %{_mandir}/man1/grepjar*
1072 %defattr(644,root,root,755)
1073 %attr(755,root,root) %{_bindir}/rmi*
1074 %attr(755,root,root) %{_bindir}/jar
1075 %{_mandir}/man1/rmi*
1076 %{_mandir}/man1/jar*
1077 %{_infodir}/fastjar*
1080 %defattr(644,root,root,755)
1081 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1082 %attr(755,root,root) %{_bindir}/addr2name.awk
1083 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1084 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1086 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1088 %{_libdir}/logging.properties
1091 %defattr(644,root,root,755)
1093 %{_includedir}/javax
1096 %{_includedir}/gnu/*
1097 %{_libdir}/gcc/*/*/include/gcj
1098 %dir %{_libdir}/security
1099 %{_libdir}/security/*
1100 %dir %{_datadir}/java
1101 %{_datadir}/java/libgcj*.jar
1102 %{_libdir}/lib*cj.spec
1103 %{_libdir}/lib*cj*.la
1104 %attr(755,root,root) %{_libdir}/lib*cj*.so
1105 %attr(755,root,root) %{_libdir}/lib-org-*.so
1106 %{_libdir}/lib-org-*.la
1108 %{_libdir}/nof/lib*cj*.la
1109 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1111 %{_pkgconfigdir}/libgcj.pc
1113 %files libgcj-static
1114 %defattr(644,root,root,755)
1115 %{_libdir}/lib*cj*.a
1116 %{_libdir}/lib-org-*.a
1118 %{_libdir}/nof/lib*cj*.a
1122 %defattr(644,root,root,755)
1123 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1124 %attr(755,root,root) %{_libdir}/libffi-*.so
1127 %defattr(644,root,root,755)
1128 %{_libdir}/gcc/*/*/include/ffitarget.h
1129 %attr(755,root,root) %{_libdir}/libffi.so
1130 %{_libdir}/libffi.la
1131 %{_includedir}/ffi.h
1133 %files libffi-static
1134 %defattr(644,root,root,755)
1140 %defattr(644,root,root,755)
1141 %doc gcc/ada/ChangeLog
1142 %attr(755,root,root) %{_bindir}/gnat*
1143 %attr(755,root,root) %{_bindir}/gpr*
1144 %attr(755,root,root) %{_libdir}/libgnarl*.so
1145 %attr(755,root,root) %{_libdir}/libgnat*.so
1146 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1147 %{_libdir}/gcc/*/*/adainclude
1148 %dir %{_libdir}/gcc/*/*/adalib
1149 %{_libdir}/gcc/*/*/adalib/*.ali
1150 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1151 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1153 %{_libdir}/gcc/*/*/adalib/libgmem.a
1159 %defattr(644,root,root,755)
1160 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1161 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1163 %files libgnat-static
1164 %defattr(644,root,root,755)
1165 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1166 %{_libdir}/gcc/*/*/adalib/libgnat.a