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 amd64 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
30 Group: Development/Languages
31 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
32 # Source0-md5: 55ee7df1b29f719138ec063c57b89db6
33 Source1: %{name}-optimize-la.pl
34 Patch0: %{name}-info.patch
35 Patch1: %{name}-nolocalefiles.patch
36 Patch2: %{name}-nodebug.patch
37 Patch3: %{name}-ada-link-new-libgnat.patch
38 Patch4: %{name}-ada-link.patch
39 Patch5: %{name}-alpha-ada_fix.patch
41 Patch10: %{name}-pr20973.patch
42 Patch11: %{name}-pr21173.patch
43 URL: http://gcc.gnu.org/
44 BuildRequires: autoconf
45 BuildRequires: automake
46 BuildRequires: binutils >= 2:2.15.94.0.1
48 %{?with_java:BuildRequires: cairo-devel}
49 BuildRequires: fileutils >= 4.0.41
52 BuildRequires: gcc(ada)
53 BuildRequires: gcc-ada
55 BuildRequires: gettext-devel
56 BuildRequires: glibc-devel >= %{!?with_multilib:2.2.5-20}%{?with_multilib:6:2.3.4-1.5}
57 BuildRequires: gmp-devel
58 BuildRequires: libmpfr-devel
59 %{?with_java:BuildRequires: pango-devel}
60 BuildRequires: perl-devel
61 BuildRequires: texinfo >= 4.1
62 BuildRequires: zlib-devel
63 # AS_NEEDED directive for dynamic linker
64 # http://sources.redhat.com/ml/glibc-cvs/2005-q1/msg00614.html
65 # http://sources.redhat.com/ml/binutils/2005-01/msg00288.html
66 Requires: binutils >= 2:2.16.90.0.1-0.3
67 Requires: libgcc = %{epoch}:%{version}-%{release}
68 Provides: cpp = %{epoch}:%{version}-%{release}
69 %{?with_ada:Provides: gcc(ada)}
70 %{?with_multilib:Provides: gcc(multilib)}
77 Conflicts: glibc-devel < 2.2.5-20
78 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
80 %define _slibdir /%{_lib}
82 # 32-bit environment on amd64,ppc64,s390x,sparc64
83 %define _slibdir32 /lib
84 %define _libdir32 /usr/lib
87 %define rpmcflags -O2 -mtune=ultrasparc
91 A compiler aimed at integrating all the optimizations and features
92 necessary for a high-performance and stable development environment.
94 This package contains the C compiler and some files shared by various
95 parts of the GNU Compiler Collection. In order to use another GCC
96 compiler you will need to install the appropriate subpackage.
99 Un compilador que intenta integrar todas las optimalizaciones y
100 características necesarias para un entorno de desarrollo eficaz y
103 Este paquete contiene el compilador de C y unos ficheros compartidos
104 por varias partes de la colección de compiladores GNU (GCC). Para usar
105 otro compilador de GCC será necesario que instale el subpaquete
109 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
110 wyprodukowania szybkiego i stabilnego kodu wynikowego.
112 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
113 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
114 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
116 %description -l pt_BR
117 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
118 GNU Compiler Collection.
121 Summary: Shared gcc library
122 Summary(es): Biblioteca compartida de gcc
123 Summary(pl): Biblioteka gcc
124 Summary(pt_BR): Biblioteca runtime para o GCC
125 License: GPL with unlimited link permission
129 %description -n libgcc
132 %description -n libgcc -l es
133 Biblioteca compartida de gcc.
135 %description -n libgcc -l pl
136 Biblioteka dynamiczna gcc.
138 %description -n libgcc -l pt_BR
139 Biblioteca runtime para o GCC.
141 %package -n libmudflap
142 Summary: GCC mudflap shared support library
143 Summary(pl): Wspó³dzielona biblioteka wspomagaj±ca GCC mudflap
146 %description -n libmudflap
147 The libmudflap libraries are used by GCC for instrumenting pointer and
148 array dereferencing operations.
150 %description -n libmudflap -l pl
151 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
152 dereferencji wspa¼ników i tablic.
154 %package -n libmudflap-devel
155 Summary: Development files for GCC mudflap library
156 Summary(pl): Pliki programistyczne biblioteki GCC mudflap
157 Group: Development/Libraries
158 Requires: libmudflap = %{epoch}:%{version}-%{release}
160 %description -n libmudflap-devel
161 The libmudflap libraries are used by GCC for instrumenting pointer and
162 array dereferencing operations. This package contains development
165 %description -n libmudflap-devel -l pl
166 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
167 dereferencji wspa¼ników i tablic. Ten pakiet zawiera pliki
170 %package -n libmudflap-static
171 Summary: Static GCC mudflap library
172 Summary(pl): Statyczna biblioteka GCC mudflap
173 Group: Development/Libraries
174 Requires: libmudflap-devel = %{epoch}:%{version}-%{release}
176 %description -n libmudflap-static
177 The libmudflap libraries are used by GCC for instrumenting pointer and
178 array dereferencing operations. This package contains static
181 %description -n libmudflap-static -l pl
182 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
183 dereferencji wspa¼ników i tablic. Ten pakiet zawiera biblioteki
187 Summary: Ada support for gcc
188 Summary(es): Soporte de Ada para gcc
189 Summary(pl): Obs³uga Ady do gcc
190 Group: Development/Languages
191 Requires: %{name} = %{epoch}:%{version}-%{release}
192 Requires: libgnat = %{epoch}:%{version}-%{release}
194 Obsoletes: gnat-devel
197 This package adds experimental support for compiling Ada programs.
199 %description ada -l es
200 Este paquete añade soporte experimental para compilar programas en
203 %description ada -l pl
204 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
208 Summary: Ada standard libraries
209 Summary(es): Bibliotecas estándares de Ada
210 Summary(pl): Biblioteki standardowe dla Ady
211 License: GPL v2+ with linking exception
216 %description -n libgnat
217 This package contains shared libraries needed to run programs written
220 %description -n libgnat -l es
221 Este paquete contiene las bibliotecas compartidas necesarias para
222 ejecutar programas escritos en Ada.
224 %description -n libgnat -l pl
225 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
228 %package -n libgnat-static
229 Summary: Static Ada standard libraries
230 Summary(pl): Statyczne biblioteki standardowe dla Ady
231 License: GPL v2+ with linking exception
232 Group: Development/Libraries
233 Obsoletes: gnat-static
235 %description -n libgnat-static
236 This package contains static libraries for programs written in Ada.
238 %description -n libgnat-static -l pl
239 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
243 Summary: C++ support for gcc
244 Summary(es): Soporte de C++ para gcc
245 Summary(pl): Obs³uga C++ dla gcc
246 Summary(pt_BR): Suporte C++ para o gcc
247 Group: Development/Languages
248 Requires: %{name} = %{epoch}:%{version}-%{release}
253 This package adds C++ support to the GNU Compiler Collection. It
254 includes support for most of the current C++ specification, including
255 templates and exception handling. It does not include a standard C++
256 library, which is available separately.
258 %description c++ -l de
259 Dieses Paket enthält die C++-Unterstützung für den
260 GNU-Compiler-Collection. Es unterstützt die aktuelle
261 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
262 C++-Standard-Library ist nicht enthalten - sie ist getrennt
265 %description c++ -l es
266 Este paquete añade soporte de C++ al GCC (colección de compiladores
267 GNU). Ello incluye el soporte para la mayoría de la especificación
268 actual de C++, incluyendo plantillas y manejo de excepciones. No
269 incluye la biblioteca estándar de C++, la que es disponible separada.
271 %description c++ -l fr
272 Ce package ajoute un support C++ a la collection de compilateurs GNU.
273 Il comprend un support pour la plupart des spécifications actuelles de
274 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
275 une bibliothéque C++ standard, qui est disponible séparément.
277 %description c++ -l pl
278 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
279 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
280 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
282 %description c++ -l pt_BR
283 Este pacote adiciona suporte C++ para o gcc.
285 %description c++ -l tr
286 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
287 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
288 C++ kitaplýðý bu pakette yer almaz.
290 %package -n libstdc++
291 Summary: GNU C++ library
292 Summary(es): Biblioteca C++ de GNU
293 Summary(pl): Biblioteki GNU C++
294 Summary(pt_BR): Biblioteca C++ GNU
295 License: GPL v2+ with free software exception
298 Obsoletes: libstdc++3
300 %description -n libstdc++
301 This is the GNU implementation of the standard C++ libraries, along
302 with additional GNU tools. This package includes the shared libraries
303 necessary to run C++ applications.
305 %description -n libstdc++ -l de
306 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
307 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
308 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
310 %description -n libstdc++ -l es
311 Este es el soporte de las bibliotecas padrón del C++, junto con
312 herramientas GNU adicionales. El paquete incluye las bibliotecas
313 compartidas necesarias para ejecutar aplicaciones C++.
315 %description -n libstdc++ -l fr
316 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
317 des outils GNU supplémentaires. Ce package comprend les librairies
318 partagées nécessaires à l'exécution d'application C++.
320 %description -n libstdc++ -l pl
321 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
322 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
323 uruchomienia aplikacji napisanych w C++.
325 %description -n libstdc++ -l pt_BR
326 Este pacote é uma implementação da biblioteca padrão C++ v3, um
327 subconjunto do padrão ISO 14882.
329 %description -n libstdc++ -l tr
330 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
331 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
333 %package -n libstdc++-devel
334 Summary: Header files and documentation for C++ development
335 Summary(de): Header-Dateien zur Entwicklung mit C++
336 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
337 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
338 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
339 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
340 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
341 License: GPL v2+ with free software exception
342 Group: Development/Libraries
343 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
344 Requires: libstdc++ = %{epoch}:%{version}-%{release}
345 Requires: glibc-devel
346 Obsoletes: libg++-devel
347 Obsoletes: libstdc++3-devel
349 %description -n libstdc++-devel
350 This is the GNU implementation of the standard C++ libraries. This
351 package includes the header files needed for C++ development and
352 library documentation.
354 %description -n libstdc++-devel -l es
355 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
356 paquete incluye los archivos de inclusión y bibliotecas necesarios
357 para desarrollo de programas en lenguaje C++.
359 %description -n libstdc++-devel -l pl
360 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
361 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
362 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
364 %description -n libstdc++-devel -l pt_BR
365 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
366 para desenvolvimento de programas C++.
368 %package -n libstdc++-static
369 Summary: Static C++ standard library
370 Summary(es): Biblioteca estándar estática de C++
371 Summary(pl): Statyczna biblioteka standardowa C++
372 License: GPL v2+ with free software exception
373 Group: Development/Libraries
374 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
376 %description -n libstdc++-static
377 Static C++ standard library.
379 %description -n libstdc++-static -l es
380 Biblioteca estándar estática de C++.
382 %description -n libstdc++-static -l pl
383 Statyczna biblioteka standardowa C++.
386 Summary: Fortran 95 support for gcc
387 Summary(es): Soporte de Fortran 95 para gcc
388 Summary(pl): Obs³uga Fortranu 95 dla gcc
389 Summary(pt_BR): Suporte Fortran 95 para o GCC
390 Group: Development/Languages/Fortran
391 Requires: libgfortran = %{epoch}:%{version}-%{release}
392 Provides: gcc-g77 = %{epoch}:%{version}-%{release}
397 This package adds support for compiling Fortran 95 programs with the
400 %description fortran -l es
401 Este paquete añade soporte para compilar programas escritos en Fortran
402 95 con el compilador GNU.
404 %description fortran -l pl
405 Ten pakiet dodaje obs³ugê Fortranu 95 do kompilatora gcc. Jest
406 potrzebny do kompilowania programów pisanych w jêzyku Fortran 95.
408 %description fortran -l pt_BR
409 Suporte Fortran 95 para o GCC.
411 %package -n libgfortran
412 Summary: Fortran 95 Libraries
413 Summary(es): Bibliotecas de Fortran 95
414 Summary(pl): Biblioteki Fortranu 95
419 %description -n libgfortran
420 Fortran 95 Libraries.
422 %description -n libgfortran -l es
423 Bibliotecas de Fortran 95.
425 %description -n libgfortran -l pl
426 Biblioteki Fortranu 95.
428 %package -n libgfortran-static
429 Summary: Static Fortran 95 Libraries
430 Summary(es): Bibliotecas estáticas de Fortran 95
431 Summary(pl): Statyczne Biblioteki Fortranu 95
433 Group: Development/Libraries
434 Requires: libgfortran = %{epoch}:%{version}-%{release}
435 Obsoletes: libg2c-static
437 %description -n libgfortran-static
438 Static Fortran 95 Libraries.
440 %description -n libgfortran-static -l es
441 Bibliotecas estáticas de Fortran 95.
443 %description -n libgfortran-static -l pl
444 Statyczne biblioteki Fortranu 95.
447 Summary: Java support for gcc
448 Summary(es): Soporte de Java para gcc
449 Summary(pl): Obs³uga Javy dla gcc
450 Group: Development/Languages/Java
451 Requires: %{name} = %{epoch}:%{version}-%{release}
452 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
453 Requires: java-shared
454 Provides: gcj = %{epoch}:%{version}-%{release}
457 This package adds experimental support for compiling Java(TM) programs
458 and bytecode into native code. To use this you will also need the
461 %description java -l es
462 Este paquete añade soporte experimental para compilar programas
463 Java(tm) y su bytecode en código nativo. Para usarlo también va a
464 necesitar el paquete libgcj.
466 %description java -l pl
467 Ten pakiet dodaje mo¿liwo¶æ kompilowania programów w jêzyku Java(TM)
468 oraz bajtkodu do kodu natywnego. Do u¿ywania go wymagany jest
469 dodatkowo pakiet libgcj.
472 Summary: Java Class Libraries
473 Summary(es): Bibliotecas de clases de Java
474 Summary(pl): Biblioteki Klas Javy
475 License: GPL with limited linking exception
479 %description -n libgcj
480 Java Class Libraries.
482 %description -n libgcj -l es
483 Bibliotecas de clases de Java.
485 %description -n libgcj -l pl
486 Biblioteki Klas Javy.
488 %package -n libgcj-devel
489 Summary: Development files for Java Class Libraries
490 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
491 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
492 License: GPL with limited linking exception
493 Group: Development/Libraries
494 Requires: libgcj = %{epoch}:%{version}-%{release}
496 Obsoletes: libgcj3-devel
498 %description -n libgcj-devel
499 Development files for Java Class Libraries.
501 %description -n libgcj-devel -l es
502 Ficheros de desarrollo para las bibliotecas de clases de Java.
504 %description -n libgcj-devel -l pl
505 Pliki nag³ówkowe dla Bibliotek Klas Javy.
507 %package -n libgcj-static
508 Summary: Static Java Class Libraries
509 Summary(es): Bibliotecas estáticas de clases de Java
510 Summary(pl): Statyczne Biblioteki Klas Javy
511 License: GPL with limited linking exception
512 Group: Development/Libraries
513 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
514 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
516 %description -n libgcj-static
517 Static Java Class Libraries.
519 %description -n libgcj-static -l es
520 Bibliotecas estáticas de clases de Java.
522 %description -n libgcj-static -l pl
523 Statyczne Biblioteki Klas Javy.
526 Summary: Foreign Function Interface library
527 Summary(es): Biblioteca de interfaz de funciones ajenas
528 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
532 %description -n libffi
533 The libffi library provides a portable, high level programming
534 interface to various calling conventions. This allows a programmer to
535 call any function specified by a call interface description at run
538 %description -n libffi -l es
539 La biblioteca libffi provee una interfaz portable de programación de
540 alto nivel para varias convenciones de llamada. Ello permite que un
541 programador llame una función cualquiera especificada por una
542 descripción de interfaz de llamada en el tiempo de ejecución.
544 %description -n libffi -l pl
545 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
546 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
547 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
550 %package -n libffi-devel
551 Summary: Development files for Foreign Function Interface library
552 Summary(es): Ficheros de desarrollo para libffi
553 Summary(pl): Pliki nag³ówkowe dla libffi
555 Group: Development/Libraries
556 Requires: libffi = %{epoch}:%{version}-%{release}
558 %description -n libffi-devel
559 Development files for Foreign Function Interface library.
561 %description -n libffi-devel -l es
562 Ficheros de desarrollo para libffi.
564 %description -n libffi-devel -l pl
565 Pliki nag³ówkowe dla libffi.
567 %package -n libffi-static
568 Summary: Static Foreign Function Interface library
569 Summary(es): Biblioteca libffi estática
570 Summary(pl): Statyczna biblioteka libffi
572 Group: Development/Libraries
573 Requires: libffi-devel = %{epoch}:%{version}-%{release}
575 %description -n libffi-static
576 Static Foreign Function Interface library.
578 %description -n libffi-static -l es
579 Biblioteca libffi estática.
581 %description -n libffi-static -l pl
582 Statyczna biblioteka libffi.
585 Summary: Shared java tools
586 Summary(es): Herramientas compartidas de Java
587 Summary(pl): Wspó³dzielone narzêdzia javy
588 Group: Development/Languages/Java
589 Provides: jar = %{epoch}:%{version}-%{release}
590 Provides: java-shared
593 Obsoletes: java-shared
595 %description java-tools
596 This package contains tools that are common for every Java(tm)
597 implementation, such as rmic or jar.
599 %description java-tools -l es
600 Este paquete contiene herramientas que son comunes para cada
601 implementación de Java(tm), como rmic o jar.
603 %description java-tools -l pl
604 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
605 Javy(tm), takie jak rmic czy jar.
608 Summary: Objective C support for gcc
609 Summary(de): Objektive C-Unterstützung für gcc
610 Summary(es): Soporte de Objective C para gcc
611 Summary(fr): Gestion d'Objective C pour gcc
612 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
613 Summary(tr): gcc için Objective C desteði
614 Group: Development/Languages
615 Requires: %{name} = %{epoch}:%{version}-%{release}
616 Requires: libobjc = %{epoch}:%{version}-%{release}
621 This package adds Objective C support to the GNU Compiler Collection.
622 Objective C is a object oriented derivative of the C language, mainly
623 used on systems running NeXTSTEP. This package does not include the
624 standard objective C object library.
626 %description objc -l de
627 Dieses Paket ergänzt den GNU-Compiler-Collection durch
628 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
629 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
630 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
632 %description objc -l es
633 Este paquete añade soporte de Objective C al GCC (colección de
634 compiladores GNU). Objective C es un lenguaje orientado a objetos
635 derivado de C, principalmente usado en sistemas que funcionan bajo
636 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
639 %description objc -l fr
640 Ce package ajoute un support Objective C a la collection de
641 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
642 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
643 package n'inclue pas la bibliothéque Objective C standard.
645 %description objc -l pl
646 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
647 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
648 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
649 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
651 %description objc -l tr
652 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
653 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
654 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
655 kitaplýðý bu pakette yer almaz.
658 Summary: Objective C Libraries
659 Summary(es): Bibliotecas de Objective C
660 Summary(pl): Biblioteki Obiektowego C
661 License: GPL v2+ with linking exception
665 %description -n libobjc
666 Objective C Libraries.
668 %description -n libobjc -l es
669 Bibliotecas de Objective C.
671 %description -n libobjc -l pl
672 Biblioteki Obiektowego C.
674 %package -n libobjc-static
675 Summary: Static Objective C Libraries
676 Summary(es): Bibliotecas estáticas de Objective C
677 Summary(pl): Statyczne Biblioteki Obiektowego C
678 License: GPL v2+ with linking exception
679 Group: Development/Libraries
680 Requires: libobjc = %{epoch}:%{version}-%{release}
682 %description -n libobjc-static
683 Static Objective C Libraries.
685 %description -n libobjc-static -l es
686 Bibliotecas estáticas de Objective C.
688 %description -n libobjc-static -l pl
689 Statyczne biblioteki Obiektowego C.
692 %setup -q -n gcc-%{version}
697 %{!?debug:%patch2 -p1}
706 # because we distribute modified version of gcc...
707 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
708 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
710 mv ChangeLog ChangeLog.general
716 cp -f /usr/share/automake/config.sub .
718 rm -rf obj-%{_target_platform}
719 install -d obj-%{_target_platform}
720 cd obj-%{_target_platform}
722 CFLAGS="%{rpmcflags}" \
723 CXXFLAGS="%{rpmcflags}" \
726 --prefix=%{_prefix} \
727 --libdir=%{_libdir} \
728 --libexecdir=%{_libdir} \
729 --infodir=%{_infodir} \
730 --mandir=%{_mandir} \
732 --enable-threads=posix \
733 --enable-__cxa_atexit \
734 --enable-languages="c,c++%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
737 --%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \
741 --with-demangler-in-ld \
743 --with-slibdir=%{_slibdir} \
748 --enable-libgcj-multifile \
749 --enable-libgcj-database \
756 %{__make} -C obj-%{_target_platform} \
757 %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \
758 GCJFLAGS="%{rpmcflags}" \
759 BOOT_CFLAGS="%{rpmcflags}" \
760 STAGE1_CFLAGS="%{rpmcflags} -O0" \
761 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
766 rm -rf $RPM_BUILD_ROOT
767 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
769 cd obj-%{_target_platform}
771 %{__make} -j1 install \
773 infodir=%{_infodir} \
774 DESTDIR=$RPM_BUILD_ROOT
776 install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version}
779 ln -sf $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
780 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
783 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
784 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
785 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
788 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
789 echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
793 # move ada shared libraries to proper place...
794 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
795 $RPM_BUILD_ROOT%{_libdir}
796 # check if symlink to be made is valid
797 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so.1
798 ln -sf libgnat-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so
799 ln -sf libgnarl-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-4.0.so
800 ln -sf libgnat-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
801 ln -sf libgnarl-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
808 cp -f libjava/READ* java-doc
809 cp -f fastjar/README java-doc/README.fastjar
810 cp -f libffi/README java-doc/README.libffi
811 cp -f libffi/LICENSE java-doc/LICENSE.libffi
812 ln -sf %{_javadir}/libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
815 cp -f libobjc/README gcc/objc/README.libobjc
818 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
819 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
820 for f in libmudflap.la libmudflapth.la libstdc++.la libsupc++.la \
821 %{?with_fortran:libgfortran.la libgfortranbegin.la} \
822 %{?with_java:libgcj.la libffi.la} \
823 %{?with_objc:libobjc.la};
825 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
826 mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
828 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
829 mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
833 # include/ contains install-tools/include/* and headers that were fixed up
834 # by fixincludes, we don't want former
835 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
837 # we have to save these however
838 %{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jvmpi.h} $gccdir/tmp}
839 %{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
840 mv -f $gccdir/include/syslimits.h $gccdir/tmp
841 rm -rf $gccdir/include
842 mv -f $gccdir/tmp $gccdir/include
843 cp -f $gccdir/install-tools/include/*.h $gccdir/include
844 # but we don't want anything more from install-tools
845 rm -rf $gccdir/install-tools
848 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
850 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
853 %find_lang libstdc\+\+
856 rm -rf $RPM_BUILD_ROOT
859 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
862 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
865 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
868 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
871 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
874 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
877 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
880 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
882 %post -p /sbin/ldconfig -n libgcc
883 %postun -p /sbin/ldconfig -n libgcc
884 %post -p /sbin/ldconfig -n libmudflap
885 %postun -p /sbin/ldconfig -n libmudflap
886 %post -p /sbin/ldconfig -n libgnat
887 %postun -p /sbin/ldconfig -n libgnat
888 %post -p /sbin/ldconfig -n libstdc++
889 %postun -p /sbin/ldconfig -n libstdc++
890 %post -p /sbin/ldconfig -n libgfortran
891 %postun -p /sbin/ldconfig -n libgfortran
892 %post -p /sbin/ldconfig -n libgcj
893 %postun -p /sbin/ldconfig -n libgcj
894 %post -p /sbin/ldconfig -n libffi
895 %postun -p /sbin/ldconfig -n libffi
896 %post -p /sbin/ldconfig -n libobjc
897 %postun -p /sbin/ldconfig -n libobjc
900 %defattr(644,root,root,755)
901 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
902 %doc gcc/{ChangeLog,ONEWS,README.Portability}
904 %dir %{_libdir}/gcc/*
905 %dir %{_libdir}/gcc/*/*
906 %dir %{_libdir}/gcc/*/*/include
908 %attr(755,root,root) %{_bindir}/*-gcc*
909 %attr(755,root,root) %{_bindir}/gcc
910 %attr(755,root,root) %{_bindir}/gccbug
911 %attr(755,root,root) %{_bindir}/gcov
912 %attr(755,root,root) %{_bindir}/cc
913 %attr(755,root,root) %{_bindir}/cpp
915 %{_mandir}/man1/cc.1*
916 %{_mandir}/man1/cpp.1*
917 %{_mandir}/man1/gcc.1*
918 %{_mandir}/man1/gcov.1*
923 %attr(755,root,root) /lib/cpp
925 %attr(755,root,root) %{_slibdir}/lib*.so
927 %dir %{_libdir}/gcc/*/*/32
928 %{_libdir}/gcc/*/*/32/libgcov.a
929 %{_libdir}/gcc/*/*/32/libgcc.a
930 %{_libdir}/gcc/*/*/32/libgcc_eh.a
931 %{_libdir}/gcc/*/*/32/libgcc_s.so
933 %{_libdir}/gcc/*/*/libgcov.a
934 %{_libdir}/gcc/*/*/libgcc.a
935 %{_libdir}/gcc/*/*/libgcc_eh.a
936 %{_libdir}/gcc/*/*/libgcc_s.so
937 %{_libdir}/gcc/*/*/specs
939 %{_libdir}/gcc/*/*/32/crt*.o
941 %{_libdir}/gcc/*/*/crt*.o
942 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
943 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
945 %{_libdir}/gcc/*/*/include/*.h
948 %defattr(644,root,root,755)
950 %attr(755,root,root) %{_slibdir32}/lib*.so.*
952 %attr(755,root,root) %{_slibdir}/lib*.so.*
955 %defattr(644,root,root,755)
957 %attr(755,root,root) %{_libdir32}/libmudflap*.so.*.*.*
959 %attr(755,root,root) %{_libdir}/libmudflap*.so.*.*.*
961 %files -n libmudflap-devel
962 %defattr(644,root,root,755)
963 %{_includedir}/mf-runtime.h
965 %{_libdir32}/libmudflap*.la
966 %attr(755,root,root) %{_libdir32}/libmudflap*.so
968 %{_libdir}/libmudflap*.la
969 %attr(755,root,root) %{_libdir}/libmudflap*.so
971 %files -n libmudflap-static
972 %defattr(644,root,root,755)
974 %{_libdir32}/libmudflap*.a
976 %{_libdir}/libmudflap*.a
980 %defattr(644,root,root,755)
981 %doc gcc/ada/ChangeLog
982 %attr(755,root,root) %{_bindir}/gnat*
983 %attr(755,root,root) %{_bindir}/gpr*
984 %attr(755,root,root) %{_libdir}/libgnarl*.so
985 %attr(755,root,root) %{_libdir}/libgnat*.so
986 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
987 %{_libdir}/gcc/*/*/adainclude
988 %dir %{_libdir}/gcc/*/*/adalib
989 %{_libdir}/gcc/*/*/adalib/*.ali
990 %{_libdir}/gcc/*/*/adalib/g-trasym.o
991 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
993 %{_libdir}/gcc/*/*/adalib/libgmem.a
998 %defattr(644,root,root,755)
999 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1000 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1002 %files -n libgnat-static
1003 %defattr(644,root,root,755)
1004 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1005 %{_libdir}/gcc/*/*/adalib/libgnat.a
1009 %defattr(644,root,root,755)
1010 %doc gcc/cp/{ChangeLog,NEWS}
1011 %attr(755,root,root) %{_bindir}/g++
1012 %attr(755,root,root) %{_bindir}/*-g++
1013 %attr(755,root,root) %{_bindir}/c++
1014 %attr(755,root,root) %{_bindir}/*-c++
1015 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
1016 %if %{with multilib}
1017 %{_libdir32}/libsupc++.a
1018 %{_libdir32}/libsupc++.la
1020 %{_libdir}/libsupc++.a
1021 %{_libdir}/libsupc++.la
1022 %{_mandir}/man1/g++.1*
1024 %files -n libstdc++ -f libstdc++.lang
1025 %defattr(644,root,root,755)
1026 %doc libstdc++-v3/{ChangeLog,README}
1027 %if %{with multilib}
1028 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
1030 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
1032 %files -n libstdc++-devel
1033 %defattr(644,root,root,755)
1034 %doc libstdc++-v3/docs/html
1035 %dir %{_includedir}/c++
1036 %{_includedir}/c++/%{version}
1038 %exclude %{_includedir}/c++/%{version}/java
1039 %exclude %{_includedir}/c++/%{version}/javax
1040 %exclude %{_includedir}/c++/%{version}/gcj
1041 %exclude %{_includedir}/c++/%{version}/gnu
1044 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
1046 %if %{with multilib}
1047 %{_libdir32}/libstdc++.la
1048 %attr(755,root,root) %{_libdir32}/libstdc++.so
1050 %{_libdir}/libstdc++.la
1051 %attr(755,root,root) %{_libdir}/libstdc++.so
1053 %files -n libstdc++-static
1054 %defattr(644,root,root,755)
1055 %if %{with multilib}
1056 %{_libdir32}/libstdc++.a
1058 %{_libdir}/libstdc++.a
1062 %defattr(644,root,root,755)
1063 %doc gcc/fortran/ChangeLog
1064 %attr(755,root,root) %{_bindir}/g95
1065 %attr(755,root,root) %{_bindir}/gfortran
1066 %{_infodir}/gfortran*
1067 %attr(755,root,root) %{_libdir}/gcc/*/*/f951
1068 %if %{with multilib}
1069 %{_libdir32}/libgfortranbegin.a
1070 %{_libdir32}/libgfortranbegin.la
1071 %{_libdir32}/libgfortran.la
1072 %attr(755,root,root) %{_libdir32}/libgfortran.so
1074 %{_libdir}/libgfortranbegin.a
1075 %{_libdir}/libgfortranbegin.la
1076 %{_libdir}/libgfortran.la
1077 %attr(755,root,root) %{_libdir}/libgfortran.so
1078 %{_mandir}/man1/g95.1*
1079 %{_mandir}/man1/gfortran.1*
1081 %files -n libgfortran
1082 %defattr(644,root,root,755)
1083 %doc libgfortran/{AUTHORS,README,ChangeLog}
1084 %if %{with multilib}
1085 %attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
1087 %attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
1089 %files -n libgfortran-static
1090 %defattr(644,root,root,755)
1091 %if %{with multilib}
1092 %{_libdir32}/libgfortran.a
1094 %{_libdir}/libgfortran.a
1099 %defattr(644,root,root,755)
1100 %doc gcc/java/ChangeLog java-doc/*
1101 %attr(755,root,root) %{_bindir}/gcj*
1102 %attr(755,root,root) %{_bindir}/grepjar
1103 %attr(755,root,root) %{_bindir}/jcf-dump
1104 %attr(755,root,root) %{_bindir}/jv-*
1105 %attr(755,root,root) %{_bindir}/*-gcj*
1106 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1107 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1109 %{_mandir}/man1/gcj*
1110 %{_mandir}/man1/grepjar*
1111 %{_mandir}/man1/jcf-*
1112 %{_mandir}/man1/jv-*
1115 %defattr(644,root,root,755)
1116 %attr(755,root,root) %{_bindir}/grmi*
1117 %attr(755,root,root) %{_bindir}/fastjar
1118 %{_mandir}/man1/grmi*
1119 %{_mandir}/man1/fastjar*
1120 %{_infodir}/fastjar*
1123 %defattr(644,root,root,755)
1124 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1125 %attr(755,root,root) %{_bindir}/addr2name.awk
1126 %attr(755,root,root) %{_bindir}/gij
1127 %dir %{_libdir}/gcj-%{version}
1128 %{_libdir}/gcj-%{version}/classmap.db
1129 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1130 %attr(755,root,root) %{_libdir}/libgij.so.*.*.*
1131 %{_libdir}/logging.properties
1132 %{_javadir}/libgcj*.jar
1133 %{_mandir}/man1/gij*
1135 %files -n libgcj-devel
1136 %defattr(644,root,root,755)
1137 %{_includedir}/c++/%{version}/java
1138 %{_includedir}/c++/%{version}/javax
1139 %{_includedir}/c++/%{version}/gcj
1140 %{_includedir}/c++/%{version}/gnu
1141 %{_libdir}/gcc/*/*/include/gcj
1142 %{_libdir}/gcc/*/*/include/jawt.h
1143 %{_libdir}/gcc/*/*/include/jawt_md.h
1144 %{_libdir}/gcc/*/*/include/jni.h
1145 %{_libdir}/gcc/*/*/include/jvmpi.h
1146 %dir %{_libdir}/security
1147 %{_libdir}/security/*
1148 %{_libdir}/lib*cj.spec
1149 %{_libdir}/lib*cj*.la
1150 %attr(755,root,root) %{_libdir}/lib*cj*.so
1151 %{_libdir}/libgij.la
1152 %attr(755,root,root) %{_libdir}/libgij.so
1153 %{_pkgconfigdir}/libgcj.pc
1155 %files -n libgcj-static
1156 %defattr(644,root,root,755)
1157 %{_libdir}/lib*cj*.a
1161 %defattr(644,root,root,755)
1162 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1163 %attr(755,root,root) %{_libdir}/libffi.so.*.*.*
1165 %files -n libffi-devel
1166 %defattr(644,root,root,755)
1167 %{_libdir}/gcc/*/*/include/ffitarget.h
1168 %attr(755,root,root) %{_libdir}/libffi.so
1169 %{_libdir}/libffi.la
1170 %{_includedir}/ffi.h
1172 %files -n libffi-static
1173 %defattr(644,root,root,755)
1179 %defattr(644,root,root,755)
1180 %doc gcc/objc/README
1181 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1182 %if %{with multilib}
1183 %attr(755,root,root) %{_libdir32}/libobjc.so
1184 %{_libdir32}/libobjc.la
1186 %attr(755,root,root) %{_libdir}/libobjc.so
1187 %{_libdir}/libobjc.la
1188 %{_libdir}/gcc/*/*/include/objc
1191 %defattr(644,root,root,755)
1192 %doc libobjc/{ChangeLog,README*}
1193 %if %{with multilib}
1194 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
1196 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
1198 %files -n libobjc-static
1199 %defattr(644,root,root,755)
1200 %if %{with multilib}
1201 %{_libdir32}/libobjc.a
1203 %{_libdir}/libobjc.a