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 20050521
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: 7f45e29a00590ce57a001a9294e8184e
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 Patch14: %{name}-push-pop-visibility.patch
46 Patch15: %{name}-pr21704.patch
47 URL: http://gcc.gnu.org/
48 BuildRequires: autoconf
49 BuildRequires: automake
50 BuildRequires: binutils >= 2:2.15.94.0.1
52 %{?with_java:BuildRequires: cairo-devel}
53 BuildRequires: fileutils >= 4.0.41
56 BuildRequires: gcc(ada)
57 BuildRequires: gcc-ada
59 BuildRequires: gettext-devel
60 BuildRequires: glibc-devel >= %{!?with_multilib:2.2.5-20}%{?with_multilib:6:2.3.4-1.5}
61 BuildRequires: gmp-devel
62 BuildRequires: libmpfr-devel
63 %{?with_java:BuildRequires: pango-devel}
64 BuildRequires: perl-devel
65 %{?with_java:BuildRequires: pkgconfig}
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
94 A compiler aimed at integrating all the optimizations and features
95 necessary for a high-performance and stable development environment.
97 This package contains the C compiler and some files shared by various
98 parts of the GNU Compiler Collection. In order to use another GCC
99 compiler you will need to install the appropriate subpackage.
102 Un compilador que intenta integrar todas las optimalizaciones y
103 características necesarias para un entorno de desarrollo eficaz y
106 Este paquete contiene el compilador de C y unos ficheros compartidos
107 por varias partes de la colección de compiladores GNU (GCC). Para usar
108 otro compilador de GCC será necesario que instale el subpaquete
112 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
113 wyprodukowania szybkiego i stabilnego kodu wynikowego.
115 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
116 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
117 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
119 %description -l pt_BR
120 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
121 GNU Compiler Collection.
124 Summary: Shared gcc library
125 Summary(es): Biblioteca compartida de gcc
126 Summary(pl): Biblioteka gcc
127 Summary(pt_BR): Biblioteca runtime para o GCC
128 License: GPL with unlimited link permission
132 %description -n libgcc
135 %description -n libgcc -l es
136 Biblioteca compartida de gcc.
138 %description -n libgcc -l pl
139 Biblioteka dynamiczna gcc.
141 %description -n libgcc -l pt_BR
142 Biblioteca runtime para o GCC.
144 %package -n libmudflap
145 Summary: GCC mudflap shared support library
146 Summary(pl): Wspó³dzielona biblioteka wspomagaj±ca GCC mudflap
147 License: GPL v2+ with unlimited link permission
150 %description -n libmudflap
151 The libmudflap libraries are used by GCC for instrumenting pointer and
152 array dereferencing operations.
154 %description -n libmudflap -l pl
155 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
156 dereferencji wspa¼ników i tablic.
158 %package -n libmudflap-devel
159 Summary: Development files for GCC mudflap library
160 Summary(pl): Pliki programistyczne biblioteki GCC mudflap
161 License: GPL v2+ with unlimited link permission
162 Group: Development/Libraries
163 Requires: libmudflap = %{epoch}:%{version}-%{release}
165 %description -n libmudflap-devel
166 The libmudflap libraries are used by GCC for instrumenting pointer and
167 array dereferencing operations. This package contains development
170 %description -n libmudflap-devel -l pl
171 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
172 dereferencji wspa¼ników i tablic. Ten pakiet zawiera pliki
175 %package -n libmudflap-static
176 Summary: Static GCC mudflap library
177 Summary(pl): Statyczna biblioteka GCC mudflap
178 License: GPL v2+ with unlimited link permission
179 Group: Development/Libraries
180 Requires: libmudflap-devel = %{epoch}:%{version}-%{release}
182 %description -n libmudflap-static
183 The libmudflap libraries are used by GCC for instrumenting pointer and
184 array dereferencing operations. This package contains static
187 %description -n libmudflap-static -l pl
188 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
189 dereferencji wspa¼ników i tablic. Ten pakiet zawiera biblioteki
193 Summary: Ada support for gcc
194 Summary(es): Soporte de Ada para gcc
195 Summary(pl): Obs³uga Ady do gcc
196 Group: Development/Languages
197 Requires: %{name} = %{epoch}:%{version}-%{release}
198 Requires: libgnat = %{epoch}:%{version}-%{release}
200 Obsoletes: gnat-devel
203 This package adds experimental support for compiling Ada programs.
205 %description ada -l es
206 Este paquete añade soporte experimental para compilar programas en
209 %description ada -l pl
210 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
214 Summary: Ada standard libraries
215 Summary(es): Bibliotecas estándares de Ada
216 Summary(pl): Biblioteki standardowe dla Ady
217 License: GPL v2+ with linking exception
222 %description -n libgnat
223 This package contains shared libraries needed to run programs written
226 %description -n libgnat -l es
227 Este paquete contiene las bibliotecas compartidas necesarias para
228 ejecutar programas escritos en Ada.
230 %description -n libgnat -l pl
231 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
234 %package -n libgnat-static
235 Summary: Static Ada standard libraries
236 Summary(pl): Statyczne biblioteki standardowe dla Ady
237 License: GPL v2+ with linking exception
238 Group: Development/Libraries
239 Obsoletes: gnat-static
241 %description -n libgnat-static
242 This package contains static libraries for programs written in Ada.
244 %description -n libgnat-static -l pl
245 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
249 Summary: C++ support for gcc
250 Summary(es): Soporte de C++ para gcc
251 Summary(pl): Obs³uga C++ dla gcc
252 Summary(pt_BR): Suporte C++ para o gcc
253 Group: Development/Languages
254 Requires: %{name} = %{epoch}:%{version}-%{release}
259 This package adds C++ support to the GNU Compiler Collection. It
260 includes support for most of the current C++ specification, including
261 templates and exception handling. It does not include a standard C++
262 library, which is available separately.
264 %description c++ -l de
265 Dieses Paket enthält die C++-Unterstützung für den
266 GNU-Compiler-Collection. Es unterstützt die aktuelle
267 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
268 C++-Standard-Library ist nicht enthalten - sie ist getrennt
271 %description c++ -l es
272 Este paquete añade soporte de C++ al GCC (colección de compiladores
273 GNU). Ello incluye el soporte para la mayoría de la especificación
274 actual de C++, incluyendo plantillas y manejo de excepciones. No
275 incluye la biblioteca estándar de C++, la que es disponible separada.
277 %description c++ -l fr
278 Ce package ajoute un support C++ a la collection de compilateurs GNU.
279 Il comprend un support pour la plupart des spécifications actuelles de
280 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
281 une bibliothéque C++ standard, qui est disponible séparément.
283 %description c++ -l pl
284 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
285 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
286 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
288 %description c++ -l pt_BR
289 Este pacote adiciona suporte C++ para o gcc.
291 %description c++ -l tr
292 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
293 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
294 C++ kitaplýðý bu pakette yer almaz.
296 %package -n libstdc++
297 Summary: GNU C++ library
298 Summary(es): Biblioteca C++ de GNU
299 Summary(pl): Biblioteki GNU C++
300 Summary(pt_BR): Biblioteca C++ GNU
301 License: GPL v2+ with free software exception
304 Obsoletes: libstdc++3
306 %description -n libstdc++
307 This is the GNU implementation of the standard C++ libraries, along
308 with additional GNU tools. This package includes the shared libraries
309 necessary to run C++ applications.
311 %description -n libstdc++ -l de
312 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
313 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
314 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
316 %description -n libstdc++ -l es
317 Este es el soporte de las bibliotecas padrón del C++, junto con
318 herramientas GNU adicionales. El paquete incluye las bibliotecas
319 compartidas necesarias para ejecutar aplicaciones C++.
321 %description -n libstdc++ -l fr
322 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
323 des outils GNU supplémentaires. Ce package comprend les librairies
324 partagées nécessaires à l'exécution d'application C++.
326 %description -n libstdc++ -l pl
327 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
328 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
329 uruchomienia aplikacji napisanych w C++.
331 %description -n libstdc++ -l pt_BR
332 Este pacote é uma implementação da biblioteca padrão C++ v3, um
333 subconjunto do padrão ISO 14882.
335 %description -n libstdc++ -l tr
336 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
337 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
339 %package -n libstdc++-devel
340 Summary: Header files and documentation for C++ development
341 Summary(de): Header-Dateien zur Entwicklung mit C++
342 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
343 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
344 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
345 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
346 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
347 License: GPL v2+ with free software exception
348 Group: Development/Libraries
349 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
350 Requires: libstdc++ = %{epoch}:%{version}-%{release}
351 Requires: glibc-devel
352 Obsoletes: libg++-devel
353 Obsoletes: libstdc++3-devel
355 %description -n libstdc++-devel
356 This is the GNU implementation of the standard C++ libraries. This
357 package includes the header files needed for C++ development and
358 library documentation.
360 %description -n libstdc++-devel -l es
361 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
362 paquete incluye los archivos de inclusión y bibliotecas necesarios
363 para desarrollo de programas en lenguaje C++.
365 %description -n libstdc++-devel -l pl
366 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
367 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
368 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
370 %description -n libstdc++-devel -l pt_BR
371 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
372 para desenvolvimento de programas C++.
374 %package -n libstdc++-static
375 Summary: Static C++ standard library
376 Summary(es): Biblioteca estándar estática de C++
377 Summary(pl): Statyczna biblioteka standardowa C++
378 License: GPL v2+ with free software exception
379 Group: Development/Libraries
380 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
382 %description -n libstdc++-static
383 Static C++ standard library.
385 %description -n libstdc++-static -l es
386 Biblioteca estándar estática de C++.
388 %description -n libstdc++-static -l pl
389 Statyczna biblioteka standardowa C++.
392 Summary: Fortran 95 support for gcc
393 Summary(es): Soporte de Fortran 95 para gcc
394 Summary(pl): Obs³uga Fortranu 95 dla gcc
395 Summary(pt_BR): Suporte Fortran 95 para o GCC
396 Group: Development/Languages/Fortran
397 Requires: libgfortran = %{epoch}:%{version}-%{release}
398 Provides: gcc-g77 = %{epoch}:%{version}-%{release}
403 This package adds support for compiling Fortran 95 programs with the
406 %description fortran -l es
407 Este paquete añade soporte para compilar programas escritos en Fortran
408 95 con el compilador GNU.
410 %description fortran -l pl
411 Ten pakiet dodaje obs³ugê Fortranu 95 do kompilatora gcc. Jest
412 potrzebny do kompilowania programów pisanych w jêzyku Fortran 95.
414 %description fortran -l pt_BR
415 Suporte Fortran 95 para o GCC.
417 %package -n libgfortran
418 Summary: Fortran 95 Libraries
419 Summary(es): Bibliotecas de Fortran 95
420 Summary(pl): Biblioteki Fortranu 95
425 %description -n libgfortran
426 Fortran 95 Libraries.
428 %description -n libgfortran -l es
429 Bibliotecas de Fortran 95.
431 %description -n libgfortran -l pl
432 Biblioteki Fortranu 95.
434 %package -n libgfortran-static
435 Summary: Static Fortran 95 Libraries
436 Summary(es): Bibliotecas estáticas de Fortran 95
437 Summary(pl): Statyczne Biblioteki Fortranu 95
439 Group: Development/Libraries
440 Requires: libgfortran = %{epoch}:%{version}-%{release}
441 Obsoletes: libg2c-static
443 %description -n libgfortran-static
444 Static Fortran 95 Libraries.
446 %description -n libgfortran-static -l es
447 Bibliotecas estáticas de Fortran 95.
449 %description -n libgfortran-static -l pl
450 Statyczne biblioteki Fortranu 95.
453 Summary: Java support for gcc
454 Summary(es): Soporte de Java para gcc
455 Summary(pl): Obs³uga Javy dla gcc
456 Group: Development/Languages/Java
457 Requires: %{name} = %{epoch}:%{version}-%{release}
458 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
459 Provides: gcj = %{epoch}:%{version}-%{release}
460 Provides: gcc-java-tools
462 Obsoletes: gcc-java-tools
465 This package adds experimental support for compiling Java(TM) programs
466 and bytecode into native code. To use this you will also need the
469 %description java -l es
470 Este paquete añade soporte experimental para compilar programas
471 Java(tm) y su bytecode en código nativo. Para usarlo también va a
472 necesitar el paquete libgcj.
474 %description java -l pl
475 Ten pakiet dodaje mo¿liwo¶æ kompilowania programów w jêzyku Java(TM)
476 oraz bajtkodu do kodu natywnego. Do u¿ywania go wymagany jest
477 dodatkowo pakiet libgcj.
480 Summary: Java Class Libraries
481 Summary(es): Bibliotecas de clases de Java
482 Summary(pl): Biblioteki Klas Javy
483 License: GPL with limited linking exception
487 %description -n libgcj
488 Java Class Libraries.
490 %description -n libgcj -l es
491 Bibliotecas de clases de Java.
493 %description -n libgcj -l pl
494 Biblioteki Klas Javy.
496 %package -n libgcj-devel
497 Summary: Development files for Java Class Libraries
498 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
499 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
500 License: GPL with limited linking exception
501 Group: Development/Libraries
502 Requires: libgcj = %{epoch}:%{version}-%{release}
504 Obsoletes: libgcj3-devel
506 %description -n libgcj-devel
507 Development files for Java Class Libraries.
509 %description -n libgcj-devel -l es
510 Ficheros de desarrollo para las bibliotecas de clases de Java.
512 %description -n libgcj-devel -l pl
513 Pliki nag³ówkowe dla Bibliotek Klas Javy.
515 %package -n libgcj-static
516 Summary: Static Java Class Libraries
517 Summary(es): Bibliotecas estáticas de clases de Java
518 Summary(pl): Statyczne Biblioteki Klas Javy
519 License: GPL with limited linking exception
520 Group: Development/Libraries
521 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
522 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
524 %description -n libgcj-static
525 Static Java Class Libraries.
527 %description -n libgcj-static -l es
528 Bibliotecas estáticas de clases de Java.
530 %description -n libgcj-static -l pl
531 Statyczne Biblioteki Klas Javy.
534 Summary: Foreign Function Interface library
535 Summary(es): Biblioteca de interfaz de funciones ajenas
536 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
540 %description -n libffi
541 The libffi library provides a portable, high level programming
542 interface to various calling conventions. This allows a programmer to
543 call any function specified by a call interface description at run
546 %description -n libffi -l es
547 La biblioteca libffi provee una interfaz portable de programación de
548 alto nivel para varias convenciones de llamada. Ello permite que un
549 programador llame una función cualquiera especificada por una
550 descripción de interfaz de llamada en el tiempo de ejecución.
552 %description -n libffi -l pl
553 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
554 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
555 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
558 %package -n libffi-devel
559 Summary: Development files for Foreign Function Interface library
560 Summary(es): Ficheros de desarrollo para libffi
561 Summary(pl): Pliki nag³ówkowe dla libffi
563 Group: Development/Libraries
564 Requires: libffi = %{epoch}:%{version}-%{release}
566 %description -n libffi-devel
567 Development files for Foreign Function Interface library.
569 %description -n libffi-devel -l es
570 Ficheros de desarrollo para libffi.
572 %description -n libffi-devel -l pl
573 Pliki nag³ówkowe dla libffi.
575 %package -n libffi-static
576 Summary: Static Foreign Function Interface library
577 Summary(es): Biblioteca libffi estática
578 Summary(pl): Statyczna biblioteka libffi
580 Group: Development/Libraries
581 Requires: libffi-devel = %{epoch}:%{version}-%{release}
583 %description -n libffi-static
584 Static Foreign Function Interface library.
586 %description -n libffi-static -l es
587 Biblioteca libffi estática.
589 %description -n libffi-static -l pl
590 Statyczna biblioteka libffi.
593 Summary: Objective C support for gcc
594 Summary(de): Objektive C-Unterstützung für gcc
595 Summary(es): Soporte de Objective C para gcc
596 Summary(fr): Gestion d'Objective C pour gcc
597 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
598 Summary(tr): gcc için Objective C desteði
599 Group: Development/Languages
600 Requires: %{name} = %{epoch}:%{version}-%{release}
601 Requires: libobjc = %{epoch}:%{version}-%{release}
606 This package adds Objective C support to the GNU Compiler Collection.
607 Objective C is a object oriented derivative of the C language, mainly
608 used on systems running NeXTSTEP. This package does not include the
609 standard objective C object library.
611 %description objc -l de
612 Dieses Paket ergänzt den GNU-Compiler-Collection durch
613 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
614 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
615 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
617 %description objc -l es
618 Este paquete añade soporte de Objective C al GCC (colección de
619 compiladores GNU). Objective C es un lenguaje orientado a objetos
620 derivado de C, principalmente usado en sistemas que funcionan bajo
621 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
624 %description objc -l fr
625 Ce package ajoute un support Objective C a la collection de
626 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
627 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
628 package n'inclue pas la bibliothéque Objective C standard.
630 %description objc -l pl
631 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
632 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
633 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
634 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
636 %description objc -l tr
637 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
638 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
639 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
640 kitaplýðý bu pakette yer almaz.
643 Summary: Objective C Libraries
644 Summary(es): Bibliotecas de Objective C
645 Summary(pl): Biblioteki Obiektowego C
646 License: GPL v2+ with linking exception
650 %description -n libobjc
651 Objective C Libraries.
653 %description -n libobjc -l es
654 Bibliotecas de Objective C.
656 %description -n libobjc -l pl
657 Biblioteki Obiektowego C.
659 %package -n libobjc-static
660 Summary: Static Objective C Libraries
661 Summary(es): Bibliotecas estáticas de Objective C
662 Summary(pl): Statyczne Biblioteki Obiektowego C
663 License: GPL v2+ with linking exception
664 Group: Development/Libraries
665 Requires: libobjc = %{epoch}:%{version}-%{release}
667 %description -n libobjc-static
668 Static Objective C Libraries.
670 %description -n libobjc-static -l es
671 Bibliotecas estáticas de Objective C.
673 %description -n libobjc-static -l pl
674 Statyczne biblioteki Obiektowego C.
677 #setup -q -n gcc-%{version}
678 %setup -q -n gcc-4.0-%{_snap}
682 %{!?debug:%patch2 -p1}
693 # because we distribute modified version of gcc...
694 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
695 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
697 mv ChangeLog ChangeLog.general
703 cp -f /usr/share/automake/config.sub .
705 rm -rf obj-%{_target_platform}
706 install -d obj-%{_target_platform}
707 cd obj-%{_target_platform}
709 CFLAGS="%{rpmcflags}" \
710 CXXFLAGS="%{rpmcxxflags}" \
713 --prefix=%{_prefix} \
714 --libdir=%{_libdir} \
715 --libexecdir=%{_libdir} \
716 --infodir=%{_infodir} \
717 --mandir=%{_mandir} \
719 --enable-threads=posix \
720 --enable-__cxa_atexit \
721 --enable-languages="c,c++%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
724 --%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \
728 --with-demangler-in-ld \
730 --with-slibdir=%{_slibdir} \
735 --enable-libgcj-multifile \
736 --enable-libgcj-database \
743 %{__make} -C obj-%{_target_platform} \
744 %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \
745 GCJFLAGS="%{rpmcflags}" \
746 BOOT_CFLAGS="%{rpmcflags}" \
747 STAGE1_CFLAGS="%{rpmcflags} -O0" \
748 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
753 rm -rf $RPM_BUILD_ROOT
754 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
756 cd obj-%{_target_platform}
758 %{__make} -j1 install \
760 infodir=%{_infodir} \
761 DESTDIR=$RPM_BUILD_ROOT
763 install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version}
766 ln -sf %{_bindir}/sparc64-pld-linux-gcc \
767 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
770 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
771 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
772 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
775 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
776 echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
780 # move ada shared libraries to proper place...
781 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
782 $RPM_BUILD_ROOT%{_libdir}
783 # check if symlink to be made is valid
784 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so.1
785 ln -sf libgnat-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so
786 ln -sf libgnarl-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-4.0.so
787 ln -sf libgnat-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
788 ln -sf libgnarl-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
795 cp -f libjava/READ* java-doc
796 cp -f fastjar/README java-doc/README.fastjar
797 cp -f libffi/README java-doc/README.libffi
798 cp -f libffi/LICENSE java-doc/LICENSE.libffi
799 ln -sf %{_javadir}/libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
802 cp -f libobjc/README gcc/objc/README.libobjc
805 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
806 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
807 for f in libmudflap.la libmudflapth.la libstdc++.la libsupc++.la \
808 %{?with_fortran:libgfortran.la libgfortranbegin.la} \
809 %{?with_java:libgcj.la libffi.la} \
810 %{?with_objc:libobjc.la};
812 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
813 mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
815 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
816 mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
820 # include/ contains install-tools/include/* and headers that were fixed up
821 # by fixincludes, we don't want former
822 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
824 # we have to save these however
825 %{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jvmpi.h} $gccdir/tmp}
826 %{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
827 mv -f $gccdir/include/syslimits.h $gccdir/tmp
828 rm -rf $gccdir/include
829 mv -f $gccdir/tmp $gccdir/include
830 cp -f $gccdir/install-tools/include/*.h $gccdir/include
831 # but we don't want anything more from install-tools
832 rm -rf $gccdir/install-tools
835 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
837 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
840 %find_lang libstdc\+\+
842 # cvs snap doesn't contain (release does) below files,
843 # so let's create dummy entries to satisfy %%files.
844 [ ! -f NEWS ] && touch NEWS
845 [ ! -f libgfortran/AUTHORS ] && touch libgfortran/AUTHORS
846 [ ! -f libgfortran/README ] && touch libgfortran/README
849 rm -rf $RPM_BUILD_ROOT
852 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
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
875 %post -p /sbin/ldconfig -n libgcc
876 %postun -p /sbin/ldconfig -n libgcc
877 %post -p /sbin/ldconfig -n libmudflap
878 %postun -p /sbin/ldconfig -n libmudflap
879 %post -p /sbin/ldconfig -n libgnat
880 %postun -p /sbin/ldconfig -n libgnat
881 %post -p /sbin/ldconfig -n libstdc++
882 %postun -p /sbin/ldconfig -n libstdc++
883 %post -p /sbin/ldconfig -n libgfortran
884 %postun -p /sbin/ldconfig -n libgfortran
885 %post -p /sbin/ldconfig -n libgcj
886 %postun -p /sbin/ldconfig -n libgcj
887 %post -p /sbin/ldconfig -n libffi
888 %postun -p /sbin/ldconfig -n libffi
889 %post -p /sbin/ldconfig -n libobjc
890 %postun -p /sbin/ldconfig -n libobjc
893 %defattr(644,root,root,755)
894 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
895 %doc gcc/{ChangeLog,ONEWS,README.Portability}
897 %dir %{_libdir}/gcc/*
898 %dir %{_libdir}/gcc/*/*
899 %dir %{_libdir}/gcc/*/*/include
901 %attr(755,root,root) %{_bindir}/*-gcc*
902 %attr(755,root,root) %{_bindir}/gcc
903 %attr(755,root,root) %{_bindir}/gccbug
904 %attr(755,root,root) %{_bindir}/gcov
905 %attr(755,root,root) %{_bindir}/cc
906 %attr(755,root,root) %{_bindir}/cpp
908 %{_mandir}/man1/cc.1*
909 %{_mandir}/man1/cpp.1*
910 %{_mandir}/man1/gcc.1*
911 %{_mandir}/man1/gcov.1*
916 %attr(755,root,root) /lib/cpp
918 %attr(755,root,root) %{_slibdir}/lib*.so
920 %dir %{_libdir}/gcc/*/*/32
921 %{_libdir}/gcc/*/*/32/libgcov.a
922 %{_libdir}/gcc/*/*/32/libgcc.a
923 %{_libdir}/gcc/*/*/32/libgcc_eh.a
924 %{_libdir}/gcc/*/*/32/libgcc_s.so
926 %{_libdir}/gcc/*/*/libgcov.a
927 %{_libdir}/gcc/*/*/libgcc.a
928 %{_libdir}/gcc/*/*/libgcc_eh.a
929 %{_libdir}/gcc/*/*/libgcc_s.so
930 %{_libdir}/gcc/*/*/specs
932 %{_libdir}/gcc/*/*/32/crt*.o
934 %{_libdir}/gcc/*/*/crt*.o
935 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
936 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
938 %{_libdir}/gcc/*/*/include/*.h
941 %defattr(644,root,root,755)
943 %attr(755,root,root) %{_slibdir32}/lib*.so.*
945 %attr(755,root,root) %{_slibdir}/lib*.so.*
948 %defattr(644,root,root,755)
950 %attr(755,root,root) %{_libdir32}/libmudflap*.so.*.*.*
952 %attr(755,root,root) %{_libdir}/libmudflap*.so.*.*.*
954 %files -n libmudflap-devel
955 %defattr(644,root,root,755)
956 %{_includedir}/mf-runtime.h
958 %{_libdir32}/libmudflap*.la
959 %attr(755,root,root) %{_libdir32}/libmudflap*.so
961 %{_libdir}/libmudflap*.la
962 %attr(755,root,root) %{_libdir}/libmudflap*.so
964 %files -n libmudflap-static
965 %defattr(644,root,root,755)
967 %{_libdir32}/libmudflap*.a
969 %{_libdir}/libmudflap*.a
973 %defattr(644,root,root,755)
974 %doc gcc/ada/ChangeLog
975 %attr(755,root,root) %{_bindir}/gnat*
976 %attr(755,root,root) %{_bindir}/gpr*
977 %attr(755,root,root) %{_libdir}/libgnarl*.so
978 %attr(755,root,root) %{_libdir}/libgnat*.so
979 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
980 %{_libdir}/gcc/*/*/adainclude
981 %dir %{_libdir}/gcc/*/*/adalib
982 %{_libdir}/gcc/*/*/adalib/*.ali
983 %{_libdir}/gcc/*/*/adalib/g-trasym.o
984 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
986 %{_libdir}/gcc/*/*/adalib/libgmem.a
991 %defattr(644,root,root,755)
992 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
993 %attr(755,root,root) %{_libdir}/libgnat*.so.1
995 %files -n libgnat-static
996 %defattr(644,root,root,755)
997 %{_libdir}/gcc/*/*/adalib/libgnarl.a
998 %{_libdir}/gcc/*/*/adalib/libgnat.a
1002 %defattr(644,root,root,755)
1003 %doc gcc/cp/{ChangeLog,NEWS}
1004 %attr(755,root,root) %{_bindir}/g++
1005 %attr(755,root,root) %{_bindir}/*-g++
1006 %attr(755,root,root) %{_bindir}/c++
1007 %attr(755,root,root) %{_bindir}/*-c++
1008 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
1009 %if %{with multilib}
1010 %{_libdir32}/libsupc++.a
1011 %{_libdir32}/libsupc++.la
1013 %{_libdir}/libsupc++.a
1014 %{_libdir}/libsupc++.la
1015 %{_mandir}/man1/g++.1*
1017 %files -n libstdc++ -f libstdc++.lang
1018 %defattr(644,root,root,755)
1019 %doc libstdc++-v3/{ChangeLog,README}
1020 %if %{with multilib}
1021 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
1023 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
1025 %files -n libstdc++-devel
1026 %defattr(644,root,root,755)
1027 %doc libstdc++-v3/docs/html
1028 %dir %{_includedir}/c++
1029 %{_includedir}/c++/%{version}
1031 %exclude %{_includedir}/c++/%{version}/java
1032 %exclude %{_includedir}/c++/%{version}/javax
1033 %exclude %{_includedir}/c++/%{version}/gcj
1034 %exclude %{_includedir}/c++/%{version}/gnu
1037 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
1039 %if %{with multilib}
1040 %{_libdir32}/libstdc++.la
1041 %attr(755,root,root) %{_libdir32}/libstdc++.so
1043 %{_libdir}/libstdc++.la
1044 %attr(755,root,root) %{_libdir}/libstdc++.so
1046 %files -n libstdc++-static
1047 %defattr(644,root,root,755)
1048 %if %{with multilib}
1049 %{_libdir32}/libstdc++.a
1051 %{_libdir}/libstdc++.a
1055 %defattr(644,root,root,755)
1056 %doc gcc/fortran/ChangeLog
1057 %attr(755,root,root) %{_bindir}/g95
1058 %attr(755,root,root) %{_bindir}/gfortran
1059 %{_infodir}/gfortran*
1060 %attr(755,root,root) %{_libdir}/gcc/*/*/f951
1061 %if %{with multilib}
1062 %{_libdir32}/libgfortranbegin.a
1063 %{_libdir32}/libgfortranbegin.la
1064 %{_libdir32}/libgfortran.la
1065 %attr(755,root,root) %{_libdir32}/libgfortran.so
1067 %{_libdir}/libgfortranbegin.a
1068 %{_libdir}/libgfortranbegin.la
1069 %{_libdir}/libgfortran.la
1070 %attr(755,root,root) %{_libdir}/libgfortran.so
1071 %{_mandir}/man1/g95.1*
1072 %{_mandir}/man1/gfortran.1*
1074 %files -n libgfortran
1075 %defattr(644,root,root,755)
1076 %doc libgfortran/{AUTHORS,README,ChangeLog}
1077 %if %{with multilib}
1078 %attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
1080 %attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
1082 %files -n libgfortran-static
1083 %defattr(644,root,root,755)
1084 %if %{with multilib}
1085 %{_libdir32}/libgfortran.a
1087 %{_libdir}/libgfortran.a
1092 %defattr(644,root,root,755)
1093 %doc gcc/java/ChangeLog java-doc/*
1094 %attr(755,root,root) %{_bindir}/fastjar
1095 %attr(755,root,root) %{_bindir}/gcj*
1096 %attr(755,root,root) %{_bindir}/gjnih
1097 %attr(755,root,root) %{_bindir}/grepjar
1098 %attr(755,root,root) %{_bindir}/grmi*
1099 %attr(755,root,root) %{_bindir}/jcf-dump
1100 %attr(755,root,root) %{_bindir}/jv-*
1101 %attr(755,root,root) %{_bindir}/*-gcj*
1102 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1103 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1104 %{_infodir}/fastjar*
1106 %{_mandir}/man1/fastjar*
1107 %{_mandir}/man1/gcj*
1108 %{_mandir}/man1/gjnih*
1109 %{_mandir}/man1/grepjar*
1110 %{_mandir}/man1/grmi*
1111 %{_mandir}/man1/jcf-*
1112 %{_mandir}/man1/jv-*
1115 %defattr(644,root,root,755)
1116 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1117 %attr(755,root,root) %{_bindir}/addr2name.awk
1118 %attr(755,root,root) %{_bindir}/gij
1119 %dir %{_libdir}/gcj-%{version}
1120 %{_libdir}/gcj-%{version}/classmap.db
1121 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1122 %attr(755,root,root) %{_libdir}/libgij.so.*.*.*
1123 %{_libdir}/logging.properties
1124 %{_javadir}/libgcj*.jar
1125 %{_mandir}/man1/gij*
1127 %files -n libgcj-devel
1128 %defattr(644,root,root,755)
1129 %{_includedir}/c++/%{version}/java
1130 %{_includedir}/c++/%{version}/javax
1131 %{_includedir}/c++/%{version}/gcj
1132 %{_includedir}/c++/%{version}/gnu
1133 %{_libdir}/gcc/*/*/include/gcj
1134 %{_libdir}/gcc/*/*/include/jawt.h
1135 %{_libdir}/gcc/*/*/include/jawt_md.h
1136 %{_libdir}/gcc/*/*/include/jni.h
1137 %{_libdir}/gcc/*/*/include/jvmpi.h
1138 %dir %{_libdir}/security
1139 %{_libdir}/security/*
1140 %{_libdir}/lib*cj.spec
1141 %{_libdir}/lib*cj*.la
1142 %attr(755,root,root) %{_libdir}/lib*cj*.so
1143 %{_libdir}/libgij.la
1144 %attr(755,root,root) %{_libdir}/libgij.so
1145 %{_pkgconfigdir}/libgcj.pc
1147 %files -n libgcj-static
1148 %defattr(644,root,root,755)
1149 %{_libdir}/lib*cj*.a
1153 %defattr(644,root,root,755)
1154 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1155 %attr(755,root,root) %{_libdir}/libffi.so.*.*.*
1157 %files -n libffi-devel
1158 %defattr(644,root,root,755)
1159 %{_libdir}/gcc/*/*/include/ffitarget.h
1160 %attr(755,root,root) %{_libdir}/libffi.so
1161 %{_libdir}/libffi.la
1162 %{_includedir}/ffi.h
1164 %files -n libffi-static
1165 %defattr(644,root,root,755)
1171 %defattr(644,root,root,755)
1172 %doc gcc/objc/README
1173 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1174 %if %{with multilib}
1175 %attr(755,root,root) %{_libdir32}/libobjc.so
1176 %{_libdir32}/libobjc.la
1178 %attr(755,root,root) %{_libdir}/libobjc.so
1179 %{_libdir}/libobjc.la
1180 %{_libdir}/gcc/*/*/include/objc
1183 %defattr(644,root,root,755)
1184 %doc libobjc/{ChangeLog,README*}
1185 %if %{with multilib}
1186 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
1188 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
1190 %files -n libobjc-static
1191 %defattr(644,root,root,755)
1192 %if %{with multilib}
1193 %{_libdir32}/libobjc.a
1195 %{_libdir}/libobjc.a