3 # - http://gcc.gnu.org/PR11203 (inline-asm)
4 # - http://gcc.gnu.org/PR17640 (empty loop not removed after optimization)
5 # - http://gcc.gnu.org/PR19317 (removing a temporary return value when we cannot)
6 # - http://gcc.gnu.org/PR20128 (ice with mudflap + profile generate)
9 %bcond_without ada # build without ADA support
10 %bcond_without fortran # build without Fortran support
11 %bcond_without java # build without Java support
12 %bcond_without objc # build without ObjC support
13 %bcond_with multilib # build with multilib support (it needs glibc[32&64]-devel)
14 %bcond_without profiling # build without profiling
15 %bcond_without bootstrap # omit 3-stage bootstrap
17 %ifnarch %{x8664} ppc64 s390x sparc64
18 %undefine with_multilib
21 Summary: GNU Compiler Collection: the C compiler and shared files
22 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
23 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
24 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
27 %define _snap 20050514
31 Group: Development/Languages
32 #Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
33 Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/4.0-%{_snap}/gcc-4.0-%{_snap}.tar.bz2
34 # Source0-md5: 25e147473b14c4bb43cdc53299c3524c
35 Source1: %{name}-optimize-la.pl
36 Patch0: %{name}-info.patch
37 Patch1: %{name}-nolocalefiles.patch
38 Patch2: %{name}-nodebug.patch
39 Patch3: %{name}-ada-link-new-libgnat.patch
40 Patch4: %{name}-ada-link.patch
41 Patch5: %{name}-alpha-ada_fix.patch
43 Patch10: %{name}-pr19664.patch
44 Patch11: %{name}-pr20218.patch
45 Patch12: %{name}-pr21454.patch
46 Patch13: %{name}-pr21519.patch
47 Patch14: %{name}-push-pop-visibility.patch
48 URL: http://gcc.gnu.org/
49 BuildRequires: autoconf
50 BuildRequires: automake
51 BuildRequires: binutils >= 2:2.15.94.0.1
53 %{?with_java:BuildRequires: cairo-devel}
54 BuildRequires: fileutils >= 4.0.41
57 BuildRequires: gcc(ada)
58 BuildRequires: gcc-ada
60 BuildRequires: gettext-devel
61 BuildRequires: glibc-devel >= %{!?with_multilib:2.2.5-20}%{?with_multilib:6:2.3.4-1.5}
62 BuildRequires: gmp-devel
63 BuildRequires: libmpfr-devel
64 %{?with_java:BuildRequires: pango-devel}
65 BuildRequires: perl-devel
66 BuildRequires: rpmbuild(macros) >= 1.211
67 BuildRequires: texinfo >= 4.1
68 BuildRequires: zlib-devel
69 # AS_NEEDED directive for dynamic linker
70 # http://sources.redhat.com/ml/glibc-cvs/2005-q1/msg00614.html
71 # http://sources.redhat.com/ml/binutils/2005-01/msg00288.html
72 Requires: binutils >= 2:2.16.90.0.1-0.3
73 Requires: libgcc = %{epoch}:%{version}-%{release}
74 Provides: cpp = %{epoch}:%{version}-%{release}
75 %{?with_ada:Provides: gcc(ada)}
76 %{?with_multilib:Provides: gcc(multilib)}
83 Conflicts: glibc-devel < 2.2.5-20
84 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
86 %define _slibdir /%{_lib}
88 # 32-bit environment on x86-64,ppc64,s390x,sparc64
89 %define _slibdir32 /lib
90 %define _libdir32 /usr/lib
93 %define rpmcflags -O2 -mtune=ultrasparc
97 A compiler aimed at integrating all the optimizations and features
98 necessary for a high-performance and stable development environment.
100 This package contains the C compiler and some files shared by various
101 parts of the GNU Compiler Collection. In order to use another GCC
102 compiler you will need to install the appropriate subpackage.
105 Un compilador que intenta integrar todas las optimalizaciones y
106 características necesarias para un entorno de desarrollo eficaz y
109 Este paquete contiene el compilador de C y unos ficheros compartidos
110 por varias partes de la colección de compiladores GNU (GCC). Para usar
111 otro compilador de GCC será necesario que instale el subpaquete
115 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
116 wyprodukowania szybkiego i stabilnego kodu wynikowego.
118 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
119 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
120 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
122 %description -l pt_BR
123 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
124 GNU Compiler Collection.
127 Summary: Shared gcc library
128 Summary(es): Biblioteca compartida de gcc
129 Summary(pl): Biblioteka gcc
130 Summary(pt_BR): Biblioteca runtime para o GCC
131 License: GPL with unlimited link permission
135 %description -n libgcc
138 %description -n libgcc -l es
139 Biblioteca compartida de gcc.
141 %description -n libgcc -l pl
142 Biblioteka dynamiczna gcc.
144 %description -n libgcc -l pt_BR
145 Biblioteca runtime para o GCC.
147 %package -n libmudflap
148 Summary: GCC mudflap shared support library
149 Summary(pl): Wspó³dzielona biblioteka wspomagaj±ca GCC mudflap
150 License: GPL v2+ with unlimited link permission
153 %description -n libmudflap
154 The libmudflap libraries are used by GCC for instrumenting pointer and
155 array dereferencing operations.
157 %description -n libmudflap -l pl
158 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
159 dereferencji wspa¼ników i tablic.
161 %package -n libmudflap-devel
162 Summary: Development files for GCC mudflap library
163 Summary(pl): Pliki programistyczne biblioteki GCC mudflap
164 License: GPL v2+ with unlimited link permission
165 Group: Development/Libraries
166 Requires: libmudflap = %{epoch}:%{version}-%{release}
168 %description -n libmudflap-devel
169 The libmudflap libraries are used by GCC for instrumenting pointer and
170 array dereferencing operations. This package contains development
173 %description -n libmudflap-devel -l pl
174 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
175 dereferencji wspa¼ników i tablic. Ten pakiet zawiera pliki
178 %package -n libmudflap-static
179 Summary: Static GCC mudflap library
180 Summary(pl): Statyczna biblioteka GCC mudflap
181 License: GPL v2+ with unlimited link permission
182 Group: Development/Libraries
183 Requires: libmudflap-devel = %{epoch}:%{version}-%{release}
185 %description -n libmudflap-static
186 The libmudflap libraries are used by GCC for instrumenting pointer and
187 array dereferencing operations. This package contains static
190 %description -n libmudflap-static -l pl
191 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
192 dereferencji wspa¼ników i tablic. Ten pakiet zawiera biblioteki
196 Summary: Ada support for gcc
197 Summary(es): Soporte de Ada para gcc
198 Summary(pl): Obs³uga Ady do gcc
199 Group: Development/Languages
200 Requires: %{name} = %{epoch}:%{version}-%{release}
201 Requires: libgnat = %{epoch}:%{version}-%{release}
203 Obsoletes: gnat-devel
206 This package adds experimental support for compiling Ada programs.
208 %description ada -l es
209 Este paquete añade soporte experimental para compilar programas en
212 %description ada -l pl
213 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
217 Summary: Ada standard libraries
218 Summary(es): Bibliotecas estándares de Ada
219 Summary(pl): Biblioteki standardowe dla Ady
220 License: GPL v2+ with linking exception
225 %description -n libgnat
226 This package contains shared libraries needed to run programs written
229 %description -n libgnat -l es
230 Este paquete contiene las bibliotecas compartidas necesarias para
231 ejecutar programas escritos en Ada.
233 %description -n libgnat -l pl
234 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
237 %package -n libgnat-static
238 Summary: Static Ada standard libraries
239 Summary(pl): Statyczne biblioteki standardowe dla Ady
240 License: GPL v2+ with linking exception
241 Group: Development/Libraries
242 Obsoletes: gnat-static
244 %description -n libgnat-static
245 This package contains static libraries for programs written in Ada.
247 %description -n libgnat-static -l pl
248 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
252 Summary: C++ support for gcc
253 Summary(es): Soporte de C++ para gcc
254 Summary(pl): Obs³uga C++ dla gcc
255 Summary(pt_BR): Suporte C++ para o gcc
256 Group: Development/Languages
257 Requires: %{name} = %{epoch}:%{version}-%{release}
262 This package adds C++ support to the GNU Compiler Collection. It
263 includes support for most of the current C++ specification, including
264 templates and exception handling. It does not include a standard C++
265 library, which is available separately.
267 %description c++ -l de
268 Dieses Paket enthält die C++-Unterstützung für den
269 GNU-Compiler-Collection. Es unterstützt die aktuelle
270 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
271 C++-Standard-Library ist nicht enthalten - sie ist getrennt
274 %description c++ -l es
275 Este paquete añade soporte de C++ al GCC (colección de compiladores
276 GNU). Ello incluye el soporte para la mayoría de la especificación
277 actual de C++, incluyendo plantillas y manejo de excepciones. No
278 incluye la biblioteca estándar de C++, la que es disponible separada.
280 %description c++ -l fr
281 Ce package ajoute un support C++ a la collection de compilateurs GNU.
282 Il comprend un support pour la plupart des spécifications actuelles de
283 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
284 une bibliothéque C++ standard, qui est disponible séparément.
286 %description c++ -l pl
287 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
288 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
289 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
291 %description c++ -l pt_BR
292 Este pacote adiciona suporte C++ para o gcc.
294 %description c++ -l tr
295 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
296 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
297 C++ kitaplýðý bu pakette yer almaz.
299 %package -n libstdc++
300 Summary: GNU C++ library
301 Summary(es): Biblioteca C++ de GNU
302 Summary(pl): Biblioteki GNU C++
303 Summary(pt_BR): Biblioteca C++ GNU
304 License: GPL v2+ with free software exception
307 Obsoletes: libstdc++3
309 %description -n libstdc++
310 This is the GNU implementation of the standard C++ libraries, along
311 with additional GNU tools. This package includes the shared libraries
312 necessary to run C++ applications.
314 %description -n libstdc++ -l de
315 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
316 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
317 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
319 %description -n libstdc++ -l es
320 Este es el soporte de las bibliotecas padrón del C++, junto con
321 herramientas GNU adicionales. El paquete incluye las bibliotecas
322 compartidas necesarias para ejecutar aplicaciones C++.
324 %description -n libstdc++ -l fr
325 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
326 des outils GNU supplémentaires. Ce package comprend les librairies
327 partagées nécessaires à l'exécution d'application C++.
329 %description -n libstdc++ -l pl
330 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
331 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
332 uruchomienia aplikacji napisanych w C++.
334 %description -n libstdc++ -l pt_BR
335 Este pacote é uma implementação da biblioteca padrão C++ v3, um
336 subconjunto do padrão ISO 14882.
338 %description -n libstdc++ -l tr
339 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
340 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
342 %package -n libstdc++-devel
343 Summary: Header files and documentation for C++ development
344 Summary(de): Header-Dateien zur Entwicklung mit C++
345 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
346 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
347 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
348 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
349 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
350 License: GPL v2+ with free software exception
351 Group: Development/Libraries
352 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
353 Requires: libstdc++ = %{epoch}:%{version}-%{release}
354 Requires: glibc-devel
355 Obsoletes: libg++-devel
356 Obsoletes: libstdc++3-devel
358 %description -n libstdc++-devel
359 This is the GNU implementation of the standard C++ libraries. This
360 package includes the header files needed for C++ development and
361 library documentation.
363 %description -n libstdc++-devel -l es
364 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
365 paquete incluye los archivos de inclusión y bibliotecas necesarios
366 para desarrollo de programas en lenguaje C++.
368 %description -n libstdc++-devel -l pl
369 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
370 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
371 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
373 %description -n libstdc++-devel -l pt_BR
374 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
375 para desenvolvimento de programas C++.
377 %package -n libstdc++-static
378 Summary: Static C++ standard library
379 Summary(es): Biblioteca estándar estática de C++
380 Summary(pl): Statyczna biblioteka standardowa C++
381 License: GPL v2+ with free software exception
382 Group: Development/Libraries
383 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
385 %description -n libstdc++-static
386 Static C++ standard library.
388 %description -n libstdc++-static -l es
389 Biblioteca estándar estática de C++.
391 %description -n libstdc++-static -l pl
392 Statyczna biblioteka standardowa C++.
395 Summary: Fortran 95 support for gcc
396 Summary(es): Soporte de Fortran 95 para gcc
397 Summary(pl): Obs³uga Fortranu 95 dla gcc
398 Summary(pt_BR): Suporte Fortran 95 para o GCC
399 Group: Development/Languages/Fortran
400 Requires: libgfortran = %{epoch}:%{version}-%{release}
401 Provides: gcc-g77 = %{epoch}:%{version}-%{release}
406 This package adds support for compiling Fortran 95 programs with the
409 %description fortran -l es
410 Este paquete añade soporte para compilar programas escritos en Fortran
411 95 con el compilador GNU.
413 %description fortran -l pl
414 Ten pakiet dodaje obs³ugê Fortranu 95 do kompilatora gcc. Jest
415 potrzebny do kompilowania programów pisanych w jêzyku Fortran 95.
417 %description fortran -l pt_BR
418 Suporte Fortran 95 para o GCC.
420 %package -n libgfortran
421 Summary: Fortran 95 Libraries
422 Summary(es): Bibliotecas de Fortran 95
423 Summary(pl): Biblioteki Fortranu 95
428 %description -n libgfortran
429 Fortran 95 Libraries.
431 %description -n libgfortran -l es
432 Bibliotecas de Fortran 95.
434 %description -n libgfortran -l pl
435 Biblioteki Fortranu 95.
437 %package -n libgfortran-static
438 Summary: Static Fortran 95 Libraries
439 Summary(es): Bibliotecas estáticas de Fortran 95
440 Summary(pl): Statyczne Biblioteki Fortranu 95
442 Group: Development/Libraries
443 Requires: libgfortran = %{epoch}:%{version}-%{release}
444 Obsoletes: libg2c-static
446 %description -n libgfortran-static
447 Static Fortran 95 Libraries.
449 %description -n libgfortran-static -l es
450 Bibliotecas estáticas de Fortran 95.
452 %description -n libgfortran-static -l pl
453 Statyczne biblioteki Fortranu 95.
456 Summary: Java support for gcc
457 Summary(es): Soporte de Java para gcc
458 Summary(pl): Obs³uga Javy dla gcc
459 Group: Development/Languages/Java
460 Requires: %{name} = %{epoch}:%{version}-%{release}
461 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
462 Provides: gcj = %{epoch}:%{version}-%{release}
464 Obsoletes: gcc-java-tools
467 This package adds experimental support for compiling Java(TM) programs
468 and bytecode into native code. To use this you will also need the
471 %description java -l es
472 Este paquete añade soporte experimental para compilar programas
473 Java(tm) y su bytecode en código nativo. Para usarlo también va a
474 necesitar el paquete libgcj.
476 %description java -l pl
477 Ten pakiet dodaje mo¿liwo¶æ kompilowania programów w jêzyku Java(TM)
478 oraz bajtkodu do kodu natywnego. Do u¿ywania go wymagany jest
479 dodatkowo pakiet libgcj.
482 Summary: Java Class Libraries
483 Summary(es): Bibliotecas de clases de Java
484 Summary(pl): Biblioteki Klas Javy
485 License: GPL with limited linking exception
489 %description -n libgcj
490 Java Class Libraries.
492 %description -n libgcj -l es
493 Bibliotecas de clases de Java.
495 %description -n libgcj -l pl
496 Biblioteki Klas Javy.
498 %package -n libgcj-devel
499 Summary: Development files for Java Class Libraries
500 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
501 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
502 License: GPL with limited linking exception
503 Group: Development/Libraries
504 Requires: libgcj = %{epoch}:%{version}-%{release}
506 Obsoletes: libgcj3-devel
508 %description -n libgcj-devel
509 Development files for Java Class Libraries.
511 %description -n libgcj-devel -l es
512 Ficheros de desarrollo para las bibliotecas de clases de Java.
514 %description -n libgcj-devel -l pl
515 Pliki nag³ówkowe dla Bibliotek Klas Javy.
517 %package -n libgcj-static
518 Summary: Static Java Class Libraries
519 Summary(es): Bibliotecas estáticas de clases de Java
520 Summary(pl): Statyczne Biblioteki Klas Javy
521 License: GPL with limited linking exception
522 Group: Development/Libraries
523 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
524 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
526 %description -n libgcj-static
527 Static Java Class Libraries.
529 %description -n libgcj-static -l es
530 Bibliotecas estáticas de clases de Java.
532 %description -n libgcj-static -l pl
533 Statyczne Biblioteki Klas Javy.
536 Summary: Foreign Function Interface library
537 Summary(es): Biblioteca de interfaz de funciones ajenas
538 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
542 %description -n libffi
543 The libffi library provides a portable, high level programming
544 interface to various calling conventions. This allows a programmer to
545 call any function specified by a call interface description at run
548 %description -n libffi -l es
549 La biblioteca libffi provee una interfaz portable de programación de
550 alto nivel para varias convenciones de llamada. Ello permite que un
551 programador llame una función cualquiera especificada por una
552 descripción de interfaz de llamada en el tiempo de ejecución.
554 %description -n libffi -l pl
555 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
556 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
557 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
560 %package -n libffi-devel
561 Summary: Development files for Foreign Function Interface library
562 Summary(es): Ficheros de desarrollo para libffi
563 Summary(pl): Pliki nag³ówkowe dla libffi
565 Group: Development/Libraries
566 Requires: libffi = %{epoch}:%{version}-%{release}
568 %description -n libffi-devel
569 Development files for Foreign Function Interface library.
571 %description -n libffi-devel -l es
572 Ficheros de desarrollo para libffi.
574 %description -n libffi-devel -l pl
575 Pliki nag³ówkowe dla libffi.
577 %package -n libffi-static
578 Summary: Static Foreign Function Interface library
579 Summary(es): Biblioteca libffi estática
580 Summary(pl): Statyczna biblioteka libffi
582 Group: Development/Libraries
583 Requires: libffi-devel = %{epoch}:%{version}-%{release}
585 %description -n libffi-static
586 Static Foreign Function Interface library.
588 %description -n libffi-static -l es
589 Biblioteca libffi estática.
591 %description -n libffi-static -l pl
592 Statyczna biblioteka libffi.
595 Summary: Objective C support for gcc
596 Summary(de): Objektive C-Unterstützung für gcc
597 Summary(es): Soporte de Objective C para gcc
598 Summary(fr): Gestion d'Objective C pour gcc
599 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
600 Summary(tr): gcc için Objective C desteði
601 Group: Development/Languages
602 Requires: %{name} = %{epoch}:%{version}-%{release}
603 Requires: libobjc = %{epoch}:%{version}-%{release}
608 This package adds Objective C support to the GNU Compiler Collection.
609 Objective C is a object oriented derivative of the C language, mainly
610 used on systems running NeXTSTEP. This package does not include the
611 standard objective C object library.
613 %description objc -l de
614 Dieses Paket ergänzt den GNU-Compiler-Collection durch
615 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
616 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
617 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
619 %description objc -l es
620 Este paquete añade soporte de Objective C al GCC (colección de
621 compiladores GNU). Objective C es un lenguaje orientado a objetos
622 derivado de C, principalmente usado en sistemas que funcionan bajo
623 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
626 %description objc -l fr
627 Ce package ajoute un support Objective C a la collection de
628 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
629 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
630 package n'inclue pas la bibliothéque Objective C standard.
632 %description objc -l pl
633 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
634 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
635 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
636 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
638 %description objc -l tr
639 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
640 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
641 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
642 kitaplýðý bu pakette yer almaz.
645 Summary: Objective C Libraries
646 Summary(es): Bibliotecas de Objective C
647 Summary(pl): Biblioteki Obiektowego C
648 License: GPL v2+ with linking exception
652 %description -n libobjc
653 Objective C Libraries.
655 %description -n libobjc -l es
656 Bibliotecas de Objective C.
658 %description -n libobjc -l pl
659 Biblioteki Obiektowego C.
661 %package -n libobjc-static
662 Summary: Static Objective C Libraries
663 Summary(es): Bibliotecas estáticas de Objective C
664 Summary(pl): Statyczne Biblioteki Obiektowego C
665 License: GPL v2+ with linking exception
666 Group: Development/Libraries
667 Requires: libobjc = %{epoch}:%{version}-%{release}
669 %description -n libobjc-static
670 Static Objective C Libraries.
672 %description -n libobjc-static -l es
673 Bibliotecas estáticas de Objective C.
675 %description -n libobjc-static -l pl
676 Statyczne biblioteki Obiektowego C.
679 #setup -q -n gcc-%{version}
680 %setup -q -n gcc-4.0-%{_snap}
684 %{!?debug:%patch2 -p1}
696 # because we distribute modified version of gcc...
697 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
698 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
700 mv ChangeLog ChangeLog.general
706 cp -f /usr/share/automake/config.sub .
708 rm -rf obj-%{_target_platform}
709 install -d obj-%{_target_platform}
710 cd obj-%{_target_platform}
712 CFLAGS="%{rpmcflags}" \
713 CXXFLAGS="%{rpmcxxflags}" \
716 --prefix=%{_prefix} \
717 --libdir=%{_libdir} \
718 --libexecdir=%{_libdir} \
719 --infodir=%{_infodir} \
720 --mandir=%{_mandir} \
722 --enable-threads=posix \
723 --enable-__cxa_atexit \
724 --enable-languages="c,c++%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
727 --%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \
731 --with-demangler-in-ld \
733 --with-slibdir=%{_slibdir} \
738 --enable-libgcj-multifile \
739 --enable-libgcj-database \
746 %{__make} -C obj-%{_target_platform} \
747 %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \
748 GCJFLAGS="%{rpmcflags}" \
749 BOOT_CFLAGS="%{rpmcflags}" \
750 STAGE1_CFLAGS="%{rpmcflags} -O0" \
751 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
756 rm -rf $RPM_BUILD_ROOT
757 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
759 cd obj-%{_target_platform}
761 %{__make} -j1 install \
763 infodir=%{_infodir} \
764 DESTDIR=$RPM_BUILD_ROOT
766 install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version}
769 ln -sf $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
770 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
773 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
774 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
775 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
778 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
779 echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
783 # move ada shared libraries to proper place...
784 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
785 $RPM_BUILD_ROOT%{_libdir}
786 # check if symlink to be made is valid
787 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so.1
788 ln -sf libgnat-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so
789 ln -sf libgnarl-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-4.0.so
790 ln -sf libgnat-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
791 ln -sf libgnarl-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
798 cp -f libjava/READ* java-doc
799 cp -f fastjar/README java-doc/README.fastjar
800 cp -f libffi/README java-doc/README.libffi
801 cp -f libffi/LICENSE java-doc/LICENSE.libffi
802 ln -sf %{_javadir}/libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
805 cp -f libobjc/README gcc/objc/README.libobjc
808 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
809 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
810 for f in libmudflap.la libmudflapth.la libstdc++.la libsupc++.la \
811 %{?with_fortran:libgfortran.la libgfortranbegin.la} \
812 %{?with_java:libgcj.la libffi.la} \
813 %{?with_objc:libobjc.la};
815 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
816 mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
818 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
819 mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
823 # include/ contains install-tools/include/* and headers that were fixed up
824 # by fixincludes, we don't want former
825 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
827 # we have to save these however
828 %{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jvmpi.h} $gccdir/tmp}
829 %{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
830 mv -f $gccdir/include/syslimits.h $gccdir/tmp
831 rm -rf $gccdir/include
832 mv -f $gccdir/tmp $gccdir/include
833 cp -f $gccdir/install-tools/include/*.h $gccdir/include
834 # but we don't want anything more from install-tools
835 rm -rf $gccdir/install-tools
838 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
840 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
843 %find_lang libstdc\+\+
845 # cvs snap doesn't contain (release does) below files,
846 # so let's create dummy entries to satisfy %%files.
847 [ ! -f NEWS ] && touch NEWS
848 [ ! -f libgfortran/AUTHORS ] && touch libgfortran/AUTHORS
849 [ ! -f libgfortran/README ] && touch libgfortran/README
852 rm -rf $RPM_BUILD_ROOT
855 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
858 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
861 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
864 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
867 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
870 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
873 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
876 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
878 %post -p /sbin/ldconfig -n libgcc
879 %postun -p /sbin/ldconfig -n libgcc
880 %post -p /sbin/ldconfig -n libmudflap
881 %postun -p /sbin/ldconfig -n libmudflap
882 %post -p /sbin/ldconfig -n libgnat
883 %postun -p /sbin/ldconfig -n libgnat
884 %post -p /sbin/ldconfig -n libstdc++
885 %postun -p /sbin/ldconfig -n libstdc++
886 %post -p /sbin/ldconfig -n libgfortran
887 %postun -p /sbin/ldconfig -n libgfortran
888 %post -p /sbin/ldconfig -n libgcj
889 %postun -p /sbin/ldconfig -n libgcj
890 %post -p /sbin/ldconfig -n libffi
891 %postun -p /sbin/ldconfig -n libffi
892 %post -p /sbin/ldconfig -n libobjc
893 %postun -p /sbin/ldconfig -n libobjc
896 %defattr(644,root,root,755)
897 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
898 %doc gcc/{ChangeLog,ONEWS,README.Portability}
900 %dir %{_libdir}/gcc/*
901 %dir %{_libdir}/gcc/*/*
902 %dir %{_libdir}/gcc/*/*/include
904 %attr(755,root,root) %{_bindir}/*-gcc*
905 %attr(755,root,root) %{_bindir}/gcc
906 %attr(755,root,root) %{_bindir}/gccbug
907 %attr(755,root,root) %{_bindir}/gcov
908 %attr(755,root,root) %{_bindir}/cc
909 %attr(755,root,root) %{_bindir}/cpp
911 %{_mandir}/man1/cc.1*
912 %{_mandir}/man1/cpp.1*
913 %{_mandir}/man1/gcc.1*
914 %{_mandir}/man1/gcov.1*
919 %attr(755,root,root) /lib/cpp
921 %attr(755,root,root) %{_slibdir}/lib*.so
923 %dir %{_libdir}/gcc/*/*/32
924 %{_libdir}/gcc/*/*/32/libgcov.a
925 %{_libdir}/gcc/*/*/32/libgcc.a
926 %{_libdir}/gcc/*/*/32/libgcc_eh.a
927 %{_libdir}/gcc/*/*/32/libgcc_s.so
929 %{_libdir}/gcc/*/*/libgcov.a
930 %{_libdir}/gcc/*/*/libgcc.a
931 %{_libdir}/gcc/*/*/libgcc_eh.a
932 %{_libdir}/gcc/*/*/libgcc_s.so
933 %{_libdir}/gcc/*/*/specs
935 %{_libdir}/gcc/*/*/32/crt*.o
937 %{_libdir}/gcc/*/*/crt*.o
938 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
939 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
941 %{_libdir}/gcc/*/*/include/*.h
944 %defattr(644,root,root,755)
946 %attr(755,root,root) %{_slibdir32}/lib*.so.*
948 %attr(755,root,root) %{_slibdir}/lib*.so.*
951 %defattr(644,root,root,755)
953 %attr(755,root,root) %{_libdir32}/libmudflap*.so.*.*.*
955 %attr(755,root,root) %{_libdir}/libmudflap*.so.*.*.*
957 %files -n libmudflap-devel
958 %defattr(644,root,root,755)
959 %{_includedir}/mf-runtime.h
961 %{_libdir32}/libmudflap*.la
962 %attr(755,root,root) %{_libdir32}/libmudflap*.so
964 %{_libdir}/libmudflap*.la
965 %attr(755,root,root) %{_libdir}/libmudflap*.so
967 %files -n libmudflap-static
968 %defattr(644,root,root,755)
970 %{_libdir32}/libmudflap*.a
972 %{_libdir}/libmudflap*.a
976 %defattr(644,root,root,755)
977 %doc gcc/ada/ChangeLog
978 %attr(755,root,root) %{_bindir}/gnat*
979 %attr(755,root,root) %{_bindir}/gpr*
980 %attr(755,root,root) %{_libdir}/libgnarl*.so
981 %attr(755,root,root) %{_libdir}/libgnat*.so
982 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
983 %{_libdir}/gcc/*/*/adainclude
984 %dir %{_libdir}/gcc/*/*/adalib
985 %{_libdir}/gcc/*/*/adalib/*.ali
986 %{_libdir}/gcc/*/*/adalib/g-trasym.o
987 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
989 %{_libdir}/gcc/*/*/adalib/libgmem.a
994 %defattr(644,root,root,755)
995 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
996 %attr(755,root,root) %{_libdir}/libgnat*.so.1
998 %files -n libgnat-static
999 %defattr(644,root,root,755)
1000 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1001 %{_libdir}/gcc/*/*/adalib/libgnat.a
1005 %defattr(644,root,root,755)
1006 %doc gcc/cp/{ChangeLog,NEWS}
1007 %attr(755,root,root) %{_bindir}/g++
1008 %attr(755,root,root) %{_bindir}/*-g++
1009 %attr(755,root,root) %{_bindir}/c++
1010 %attr(755,root,root) %{_bindir}/*-c++
1011 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
1012 %if %{with multilib}
1013 %{_libdir32}/libsupc++.a
1014 %{_libdir32}/libsupc++.la
1016 %{_libdir}/libsupc++.a
1017 %{_libdir}/libsupc++.la
1018 %{_mandir}/man1/g++.1*
1020 %files -n libstdc++ -f libstdc++.lang
1021 %defattr(644,root,root,755)
1022 %doc libstdc++-v3/{ChangeLog,README}
1023 %if %{with multilib}
1024 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
1026 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
1028 %files -n libstdc++-devel
1029 %defattr(644,root,root,755)
1030 %doc libstdc++-v3/docs/html
1031 %dir %{_includedir}/c++
1032 %{_includedir}/c++/%{version}
1034 %exclude %{_includedir}/c++/%{version}/java
1035 %exclude %{_includedir}/c++/%{version}/javax
1036 %exclude %{_includedir}/c++/%{version}/gcj
1037 %exclude %{_includedir}/c++/%{version}/gnu
1040 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
1042 %if %{with multilib}
1043 %{_libdir32}/libstdc++.la
1044 %attr(755,root,root) %{_libdir32}/libstdc++.so
1046 %{_libdir}/libstdc++.la
1047 %attr(755,root,root) %{_libdir}/libstdc++.so
1049 %files -n libstdc++-static
1050 %defattr(644,root,root,755)
1051 %if %{with multilib}
1052 %{_libdir32}/libstdc++.a
1054 %{_libdir}/libstdc++.a
1058 %defattr(644,root,root,755)
1059 %doc gcc/fortran/ChangeLog
1060 %attr(755,root,root) %{_bindir}/g95
1061 %attr(755,root,root) %{_bindir}/gfortran
1062 %{_infodir}/gfortran*
1063 %attr(755,root,root) %{_libdir}/gcc/*/*/f951
1064 %if %{with multilib}
1065 %{_libdir32}/libgfortranbegin.a
1066 %{_libdir32}/libgfortranbegin.la
1067 %{_libdir32}/libgfortran.la
1068 %attr(755,root,root) %{_libdir32}/libgfortran.so
1070 %{_libdir}/libgfortranbegin.a
1071 %{_libdir}/libgfortranbegin.la
1072 %{_libdir}/libgfortran.la
1073 %attr(755,root,root) %{_libdir}/libgfortran.so
1074 %{_mandir}/man1/g95.1*
1075 %{_mandir}/man1/gfortran.1*
1077 %files -n libgfortran
1078 %defattr(644,root,root,755)
1079 %doc libgfortran/{AUTHORS,README,ChangeLog}
1080 %if %{with multilib}
1081 %attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
1083 %attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
1085 %files -n libgfortran-static
1086 %defattr(644,root,root,755)
1087 %if %{with multilib}
1088 %{_libdir32}/libgfortran.a
1090 %{_libdir}/libgfortran.a
1095 %defattr(644,root,root,755)
1096 %doc gcc/java/ChangeLog java-doc/*
1097 %attr(755,root,root) %{_bindir}/fastjar
1098 %attr(755,root,root) %{_bindir}/gcj*
1099 %attr(755,root,root) %{_bindir}/gjnih
1100 %attr(755,root,root) %{_bindir}/grepjar
1101 %attr(755,root,root) %{_bindir}/grmi*
1102 %attr(755,root,root) %{_bindir}/jcf-dump
1103 %attr(755,root,root) %{_bindir}/jv-*
1104 %attr(755,root,root) %{_bindir}/*-gcj*
1105 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1106 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1107 %{_infodir}/fastjar*
1109 %{_mandir}/man1/fastjar*
1110 %{_mandir}/man1/gcj*
1111 %{_mandir}/man1/gjnih*
1112 %{_mandir}/man1/grepjar*
1113 %{_mandir}/man1/grmi*
1114 %{_mandir}/man1/jcf-*
1115 %{_mandir}/man1/jv-*
1118 %defattr(644,root,root,755)
1119 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1120 %attr(755,root,root) %{_bindir}/addr2name.awk
1121 %attr(755,root,root) %{_bindir}/gij
1122 %dir %{_libdir}/gcj-%{version}
1123 %{_libdir}/gcj-%{version}/classmap.db
1124 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1125 %attr(755,root,root) %{_libdir}/libgij.so.*.*.*
1126 %{_libdir}/logging.properties
1127 %{_javadir}/libgcj*.jar
1128 %{_mandir}/man1/gij*
1130 %files -n libgcj-devel
1131 %defattr(644,root,root,755)
1132 %{_includedir}/c++/%{version}/java
1133 %{_includedir}/c++/%{version}/javax
1134 %{_includedir}/c++/%{version}/gcj
1135 %{_includedir}/c++/%{version}/gnu
1136 %{_libdir}/gcc/*/*/include/gcj
1137 %{_libdir}/gcc/*/*/include/jawt.h
1138 %{_libdir}/gcc/*/*/include/jawt_md.h
1139 %{_libdir}/gcc/*/*/include/jni.h
1140 %{_libdir}/gcc/*/*/include/jvmpi.h
1141 %dir %{_libdir}/security
1142 %{_libdir}/security/*
1143 %{_libdir}/lib*cj.spec
1144 %{_libdir}/lib*cj*.la
1145 %attr(755,root,root) %{_libdir}/lib*cj*.so
1146 %{_libdir}/libgij.la
1147 %attr(755,root,root) %{_libdir}/libgij.so
1148 %{_pkgconfigdir}/libgcj.pc
1150 %files -n libgcj-static
1151 %defattr(644,root,root,755)
1152 %{_libdir}/lib*cj*.a
1156 %defattr(644,root,root,755)
1157 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1158 %attr(755,root,root) %{_libdir}/libffi.so.*.*.*
1160 %files -n libffi-devel
1161 %defattr(644,root,root,755)
1162 %{_libdir}/gcc/*/*/include/ffitarget.h
1163 %attr(755,root,root) %{_libdir}/libffi.so
1164 %{_libdir}/libffi.la
1165 %{_includedir}/ffi.h
1167 %files -n libffi-static
1168 %defattr(644,root,root,755)
1174 %defattr(644,root,root,755)
1175 %doc gcc/objc/README
1176 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1177 %if %{with multilib}
1178 %attr(755,root,root) %{_libdir32}/libobjc.so
1179 %{_libdir32}/libobjc.la
1181 %attr(755,root,root) %{_libdir}/libobjc.so
1182 %{_libdir}/libobjc.la
1183 %{_libdir}/gcc/*/*/include/objc
1186 %defattr(644,root,root,755)
1187 %doc libobjc/{ChangeLog,README*}
1188 %if %{with multilib}
1189 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
1191 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
1193 %files -n libobjc-static
1194 %defattr(644,root,root,755)
1195 %if %{with multilib}
1196 %{_libdir32}/libobjc.a
1198 %{_libdir}/libobjc.a