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)
7 # - http://gcc.gnu.org/PR22019 (do_structure_copy ice on ada gnatlib)
10 %bcond_without ada # build without ADA support
11 %bcond_without fortran # build without Fortran support
12 %bcond_without java # build without Java support
13 %bcond_without objc # build without Objective-C support
14 %bcond_without objcxx # build without Objective-C++ support
15 %bcond_with multilib # build with multilib support (it needs glibc[32&64]-devel)
16 %bcond_without profiling # build without profiling
17 %bcond_without bootstrap # omit 3-stage bootstrap
18 %bcond_with tests # torture gcc
24 %if %{without bootstrap}
25 %undefine with_profiling
28 %ifnarch %{x8664} ppc64 s390x sparc64
29 %undefine with_multilib
32 Summary: GNU Compiler Collection: the C compiler and shared files
33 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
34 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
35 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
38 %define _snap 20050616_1440
42 Group: Development/Languages
43 #Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
44 #Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/4.1-%{_snap}/gcc-4.1-%{_snap}.tar.bz2
45 Source0: gcc-4.1-%{_snap}.tar.bz2
46 # Source0-md5: 8cc0f906131ba1b6aa83757c8a324caa
47 Source1: %{name}-optimize-la.pl
48 Patch0: %{name}-info.patch
49 Patch1: %{name}-nolocalefiles.patch
50 Patch2: %{name}-nodebug.patch
51 Patch3: %{name}-ada-link-new-libgnat.patch
52 Patch4: %{name}-ada-link.patch
53 Patch5: %{name}-alpha-ada_fix.patch
54 Patch6: %{name}-ada-fwrapv.patch
56 Patch11: %{name}-pr20218.patch
57 Patch12: %{name}-pr20297.patch
58 Patch14: %{name}-push-pop-visibility.patch
59 Patch15: %{name}-pr21704.patch
60 Patch16: %{name}-pr22019.patch
61 URL: http://gcc.gnu.org/
62 BuildRequires: autoconf
63 %{?with_tests:BuildRequires: autogen}
64 BuildRequires: automake
65 BuildRequires: binutils >= 2:2.15.94.0.1
67 %{?with_java:BuildRequires: cairo-devel}
68 %{?with_tests:BuildRequires: dejagnu}
69 BuildRequires: fileutils >= 4.0.41
72 BuildRequires: gcc(ada)
73 BuildRequires: gcc-ada
75 BuildRequires: gettext-devel
76 BuildRequires: glibc-devel >= %{!?with_multilib:2.2.5-20}%{?with_multilib:6:2.3.4-1.5}
77 BuildRequires: gmp-devel
78 BuildRequires: libmpfr-devel
79 %{?with_java:BuildRequires: pango-devel}
80 BuildRequires: perl-devel
81 %{?with_java:BuildRequires: pkgconfig}
82 BuildRequires: rpmbuild(macros) >= 1.211
83 BuildRequires: texinfo >= 4.1
84 BuildRequires: zlib-devel
85 # AS_NEEDED directive for dynamic linker
86 # http://sources.redhat.com/ml/glibc-cvs/2005-q1/msg00614.html
87 # http://sources.redhat.com/ml/binutils/2005-01/msg00288.html
88 Requires: binutils >= 2:2.16.90.0.1-0.3
89 Requires: libgcc = %{epoch}:%{version}-%{release}
90 Provides: cpp = %{epoch}:%{version}-%{release}
91 %{?with_ada:Provides: gcc(ada)}
92 %{?with_multilib:Provides: gcc(multilib)}
99 Conflicts: glibc-devel < 2.2.5-20
100 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
102 %define _slibdir /%{_lib}
104 # 32-bit environment on x86-64,ppc64,s390x,sparc64
105 %define _slibdir32 /lib
106 %define _libdir32 /usr/lib
109 # disable -mtune=pentium4 due to p4 related regression.
110 %define specflags_i686 -mtune=i686
113 A compiler aimed at integrating all the optimizations and features
114 necessary for a high-performance and stable development environment.
116 This package contains the C compiler and some files shared by various
117 parts of the GNU Compiler Collection. In order to use another GCC
118 compiler you will need to install the appropriate subpackage.
121 Un compilador que intenta integrar todas las optimalizaciones y
122 características necesarias para un entorno de desarrollo eficaz y
125 Este paquete contiene el compilador de C y unos ficheros compartidos
126 por varias partes de la colección de compiladores GNU (GCC). Para usar
127 otro compilador de GCC será necesario que instale el subpaquete
131 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
132 wyprodukowania szybkiego i stabilnego kodu wynikowego.
134 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
135 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
136 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
138 %description -l pt_BR
139 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
140 GNU Compiler Collection.
143 Summary: Shared gcc library
144 Summary(es): Biblioteca compartida de gcc
145 Summary(pl): Biblioteka gcc
146 Summary(pt_BR): Biblioteca runtime para o GCC
147 License: GPL with unlimited link permission
151 %description -n libgcc
154 %description -n libgcc -l es
155 Biblioteca compartida de gcc.
157 %description -n libgcc -l pl
158 Biblioteka dynamiczna gcc.
160 %description -n libgcc -l pt_BR
161 Biblioteca runtime para o GCC.
163 %package -n libmudflap
164 Summary: GCC mudflap shared support library
165 Summary(pl): Wspó³dzielona biblioteka wspomagaj±ca GCC mudflap
166 License: GPL v2+ with unlimited link permission
169 %description -n libmudflap
170 The libmudflap libraries are used by GCC for instrumenting pointer and
171 array dereferencing operations.
173 %description -n libmudflap -l pl
174 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
175 dereferencji wspa¼ników i tablic.
177 %package -n libmudflap-devel
178 Summary: Development files for GCC mudflap library
179 Summary(pl): Pliki programistyczne biblioteki GCC mudflap
180 License: GPL v2+ with unlimited link permission
181 Group: Development/Libraries
182 Requires: libmudflap = %{epoch}:%{version}-%{release}
184 %description -n libmudflap-devel
185 The libmudflap libraries are used by GCC for instrumenting pointer and
186 array dereferencing operations. This package contains development
189 %description -n libmudflap-devel -l pl
190 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
191 dereferencji wspa¼ników i tablic. Ten pakiet zawiera pliki
194 %package -n libmudflap-static
195 Summary: Static GCC mudflap library
196 Summary(pl): Statyczna biblioteka GCC mudflap
197 License: GPL v2+ with unlimited link permission
198 Group: Development/Libraries
199 Requires: libmudflap-devel = %{epoch}:%{version}-%{release}
201 %description -n libmudflap-static
202 The libmudflap libraries are used by GCC for instrumenting pointer and
203 array dereferencing operations. This package contains static
206 %description -n libmudflap-static -l pl
207 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
208 dereferencji wspa¼ników i tablic. Ten pakiet zawiera biblioteki
212 Summary: Ada support for gcc
213 Summary(es): Soporte de Ada para gcc
214 Summary(pl): Obs³uga Ady do gcc
215 Group: Development/Languages
216 Requires: %{name} = %{epoch}:%{version}-%{release}
217 Requires: libgnat = %{epoch}:%{version}-%{release}
219 Obsoletes: gnat-devel
222 This package adds experimental support for compiling Ada programs.
224 %description ada -l es
225 Este paquete añade soporte experimental para compilar programas en
228 %description ada -l pl
229 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
233 Summary: Ada standard libraries
234 Summary(es): Bibliotecas estándares de Ada
235 Summary(pl): Biblioteki standardowe dla Ady
236 License: GPL v2+ with linking exception
241 %description -n libgnat
242 This package contains shared libraries needed to run programs written
245 %description -n libgnat -l es
246 Este paquete contiene las bibliotecas compartidas necesarias para
247 ejecutar programas escritos en Ada.
249 %description -n libgnat -l pl
250 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
253 %package -n libgnat-static
254 Summary: Static Ada standard libraries
255 Summary(pl): Statyczne biblioteki standardowe dla Ady
256 License: GPL v2+ with linking exception
257 Group: Development/Libraries
258 Obsoletes: gnat-static
260 %description -n libgnat-static
261 This package contains static libraries for programs written in Ada.
263 %description -n libgnat-static -l pl
264 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
268 Summary: C++ support for gcc
269 Summary(es): Soporte de C++ para gcc
270 Summary(pl): Obs³uga C++ dla gcc
271 Summary(pt_BR): Suporte C++ para o gcc
272 Group: Development/Languages
273 Requires: %{name} = %{epoch}:%{version}-%{release}
278 This package adds C++ support to the GNU Compiler Collection. It
279 includes support for most of the current C++ specification, including
280 templates and exception handling. It does not include a standard C++
281 library, which is available separately.
283 %description c++ -l de
284 Dieses Paket enthält die C++-Unterstützung für den
285 GNU-Compiler-Collection. Es unterstützt die aktuelle
286 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
287 C++-Standard-Library ist nicht enthalten - sie ist getrennt
290 %description c++ -l es
291 Este paquete añade soporte de C++ al GCC (colección de compiladores
292 GNU). Ello incluye el soporte para la mayoría de la especificación
293 actual de C++, incluyendo plantillas y manejo de excepciones. No
294 incluye la biblioteca estándar de C++, la que es disponible separada.
296 %description c++ -l fr
297 Ce package ajoute un support C++ a la collection de compilateurs GNU.
298 Il comprend un support pour la plupart des spécifications actuelles de
299 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
300 une bibliothéque C++ standard, qui est disponible séparément.
302 %description c++ -l pl
303 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
304 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
305 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
307 %description c++ -l pt_BR
308 Este pacote adiciona suporte C++ para o gcc.
310 %description c++ -l tr
311 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
312 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
313 C++ kitaplýðý bu pakette yer almaz.
315 %package -n libstdc++
316 Summary: GNU C++ library
317 Summary(es): Biblioteca C++ de GNU
318 Summary(pl): Biblioteki GNU C++
319 Summary(pt_BR): Biblioteca C++ GNU
320 License: GPL v2+ with free software exception
323 Obsoletes: libstdc++3
325 %description -n libstdc++
326 This is the GNU implementation of the standard C++ libraries, along
327 with additional GNU tools. This package includes the shared libraries
328 necessary to run C++ applications.
330 %description -n libstdc++ -l de
331 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
332 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
333 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
335 %description -n libstdc++ -l es
336 Este es el soporte de las bibliotecas padrón del C++, junto con
337 herramientas GNU adicionales. El paquete incluye las bibliotecas
338 compartidas necesarias para ejecutar aplicaciones C++.
340 %description -n libstdc++ -l fr
341 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
342 des outils GNU supplémentaires. Ce package comprend les librairies
343 partagées nécessaires à l'exécution d'application C++.
345 %description -n libstdc++ -l pl
346 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
347 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
348 uruchomienia aplikacji napisanych w C++.
350 %description -n libstdc++ -l pt_BR
351 Este pacote é uma implementação da biblioteca padrão C++ v3, um
352 subconjunto do padrão ISO 14882.
354 %description -n libstdc++ -l tr
355 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
356 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
358 %package -n libstdc++-devel
359 Summary: Header files and documentation for C++ development
360 Summary(de): Header-Dateien zur Entwicklung mit C++
361 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
362 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
363 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
364 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
365 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
366 License: GPL v2+ with free software exception
367 Group: Development/Libraries
368 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
369 Requires: libstdc++ = %{epoch}:%{version}-%{release}
370 Requires: glibc-devel
371 Obsoletes: libg++-devel
372 Obsoletes: libstdc++3-devel
374 %description -n libstdc++-devel
375 This is the GNU implementation of the standard C++ libraries. This
376 package includes the header files needed for C++ development and
377 library documentation.
379 %description -n libstdc++-devel -l es
380 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
381 paquete incluye los archivos de inclusión y bibliotecas necesarios
382 para desarrollo de programas en lenguaje C++.
384 %description -n libstdc++-devel -l pl
385 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
386 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
387 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
389 %description -n libstdc++-devel -l pt_BR
390 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
391 para desenvolvimento de programas C++.
393 %package -n libstdc++-static
394 Summary: Static C++ standard library
395 Summary(es): Biblioteca estándar estática de C++
396 Summary(pl): Statyczna biblioteka standardowa C++
397 License: GPL v2+ with free software exception
398 Group: Development/Libraries
399 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
401 %description -n libstdc++-static
402 Static C++ standard library.
404 %description -n libstdc++-static -l es
405 Biblioteca estándar estática de C++.
407 %description -n libstdc++-static -l pl
408 Statyczna biblioteka standardowa C++.
411 Summary: Fortran 95 support for gcc
412 Summary(es): Soporte de Fortran 95 para gcc
413 Summary(pl): Obs³uga Fortranu 95 dla gcc
414 Summary(pt_BR): Suporte Fortran 95 para o GCC
415 Group: Development/Languages/Fortran
416 Requires: libgfortran = %{epoch}:%{version}-%{release}
417 Provides: gcc-g77 = %{epoch}:%{version}-%{release}
422 This package adds support for compiling Fortran 95 programs with the
425 %description fortran -l es
426 Este paquete añade soporte para compilar programas escritos en Fortran
427 95 con el compilador GNU.
429 %description fortran -l pl
430 Ten pakiet dodaje obs³ugê Fortranu 95 do kompilatora gcc. Jest
431 potrzebny do kompilowania programów pisanych w jêzyku Fortran 95.
433 %description fortran -l pt_BR
434 Suporte Fortran 95 para o GCC.
436 %package -n libgfortran
437 Summary: Fortran 95 Libraries
438 Summary(es): Bibliotecas de Fortran 95
439 Summary(pl): Biblioteki Fortranu 95
444 %description -n libgfortran
445 Fortran 95 Libraries.
447 %description -n libgfortran -l es
448 Bibliotecas de Fortran 95.
450 %description -n libgfortran -l pl
451 Biblioteki Fortranu 95.
453 %package -n libgfortran-static
454 Summary: Static Fortran 95 Libraries
455 Summary(es): Bibliotecas estáticas de Fortran 95
456 Summary(pl): Statyczne Biblioteki Fortranu 95
458 Group: Development/Libraries
459 Requires: libgfortran = %{epoch}:%{version}-%{release}
460 Obsoletes: libg2c-static
462 %description -n libgfortran-static
463 Static Fortran 95 Libraries.
465 %description -n libgfortran-static -l es
466 Bibliotecas estáticas de Fortran 95.
468 %description -n libgfortran-static -l pl
469 Statyczne biblioteki Fortranu 95.
472 Summary: Java support for gcc
473 Summary(es): Soporte de Java para gcc
474 Summary(pl): Obs³uga Javy dla gcc
475 Group: Development/Languages/Java
476 Requires: %{name} = %{epoch}:%{version}-%{release}
477 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
478 Provides: gcj = %{epoch}:%{version}-%{release}
479 Provides: gcc-java-tools
481 Obsoletes: gcc-java-tools
484 This package adds experimental support for compiling Java(TM) programs
485 and bytecode into native code. To use this you will also need the
488 %description java -l es
489 Este paquete añade soporte experimental para compilar programas
490 Java(tm) y su bytecode en código nativo. Para usarlo también va a
491 necesitar el paquete libgcj.
493 %description java -l pl
494 Ten pakiet dodaje mo¿liwo¶æ kompilowania programów w jêzyku Java(TM)
495 oraz bajtkodu do kodu natywnego. Do u¿ywania go wymagany jest
496 dodatkowo pakiet libgcj.
499 Summary: Java Class Libraries
500 Summary(es): Bibliotecas de clases de Java
501 Summary(pl): Biblioteki Klas Javy
502 License: GPL with limited linking exception
506 %description -n libgcj
507 Java Class Libraries.
509 %description -n libgcj -l es
510 Bibliotecas de clases de Java.
512 %description -n libgcj -l pl
513 Biblioteki Klas Javy.
515 %package -n libgcj-devel
516 Summary: Development files for Java Class Libraries
517 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
518 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
519 License: GPL with limited linking exception
520 Group: Development/Libraries
521 Requires: libgcj = %{epoch}:%{version}-%{release}
523 Obsoletes: libgcj3-devel
525 %description -n libgcj-devel
526 Development files for Java Class Libraries.
528 %description -n libgcj-devel -l es
529 Ficheros de desarrollo para las bibliotecas de clases de Java.
531 %description -n libgcj-devel -l pl
532 Pliki nag³ówkowe dla Bibliotek Klas Javy.
534 %package -n libgcj-static
535 Summary: Static Java Class Libraries
536 Summary(es): Bibliotecas estáticas de clases de Java
537 Summary(pl): Statyczne Biblioteki Klas Javy
538 License: GPL with limited linking exception
539 Group: Development/Libraries
540 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
541 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
543 %description -n libgcj-static
544 Static Java Class Libraries.
546 %description -n libgcj-static -l es
547 Bibliotecas estáticas de clases de Java.
549 %description -n libgcj-static -l pl
550 Statyczne Biblioteki Klas Javy.
553 Summary: Foreign Function Interface library
554 Summary(es): Biblioteca de interfaz de funciones ajenas
555 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
559 %description -n libffi
560 The libffi library provides a portable, high level programming
561 interface to various calling conventions. This allows a programmer to
562 call any function specified by a call interface description at run
565 %description -n libffi -l es
566 La biblioteca libffi provee una interfaz portable de programación de
567 alto nivel para varias convenciones de llamada. Ello permite que un
568 programador llame una función cualquiera especificada por una
569 descripción de interfaz de llamada en el tiempo de ejecución.
571 %description -n libffi -l pl
572 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
573 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
574 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
577 %package -n libffi-devel
578 Summary: Development files for Foreign Function Interface library
579 Summary(es): Ficheros de desarrollo para libffi
580 Summary(pl): Pliki nag³ówkowe dla libffi
582 Group: Development/Libraries
583 Requires: libffi = %{epoch}:%{version}-%{release}
585 %description -n libffi-devel
586 Development files for Foreign Function Interface library.
588 %description -n libffi-devel -l es
589 Ficheros de desarrollo para libffi.
591 %description -n libffi-devel -l pl
592 Pliki nag³ówkowe dla libffi.
594 %package -n libffi-static
595 Summary: Static Foreign Function Interface library
596 Summary(es): Biblioteca libffi estática
597 Summary(pl): Statyczna biblioteka libffi
599 Group: Development/Libraries
600 Requires: libffi-devel = %{epoch}:%{version}-%{release}
602 %description -n libffi-static
603 Static Foreign Function Interface library.
605 %description -n libffi-static -l es
606 Biblioteca libffi estática.
608 %description -n libffi-static -l pl
609 Statyczna biblioteka libffi.
612 Summary: Objective C support for gcc
613 Summary(de): Objektive C-Unterstützung für gcc
614 Summary(es): Soporte de Objective C para gcc
615 Summary(fr): Gestion d'Objective C pour gcc
616 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
617 Summary(tr): gcc için Objective C desteði
618 Group: Development/Languages
619 Requires: %{name} = %{epoch}:%{version}-%{release}
620 Requires: libobjc = %{epoch}:%{version}-%{release}
625 This package adds Objective C support to the GNU Compiler Collection.
626 Objective C is a object oriented derivative of the C language, mainly
627 used on systems running NeXTSTEP. This package does not include the
628 standard objective C object library.
630 %description objc -l de
631 Dieses Paket ergänzt den GNU-Compiler-Collection durch
632 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
633 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
634 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
636 %description objc -l es
637 Este paquete añade soporte de Objective C al GCC (colección de
638 compiladores GNU). Objective C es un lenguaje orientado a objetos
639 derivado de C, principalmente usado en sistemas que funcionan bajo
640 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
643 %description objc -l fr
644 Ce package ajoute un support Objective C a la collection de
645 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
646 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
647 package n'inclue pas la bibliothéque Objective C standard.
649 %description objc -l pl
650 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
651 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
652 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
653 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
655 %description objc -l tr
656 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
657 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
658 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
659 kitaplýðý bu pakette yer almaz.
662 Summary: Objective C++ support for gcc
663 Summary(pl): Obs³uga jêzyka Objective C++ dla gcc
664 Group: Development/Languages
665 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
666 Requires: %{name}-objc = %{epoch}:%{version}-%{release}
669 This package adds Objective C++ support to the GNU Compiler
672 %description objc++ -l pl
673 Ten pakiet dodaje obs³ugê jêzyka Objective C++ do zestawu
674 kompilatorów GNU Compiler Collection.
677 Summary: Objective C Libraries
678 Summary(es): Bibliotecas de Objective C
679 Summary(pl): Biblioteki Obiektowego C
680 License: GPL v2+ with linking exception
684 %description -n libobjc
685 Objective C Libraries.
687 %description -n libobjc -l es
688 Bibliotecas de Objective C.
690 %description -n libobjc -l pl
691 Biblioteki Obiektowego C.
693 %package -n libobjc-static
694 Summary: Static Objective C Libraries
695 Summary(es): Bibliotecas estáticas de Objective C
696 Summary(pl): Statyczne Biblioteki Obiektowego C
697 License: GPL v2+ with linking exception
698 Group: Development/Libraries
699 Requires: libobjc = %{epoch}:%{version}-%{release}
701 %description -n libobjc-static
702 Static Objective C Libraries.
704 %description -n libobjc-static -l es
705 Bibliotecas estáticas de Objective C.
707 %description -n libobjc-static -l pl
708 Statyczne biblioteki Obiektowego C.
711 #setup -q -n gcc-%{version}
712 %setup -q -n gcc-4.1-%{_snap}
716 %{!?debug:%patch2 -p1}
729 # because we distribute modified version of gcc...
730 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
731 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
733 mv ChangeLog ChangeLog.general
739 cp -f /usr/share/automake/config.sub .
741 rm -rf obj-%{_target_platform}
742 install -d obj-%{_target_platform}
743 cd obj-%{_target_platform}
745 CFLAGS="%{rpmcflags}" \
746 CXXFLAGS="%{rpmcxxflags}" \
749 --prefix=%{_prefix} \
750 --libdir=%{_libdir} \
751 --libexecdir=%{_libdir} \
752 --infodir=%{_infodir} \
753 --mandir=%{_mandir} \
755 --enable-threads=posix \
756 --enable-__cxa_atexit \
757 --enable-languages="c,c++%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}" \
760 --%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \
765 --with-demangler-in-ld \
767 --with-slibdir=%{_slibdir} \
772 --enable-libgcj-multifile \
773 --enable-libgcj-database \
780 %{__make} -C obj-%{_target_platform} \
781 %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \
782 GCJFLAGS="%{rpmcflags}" \
783 BOOT_CFLAGS="%{rpmcflags}" \
784 STAGE1_CFLAGS="%{rpmcflags} -O0" \
785 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
789 %{?with_tests:%{__make} -k -C obj-%{_target_platform} check}
792 rm -rf $RPM_BUILD_ROOT
793 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
795 cd obj-%{_target_platform}
797 %{__make} -j1 install \
799 infodir=%{_infodir} \
800 DESTDIR=$RPM_BUILD_ROOT
802 install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version}
805 ln -sf %{_bindir}/sparc64-pld-linux-gcc \
806 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
809 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
810 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
811 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
814 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
815 echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
819 # move ada shared libraries to proper place...
820 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
821 $RPM_BUILD_ROOT%{_libdir}
822 # check if symlink to be made is valid
823 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so.1
824 ln -sf libgnat-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so
825 ln -sf libgnarl-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-4.0.so
826 ln -sf libgnat-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
827 ln -sf libgnarl-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
834 cp -f libjava/READ* java-doc
835 cp -f fastjar/README java-doc/README.fastjar
836 cp -f libffi/README java-doc/README.libffi
837 cp -f libffi/LICENSE java-doc/LICENSE.libffi
838 ln -sf %{_javadir}/libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
841 cp -f libobjc/README gcc/objc/README.libobjc
844 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
845 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
846 for f in libmudflap.la libmudflapth.la libstdc++.la libsupc++.la \
847 %{?with_fortran:libgfortran.la libgfortranbegin.la} \
848 %{?with_java:libgcj.la libffi.la} \
849 %{?with_objc:libobjc.la};
851 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
852 mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
854 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
855 mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
859 # include/ contains install-tools/include/* and headers that were fixed up
860 # by fixincludes, we don't want former
861 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
863 # we have to save these however
864 %{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jvmpi.h} $gccdir/tmp}
865 %{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
866 mv -f $gccdir/include/syslimits.h $gccdir/tmp
867 rm -rf $gccdir/include
868 mv -f $gccdir/tmp $gccdir/include
869 cp -f $gccdir/install-tools/include/*.h $gccdir/include
870 # but we don't want anything more from install-tools
871 rm -rf $gccdir/install-tools
874 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
876 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
879 %find_lang libstdc\+\+
881 # cvs snap doesn't contain (release does) below files,
882 # so let's create dummy entries to satisfy %%files.
883 [ ! -f NEWS ] && touch NEWS
884 [ ! -f libgfortran/AUTHORS ] && touch libgfortran/AUTHORS
885 [ ! -f libgfortran/README ] && touch libgfortran/README
888 rm -rf $RPM_BUILD_ROOT
891 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
894 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
897 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
900 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
903 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
906 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
909 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
912 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
914 %post -p /sbin/ldconfig -n libgcc
915 %postun -p /sbin/ldconfig -n libgcc
916 %post -p /sbin/ldconfig -n libmudflap
917 %postun -p /sbin/ldconfig -n libmudflap
918 %post -p /sbin/ldconfig -n libgnat
919 %postun -p /sbin/ldconfig -n libgnat
920 %post -p /sbin/ldconfig -n libstdc++
921 %postun -p /sbin/ldconfig -n libstdc++
922 %post -p /sbin/ldconfig -n libgfortran
923 %postun -p /sbin/ldconfig -n libgfortran
924 %post -p /sbin/ldconfig -n libgcj
925 %postun -p /sbin/ldconfig -n libgcj
926 %post -p /sbin/ldconfig -n libffi
927 %postun -p /sbin/ldconfig -n libffi
928 %post -p /sbin/ldconfig -n libobjc
929 %postun -p /sbin/ldconfig -n libobjc
932 %defattr(644,root,root,755)
933 %doc ChangeLog.general MAINTAINERS NEWS
935 %doc gcc/{ChangeLog,ONEWS,README.Portability}
937 %dir %{_libdir}/gcc/*
938 %dir %{_libdir}/gcc/*/*
939 %dir %{_libdir}/gcc/*/*/include
941 %attr(755,root,root) %{_bindir}/*-gcc*
942 %attr(755,root,root) %{_bindir}/gcc
943 %attr(755,root,root) %{_bindir}/gccbug
944 %attr(755,root,root) %{_bindir}/gcov
945 %attr(755,root,root) %{_bindir}/cc
946 %attr(755,root,root) %{_bindir}/cpp
948 %{_mandir}/man1/cc.1*
949 %{_mandir}/man1/cpp.1*
950 %{_mandir}/man1/gcc.1*
951 %{_mandir}/man1/gcov.1*
956 %attr(755,root,root) /lib/cpp
958 %attr(755,root,root) %{_slibdir}/lib*.so
960 %dir %{_libdir}/gcc/*/*/32
961 %{_libdir}/gcc/*/*/32/libgcov.a
962 %{_libdir}/gcc/*/*/32/libgcc.a
963 %{_libdir}/gcc/*/*/32/libgcc_eh.a
964 %{_libdir}/gcc/*/*/32/libgcc_s.so
966 %{_libdir}/gcc/*/*/libgcov.a
967 %{_libdir}/gcc/*/*/libgcc.a
968 %{_libdir}/gcc/*/*/libgcc_eh.a
969 %{_libdir}/gcc/*/*/libgcc_s.so
970 %{_libdir}/gcc/*/*/specs
972 %{_libdir}/gcc/*/*/32/crt*.o
974 %{_libdir}/gcc/*/*/crt*.o
975 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
976 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
978 %{_libdir}/gcc/*/*/include/*.h
981 %defattr(644,root,root,755)
983 %attr(755,root,root) %{_slibdir32}/lib*.so.*
985 %attr(755,root,root) %{_slibdir}/lib*.so.*
988 %defattr(644,root,root,755)
990 %attr(755,root,root) %{_libdir32}/libmudflap*.so.*.*.*
992 %attr(755,root,root) %{_libdir}/libmudflap*.so.*.*.*
994 %files -n libmudflap-devel
995 %defattr(644,root,root,755)
996 %{_includedir}/mf-runtime.h
998 %{_libdir32}/libmudflap*.la
999 %attr(755,root,root) %{_libdir32}/libmudflap*.so
1001 %{_libdir}/libmudflap*.la
1002 %attr(755,root,root) %{_libdir}/libmudflap*.so
1004 %files -n libmudflap-static
1005 %defattr(644,root,root,755)
1006 %if %{with multilib}
1007 %{_libdir32}/libmudflap*.a
1009 %{_libdir}/libmudflap*.a
1013 %defattr(644,root,root,755)
1014 %doc gcc/ada/ChangeLog
1015 %attr(755,root,root) %{_bindir}/gnat*
1016 %attr(755,root,root) %{_bindir}/gpr*
1017 %attr(755,root,root) %{_libdir}/libgnarl*.so
1018 %attr(755,root,root) %{_libdir}/libgnat*.so
1019 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1020 %{_libdir}/gcc/*/*/adainclude
1021 %dir %{_libdir}/gcc/*/*/adalib
1022 %{_libdir}/gcc/*/*/adalib/*.ali
1023 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1024 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1026 %{_libdir}/gcc/*/*/adalib/libgmem.a
1031 %defattr(644,root,root,755)
1032 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1033 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1035 %files -n libgnat-static
1036 %defattr(644,root,root,755)
1037 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1038 %{_libdir}/gcc/*/*/adalib/libgnat.a
1042 %defattr(644,root,root,755)
1043 %doc gcc/cp/{ChangeLog,NEWS}
1044 %attr(755,root,root) %{_bindir}/g++
1045 %attr(755,root,root) %{_bindir}/*-g++
1046 %attr(755,root,root) %{_bindir}/c++
1047 %attr(755,root,root) %{_bindir}/*-c++
1048 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
1049 %if %{with multilib}
1050 %{_libdir32}/libsupc++.a
1051 %{_libdir32}/libsupc++.la
1053 %{_libdir}/libsupc++.a
1054 %{_libdir}/libsupc++.la
1055 %{_mandir}/man1/g++.1*
1057 %files -n libstdc++ -f libstdc++.lang
1058 %defattr(644,root,root,755)
1059 %doc libstdc++-v3/{ChangeLog,README}
1060 %if %{with multilib}
1061 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
1063 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
1065 %files -n libstdc++-devel
1066 %defattr(644,root,root,755)
1067 %doc libstdc++-v3/docs/html
1068 %dir %{_includedir}/c++
1069 %{_includedir}/c++/%{version}
1071 %exclude %{_includedir}/c++/%{version}/java
1072 %exclude %{_includedir}/c++/%{version}/javax
1073 %exclude %{_includedir}/c++/%{version}/gcj
1074 %exclude %{_includedir}/c++/%{version}/gnu
1077 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
1079 %if %{with multilib}
1080 %{_libdir32}/libstdc++.la
1081 %attr(755,root,root) %{_libdir32}/libstdc++.so
1083 %{_libdir}/libstdc++.la
1084 %attr(755,root,root) %{_libdir}/libstdc++.so
1086 %files -n libstdc++-static
1087 %defattr(644,root,root,755)
1088 %if %{with multilib}
1089 %{_libdir32}/libstdc++.a
1091 %{_libdir}/libstdc++.a
1095 %defattr(644,root,root,755)
1096 %doc gcc/fortran/ChangeLog
1097 %attr(755,root,root) %{_bindir}/g95
1098 %attr(755,root,root) %{_bindir}/gfortran
1099 %{_infodir}/gfortran*
1100 %attr(755,root,root) %{_libdir}/gcc/*/*/f951
1101 %if %{with multilib}
1102 %{_libdir32}/libgfortranbegin.a
1103 %{_libdir32}/libgfortranbegin.la
1104 %{_libdir32}/libgfortran.la
1105 %attr(755,root,root) %{_libdir32}/libgfortran.so
1107 %{_libdir}/libgfortranbegin.a
1108 %{_libdir}/libgfortranbegin.la
1109 %{_libdir}/libgfortran.la
1110 %attr(755,root,root) %{_libdir}/libgfortran.so
1111 %{_mandir}/man1/g95.1*
1112 %{_mandir}/man1/gfortran.1*
1114 %files -n libgfortran
1115 %defattr(644,root,root,755)
1116 %doc libgfortran/{AUTHORS,README,ChangeLog}
1117 %if %{with multilib}
1118 %attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
1120 %attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
1122 %files -n libgfortran-static
1123 %defattr(644,root,root,755)
1124 %if %{with multilib}
1125 %{_libdir32}/libgfortran.a
1127 %{_libdir}/libgfortran.a
1132 %defattr(644,root,root,755)
1133 %doc gcc/java/ChangeLog java-doc/*
1134 %attr(755,root,root) %{_bindir}/fastjar
1135 %attr(755,root,root) %{_bindir}/gcj*
1136 %attr(755,root,root) %{_bindir}/gjnih
1137 %attr(755,root,root) %{_bindir}/grepjar
1138 %attr(755,root,root) %{_bindir}/grmi*
1139 %attr(755,root,root) %{_bindir}/jcf-dump
1140 %attr(755,root,root) %{_bindir}/jv-*
1141 %attr(755,root,root) %{_bindir}/*-gcj*
1142 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1143 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1144 %{_infodir}/fastjar*
1146 %{_mandir}/man1/fastjar*
1147 %{_mandir}/man1/gcj*
1148 %{_mandir}/man1/gjnih*
1149 %{_mandir}/man1/grepjar*
1150 %{_mandir}/man1/grmi*
1151 %{_mandir}/man1/jcf-*
1152 %{_mandir}/man1/jv-*
1155 %defattr(644,root,root,755)
1156 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1157 %attr(755,root,root) %{_bindir}/addr2name.awk
1158 %attr(755,root,root) %{_bindir}/gij
1159 %dir %{_libdir}/gcj-%{version}
1160 %{_libdir}/gcj-%{version}/classmap.db
1161 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1162 %attr(755,root,root) %{_libdir}/libgij.so.*.*.*
1163 %{_libdir}/logging.properties
1164 %{_javadir}/libgcj*.jar
1165 %{_mandir}/man1/gij*
1167 %files -n libgcj-devel
1168 %defattr(644,root,root,755)
1169 %{_includedir}/c++/%{version}/java
1170 %{_includedir}/c++/%{version}/javax
1171 %{_includedir}/c++/%{version}/gcj
1172 %{_includedir}/c++/%{version}/gnu
1173 %{_libdir}/gcc/*/*/include/gcj
1174 %{_libdir}/gcc/*/*/include/jawt.h
1175 %{_libdir}/gcc/*/*/include/jawt_md.h
1176 %{_libdir}/gcc/*/*/include/jni.h
1177 %{_libdir}/gcc/*/*/include/jvmpi.h
1178 %dir %{_libdir}/security
1179 %{_libdir}/security/*
1180 %{_libdir}/lib*cj.spec
1181 %{_libdir}/lib*cj*.la
1182 %attr(755,root,root) %{_libdir}/lib*cj*.so
1183 %{_libdir}/libgij.la
1184 %attr(755,root,root) %{_libdir}/libgij.so
1185 %{_pkgconfigdir}/libgcj.pc
1187 %files -n libgcj-static
1188 %defattr(644,root,root,755)
1189 %{_libdir}/lib*cj*.a
1193 %defattr(644,root,root,755)
1194 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1195 %attr(755,root,root) %{_libdir}/libffi.so.*.*.*
1197 %files -n libffi-devel
1198 %defattr(644,root,root,755)
1199 %{_libdir}/gcc/*/*/include/ffitarget.h
1200 %attr(755,root,root) %{_libdir}/libffi.so
1201 %{_libdir}/libffi.la
1202 %{_includedir}/ffi.h
1204 %files -n libffi-static
1205 %defattr(644,root,root,755)
1211 %defattr(644,root,root,755)
1212 %doc gcc/objc/README
1213 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1214 %if %{with multilib}
1215 %attr(755,root,root) %{_libdir32}/libobjc.so
1216 %{_libdir32}/libobjc.la
1218 %attr(755,root,root) %{_libdir}/libobjc.so
1219 %{_libdir}/libobjc.la
1220 %{_libdir}/gcc/*/*/include/objc
1223 %defattr(644,root,root,755)
1224 %doc libobjc/{ChangeLog,README*}
1225 %if %{with multilib}
1226 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
1228 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
1230 %files -n libobjc-static
1231 %defattr(644,root,root,755)
1232 %if %{with multilib}
1233 %{_libdir32}/libobjc.a
1235 %{_libdir}/libobjc.a
1240 %defattr(644,root,root,755)
1241 %doc gcc/objcp/ChangeLog
1242 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1objplus