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 Objective-C support
13 %bcond_without objcxx # build without Objective-C++ support
14 %bcond_with multilib # build with multilib support (it needs glibc[32&64]-devel)
15 %bcond_without profiling # build without profiling
16 %bcond_without bootstrap # omit 3-stage bootstrap
22 %if %{without bootstrap}
23 %undefine with_profiling
26 %ifnarch %{x8664} ppc64 s390x sparc64
27 %undefine with_multilib
30 Summary: GNU Compiler Collection: the C compiler and shared files
31 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
32 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
33 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
36 %define _snap 20050605_2025
37 Release: 0.%{_snap}.0.2
40 Group: Development/Languages
41 #Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
42 #Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/4.1-%{_snap}/gcc-4.1-%{_snap}.tar.bz2
43 Source0: gcc-4.1-%{_snap}.tar.bz2
44 # Source0-md5: 8c3f8fa353b4ac30abe1042b65e06d5d
45 Source1: %{name}-optimize-la.pl
46 Patch0: %{name}-info.patch
47 Patch1: %{name}-nolocalefiles.patch
48 Patch2: %{name}-nodebug.patch
49 Patch3: %{name}-ada-link-new-libgnat.patch
50 Patch4: %{name}-ada-link.patch
51 Patch5: %{name}-alpha-ada_fix.patch
53 Patch11: %{name}-pr20218.patch
54 Patch12: %{name}-pr20297.patch
55 Patch14: %{name}-push-pop-visibility.patch
56 Patch15: %{name}-pr21704.patch
57 Patch16: %{name}-pr21923.patch
58 URL: http://gcc.gnu.org/
59 BuildRequires: autoconf
60 BuildRequires: automake
61 BuildRequires: binutils >= 2:2.15.94.0.1
63 %{?with_java:BuildRequires: cairo-devel}
64 BuildRequires: fileutils >= 4.0.41
67 BuildRequires: gcc(ada)
68 BuildRequires: gcc-ada
70 BuildRequires: gettext-devel
71 BuildRequires: glibc-devel >= %{!?with_multilib:2.2.5-20}%{?with_multilib:6:2.3.4-1.5}
72 BuildRequires: gmp-devel
73 BuildRequires: libmpfr-devel
74 %{?with_java:BuildRequires: pango-devel}
75 BuildRequires: perl-devel
76 %{?with_java:BuildRequires: pkgconfig}
77 BuildRequires: rpmbuild(macros) >= 1.211
78 BuildRequires: texinfo >= 4.1
79 BuildRequires: zlib-devel
80 # AS_NEEDED directive for dynamic linker
81 # http://sources.redhat.com/ml/glibc-cvs/2005-q1/msg00614.html
82 # http://sources.redhat.com/ml/binutils/2005-01/msg00288.html
83 Requires: binutils >= 2:2.16.90.0.1-0.3
84 Requires: libgcc = %{epoch}:%{version}-%{release}
85 Provides: cpp = %{epoch}:%{version}-%{release}
86 %{?with_ada:Provides: gcc(ada)}
87 %{?with_multilib:Provides: gcc(multilib)}
94 Conflicts: glibc-devel < 2.2.5-20
95 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
97 %define _slibdir /%{_lib}
99 # 32-bit environment on x86-64,ppc64,s390x,sparc64
100 %define _slibdir32 /lib
101 %define _libdir32 /usr/lib
105 A compiler aimed at integrating all the optimizations and features
106 necessary for a high-performance and stable development environment.
108 This package contains the C compiler and some files shared by various
109 parts of the GNU Compiler Collection. In order to use another GCC
110 compiler you will need to install the appropriate subpackage.
113 Un compilador que intenta integrar todas las optimalizaciones y
114 características necesarias para un entorno de desarrollo eficaz y
117 Este paquete contiene el compilador de C y unos ficheros compartidos
118 por varias partes de la colección de compiladores GNU (GCC). Para usar
119 otro compilador de GCC será necesario que instale el subpaquete
123 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
124 wyprodukowania szybkiego i stabilnego kodu wynikowego.
126 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
127 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
128 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
130 %description -l pt_BR
131 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
132 GNU Compiler Collection.
135 Summary: Shared gcc library
136 Summary(es): Biblioteca compartida de gcc
137 Summary(pl): Biblioteka gcc
138 Summary(pt_BR): Biblioteca runtime para o GCC
139 License: GPL with unlimited link permission
143 %description -n libgcc
146 %description -n libgcc -l es
147 Biblioteca compartida de gcc.
149 %description -n libgcc -l pl
150 Biblioteka dynamiczna gcc.
152 %description -n libgcc -l pt_BR
153 Biblioteca runtime para o GCC.
155 %package -n libmudflap
156 Summary: GCC mudflap shared support library
157 Summary(pl): Wspó³dzielona biblioteka wspomagaj±ca GCC mudflap
158 License: GPL v2+ with unlimited link permission
161 %description -n libmudflap
162 The libmudflap libraries are used by GCC for instrumenting pointer and
163 array dereferencing operations.
165 %description -n libmudflap -l pl
166 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
167 dereferencji wspa¼ników i tablic.
169 %package -n libmudflap-devel
170 Summary: Development files for GCC mudflap library
171 Summary(pl): Pliki programistyczne biblioteki GCC mudflap
172 License: GPL v2+ with unlimited link permission
173 Group: Development/Libraries
174 Requires: libmudflap = %{epoch}:%{version}-%{release}
176 %description -n libmudflap-devel
177 The libmudflap libraries are used by GCC for instrumenting pointer and
178 array dereferencing operations. This package contains development
181 %description -n libmudflap-devel -l pl
182 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
183 dereferencji wspa¼ników i tablic. Ten pakiet zawiera pliki
186 %package -n libmudflap-static
187 Summary: Static GCC mudflap library
188 Summary(pl): Statyczna biblioteka GCC mudflap
189 License: GPL v2+ with unlimited link permission
190 Group: Development/Libraries
191 Requires: libmudflap-devel = %{epoch}:%{version}-%{release}
193 %description -n libmudflap-static
194 The libmudflap libraries are used by GCC for instrumenting pointer and
195 array dereferencing operations. This package contains static
198 %description -n libmudflap-static -l pl
199 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
200 dereferencji wspa¼ników i tablic. Ten pakiet zawiera biblioteki
204 Summary: Ada support for gcc
205 Summary(es): Soporte de Ada para gcc
206 Summary(pl): Obs³uga Ady do gcc
207 Group: Development/Languages
208 Requires: %{name} = %{epoch}:%{version}-%{release}
209 Requires: libgnat = %{epoch}:%{version}-%{release}
211 Obsoletes: gnat-devel
214 This package adds experimental support for compiling Ada programs.
216 %description ada -l es
217 Este paquete añade soporte experimental para compilar programas en
220 %description ada -l pl
221 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
225 Summary: Ada standard libraries
226 Summary(es): Bibliotecas estándares de Ada
227 Summary(pl): Biblioteki standardowe dla Ady
228 License: GPL v2+ with linking exception
233 %description -n libgnat
234 This package contains shared libraries needed to run programs written
237 %description -n libgnat -l es
238 Este paquete contiene las bibliotecas compartidas necesarias para
239 ejecutar programas escritos en Ada.
241 %description -n libgnat -l pl
242 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
245 %package -n libgnat-static
246 Summary: Static Ada standard libraries
247 Summary(pl): Statyczne biblioteki standardowe dla Ady
248 License: GPL v2+ with linking exception
249 Group: Development/Libraries
250 Obsoletes: gnat-static
252 %description -n libgnat-static
253 This package contains static libraries for programs written in Ada.
255 %description -n libgnat-static -l pl
256 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
260 Summary: C++ support for gcc
261 Summary(es): Soporte de C++ para gcc
262 Summary(pl): Obs³uga C++ dla gcc
263 Summary(pt_BR): Suporte C++ para o gcc
264 Group: Development/Languages
265 Requires: %{name} = %{epoch}:%{version}-%{release}
270 This package adds C++ support to the GNU Compiler Collection. It
271 includes support for most of the current C++ specification, including
272 templates and exception handling. It does not include a standard C++
273 library, which is available separately.
275 %description c++ -l de
276 Dieses Paket enthält die C++-Unterstützung für den
277 GNU-Compiler-Collection. Es unterstützt die aktuelle
278 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
279 C++-Standard-Library ist nicht enthalten - sie ist getrennt
282 %description c++ -l es
283 Este paquete añade soporte de C++ al GCC (colección de compiladores
284 GNU). Ello incluye el soporte para la mayoría de la especificación
285 actual de C++, incluyendo plantillas y manejo de excepciones. No
286 incluye la biblioteca estándar de C++, la que es disponible separada.
288 %description c++ -l fr
289 Ce package ajoute un support C++ a la collection de compilateurs GNU.
290 Il comprend un support pour la plupart des spécifications actuelles de
291 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
292 une bibliothéque C++ standard, qui est disponible séparément.
294 %description c++ -l pl
295 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
296 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
297 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
299 %description c++ -l pt_BR
300 Este pacote adiciona suporte C++ para o gcc.
302 %description c++ -l tr
303 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
304 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
305 C++ kitaplýðý bu pakette yer almaz.
307 %package -n libstdc++
308 Summary: GNU C++ library
309 Summary(es): Biblioteca C++ de GNU
310 Summary(pl): Biblioteki GNU C++
311 Summary(pt_BR): Biblioteca C++ GNU
312 License: GPL v2+ with free software exception
315 Obsoletes: libstdc++3
317 %description -n libstdc++
318 This is the GNU implementation of the standard C++ libraries, along
319 with additional GNU tools. This package includes the shared libraries
320 necessary to run C++ applications.
322 %description -n libstdc++ -l de
323 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
324 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
325 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
327 %description -n libstdc++ -l es
328 Este es el soporte de las bibliotecas padrón del C++, junto con
329 herramientas GNU adicionales. El paquete incluye las bibliotecas
330 compartidas necesarias para ejecutar aplicaciones C++.
332 %description -n libstdc++ -l fr
333 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
334 des outils GNU supplémentaires. Ce package comprend les librairies
335 partagées nécessaires à l'exécution d'application C++.
337 %description -n libstdc++ -l pl
338 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
339 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
340 uruchomienia aplikacji napisanych w C++.
342 %description -n libstdc++ -l pt_BR
343 Este pacote é uma implementação da biblioteca padrão C++ v3, um
344 subconjunto do padrão ISO 14882.
346 %description -n libstdc++ -l tr
347 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
348 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
350 %package -n libstdc++-devel
351 Summary: Header files and documentation for C++ development
352 Summary(de): Header-Dateien zur Entwicklung mit C++
353 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
354 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
355 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
356 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
357 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
358 License: GPL v2+ with free software exception
359 Group: Development/Libraries
360 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
361 Requires: libstdc++ = %{epoch}:%{version}-%{release}
362 Requires: glibc-devel
363 Obsoletes: libg++-devel
364 Obsoletes: libstdc++3-devel
366 %description -n libstdc++-devel
367 This is the GNU implementation of the standard C++ libraries. This
368 package includes the header files needed for C++ development and
369 library documentation.
371 %description -n libstdc++-devel -l es
372 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
373 paquete incluye los archivos de inclusión y bibliotecas necesarios
374 para desarrollo de programas en lenguaje C++.
376 %description -n libstdc++-devel -l pl
377 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
378 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
379 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
381 %description -n libstdc++-devel -l pt_BR
382 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
383 para desenvolvimento de programas C++.
385 %package -n libstdc++-static
386 Summary: Static C++ standard library
387 Summary(es): Biblioteca estándar estática de C++
388 Summary(pl): Statyczna biblioteka standardowa C++
389 License: GPL v2+ with free software exception
390 Group: Development/Libraries
391 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
393 %description -n libstdc++-static
394 Static C++ standard library.
396 %description -n libstdc++-static -l es
397 Biblioteca estándar estática de C++.
399 %description -n libstdc++-static -l pl
400 Statyczna biblioteka standardowa C++.
403 Summary: Fortran 95 support for gcc
404 Summary(es): Soporte de Fortran 95 para gcc
405 Summary(pl): Obs³uga Fortranu 95 dla gcc
406 Summary(pt_BR): Suporte Fortran 95 para o GCC
407 Group: Development/Languages/Fortran
408 Requires: libgfortran = %{epoch}:%{version}-%{release}
409 Provides: gcc-g77 = %{epoch}:%{version}-%{release}
414 This package adds support for compiling Fortran 95 programs with the
417 %description fortran -l es
418 Este paquete añade soporte para compilar programas escritos en Fortran
419 95 con el compilador GNU.
421 %description fortran -l pl
422 Ten pakiet dodaje obs³ugê Fortranu 95 do kompilatora gcc. Jest
423 potrzebny do kompilowania programów pisanych w jêzyku Fortran 95.
425 %description fortran -l pt_BR
426 Suporte Fortran 95 para o GCC.
428 %package -n libgfortran
429 Summary: Fortran 95 Libraries
430 Summary(es): Bibliotecas de Fortran 95
431 Summary(pl): Biblioteki Fortranu 95
436 %description -n libgfortran
437 Fortran 95 Libraries.
439 %description -n libgfortran -l es
440 Bibliotecas de Fortran 95.
442 %description -n libgfortran -l pl
443 Biblioteki Fortranu 95.
445 %package -n libgfortran-static
446 Summary: Static Fortran 95 Libraries
447 Summary(es): Bibliotecas estáticas de Fortran 95
448 Summary(pl): Statyczne Biblioteki Fortranu 95
450 Group: Development/Libraries
451 Requires: libgfortran = %{epoch}:%{version}-%{release}
452 Obsoletes: libg2c-static
454 %description -n libgfortran-static
455 Static Fortran 95 Libraries.
457 %description -n libgfortran-static -l es
458 Bibliotecas estáticas de Fortran 95.
460 %description -n libgfortran-static -l pl
461 Statyczne biblioteki Fortranu 95.
464 Summary: Java support for gcc
465 Summary(es): Soporte de Java para gcc
466 Summary(pl): Obs³uga Javy dla gcc
467 Group: Development/Languages/Java
468 Requires: %{name} = %{epoch}:%{version}-%{release}
469 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
470 Provides: gcj = %{epoch}:%{version}-%{release}
471 Provides: gcc-java-tools
473 Obsoletes: gcc-java-tools
476 This package adds experimental support for compiling Java(TM) programs
477 and bytecode into native code. To use this you will also need the
480 %description java -l es
481 Este paquete añade soporte experimental para compilar programas
482 Java(tm) y su bytecode en código nativo. Para usarlo también va a
483 necesitar el paquete libgcj.
485 %description java -l pl
486 Ten pakiet dodaje mo¿liwo¶æ kompilowania programów w jêzyku Java(TM)
487 oraz bajtkodu do kodu natywnego. Do u¿ywania go wymagany jest
488 dodatkowo pakiet libgcj.
491 Summary: Java Class Libraries
492 Summary(es): Bibliotecas de clases de Java
493 Summary(pl): Biblioteki Klas Javy
494 License: GPL with limited linking exception
498 %description -n libgcj
499 Java Class Libraries.
501 %description -n libgcj -l es
502 Bibliotecas de clases de Java.
504 %description -n libgcj -l pl
505 Biblioteki Klas Javy.
507 %package -n libgcj-devel
508 Summary: Development files for Java Class Libraries
509 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
510 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
511 License: GPL with limited linking exception
512 Group: Development/Libraries
513 Requires: libgcj = %{epoch}:%{version}-%{release}
515 Obsoletes: libgcj3-devel
517 %description -n libgcj-devel
518 Development files for Java Class Libraries.
520 %description -n libgcj-devel -l es
521 Ficheros de desarrollo para las bibliotecas de clases de Java.
523 %description -n libgcj-devel -l pl
524 Pliki nag³ówkowe dla Bibliotek Klas Javy.
526 %package -n libgcj-static
527 Summary: Static Java Class Libraries
528 Summary(es): Bibliotecas estáticas de clases de Java
529 Summary(pl): Statyczne Biblioteki Klas Javy
530 License: GPL with limited linking exception
531 Group: Development/Libraries
532 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
533 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
535 %description -n libgcj-static
536 Static Java Class Libraries.
538 %description -n libgcj-static -l es
539 Bibliotecas estáticas de clases de Java.
541 %description -n libgcj-static -l pl
542 Statyczne Biblioteki Klas Javy.
545 Summary: Foreign Function Interface library
546 Summary(es): Biblioteca de interfaz de funciones ajenas
547 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
551 %description -n libffi
552 The libffi library provides a portable, high level programming
553 interface to various calling conventions. This allows a programmer to
554 call any function specified by a call interface description at run
557 %description -n libffi -l es
558 La biblioteca libffi provee una interfaz portable de programación de
559 alto nivel para varias convenciones de llamada. Ello permite que un
560 programador llame una función cualquiera especificada por una
561 descripción de interfaz de llamada en el tiempo de ejecución.
563 %description -n libffi -l pl
564 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
565 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
566 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
569 %package -n libffi-devel
570 Summary: Development files for Foreign Function Interface library
571 Summary(es): Ficheros de desarrollo para libffi
572 Summary(pl): Pliki nag³ówkowe dla libffi
574 Group: Development/Libraries
575 Requires: libffi = %{epoch}:%{version}-%{release}
577 %description -n libffi-devel
578 Development files for Foreign Function Interface library.
580 %description -n libffi-devel -l es
581 Ficheros de desarrollo para libffi.
583 %description -n libffi-devel -l pl
584 Pliki nag³ówkowe dla libffi.
586 %package -n libffi-static
587 Summary: Static Foreign Function Interface library
588 Summary(es): Biblioteca libffi estática
589 Summary(pl): Statyczna biblioteka libffi
591 Group: Development/Libraries
592 Requires: libffi-devel = %{epoch}:%{version}-%{release}
594 %description -n libffi-static
595 Static Foreign Function Interface library.
597 %description -n libffi-static -l es
598 Biblioteca libffi estática.
600 %description -n libffi-static -l pl
601 Statyczna biblioteka libffi.
604 Summary: Objective C support for gcc
605 Summary(de): Objektive C-Unterstützung für gcc
606 Summary(es): Soporte de Objective C para gcc
607 Summary(fr): Gestion d'Objective C pour gcc
608 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
609 Summary(tr): gcc için Objective C desteði
610 Group: Development/Languages
611 Requires: %{name} = %{epoch}:%{version}-%{release}
612 Requires: libobjc = %{epoch}:%{version}-%{release}
617 This package adds Objective C support to the GNU Compiler Collection.
618 Objective C is a object oriented derivative of the C language, mainly
619 used on systems running NeXTSTEP. This package does not include the
620 standard objective C object library.
622 %description objc -l de
623 Dieses Paket ergänzt den GNU-Compiler-Collection durch
624 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
625 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
626 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
628 %description objc -l es
629 Este paquete añade soporte de Objective C al GCC (colección de
630 compiladores GNU). Objective C es un lenguaje orientado a objetos
631 derivado de C, principalmente usado en sistemas que funcionan bajo
632 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
635 %description objc -l fr
636 Ce package ajoute un support Objective C a la collection de
637 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
638 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
639 package n'inclue pas la bibliothéque Objective C standard.
641 %description objc -l pl
642 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
643 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
644 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
645 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
647 %description objc -l tr
648 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
649 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
650 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
651 kitaplýðý bu pakette yer almaz.
654 Summary: Objective C++ support for gcc
655 Summary(pl): Obs³uga jêzyka Objective C++ dla gcc
656 Group: Development/Languages
657 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
658 Requires: %{name}-objc = %{epoch}:%{version}-%{release}
661 This package adds Objective C++ support to the GNU Compiler
664 %description objc++ -l pl
665 Ten pakiet dodaje obs³ugê jêzyka Objective C++ do zestawu
666 kompilatorów GNU Compiler Collection.
669 Summary: Objective C Libraries
670 Summary(es): Bibliotecas de Objective C
671 Summary(pl): Biblioteki Obiektowego C
672 License: GPL v2+ with linking exception
676 %description -n libobjc
677 Objective C Libraries.
679 %description -n libobjc -l es
680 Bibliotecas de Objective C.
682 %description -n libobjc -l pl
683 Biblioteki Obiektowego C.
685 %package -n libobjc-static
686 Summary: Static Objective C Libraries
687 Summary(es): Bibliotecas estáticas de Objective C
688 Summary(pl): Statyczne Biblioteki Obiektowego C
689 License: GPL v2+ with linking exception
690 Group: Development/Libraries
691 Requires: libobjc = %{epoch}:%{version}-%{release}
693 %description -n libobjc-static
694 Static Objective C Libraries.
696 %description -n libobjc-static -l es
697 Bibliotecas estáticas de Objective C.
699 %description -n libobjc-static -l pl
700 Statyczne biblioteki Obiektowego C.
703 #setup -q -n gcc-%{version}
704 %setup -q -n gcc-4.1-%{_snap}
708 %{!?debug:%patch2 -p1}
720 # because we distribute modified version of gcc...
721 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
722 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
724 mv ChangeLog ChangeLog.general
730 cp -f /usr/share/automake/config.sub .
732 rm -rf obj-%{_target_platform}
733 install -d obj-%{_target_platform}
734 cd obj-%{_target_platform}
736 CFLAGS="%{rpmcflags}" \
737 CXXFLAGS="%{rpmcxxflags}" \
740 --prefix=%{_prefix} \
741 --libdir=%{_libdir} \
742 --libexecdir=%{_libdir} \
743 --infodir=%{_infodir} \
744 --mandir=%{_mandir} \
746 --enable-threads=posix \
747 --enable-__cxa_atexit \
748 --enable-languages="c,c++%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}" \
751 --%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \
756 --with-demangler-in-ld \
758 --with-slibdir=%{_slibdir} \
763 --enable-libgcj-multifile \
764 --enable-libgcj-database \
771 %{__make} -C obj-%{_target_platform} \
772 %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \
773 GCJFLAGS="%{rpmcflags}" \
774 BOOT_CFLAGS="%{rpmcflags}" \
775 STAGE1_CFLAGS="%{rpmcflags} -O0" \
776 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
781 rm -rf $RPM_BUILD_ROOT
782 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
784 cd obj-%{_target_platform}
786 %{__make} -j1 install \
788 infodir=%{_infodir} \
789 DESTDIR=$RPM_BUILD_ROOT
791 install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version}
794 ln -sf %{_bindir}/sparc64-pld-linux-gcc \
795 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
798 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
799 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
800 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
803 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
804 echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
808 # move ada shared libraries to proper place...
809 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
810 $RPM_BUILD_ROOT%{_libdir}
811 # check if symlink to be made is valid
812 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so.1
813 ln -sf libgnat-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so
814 ln -sf libgnarl-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-4.0.so
815 ln -sf libgnat-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
816 ln -sf libgnarl-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
823 cp -f libjava/READ* java-doc
824 cp -f fastjar/README java-doc/README.fastjar
825 cp -f libffi/README java-doc/README.libffi
826 cp -f libffi/LICENSE java-doc/LICENSE.libffi
827 ln -sf %{_javadir}/libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
830 cp -f libobjc/README gcc/objc/README.libobjc
833 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
834 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
835 for f in libmudflap.la libmudflapth.la libstdc++.la libsupc++.la \
836 %{?with_fortran:libgfortran.la libgfortranbegin.la} \
837 %{?with_java:libgcj.la libffi.la} \
838 %{?with_objc:libobjc.la};
840 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
841 mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
843 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
844 mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
848 # include/ contains install-tools/include/* and headers that were fixed up
849 # by fixincludes, we don't want former
850 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
852 # we have to save these however
853 %{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jvmpi.h} $gccdir/tmp}
854 %{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
855 mv -f $gccdir/include/syslimits.h $gccdir/tmp
856 rm -rf $gccdir/include
857 mv -f $gccdir/tmp $gccdir/include
858 cp -f $gccdir/install-tools/include/*.h $gccdir/include
859 # but we don't want anything more from install-tools
860 rm -rf $gccdir/install-tools
863 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
865 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
868 %find_lang libstdc\+\+
870 # cvs snap doesn't contain (release does) below files,
871 # so let's create dummy entries to satisfy %%files.
872 [ ! -f NEWS ] && touch NEWS
873 [ ! -f libgfortran/AUTHORS ] && touch libgfortran/AUTHORS
874 [ ! -f libgfortran/README ] && touch libgfortran/README
877 rm -rf $RPM_BUILD_ROOT
880 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
883 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
886 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
889 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
892 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
895 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
898 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
901 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
903 %post -p /sbin/ldconfig -n libgcc
904 %postun -p /sbin/ldconfig -n libgcc
905 %post -p /sbin/ldconfig -n libmudflap
906 %postun -p /sbin/ldconfig -n libmudflap
907 %post -p /sbin/ldconfig -n libgnat
908 %postun -p /sbin/ldconfig -n libgnat
909 %post -p /sbin/ldconfig -n libstdc++
910 %postun -p /sbin/ldconfig -n libstdc++
911 %post -p /sbin/ldconfig -n libgfortran
912 %postun -p /sbin/ldconfig -n libgfortran
913 %post -p /sbin/ldconfig -n libgcj
914 %postun -p /sbin/ldconfig -n libgcj
915 %post -p /sbin/ldconfig -n libffi
916 %postun -p /sbin/ldconfig -n libffi
917 %post -p /sbin/ldconfig -n libobjc
918 %postun -p /sbin/ldconfig -n libobjc
921 %defattr(644,root,root,755)
922 %doc ChangeLog.general MAINTAINERS NEWS
924 %doc gcc/{ChangeLog,ONEWS,README.Portability}
926 %dir %{_libdir}/gcc/*
927 %dir %{_libdir}/gcc/*/*
928 %dir %{_libdir}/gcc/*/*/include
930 %attr(755,root,root) %{_bindir}/*-gcc*
931 %attr(755,root,root) %{_bindir}/gcc
932 %attr(755,root,root) %{_bindir}/gccbug
933 %attr(755,root,root) %{_bindir}/gcov
934 %attr(755,root,root) %{_bindir}/cc
935 %attr(755,root,root) %{_bindir}/cpp
937 %{_mandir}/man1/cc.1*
938 %{_mandir}/man1/cpp.1*
939 %{_mandir}/man1/gcc.1*
940 %{_mandir}/man1/gcov.1*
945 %attr(755,root,root) /lib/cpp
947 %attr(755,root,root) %{_slibdir}/lib*.so
949 %dir %{_libdir}/gcc/*/*/32
950 %{_libdir}/gcc/*/*/32/libgcov.a
951 %{_libdir}/gcc/*/*/32/libgcc.a
952 %{_libdir}/gcc/*/*/32/libgcc_eh.a
953 %{_libdir}/gcc/*/*/32/libgcc_s.so
955 %{_libdir}/gcc/*/*/libgcov.a
956 %{_libdir}/gcc/*/*/libgcc.a
957 %{_libdir}/gcc/*/*/libgcc_eh.a
958 %{_libdir}/gcc/*/*/libgcc_s.so
959 %{_libdir}/gcc/*/*/specs
961 %{_libdir}/gcc/*/*/32/crt*.o
963 %{_libdir}/gcc/*/*/crt*.o
964 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
965 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
967 %{_libdir}/gcc/*/*/include/*.h
970 %defattr(644,root,root,755)
972 %attr(755,root,root) %{_slibdir32}/lib*.so.*
974 %attr(755,root,root) %{_slibdir}/lib*.so.*
977 %defattr(644,root,root,755)
979 %attr(755,root,root) %{_libdir32}/libmudflap*.so.*.*.*
981 %attr(755,root,root) %{_libdir}/libmudflap*.so.*.*.*
983 %files -n libmudflap-devel
984 %defattr(644,root,root,755)
985 %{_includedir}/mf-runtime.h
987 %{_libdir32}/libmudflap*.la
988 %attr(755,root,root) %{_libdir32}/libmudflap*.so
990 %{_libdir}/libmudflap*.la
991 %attr(755,root,root) %{_libdir}/libmudflap*.so
993 %files -n libmudflap-static
994 %defattr(644,root,root,755)
996 %{_libdir32}/libmudflap*.a
998 %{_libdir}/libmudflap*.a
1002 %defattr(644,root,root,755)
1003 %doc gcc/ada/ChangeLog
1004 %attr(755,root,root) %{_bindir}/gnat*
1005 %attr(755,root,root) %{_bindir}/gpr*
1006 %attr(755,root,root) %{_libdir}/libgnarl*.so
1007 %attr(755,root,root) %{_libdir}/libgnat*.so
1008 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1009 %{_libdir}/gcc/*/*/adainclude
1010 %dir %{_libdir}/gcc/*/*/adalib
1011 %{_libdir}/gcc/*/*/adalib/*.ali
1012 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1013 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1015 %{_libdir}/gcc/*/*/adalib/libgmem.a
1020 %defattr(644,root,root,755)
1021 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1022 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1024 %files -n libgnat-static
1025 %defattr(644,root,root,755)
1026 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1027 %{_libdir}/gcc/*/*/adalib/libgnat.a
1031 %defattr(644,root,root,755)
1032 %doc gcc/cp/{ChangeLog,NEWS}
1033 %attr(755,root,root) %{_bindir}/g++
1034 %attr(755,root,root) %{_bindir}/*-g++
1035 %attr(755,root,root) %{_bindir}/c++
1036 %attr(755,root,root) %{_bindir}/*-c++
1037 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
1038 %if %{with multilib}
1039 %{_libdir32}/libsupc++.a
1040 %{_libdir32}/libsupc++.la
1042 %{_libdir}/libsupc++.a
1043 %{_libdir}/libsupc++.la
1044 %{_mandir}/man1/g++.1*
1046 %files -n libstdc++ -f libstdc++.lang
1047 %defattr(644,root,root,755)
1048 %doc libstdc++-v3/{ChangeLog,README}
1049 %if %{with multilib}
1050 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
1052 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
1054 %files -n libstdc++-devel
1055 %defattr(644,root,root,755)
1056 %doc libstdc++-v3/docs/html
1057 %dir %{_includedir}/c++
1058 %{_includedir}/c++/%{version}
1060 %exclude %{_includedir}/c++/%{version}/java
1061 %exclude %{_includedir}/c++/%{version}/javax
1062 %exclude %{_includedir}/c++/%{version}/gcj
1063 %exclude %{_includedir}/c++/%{version}/gnu
1066 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
1068 %if %{with multilib}
1069 %{_libdir32}/libstdc++.la
1070 %attr(755,root,root) %{_libdir32}/libstdc++.so
1072 %{_libdir}/libstdc++.la
1073 %attr(755,root,root) %{_libdir}/libstdc++.so
1075 %files -n libstdc++-static
1076 %defattr(644,root,root,755)
1077 %if %{with multilib}
1078 %{_libdir32}/libstdc++.a
1080 %{_libdir}/libstdc++.a
1084 %defattr(644,root,root,755)
1085 %doc gcc/fortran/ChangeLog
1086 %attr(755,root,root) %{_bindir}/g95
1087 %attr(755,root,root) %{_bindir}/gfortran
1088 %{_infodir}/gfortran*
1089 %attr(755,root,root) %{_libdir}/gcc/*/*/f951
1090 %if %{with multilib}
1091 %{_libdir32}/libgfortranbegin.a
1092 %{_libdir32}/libgfortranbegin.la
1093 %{_libdir32}/libgfortran.la
1094 %attr(755,root,root) %{_libdir32}/libgfortran.so
1096 %{_libdir}/libgfortranbegin.a
1097 %{_libdir}/libgfortranbegin.la
1098 %{_libdir}/libgfortran.la
1099 %attr(755,root,root) %{_libdir}/libgfortran.so
1100 %{_mandir}/man1/g95.1*
1101 %{_mandir}/man1/gfortran.1*
1103 %files -n libgfortran
1104 %defattr(644,root,root,755)
1105 %doc libgfortran/{AUTHORS,README,ChangeLog}
1106 %if %{with multilib}
1107 %attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
1109 %attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
1111 %files -n libgfortran-static
1112 %defattr(644,root,root,755)
1113 %if %{with multilib}
1114 %{_libdir32}/libgfortran.a
1116 %{_libdir}/libgfortran.a
1121 %defattr(644,root,root,755)
1122 %doc gcc/java/ChangeLog java-doc/*
1123 %attr(755,root,root) %{_bindir}/fastjar
1124 %attr(755,root,root) %{_bindir}/gcj*
1125 %attr(755,root,root) %{_bindir}/gjnih
1126 %attr(755,root,root) %{_bindir}/grepjar
1127 %attr(755,root,root) %{_bindir}/grmi*
1128 %attr(755,root,root) %{_bindir}/jcf-dump
1129 %attr(755,root,root) %{_bindir}/jv-*
1130 %attr(755,root,root) %{_bindir}/*-gcj*
1131 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1132 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1133 %{_infodir}/fastjar*
1135 %{_mandir}/man1/fastjar*
1136 %{_mandir}/man1/gcj*
1137 %{_mandir}/man1/gjnih*
1138 %{_mandir}/man1/grepjar*
1139 %{_mandir}/man1/grmi*
1140 %{_mandir}/man1/jcf-*
1141 %{_mandir}/man1/jv-*
1144 %defattr(644,root,root,755)
1145 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1146 %attr(755,root,root) %{_bindir}/addr2name.awk
1147 %attr(755,root,root) %{_bindir}/gij
1148 %dir %{_libdir}/gcj-%{version}
1149 %{_libdir}/gcj-%{version}/classmap.db
1150 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1151 %attr(755,root,root) %{_libdir}/libgij.so.*.*.*
1152 %{_libdir}/logging.properties
1153 %{_javadir}/libgcj*.jar
1154 %{_mandir}/man1/gij*
1156 %files -n libgcj-devel
1157 %defattr(644,root,root,755)
1158 %{_includedir}/c++/%{version}/java
1159 %{_includedir}/c++/%{version}/javax
1160 %{_includedir}/c++/%{version}/gcj
1161 %{_includedir}/c++/%{version}/gnu
1162 %{_libdir}/gcc/*/*/include/gcj
1163 %{_libdir}/gcc/*/*/include/jawt.h
1164 %{_libdir}/gcc/*/*/include/jawt_md.h
1165 %{_libdir}/gcc/*/*/include/jni.h
1166 %{_libdir}/gcc/*/*/include/jvmpi.h
1167 %dir %{_libdir}/security
1168 %{_libdir}/security/*
1169 %{_libdir}/lib*cj.spec
1170 %{_libdir}/lib*cj*.la
1171 %attr(755,root,root) %{_libdir}/lib*cj*.so
1172 %{_libdir}/libgij.la
1173 %attr(755,root,root) %{_libdir}/libgij.so
1174 %{_pkgconfigdir}/libgcj.pc
1176 %files -n libgcj-static
1177 %defattr(644,root,root,755)
1178 %{_libdir}/lib*cj*.a
1182 %defattr(644,root,root,755)
1183 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1184 %attr(755,root,root) %{_libdir}/libffi.so.*.*.*
1186 %files -n libffi-devel
1187 %defattr(644,root,root,755)
1188 %{_libdir}/gcc/*/*/include/ffitarget.h
1189 %attr(755,root,root) %{_libdir}/libffi.so
1190 %{_libdir}/libffi.la
1191 %{_includedir}/ffi.h
1193 %files -n libffi-static
1194 %defattr(644,root,root,755)
1200 %defattr(644,root,root,755)
1201 %doc gcc/objc/README
1202 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1203 %if %{with multilib}
1204 %attr(755,root,root) %{_libdir32}/libobjc.so
1205 %{_libdir32}/libobjc.la
1207 %attr(755,root,root) %{_libdir}/libobjc.so
1208 %{_libdir}/libobjc.la
1209 %{_libdir}/gcc/*/*/include/objc
1212 %defattr(644,root,root,755)
1213 %doc libobjc/{ChangeLog,README*}
1214 %if %{with multilib}
1215 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
1217 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
1219 %files -n libobjc-static
1220 %defattr(644,root,root,755)
1221 %if %{with multilib}
1222 %{_libdir32}/libobjc.a
1224 %{_libdir}/libobjc.a
1229 %defattr(644,root,root,755)
1230 %doc gcc/objcp/ChangeLog
1231 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1objplus