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 Patch15: %{name}-pr21704.patch
49 URL: http://gcc.gnu.org/
50 BuildRequires: autoconf
51 BuildRequires: automake
52 BuildRequires: binutils >= 2:2.15.94.0.1
54 %{?with_java:BuildRequires: cairo-devel}
55 BuildRequires: fileutils >= 4.0.41
58 BuildRequires: gcc(ada)
59 BuildRequires: gcc-ada
61 BuildRequires: gettext-devel
62 BuildRequires: glibc-devel >= %{!?with_multilib:2.2.5-20}%{?with_multilib:6:2.3.4-1.5}
63 BuildRequires: gmp-devel
64 BuildRequires: libmpfr-devel
65 %{?with_java:BuildRequires: pango-devel}
66 BuildRequires: perl-devel
67 %{?with_java:BuildRequires: pkgconfig}
68 BuildRequires: rpmbuild(macros) >= 1.211
69 BuildRequires: texinfo >= 4.1
70 BuildRequires: zlib-devel
71 # AS_NEEDED directive for dynamic linker
72 # http://sources.redhat.com/ml/glibc-cvs/2005-q1/msg00614.html
73 # http://sources.redhat.com/ml/binutils/2005-01/msg00288.html
74 Requires: binutils >= 2:2.16.90.0.1-0.3
75 Requires: libgcc = %{epoch}:%{version}-%{release}
76 Provides: cpp = %{epoch}:%{version}-%{release}
77 %{?with_ada:Provides: gcc(ada)}
78 %{?with_multilib:Provides: gcc(multilib)}
85 Conflicts: glibc-devel < 2.2.5-20
86 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
88 %define _slibdir /%{_lib}
90 # 32-bit environment on x86-64,ppc64,s390x,sparc64
91 %define _slibdir32 /lib
92 %define _libdir32 /usr/lib
96 A compiler aimed at integrating all the optimizations and features
97 necessary for a high-performance and stable development environment.
99 This package contains the C compiler and some files shared by various
100 parts of the GNU Compiler Collection. In order to use another GCC
101 compiler you will need to install the appropriate subpackage.
104 Un compilador que intenta integrar todas las optimalizaciones y
105 características necesarias para un entorno de desarrollo eficaz y
108 Este paquete contiene el compilador de C y unos ficheros compartidos
109 por varias partes de la colección de compiladores GNU (GCC). Para usar
110 otro compilador de GCC será necesario que instale el subpaquete
114 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
115 wyprodukowania szybkiego i stabilnego kodu wynikowego.
117 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
118 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
119 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
121 %description -l pt_BR
122 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
123 GNU Compiler Collection.
126 Summary: Shared gcc library
127 Summary(es): Biblioteca compartida de gcc
128 Summary(pl): Biblioteka gcc
129 Summary(pt_BR): Biblioteca runtime para o GCC
130 License: GPL with unlimited link permission
134 %description -n libgcc
137 %description -n libgcc -l es
138 Biblioteca compartida de gcc.
140 %description -n libgcc -l pl
141 Biblioteka dynamiczna gcc.
143 %description -n libgcc -l pt_BR
144 Biblioteca runtime para o GCC.
146 %package -n libmudflap
147 Summary: GCC mudflap shared support library
148 Summary(pl): Wspó³dzielona biblioteka wspomagaj±ca GCC mudflap
149 License: GPL v2+ with unlimited link permission
152 %description -n libmudflap
153 The libmudflap libraries are used by GCC for instrumenting pointer and
154 array dereferencing operations.
156 %description -n libmudflap -l pl
157 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
158 dereferencji wspa¼ników i tablic.
160 %package -n libmudflap-devel
161 Summary: Development files for GCC mudflap library
162 Summary(pl): Pliki programistyczne biblioteki GCC mudflap
163 License: GPL v2+ with unlimited link permission
164 Group: Development/Libraries
165 Requires: libmudflap = %{epoch}:%{version}-%{release}
167 %description -n libmudflap-devel
168 The libmudflap libraries are used by GCC for instrumenting pointer and
169 array dereferencing operations. This package contains development
172 %description -n libmudflap-devel -l pl
173 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
174 dereferencji wspa¼ników i tablic. Ten pakiet zawiera pliki
177 %package -n libmudflap-static
178 Summary: Static GCC mudflap library
179 Summary(pl): Statyczna biblioteka GCC mudflap
180 License: GPL v2+ with unlimited link permission
181 Group: Development/Libraries
182 Requires: libmudflap-devel = %{epoch}:%{version}-%{release}
184 %description -n libmudflap-static
185 The libmudflap libraries are used by GCC for instrumenting pointer and
186 array dereferencing operations. This package contains static
189 %description -n libmudflap-static -l pl
190 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
191 dereferencji wspa¼ników i tablic. Ten pakiet zawiera biblioteki
195 Summary: Ada support for gcc
196 Summary(es): Soporte de Ada para gcc
197 Summary(pl): Obs³uga Ady do gcc
198 Group: Development/Languages
199 Requires: %{name} = %{epoch}:%{version}-%{release}
200 Requires: libgnat = %{epoch}:%{version}-%{release}
202 Obsoletes: gnat-devel
205 This package adds experimental support for compiling Ada programs.
207 %description ada -l es
208 Este paquete añade soporte experimental para compilar programas en
211 %description ada -l pl
212 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
216 Summary: Ada standard libraries
217 Summary(es): Bibliotecas estándares de Ada
218 Summary(pl): Biblioteki standardowe dla Ady
219 License: GPL v2+ with linking exception
224 %description -n libgnat
225 This package contains shared libraries needed to run programs written
228 %description -n libgnat -l es
229 Este paquete contiene las bibliotecas compartidas necesarias para
230 ejecutar programas escritos en Ada.
232 %description -n libgnat -l pl
233 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
236 %package -n libgnat-static
237 Summary: Static Ada standard libraries
238 Summary(pl): Statyczne biblioteki standardowe dla Ady
239 License: GPL v2+ with linking exception
240 Group: Development/Libraries
241 Obsoletes: gnat-static
243 %description -n libgnat-static
244 This package contains static libraries for programs written in Ada.
246 %description -n libgnat-static -l pl
247 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
251 Summary: C++ support for gcc
252 Summary(es): Soporte de C++ para gcc
253 Summary(pl): Obs³uga C++ dla gcc
254 Summary(pt_BR): Suporte C++ para o gcc
255 Group: Development/Languages
256 Requires: %{name} = %{epoch}:%{version}-%{release}
261 This package adds C++ support to the GNU Compiler Collection. It
262 includes support for most of the current C++ specification, including
263 templates and exception handling. It does not include a standard C++
264 library, which is available separately.
266 %description c++ -l de
267 Dieses Paket enthält die C++-Unterstützung für den
268 GNU-Compiler-Collection. Es unterstützt die aktuelle
269 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
270 C++-Standard-Library ist nicht enthalten - sie ist getrennt
273 %description c++ -l es
274 Este paquete añade soporte de C++ al GCC (colección de compiladores
275 GNU). Ello incluye el soporte para la mayoría de la especificación
276 actual de C++, incluyendo plantillas y manejo de excepciones. No
277 incluye la biblioteca estándar de C++, la que es disponible separada.
279 %description c++ -l fr
280 Ce package ajoute un support C++ a la collection de compilateurs GNU.
281 Il comprend un support pour la plupart des spécifications actuelles de
282 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
283 une bibliothéque C++ standard, qui est disponible séparément.
285 %description c++ -l pl
286 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
287 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
288 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
290 %description c++ -l pt_BR
291 Este pacote adiciona suporte C++ para o gcc.
293 %description c++ -l tr
294 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
295 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
296 C++ kitaplýðý bu pakette yer almaz.
298 %package -n libstdc++
299 Summary: GNU C++ library
300 Summary(es): Biblioteca C++ de GNU
301 Summary(pl): Biblioteki GNU C++
302 Summary(pt_BR): Biblioteca C++ GNU
303 License: GPL v2+ with free software exception
306 Obsoletes: libstdc++3
308 %description -n libstdc++
309 This is the GNU implementation of the standard C++ libraries, along
310 with additional GNU tools. This package includes the shared libraries
311 necessary to run C++ applications.
313 %description -n libstdc++ -l de
314 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
315 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
316 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
318 %description -n libstdc++ -l es
319 Este es el soporte de las bibliotecas padrón del C++, junto con
320 herramientas GNU adicionales. El paquete incluye las bibliotecas
321 compartidas necesarias para ejecutar aplicaciones C++.
323 %description -n libstdc++ -l fr
324 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
325 des outils GNU supplémentaires. Ce package comprend les librairies
326 partagées nécessaires à l'exécution d'application C++.
328 %description -n libstdc++ -l pl
329 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
330 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
331 uruchomienia aplikacji napisanych w C++.
333 %description -n libstdc++ -l pt_BR
334 Este pacote é uma implementação da biblioteca padrão C++ v3, um
335 subconjunto do padrão ISO 14882.
337 %description -n libstdc++ -l tr
338 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
339 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
341 %package -n libstdc++-devel
342 Summary: Header files and documentation for C++ development
343 Summary(de): Header-Dateien zur Entwicklung mit C++
344 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
345 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
346 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
347 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
348 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
349 License: GPL v2+ with free software exception
350 Group: Development/Libraries
351 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
352 Requires: libstdc++ = %{epoch}:%{version}-%{release}
353 Requires: glibc-devel
354 Obsoletes: libg++-devel
355 Obsoletes: libstdc++3-devel
357 %description -n libstdc++-devel
358 This is the GNU implementation of the standard C++ libraries. This
359 package includes the header files needed for C++ development and
360 library documentation.
362 %description -n libstdc++-devel -l es
363 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
364 paquete incluye los archivos de inclusión y bibliotecas necesarios
365 para desarrollo de programas en lenguaje C++.
367 %description -n libstdc++-devel -l pl
368 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
369 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
370 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
372 %description -n libstdc++-devel -l pt_BR
373 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
374 para desenvolvimento de programas C++.
376 %package -n libstdc++-static
377 Summary: Static C++ standard library
378 Summary(es): Biblioteca estándar estática de C++
379 Summary(pl): Statyczna biblioteka standardowa C++
380 License: GPL v2+ with free software exception
381 Group: Development/Libraries
382 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
384 %description -n libstdc++-static
385 Static C++ standard library.
387 %description -n libstdc++-static -l es
388 Biblioteca estándar estática de C++.
390 %description -n libstdc++-static -l pl
391 Statyczna biblioteka standardowa C++.
394 Summary: Fortran 95 support for gcc
395 Summary(es): Soporte de Fortran 95 para gcc
396 Summary(pl): Obs³uga Fortranu 95 dla gcc
397 Summary(pt_BR): Suporte Fortran 95 para o GCC
398 Group: Development/Languages/Fortran
399 Requires: libgfortran = %{epoch}:%{version}-%{release}
400 Provides: gcc-g77 = %{epoch}:%{version}-%{release}
405 This package adds support for compiling Fortran 95 programs with the
408 %description fortran -l es
409 Este paquete añade soporte para compilar programas escritos en Fortran
410 95 con el compilador GNU.
412 %description fortran -l pl
413 Ten pakiet dodaje obs³ugê Fortranu 95 do kompilatora gcc. Jest
414 potrzebny do kompilowania programów pisanych w jêzyku Fortran 95.
416 %description fortran -l pt_BR
417 Suporte Fortran 95 para o GCC.
419 %package -n libgfortran
420 Summary: Fortran 95 Libraries
421 Summary(es): Bibliotecas de Fortran 95
422 Summary(pl): Biblioteki Fortranu 95
427 %description -n libgfortran
428 Fortran 95 Libraries.
430 %description -n libgfortran -l es
431 Bibliotecas de Fortran 95.
433 %description -n libgfortran -l pl
434 Biblioteki Fortranu 95.
436 %package -n libgfortran-static
437 Summary: Static Fortran 95 Libraries
438 Summary(es): Bibliotecas estáticas de Fortran 95
439 Summary(pl): Statyczne Biblioteki Fortranu 95
441 Group: Development/Libraries
442 Requires: libgfortran = %{epoch}:%{version}-%{release}
443 Obsoletes: libg2c-static
445 %description -n libgfortran-static
446 Static Fortran 95 Libraries.
448 %description -n libgfortran-static -l es
449 Bibliotecas estáticas de Fortran 95.
451 %description -n libgfortran-static -l pl
452 Statyczne biblioteki Fortranu 95.
455 Summary: Java support for gcc
456 Summary(es): Soporte de Java para gcc
457 Summary(pl): Obs³uga Javy dla gcc
458 Group: Development/Languages/Java
459 Requires: %{name} = %{epoch}:%{version}-%{release}
460 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
461 Provides: gcj = %{epoch}:%{version}-%{release}
462 Provides: gcc-java-tools
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}
697 # because we distribute modified version of gcc...
698 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
699 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
701 mv ChangeLog ChangeLog.general
707 cp -f /usr/share/automake/config.sub .
709 rm -rf obj-%{_target_platform}
710 install -d obj-%{_target_platform}
711 cd obj-%{_target_platform}
713 CFLAGS="%{rpmcflags}" \
714 CXXFLAGS="%{rpmcxxflags}" \
717 --prefix=%{_prefix} \
718 --libdir=%{_libdir} \
719 --libexecdir=%{_libdir} \
720 --infodir=%{_infodir} \
721 --mandir=%{_mandir} \
723 --enable-threads=posix \
724 --enable-__cxa_atexit \
725 --enable-languages="c,c++%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
728 --%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \
732 --with-demangler-in-ld \
734 --with-slibdir=%{_slibdir} \
739 --enable-libgcj-multifile \
740 --enable-libgcj-database \
747 %{__make} -C obj-%{_target_platform} \
748 %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \
749 GCJFLAGS="%{rpmcflags}" \
750 BOOT_CFLAGS="%{rpmcflags}" \
751 STAGE1_CFLAGS="%{rpmcflags} -O0" \
752 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
757 rm -rf $RPM_BUILD_ROOT
758 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
760 cd obj-%{_target_platform}
762 %{__make} -j1 install \
764 infodir=%{_infodir} \
765 DESTDIR=$RPM_BUILD_ROOT
767 install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version}
770 ln -sf %{_bindir}/sparc64-pld-linux-gcc \
771 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
774 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
775 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
776 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
779 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
780 echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
784 # move ada shared libraries to proper place...
785 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
786 $RPM_BUILD_ROOT%{_libdir}
787 # check if symlink to be made is valid
788 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so.1
789 ln -sf libgnat-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so
790 ln -sf libgnarl-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-4.0.so
791 ln -sf libgnat-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
792 ln -sf libgnarl-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
799 cp -f libjava/READ* java-doc
800 cp -f fastjar/README java-doc/README.fastjar
801 cp -f libffi/README java-doc/README.libffi
802 cp -f libffi/LICENSE java-doc/LICENSE.libffi
803 ln -sf %{_javadir}/libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
806 cp -f libobjc/README gcc/objc/README.libobjc
809 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
810 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
811 for f in libmudflap.la libmudflapth.la libstdc++.la libsupc++.la \
812 %{?with_fortran:libgfortran.la libgfortranbegin.la} \
813 %{?with_java:libgcj.la libffi.la} \
814 %{?with_objc:libobjc.la};
816 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
817 mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
819 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
820 mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
824 # include/ contains install-tools/include/* and headers that were fixed up
825 # by fixincludes, we don't want former
826 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
828 # we have to save these however
829 %{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jvmpi.h} $gccdir/tmp}
830 %{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
831 mv -f $gccdir/include/syslimits.h $gccdir/tmp
832 rm -rf $gccdir/include
833 mv -f $gccdir/tmp $gccdir/include
834 cp -f $gccdir/install-tools/include/*.h $gccdir/include
835 # but we don't want anything more from install-tools
836 rm -rf $gccdir/install-tools
839 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
841 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
844 %find_lang libstdc\+\+
846 # cvs snap doesn't contain (release does) below files,
847 # so let's create dummy entries to satisfy %%files.
848 [ ! -f NEWS ] && touch NEWS
849 [ ! -f libgfortran/AUTHORS ] && touch libgfortran/AUTHORS
850 [ ! -f libgfortran/README ] && touch libgfortran/README
853 rm -rf $RPM_BUILD_ROOT
856 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
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
879 %post -p /sbin/ldconfig -n libgcc
880 %postun -p /sbin/ldconfig -n libgcc
881 %post -p /sbin/ldconfig -n libmudflap
882 %postun -p /sbin/ldconfig -n libmudflap
883 %post -p /sbin/ldconfig -n libgnat
884 %postun -p /sbin/ldconfig -n libgnat
885 %post -p /sbin/ldconfig -n libstdc++
886 %postun -p /sbin/ldconfig -n libstdc++
887 %post -p /sbin/ldconfig -n libgfortran
888 %postun -p /sbin/ldconfig -n libgfortran
889 %post -p /sbin/ldconfig -n libgcj
890 %postun -p /sbin/ldconfig -n libgcj
891 %post -p /sbin/ldconfig -n libffi
892 %postun -p /sbin/ldconfig -n libffi
893 %post -p /sbin/ldconfig -n libobjc
894 %postun -p /sbin/ldconfig -n libobjc
897 %defattr(644,root,root,755)
898 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
899 %doc gcc/{ChangeLog,ONEWS,README.Portability}
901 %dir %{_libdir}/gcc/*
902 %dir %{_libdir}/gcc/*/*
903 %dir %{_libdir}/gcc/*/*/include
905 %attr(755,root,root) %{_bindir}/*-gcc*
906 %attr(755,root,root) %{_bindir}/gcc
907 %attr(755,root,root) %{_bindir}/gccbug
908 %attr(755,root,root) %{_bindir}/gcov
909 %attr(755,root,root) %{_bindir}/cc
910 %attr(755,root,root) %{_bindir}/cpp
912 %{_mandir}/man1/cc.1*
913 %{_mandir}/man1/cpp.1*
914 %{_mandir}/man1/gcc.1*
915 %{_mandir}/man1/gcov.1*
920 %attr(755,root,root) /lib/cpp
922 %attr(755,root,root) %{_slibdir}/lib*.so
924 %dir %{_libdir}/gcc/*/*/32
925 %{_libdir}/gcc/*/*/32/libgcov.a
926 %{_libdir}/gcc/*/*/32/libgcc.a
927 %{_libdir}/gcc/*/*/32/libgcc_eh.a
928 %{_libdir}/gcc/*/*/32/libgcc_s.so
930 %{_libdir}/gcc/*/*/libgcov.a
931 %{_libdir}/gcc/*/*/libgcc.a
932 %{_libdir}/gcc/*/*/libgcc_eh.a
933 %{_libdir}/gcc/*/*/libgcc_s.so
934 %{_libdir}/gcc/*/*/specs
936 %{_libdir}/gcc/*/*/32/crt*.o
938 %{_libdir}/gcc/*/*/crt*.o
939 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
940 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
942 %{_libdir}/gcc/*/*/include/*.h
945 %defattr(644,root,root,755)
947 %attr(755,root,root) %{_slibdir32}/lib*.so.*
949 %attr(755,root,root) %{_slibdir}/lib*.so.*
952 %defattr(644,root,root,755)
954 %attr(755,root,root) %{_libdir32}/libmudflap*.so.*.*.*
956 %attr(755,root,root) %{_libdir}/libmudflap*.so.*.*.*
958 %files -n libmudflap-devel
959 %defattr(644,root,root,755)
960 %{_includedir}/mf-runtime.h
962 %{_libdir32}/libmudflap*.la
963 %attr(755,root,root) %{_libdir32}/libmudflap*.so
965 %{_libdir}/libmudflap*.la
966 %attr(755,root,root) %{_libdir}/libmudflap*.so
968 %files -n libmudflap-static
969 %defattr(644,root,root,755)
971 %{_libdir32}/libmudflap*.a
973 %{_libdir}/libmudflap*.a
977 %defattr(644,root,root,755)
978 %doc gcc/ada/ChangeLog
979 %attr(755,root,root) %{_bindir}/gnat*
980 %attr(755,root,root) %{_bindir}/gpr*
981 %attr(755,root,root) %{_libdir}/libgnarl*.so
982 %attr(755,root,root) %{_libdir}/libgnat*.so
983 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
984 %{_libdir}/gcc/*/*/adainclude
985 %dir %{_libdir}/gcc/*/*/adalib
986 %{_libdir}/gcc/*/*/adalib/*.ali
987 %{_libdir}/gcc/*/*/adalib/g-trasym.o
988 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
990 %{_libdir}/gcc/*/*/adalib/libgmem.a
995 %defattr(644,root,root,755)
996 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
997 %attr(755,root,root) %{_libdir}/libgnat*.so.1
999 %files -n libgnat-static
1000 %defattr(644,root,root,755)
1001 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1002 %{_libdir}/gcc/*/*/adalib/libgnat.a
1006 %defattr(644,root,root,755)
1007 %doc gcc/cp/{ChangeLog,NEWS}
1008 %attr(755,root,root) %{_bindir}/g++
1009 %attr(755,root,root) %{_bindir}/*-g++
1010 %attr(755,root,root) %{_bindir}/c++
1011 %attr(755,root,root) %{_bindir}/*-c++
1012 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
1013 %if %{with multilib}
1014 %{_libdir32}/libsupc++.a
1015 %{_libdir32}/libsupc++.la
1017 %{_libdir}/libsupc++.a
1018 %{_libdir}/libsupc++.la
1019 %{_mandir}/man1/g++.1*
1021 %files -n libstdc++ -f libstdc++.lang
1022 %defattr(644,root,root,755)
1023 %doc libstdc++-v3/{ChangeLog,README}
1024 %if %{with multilib}
1025 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
1027 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
1029 %files -n libstdc++-devel
1030 %defattr(644,root,root,755)
1031 %doc libstdc++-v3/docs/html
1032 %dir %{_includedir}/c++
1033 %{_includedir}/c++/%{version}
1035 %exclude %{_includedir}/c++/%{version}/java
1036 %exclude %{_includedir}/c++/%{version}/javax
1037 %exclude %{_includedir}/c++/%{version}/gcj
1038 %exclude %{_includedir}/c++/%{version}/gnu
1041 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
1043 %if %{with multilib}
1044 %{_libdir32}/libstdc++.la
1045 %attr(755,root,root) %{_libdir32}/libstdc++.so
1047 %{_libdir}/libstdc++.la
1048 %attr(755,root,root) %{_libdir}/libstdc++.so
1050 %files -n libstdc++-static
1051 %defattr(644,root,root,755)
1052 %if %{with multilib}
1053 %{_libdir32}/libstdc++.a
1055 %{_libdir}/libstdc++.a
1059 %defattr(644,root,root,755)
1060 %doc gcc/fortran/ChangeLog
1061 %attr(755,root,root) %{_bindir}/g95
1062 %attr(755,root,root) %{_bindir}/gfortran
1063 %{_infodir}/gfortran*
1064 %attr(755,root,root) %{_libdir}/gcc/*/*/f951
1065 %if %{with multilib}
1066 %{_libdir32}/libgfortranbegin.a
1067 %{_libdir32}/libgfortranbegin.la
1068 %{_libdir32}/libgfortran.la
1069 %attr(755,root,root) %{_libdir32}/libgfortran.so
1071 %{_libdir}/libgfortranbegin.a
1072 %{_libdir}/libgfortranbegin.la
1073 %{_libdir}/libgfortran.la
1074 %attr(755,root,root) %{_libdir}/libgfortran.so
1075 %{_mandir}/man1/g95.1*
1076 %{_mandir}/man1/gfortran.1*
1078 %files -n libgfortran
1079 %defattr(644,root,root,755)
1080 %doc libgfortran/{AUTHORS,README,ChangeLog}
1081 %if %{with multilib}
1082 %attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
1084 %attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
1086 %files -n libgfortran-static
1087 %defattr(644,root,root,755)
1088 %if %{with multilib}
1089 %{_libdir32}/libgfortran.a
1091 %{_libdir}/libgfortran.a
1096 %defattr(644,root,root,755)
1097 %doc gcc/java/ChangeLog java-doc/*
1098 %attr(755,root,root) %{_bindir}/fastjar
1099 %attr(755,root,root) %{_bindir}/gcj*
1100 %attr(755,root,root) %{_bindir}/gjnih
1101 %attr(755,root,root) %{_bindir}/grepjar
1102 %attr(755,root,root) %{_bindir}/grmi*
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
1108 %{_infodir}/fastjar*
1110 %{_mandir}/man1/fastjar*
1111 %{_mandir}/man1/gcj*
1112 %{_mandir}/man1/gjnih*
1113 %{_mandir}/man1/grepjar*
1114 %{_mandir}/man1/grmi*
1115 %{_mandir}/man1/jcf-*
1116 %{_mandir}/man1/jv-*
1119 %defattr(644,root,root,755)
1120 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1121 %attr(755,root,root) %{_bindir}/addr2name.awk
1122 %attr(755,root,root) %{_bindir}/gij
1123 %dir %{_libdir}/gcj-%{version}
1124 %{_libdir}/gcj-%{version}/classmap.db
1125 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1126 %attr(755,root,root) %{_libdir}/libgij.so.*.*.*
1127 %{_libdir}/logging.properties
1128 %{_javadir}/libgcj*.jar
1129 %{_mandir}/man1/gij*
1131 %files -n libgcj-devel
1132 %defattr(644,root,root,755)
1133 %{_includedir}/c++/%{version}/java
1134 %{_includedir}/c++/%{version}/javax
1135 %{_includedir}/c++/%{version}/gcj
1136 %{_includedir}/c++/%{version}/gnu
1137 %{_libdir}/gcc/*/*/include/gcj
1138 %{_libdir}/gcc/*/*/include/jawt.h
1139 %{_libdir}/gcc/*/*/include/jawt_md.h
1140 %{_libdir}/gcc/*/*/include/jni.h
1141 %{_libdir}/gcc/*/*/include/jvmpi.h
1142 %dir %{_libdir}/security
1143 %{_libdir}/security/*
1144 %{_libdir}/lib*cj.spec
1145 %{_libdir}/lib*cj*.la
1146 %attr(755,root,root) %{_libdir}/lib*cj*.so
1147 %{_libdir}/libgij.la
1148 %attr(755,root,root) %{_libdir}/libgij.so
1149 %{_pkgconfigdir}/libgcj.pc
1151 %files -n libgcj-static
1152 %defattr(644,root,root,755)
1153 %{_libdir}/lib*cj*.a
1157 %defattr(644,root,root,755)
1158 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1159 %attr(755,root,root) %{_libdir}/libffi.so.*.*.*
1161 %files -n libffi-devel
1162 %defattr(644,root,root,755)
1163 %{_libdir}/gcc/*/*/include/ffitarget.h
1164 %attr(755,root,root) %{_libdir}/libffi.so
1165 %{_libdir}/libffi.la
1166 %{_includedir}/ffi.h
1168 %files -n libffi-static
1169 %defattr(644,root,root,755)
1175 %defattr(644,root,root,755)
1176 %doc gcc/objc/README
1177 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1178 %if %{with multilib}
1179 %attr(755,root,root) %{_libdir32}/libobjc.so
1180 %{_libdir32}/libobjc.la
1182 %attr(755,root,root) %{_libdir}/libobjc.so
1183 %{_libdir}/libobjc.la
1184 %{_libdir}/gcc/*/*/include/objc
1187 %defattr(644,root,root,755)
1188 %doc libobjc/{ChangeLog,README*}
1189 %if %{with multilib}
1190 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
1192 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
1194 %files -n libobjc-static
1195 %defattr(644,root,root,755)
1196 %if %{with multilib}
1197 %{_libdir32}/libobjc.a
1199 %{_libdir}/libobjc.a