3 %bcond_without ada # build without ADA support
4 %bcond_without cxx # build without C++ support
5 %bcond_without fortran # build without Fortran support
6 %bcond_without java # build without Java support
7 %bcond_without objc # build without Objective-C support
8 %bcond_without objcxx # build without Objective-C++ support
9 %bcond_with multilib # build with multilib support (it needs glibc[32&64]-devel)
10 %bcond_with profiling # build with profiling
11 %bcond_without bootstrap # omit 3-stage bootstrap
12 %bcond_with tests # torture gcc
15 # the latest chrpath(64) can't handle 32-bit binaries :/
16 %define _noautochrpath .*/lib/.*\\.so.*
28 %if %{without bootstrap}
29 %undefine with_profiling
32 %ifnarch %{x8664} ppc64 s390x sparc64
33 %undefine with_multilib
36 Summary: GNU Compiler Collection: the C compiler and shared files
37 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
38 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
39 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
42 %define _snap 20050915T1259UTC
46 Group: Development/Languages
47 #Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
48 #Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/4.1-%{_snap}/gcc-4.1-%{_snap}.tar.bz2
49 Source0: gcc-4.1-%{_snap}.tar.bz2
50 # Source0-md5: 7798c7c1ae8a9bbe49020f8dc8788e5b
51 Source1: %{name}-optimize-la.pl
52 Patch0: %{name}-info.patch
53 Patch1: %{name}-nolocalefiles.patch
54 Patch2: %{name}-nodebug.patch
55 Patch3: %{name}-ada-link-new-libgnat.patch
56 Patch4: %{name}-ada-link.patch
57 Patch5: %{name}-alpha-ada_fix.patch
58 Patch6: %{name}-keep-volatile-sematics.patch
60 Patch10: %{name}-pr7776.patch
61 Patch11: %{name}-pr20297.patch
62 Patch12: %{name}-pr23128.patch
63 Patch13: %{name}-pr22533.patch
64 Patch14: %{name}-x87-mmx-switch.patch
65 Patch15: %{name}-x87-mmx-eh.patch
66 URL: http://gcc.gnu.org/
67 BuildRequires: autoconf
68 %{?with_tests:BuildRequires: autogen}
69 BuildRequires: automake
70 BuildRequires: binutils >= 2:2.15.94.0.1
72 %{?with_java:BuildRequires: cairo-devel >= 0.5.0}
73 %{?with_tests:BuildRequires: dejagnu}
74 BuildRequires: fileutils >= 4.0.41
77 BuildRequires: gcc(ada)
78 BuildRequires: gcc-ada
80 BuildRequires: gettext-devel
81 BuildRequires: glibc-devel >= %{!?with_multilib:2.2.5-20}%{?with_multilib:6:2.3.4-1.5}
83 BuildRequires: gmp-devel
84 BuildRequires: libmpfr-devel
86 %{?with_java:BuildRequires: pango-devel}
87 BuildRequires: perl-devel
88 %{?with_java:BuildRequires: pkgconfig}
89 BuildRequires: rpmbuild(macros) >= 1.211
90 BuildRequires: texinfo >= 4.1
91 BuildRequires: zlib-devel
92 # AS_NEEDED directive for dynamic linker
93 # http://sources.redhat.com/ml/glibc-cvs/2005-q1/msg00614.html
94 # http://sources.redhat.com/ml/binutils/2005-01/msg00288.html
95 Requires: binutils >= 2:2.16.90.0.1-0.3
96 Requires: libgcc = %{epoch}:%{version}-%{release}
97 Provides: cpp = %{epoch}:%{version}-%{release}
98 %{?with_ada:Provides: gcc(ada)}
99 %{?with_multilib:Provides: gcc(multilib)}
106 Conflicts: glibc-devel < 2.2.5-20
107 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
109 %define _slibdir /%{_lib}
111 # 32-bit environment on x86-64,ppc64,s390x,sparc64
112 %define _slibdir32 /lib
113 %define _libdir32 /usr/lib
117 A compiler aimed at integrating all the optimizations and features
118 necessary for a high-performance and stable development environment.
120 This package contains the C compiler and some files shared by various
121 parts of the GNU Compiler Collection. In order to use another GCC
122 compiler you will need to install the appropriate subpackage.
125 Un compilador que intenta integrar todas las optimalizaciones y
126 características necesarias para un entorno de desarrollo eficaz y
129 Este paquete contiene el compilador de C y unos ficheros compartidos
130 por varias partes de la colección de compiladores GNU (GCC). Para usar
131 otro compilador de GCC será necesario que instale el subpaquete
135 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
136 wyprodukowania szybkiego i stabilnego kodu wynikowego.
138 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
139 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
140 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
142 %description -l pt_BR
143 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
144 GNU Compiler Collection.
147 Summary: Shared gcc library
148 Summary(es): Biblioteca compartida de gcc
149 Summary(pl): Biblioteka gcc
150 Summary(pt_BR): Biblioteca runtime para o GCC
151 License: GPL with unlimited link permission
155 %description -n libgcc
158 %description -n libgcc -l es
159 Biblioteca compartida de gcc.
161 %description -n libgcc -l pl
162 Biblioteka dynamiczna gcc.
164 %description -n libgcc -l pt_BR
165 Biblioteca runtime para o GCC.
167 %package -n libmudflap
168 Summary: GCC mudflap shared support library
169 Summary(pl): Wspó³dzielona biblioteka wspomagaj±ca GCC mudflap
170 License: GPL v2+ with unlimited link permission
173 %description -n libmudflap
174 The libmudflap libraries are used by GCC for instrumenting pointer and
175 array dereferencing operations.
177 %description -n libmudflap -l pl
178 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
179 dereferencji wspa¼ników i tablic.
181 %package -n libmudflap-devel
182 Summary: Development files for GCC mudflap library
183 Summary(pl): Pliki programistyczne biblioteki GCC mudflap
184 License: GPL v2+ with unlimited link permission
185 Group: Development/Libraries
186 Requires: libmudflap = %{epoch}:%{version}-%{release}
188 %description -n libmudflap-devel
189 The libmudflap libraries are used by GCC for instrumenting pointer and
190 array dereferencing operations. This package contains development
193 %description -n libmudflap-devel -l pl
194 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
195 dereferencji wspa¼ników i tablic. Ten pakiet zawiera pliki
198 %package -n libmudflap-static
199 Summary: Static GCC mudflap library
200 Summary(pl): Statyczna biblioteka GCC mudflap
201 License: GPL v2+ with unlimited link permission
202 Group: Development/Libraries
203 Requires: libmudflap-devel = %{epoch}:%{version}-%{release}
205 %description -n libmudflap-static
206 The libmudflap libraries are used by GCC for instrumenting pointer and
207 array dereferencing operations. This package contains static
210 %description -n libmudflap-static -l pl
211 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
212 dereferencji wspa¼ników i tablic. Ten pakiet zawiera biblioteki
216 Summary: Ada support for gcc
217 Summary(es): Soporte de Ada para gcc
218 Summary(pl): Obs³uga Ady do gcc
219 Group: Development/Languages
220 Requires: %{name} = %{epoch}:%{version}-%{release}
221 Requires: libgnat = %{epoch}:%{version}-%{release}
223 Obsoletes: gnat-devel
226 This package adds experimental support for compiling Ada programs.
228 %description ada -l es
229 Este paquete añade soporte experimental para compilar programas en
232 %description ada -l pl
233 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
237 Summary: Ada standard libraries
238 Summary(es): Bibliotecas estándares de Ada
239 Summary(pl): Biblioteki standardowe dla Ady
240 License: GPL v2+ with linking exception
245 %description -n libgnat
246 This package contains shared libraries needed to run programs written
249 %description -n libgnat -l es
250 Este paquete contiene las bibliotecas compartidas necesarias para
251 ejecutar programas escritos en Ada.
253 %description -n libgnat -l pl
254 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
257 %package -n libgnat-static
258 Summary: Static Ada standard libraries
259 Summary(pl): Statyczne biblioteki standardowe dla Ady
260 License: GPL v2+ with linking exception
261 Group: Development/Libraries
262 Obsoletes: gnat-static
264 %description -n libgnat-static
265 This package contains static libraries for programs written in Ada.
267 %description -n libgnat-static -l pl
268 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
272 Summary: C++ support for gcc
273 Summary(es): Soporte de C++ para gcc
274 Summary(pl): Obs³uga C++ dla gcc
275 Summary(pt_BR): Suporte C++ para o gcc
276 Group: Development/Languages
277 Requires: %{name} = %{epoch}:%{version}-%{release}
282 This package adds C++ support to the GNU Compiler Collection. It
283 includes support for most of the current C++ specification, including
284 templates and exception handling. It does not include a standard C++
285 library, which is available separately.
287 %description c++ -l de
288 Dieses Paket enthält die C++-Unterstützung für den
289 GNU-Compiler-Collection. Es unterstützt die aktuelle
290 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
291 C++-Standard-Library ist nicht enthalten - sie ist getrennt
294 %description c++ -l es
295 Este paquete añade soporte de C++ al GCC (colección de compiladores
296 GNU). Ello incluye el soporte para la mayoría de la especificación
297 actual de C++, incluyendo plantillas y manejo de excepciones. No
298 incluye la biblioteca estándar de C++, la que es disponible separada.
300 %description c++ -l fr
301 Ce package ajoute un support C++ a la collection de compilateurs GNU.
302 Il comprend un support pour la plupart des spécifications actuelles de
303 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
304 une bibliothéque C++ standard, qui est disponible séparément.
306 %description c++ -l pl
307 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
308 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
309 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
311 %description c++ -l pt_BR
312 Este pacote adiciona suporte C++ para o gcc.
314 %description c++ -l tr
315 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
316 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
317 C++ kitaplýðý bu pakette yer almaz.
319 %package -n libstdc++
320 Summary: GNU C++ library
321 Summary(es): Biblioteca C++ de GNU
322 Summary(pl): Biblioteki GNU C++
323 Summary(pt_BR): Biblioteca C++ GNU
324 License: GPL v2+ with free software exception
327 Obsoletes: libstdc++3
329 %description -n libstdc++
330 This is the GNU implementation of the standard C++ libraries, along
331 with additional GNU tools. This package includes the shared libraries
332 necessary to run C++ applications.
334 %description -n libstdc++ -l de
335 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
336 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
337 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
339 %description -n libstdc++ -l es
340 Este es el soporte de las bibliotecas padrón del C++, junto con
341 herramientas GNU adicionales. El paquete incluye las bibliotecas
342 compartidas necesarias para ejecutar aplicaciones C++.
344 %description -n libstdc++ -l fr
345 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
346 des outils GNU supplémentaires. Ce package comprend les librairies
347 partagées nécessaires à l'exécution d'application C++.
349 %description -n libstdc++ -l pl
350 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
351 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
352 uruchomienia aplikacji napisanych w C++.
354 %description -n libstdc++ -l pt_BR
355 Este pacote é uma implementação da biblioteca padrão C++ v3, um
356 subconjunto do padrão ISO 14882.
358 %description -n libstdc++ -l tr
359 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
360 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
362 %package -n libstdc++-devel
363 Summary: Header files and documentation for C++ development
364 Summary(de): Header-Dateien zur Entwicklung mit C++
365 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
366 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
367 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
368 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
369 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
370 License: GPL v2+ with free software exception
371 Group: Development/Libraries
372 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
373 Requires: libstdc++ = %{epoch}:%{version}-%{release}
374 Requires: glibc-devel
375 Obsoletes: libg++-devel
376 Obsoletes: libstdc++3-devel
378 %description -n libstdc++-devel
379 This is the GNU implementation of the standard C++ libraries. This
380 package includes the header files needed for C++ development and
381 library documentation.
383 %description -n libstdc++-devel -l es
384 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
385 paquete incluye los archivos de inclusión y bibliotecas necesarios
386 para desarrollo de programas en lenguaje C++.
388 %description -n libstdc++-devel -l pl
389 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
390 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
391 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
393 %description -n libstdc++-devel -l pt_BR
394 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
395 para desenvolvimento de programas C++.
397 %package -n libstdc++-static
398 Summary: Static C++ standard library
399 Summary(es): Biblioteca estándar estática de C++
400 Summary(pl): Statyczna biblioteka standardowa C++
401 License: GPL v2+ with free software exception
402 Group: Development/Libraries
403 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
405 %description -n libstdc++-static
406 Static C++ standard library.
408 %description -n libstdc++-static -l es
409 Biblioteca estándar estática de C++.
411 %description -n libstdc++-static -l pl
412 Statyczna biblioteka standardowa C++.
415 Summary: Fortran 95 support for gcc
416 Summary(es): Soporte de Fortran 95 para gcc
417 Summary(pl): Obs³uga Fortranu 95 dla gcc
418 Summary(pt_BR): Suporte Fortran 95 para o GCC
419 Group: Development/Languages/Fortran
420 Requires: libgfortran = %{epoch}:%{version}-%{release}
421 Provides: gcc-g77 = %{epoch}:%{version}-%{release}
426 This package adds support for compiling Fortran 95 programs with the
429 %description fortran -l es
430 Este paquete añade soporte para compilar programas escritos en Fortran
431 95 con el compilador GNU.
433 %description fortran -l pl
434 Ten pakiet dodaje obs³ugê Fortranu 95 do kompilatora gcc. Jest
435 potrzebny do kompilowania programów pisanych w jêzyku Fortran 95.
437 %description fortran -l pt_BR
438 Suporte Fortran 95 para o GCC.
440 %package -n libgfortran
441 Summary: Fortran 95 Libraries
442 Summary(es): Bibliotecas de Fortran 95
443 Summary(pl): Biblioteki Fortranu 95
448 %description -n libgfortran
449 Fortran 95 Libraries.
451 %description -n libgfortran -l es
452 Bibliotecas de Fortran 95.
454 %description -n libgfortran -l pl
455 Biblioteki Fortranu 95.
457 %package -n libgfortran-static
458 Summary: Static Fortran 95 Libraries
459 Summary(es): Bibliotecas estáticas de Fortran 95
460 Summary(pl): Statyczne Biblioteki Fortranu 95
462 Group: Development/Libraries
463 Requires: libgfortran = %{epoch}:%{version}-%{release}
464 Obsoletes: libg2c-static
466 %description -n libgfortran-static
467 Static Fortran 95 Libraries.
469 %description -n libgfortran-static -l es
470 Bibliotecas estáticas de Fortran 95.
472 %description -n libgfortran-static -l pl
473 Statyczne biblioteki Fortranu 95.
476 Summary: Java support for gcc
477 Summary(es): Soporte de Java para gcc
478 Summary(pl): Obs³uga Javy dla gcc
479 Group: Development/Languages/Java
480 Requires: %{name} = %{epoch}:%{version}-%{release}
481 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
482 Provides: gcj = %{epoch}:%{version}-%{release}
483 Provides: gcc-java-tools
485 Obsoletes: gcc-java-tools
488 This package adds experimental support for compiling Java(TM) programs
489 and bytecode into native code. To use this you will also need the
492 %description java -l es
493 Este paquete añade soporte experimental para compilar programas
494 Java(tm) y su bytecode en código nativo. Para usarlo también va a
495 necesitar el paquete libgcj.
497 %description java -l pl
498 Ten pakiet dodaje mo¿liwo¶æ kompilowania programów w jêzyku Java(TM)
499 oraz bajtkodu do kodu natywnego. Do u¿ywania go wymagany jest
500 dodatkowo pakiet libgcj.
503 Summary: Java Class Libraries
504 Summary(es): Bibliotecas de clases de Java
505 Summary(pl): Biblioteki Klas Javy
506 License: GPL with limited linking exception
510 %description -n libgcj
511 Java Class Libraries.
513 %description -n libgcj -l es
514 Bibliotecas de clases de Java.
516 %description -n libgcj -l pl
517 Biblioteki Klas Javy.
519 %package -n libgcj-devel
520 Summary: Development files for Java Class Libraries
521 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
522 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
523 License: GPL with limited linking exception
524 Group: Development/Libraries
525 Requires: libgcj = %{epoch}:%{version}-%{release}
527 Obsoletes: libgcj3-devel
529 %description -n libgcj-devel
530 Development files for Java Class Libraries.
532 %description -n libgcj-devel -l es
533 Ficheros de desarrollo para las bibliotecas de clases de Java.
535 %description -n libgcj-devel -l pl
536 Pliki nag³ówkowe dla Bibliotek Klas Javy.
538 %package -n libgcj-static
539 Summary: Static Java Class Libraries
540 Summary(es): Bibliotecas estáticas de clases de Java
541 Summary(pl): Statyczne Biblioteki Klas Javy
542 License: GPL with limited linking exception
543 Group: Development/Libraries
544 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
545 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
547 %description -n libgcj-static
548 Static Java Class Libraries.
550 %description -n libgcj-static -l es
551 Bibliotecas estáticas de clases de Java.
553 %description -n libgcj-static -l pl
554 Statyczne Biblioteki Klas Javy.
557 Summary: Foreign Function Interface library
558 Summary(es): Biblioteca de interfaz de funciones ajenas
559 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
563 %description -n libffi
564 The libffi library provides a portable, high level programming
565 interface to various calling conventions. This allows a programmer to
566 call any function specified by a call interface description at run
569 %description -n libffi -l es
570 La biblioteca libffi provee una interfaz portable de programación de
571 alto nivel para varias convenciones de llamada. Ello permite que un
572 programador llame una función cualquiera especificada por una
573 descripción de interfaz de llamada en el tiempo de ejecución.
575 %description -n libffi -l pl
576 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
577 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
578 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
581 %package -n libffi-devel
582 Summary: Development files for Foreign Function Interface library
583 Summary(es): Ficheros de desarrollo para libffi
584 Summary(pl): Pliki nag³ówkowe dla libffi
586 Group: Development/Libraries
587 Requires: libffi = %{epoch}:%{version}-%{release}
589 %description -n libffi-devel
590 Development files for Foreign Function Interface library.
592 %description -n libffi-devel -l es
593 Ficheros de desarrollo para libffi.
595 %description -n libffi-devel -l pl
596 Pliki nag³ówkowe dla libffi.
598 %package -n libffi-static
599 Summary: Static Foreign Function Interface library
600 Summary(es): Biblioteca libffi estática
601 Summary(pl): Statyczna biblioteka libffi
603 Group: Development/Libraries
604 Requires: libffi-devel = %{epoch}:%{version}-%{release}
606 %description -n libffi-static
607 Static Foreign Function Interface library.
609 %description -n libffi-static -l es
610 Biblioteca libffi estática.
612 %description -n libffi-static -l pl
613 Statyczna biblioteka libffi.
616 Summary: Objective C support for gcc
617 Summary(de): Objektive C-Unterstützung für gcc
618 Summary(es): Soporte de Objective C para gcc
619 Summary(fr): Gestion d'Objective C pour gcc
620 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
621 Summary(tr): gcc için Objective C desteði
622 Group: Development/Languages
623 Requires: %{name} = %{epoch}:%{version}-%{release}
624 Requires: libobjc = %{epoch}:%{version}-%{release}
629 This package adds Objective C support to the GNU Compiler Collection.
630 Objective C is a object oriented derivative of the C language, mainly
631 used on systems running NeXTSTEP. This package does not include the
632 standard objective C object library.
634 %description objc -l de
635 Dieses Paket ergänzt den GNU-Compiler-Collection durch
636 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
637 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
638 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
640 %description objc -l es
641 Este paquete añade soporte de Objective C al GCC (colección de
642 compiladores GNU). Objective C es un lenguaje orientado a objetos
643 derivado de C, principalmente usado en sistemas que funcionan bajo
644 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
647 %description objc -l fr
648 Ce package ajoute un support Objective C a la collection de
649 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
650 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
651 package n'inclue pas la bibliothéque Objective C standard.
653 %description objc -l pl
654 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
655 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
656 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
657 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
659 %description objc -l tr
660 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
661 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
662 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
663 kitaplýðý bu pakette yer almaz.
666 Summary: Objective C++ support for gcc
667 Summary(pl): Obs³uga jêzyka Objective C++ dla gcc
668 Group: Development/Languages
669 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
670 Requires: %{name}-objc = %{epoch}:%{version}-%{release}
673 This package adds Objective C++ support to the GNU Compiler
676 %description objc++ -l pl
677 Ten pakiet dodaje obs³ugê jêzyka Objective C++ do zestawu
678 kompilatorów GNU Compiler Collection.
681 Summary: Objective C Libraries
682 Summary(es): Bibliotecas de Objective C
683 Summary(pl): Biblioteki Obiektowego C
684 License: GPL v2+ with linking exception
688 %description -n libobjc
689 Objective C Libraries.
691 %description -n libobjc -l es
692 Bibliotecas de Objective C.
694 %description -n libobjc -l pl
695 Biblioteki Obiektowego C.
697 %package -n libobjc-static
698 Summary: Static Objective C Libraries
699 Summary(es): Bibliotecas estáticas de Objective C
700 Summary(pl): Statyczne Biblioteki Obiektowego C
701 License: GPL v2+ with linking exception
702 Group: Development/Libraries
703 Requires: libobjc = %{epoch}:%{version}-%{release}
705 %description -n libobjc-static
706 Static Objective C Libraries.
708 %description -n libobjc-static -l es
709 Bibliotecas estáticas de Objective C.
711 %description -n libobjc-static -l pl
712 Statyczne biblioteki Obiektowego C.
715 #setup -q -n gcc-%{version}
716 %setup -q -n gcc-4.1-%{_snap}
720 %{!?debug:%patch2 -p1}
734 # because we distribute modified version of gcc...
735 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
736 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
738 mv ChangeLog ChangeLog.general
744 cp -f /usr/share/automake/config.sub .
746 rm -rf obj-%{_target_platform}
747 install -d obj-%{_target_platform}
748 cd obj-%{_target_platform}
750 CFLAGS="%{rpmcflags}" \
751 CXXFLAGS="%{rpmcxxflags}" \
754 --prefix=%{_prefix} \
755 --libdir=%{_libdir} \
756 --libexecdir=%{_libdir} \
757 --infodir=%{_infodir} \
758 --mandir=%{_mandir} \
760 --enable-threads=posix \
761 --enable-__cxa_atexit \
762 --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}" \
765 --%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \
770 --with-demangler-in-ld \
772 --with-slibdir=%{_slibdir} \
774 %{?with_fortran:--enable-cmath} \
777 --enable-libgcj-multifile \
778 --enable-libgcj-database \
785 %{__make} -C obj-%{_target_platform} \
786 %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \
787 GCJFLAGS="%{rpmcflags}" \
788 BOOT_CFLAGS="%{rpmcflags}" \
789 STAGE1_CFLAGS="%{rpmcflags} -O0" \
790 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
794 %{?with_tests:%{__make} -k -C obj-%{_target_platform} check 2>&1 ||:}
797 rm -rf $RPM_BUILD_ROOT
798 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
800 cd obj-%{_target_platform}
802 %{__make} -j1 install \
804 infodir=%{_infodir} \
805 DESTDIR=$RPM_BUILD_ROOT
807 install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version}
810 ln -sf %{_bindir}/sparc64-pld-linux-gcc \
811 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
814 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
815 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
816 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
818 libssp=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libssp.so.*.*.*)
819 mv $RPM_BUILD_ROOT{%{_libdir}/$libssp,%{_slibdir}}
820 ln -sf %{_slibdir}/$libssp $RPM_BUILD_ROOT%{_libdir}/libssp.so
822 libssp=$($RPM_BUILD_ROOT%{_libdir32}; echo libssp.so.*.*.*`)
823 mv $RPM_BUILD_ROOT{%{_libdir32}/$libssp,%{_slibdir32}}
824 ln -sf %{_slibdir32}/$libssp $RPM_BUILD_ROOT%{_libdir32}/libssp.so
828 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
829 echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
833 # move ada shared libraries to proper place...
834 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
835 $RPM_BUILD_ROOT%{_libdir}
836 # check if symlink to be made is valid
837 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so.1
838 ln -sf libgnat-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so
839 ln -sf libgnarl-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-4.0.so
840 ln -sf libgnat-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
841 ln -sf libgnarl-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
848 cp -f libjava/READ* java-doc
849 cp -f fastjar/README java-doc/README.fastjar
850 cp -f libffi/README java-doc/README.libffi
851 cp -f libffi/LICENSE java-doc/LICENSE.libffi
852 ln -sf %{_javadir}/libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
855 cp -f libobjc/README gcc/objc/README.libobjc
858 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
859 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
860 for f in libmudflap.la libmudflapth.la libssp.la \
861 %{?with_cxx:libstdc++.la libsupc++.la} \
862 %{?with_fortran:libgfortran.la libgfortranbegin.la} \
863 %{?with_java:libgcj.la libffi.la} \
864 %{?with_objc:libobjc.la};
866 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
867 mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
869 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
870 mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
874 # include/ contains install-tools/include/* and headers that were fixed up
875 # by fixincludes, we don't want former
876 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
878 # we have to save these however
879 %{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jvmpi.h} $gccdir/tmp}
880 %{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
881 mv -f $gccdir/include/syslimits.h $gccdir/tmp
882 rm -rf $gccdir/include
883 mv -f $gccdir/tmp $gccdir/include
884 cp -f $gccdir/install-tools/include/*.h $gccdir/include
885 # but we don't want anything more from install-tools
886 rm -rf $gccdir/install-tools
889 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
891 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
894 %{?with_cxx:%find_lang libstdc\+\+}
896 # cvs snap doesn't contain (release does) below files,
897 # so let's create dummy entries to satisfy %%files.
898 [ ! -f NEWS ] && touch NEWS
899 [ ! -f libgfortran/AUTHORS ] && touch libgfortran/AUTHORS
900 [ ! -f libgfortran/README ] && touch libgfortran/README
903 rm -rf $RPM_BUILD_ROOT
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
915 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
918 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
921 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
924 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
927 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
929 %post -p /sbin/ldconfig -n libgcc
930 %postun -p /sbin/ldconfig -n libgcc
931 %post -p /sbin/ldconfig -n libmudflap
932 %postun -p /sbin/ldconfig -n libmudflap
933 %post -p /sbin/ldconfig -n libgnat
934 %postun -p /sbin/ldconfig -n libgnat
935 %post -p /sbin/ldconfig -n libstdc++
936 %postun -p /sbin/ldconfig -n libstdc++
937 %post -p /sbin/ldconfig -n libgfortran
938 %postun -p /sbin/ldconfig -n libgfortran
939 %post -p /sbin/ldconfig -n libgcj
940 %postun -p /sbin/ldconfig -n libgcj
941 %post -p /sbin/ldconfig -n libffi
942 %postun -p /sbin/ldconfig -n libffi
943 %post -p /sbin/ldconfig -n libobjc
944 %postun -p /sbin/ldconfig -n libobjc
947 %defattr(644,root,root,755)
948 %doc ChangeLog.general MAINTAINERS NEWS
950 %doc gcc/{ChangeLog,ONEWS,README.Portability}
952 %dir %{_libdir}/gcc/*
953 %dir %{_libdir}/gcc/*/*
954 %dir %{_libdir}/gcc/*/*/include
956 %attr(755,root,root) %{_bindir}/*-gcc*
957 %attr(755,root,root) %{_bindir}/gcc
958 %attr(755,root,root) %{_bindir}/gccbug
959 %attr(755,root,root) %{_bindir}/gcov
960 %attr(755,root,root) %{_bindir}/cc
961 %attr(755,root,root) %{_bindir}/cpp
965 %{_mandir}/man1/cc.1*
966 %{_mandir}/man1/cpp.1*
967 %{_mandir}/man1/gcc.1*
968 %{_mandir}/man1/gcov.1*
973 %attr(755,root,root) /lib/cpp
975 %attr(755,root,root) %{_slibdir}/lib*.so
977 %attr(755,root,root) %{_libdir}/libssp.a
978 %attr(755,root,root) %{_libdir}/libssp.so
979 %{_libdir}/libssp_nonshared.a
980 %{_libdir}/libssp_nonshared.la
982 %dir %{_libdir}/gcc/*/*/32
983 %{_libdir}/gcc/*/*/32/libgcov.a
984 %{_libdir}/gcc/*/*/32/libgcc.a
985 %{_libdir}/gcc/*/*/32/libgcc_eh.a
986 %{_libdir}/gcc/*/*/32/libgcc_s.so
987 %{_libdir32}/libssp.la
988 %attr(755,root,root) %{_libdir32}/libssp.a
989 %attr(755,root,root) %{_libdir32}/libssp.so
990 %{_libdir32}/libssp_nonshared.a
991 %{_libdir32}/libssp_nonshared.la
993 %{_libdir}/gcc/*/*/libgcov.a
994 %{_libdir}/gcc/*/*/libgcc.a
995 %{_libdir}/gcc/*/*/libgcc_eh.a
996 %{_libdir}/gcc/*/*/libgcc_s.so
997 %{_libdir}/gcc/*/*/specs
999 %{_libdir}/gcc/*/*/32/crt*.o
1001 %{_libdir}/gcc/*/*/crt*.o
1002 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
1003 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
1005 %{_libdir}/gcc/*/*/include/*.h
1008 %defattr(644,root,root,755)
1009 %if %{with multilib}
1010 %attr(755,root,root) %{_slibdir32}/lib*.so.*
1012 %attr(755,root,root) %{_slibdir}/lib*.so.*
1014 %files -n libmudflap
1015 %defattr(644,root,root,755)
1016 %if %{with multilib}
1017 %attr(755,root,root) %{_libdir32}/libmudflap*.so.*.*.*
1019 %attr(755,root,root) %{_libdir}/libmudflap*.so.*.*.*
1021 %files -n libmudflap-devel
1022 %defattr(644,root,root,755)
1023 %{_includedir}/mf-runtime.h
1024 %if %{with multilib}
1025 %{_libdir32}/libmudflap*.la
1026 %attr(755,root,root) %{_libdir32}/libmudflap*.so
1028 %{_libdir}/libmudflap*.la
1029 %attr(755,root,root) %{_libdir}/libmudflap*.so
1031 %files -n libmudflap-static
1032 %defattr(644,root,root,755)
1033 %if %{with multilib}
1034 %{_libdir32}/libmudflap*.a
1036 %{_libdir}/libmudflap*.a
1040 %defattr(644,root,root,755)
1041 %doc gcc/ada/ChangeLog
1042 %attr(755,root,root) %{_bindir}/gnat*
1043 %attr(755,root,root) %{_bindir}/gpr*
1044 %attr(755,root,root) %{_libdir}/libgnarl*.so
1045 %attr(755,root,root) %{_libdir}/libgnat*.so
1046 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1047 %{_libdir}/gcc/*/*/adainclude
1048 %dir %{_libdir}/gcc/*/*/adalib
1049 %{_libdir}/gcc/*/*/adalib/*.ali
1050 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1051 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1053 %{_libdir}/gcc/*/*/adalib/libgmem.a
1058 %defattr(644,root,root,755)
1059 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1060 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1062 %files -n libgnat-static
1063 %defattr(644,root,root,755)
1064 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1065 %{_libdir}/gcc/*/*/adalib/libgnat.a
1070 %defattr(644,root,root,755)
1071 %doc gcc/cp/{ChangeLog,NEWS}
1072 %attr(755,root,root) %{_bindir}/g++
1073 %attr(755,root,root) %{_bindir}/*-g++
1074 %attr(755,root,root) %{_bindir}/c++
1075 %attr(755,root,root) %{_bindir}/*-c++
1076 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
1077 %if %{with multilib}
1078 %{_libdir32}/libsupc++.a
1079 %{_libdir32}/libsupc++.la
1081 %{_libdir}/libsupc++.a
1082 %{_libdir}/libsupc++.la
1083 %{_mandir}/man1/g++.1*
1085 %files -n libstdc++ -f libstdc++.lang
1086 %defattr(644,root,root,755)
1087 %doc libstdc++-v3/{ChangeLog,README}
1088 %if %{with multilib}
1089 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
1091 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
1093 %files -n libstdc++-devel
1094 %defattr(644,root,root,755)
1095 %doc libstdc++-v3/docs/html
1096 %dir %{_includedir}/c++
1097 %{_includedir}/c++/%{version}
1099 %exclude %{_includedir}/c++/%{version}/java
1100 %exclude %{_includedir}/c++/%{version}/javax
1101 %exclude %{_includedir}/c++/%{version}/gcj
1102 %exclude %{_includedir}/c++/%{version}/gnu
1105 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
1107 %if %{with multilib}
1108 %{_libdir32}/libstdc++.la
1109 %attr(755,root,root) %{_libdir32}/libstdc++.so
1111 %{_libdir}/libstdc++.la
1112 %attr(755,root,root) %{_libdir}/libstdc++.so
1114 %files -n libstdc++-static
1115 %defattr(644,root,root,755)
1116 %if %{with multilib}
1117 %{_libdir32}/libstdc++.a
1119 %{_libdir}/libstdc++.a
1124 %defattr(644,root,root,755)
1125 %doc gcc/fortran/ChangeLog
1126 %attr(755,root,root) %{_bindir}/g95
1127 %attr(755,root,root) %{_bindir}/gfortran
1128 %{_infodir}/gfortran*
1129 %attr(755,root,root) %{_libdir}/gcc/*/*/f951
1130 %if %{with multilib}
1131 %{_libdir32}/libgfortranbegin.a
1132 %{_libdir32}/libgfortranbegin.la
1133 %{_libdir32}/libgfortran.la
1134 %attr(755,root,root) %{_libdir32}/libgfortran.so
1136 %{_libdir}/libgfortranbegin.a
1137 %{_libdir}/libgfortranbegin.la
1138 %{_libdir}/libgfortran.la
1139 %attr(755,root,root) %{_libdir}/libgfortran.so
1140 %{_mandir}/man1/g95.1*
1141 %{_mandir}/man1/gfortran.1*
1143 %files -n libgfortran
1144 %defattr(644,root,root,755)
1145 %doc libgfortran/{AUTHORS,README,ChangeLog}
1146 %if %{with multilib}
1147 %attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
1149 %attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
1151 %files -n libgfortran-static
1152 %defattr(644,root,root,755)
1153 %if %{with multilib}
1154 %{_libdir32}/libgfortran.a
1156 %{_libdir}/libgfortran.a
1161 %defattr(644,root,root,755)
1162 %doc gcc/java/ChangeLog java-doc/*
1163 %attr(755,root,root) %{_bindir}/fastjar
1164 %attr(755,root,root) %{_bindir}/gcj*
1165 %attr(755,root,root) %{_bindir}/gjnih
1166 %attr(755,root,root) %{_bindir}/grepjar
1167 %attr(755,root,root) %{_bindir}/grmi*
1168 %attr(755,root,root) %{_bindir}/jcf-dump
1169 %attr(755,root,root) %{_bindir}/jv-*
1170 %attr(755,root,root) %{_bindir}/*-gcj*
1171 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1172 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1173 %{_infodir}/fastjar*
1175 %{_mandir}/man1/fastjar*
1176 %{_mandir}/man1/gcj*
1177 %{_mandir}/man1/gjnih*
1178 %{_mandir}/man1/grepjar*
1179 %{_mandir}/man1/grmi*
1180 %{_mandir}/man1/jcf-*
1181 %{_mandir}/man1/jv-*
1184 %defattr(644,root,root,755)
1185 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1186 %attr(755,root,root) %{_bindir}/addr2name.awk
1187 %attr(755,root,root) %{_bindir}/gij
1188 %dir %{_libdir}/gcj-%{version}
1189 %{_libdir}/gcj-%{version}/classmap.db
1190 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1191 %attr(755,root,root) %{_libdir}/libgij.so.*.*.*
1192 %{_libdir}/logging.properties
1193 %{_javadir}/libgcj*.jar
1194 %{_mandir}/man1/gij*
1196 %files -n libgcj-devel
1197 %defattr(644,root,root,755)
1198 %{_includedir}/c++/%{version}/java
1199 %{_includedir}/c++/%{version}/javax
1200 %{_includedir}/c++/%{version}/gcj
1201 %{_includedir}/c++/%{version}/gnu
1202 %{_libdir}/gcc/*/*/include/gcj
1203 %{_libdir}/gcc/*/*/include/jawt.h
1204 %{_libdir}/gcc/*/*/include/jawt_md.h
1205 %{_libdir}/gcc/*/*/include/jni.h
1206 %{_libdir}/gcc/*/*/include/jvmpi.h
1207 %dir %{_libdir}/security
1208 %{_libdir}/security/*
1209 %{_libdir}/lib*cj.spec
1210 %{_libdir}/lib*cj*.la
1211 %attr(755,root,root) %{_libdir}/lib*cj*.so
1212 %{_libdir}/libgij.la
1213 %attr(755,root,root) %{_libdir}/libgij.so
1214 %{_pkgconfigdir}/libgcj.pc
1216 %files -n libgcj-static
1217 %defattr(644,root,root,755)
1218 %{_libdir}/lib*cj*.a
1222 %defattr(644,root,root,755)
1223 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1224 %attr(755,root,root) %{_libdir}/libffi.so.*.*.*
1226 %files -n libffi-devel
1227 %defattr(644,root,root,755)
1228 %{_libdir}/gcc/*/*/include/ffitarget.h
1229 %attr(755,root,root) %{_libdir}/libffi.so
1230 %{_libdir}/libffi.la
1231 %{_includedir}/ffi.h
1233 %files -n libffi-static
1234 %defattr(644,root,root,755)
1240 %defattr(644,root,root,755)
1241 %doc gcc/objc/README
1242 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1243 %if %{with multilib}
1244 %attr(755,root,root) %{_libdir32}/libobjc.so
1245 %{_libdir32}/libobjc.la
1247 %attr(755,root,root) %{_libdir}/libobjc.so
1248 %{_libdir}/libobjc.la
1249 %{_libdir}/gcc/*/*/include/objc
1252 %defattr(644,root,root,755)
1253 %doc libobjc/{ChangeLog,README*}
1254 %if %{with multilib}
1255 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
1257 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
1259 %files -n libobjc-static
1260 %defattr(644,root,root,755)
1261 %if %{with multilib}
1262 %{_libdir32}/libobjc.a
1264 %{_libdir}/libobjc.a
1269 %defattr(644,root,root,755)
1270 %doc gcc/objcp/ChangeLog
1271 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1objplus