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 20051001T1855UTC
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: 084f71e6ab618b871d560769842e8e6a
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 Patch16: %{name}-pr23948.patch
67 URL: http://gcc.gnu.org/
68 BuildRequires: autoconf
69 %{?with_tests:BuildRequires: autogen}
70 BuildRequires: automake
71 BuildRequires: binutils >= 2:2.15.94.0.1
73 %{?with_java:BuildRequires: cairo-devel >= 0.5.0}
74 %{?with_tests:BuildRequires: dejagnu}
75 BuildRequires: fileutils >= 4.0.41
78 BuildRequires: gcc(ada)
79 BuildRequires: gcc-ada
81 BuildRequires: gettext-devel
82 BuildRequires: glibc-devel >= %{!?with_multilib:2.2.5-20}%{?with_multilib:6:2.3.4-1.5}
84 BuildRequires: gmp-devel
85 BuildRequires: libmpfr-devel
87 %{?with_java:BuildRequires: pango-devel}
88 BuildRequires: perl-devel
89 %{?with_java:BuildRequires: pkgconfig}
90 BuildRequires: rpmbuild(macros) >= 1.211
91 BuildRequires: texinfo >= 4.1
92 BuildRequires: zlib-devel
93 # AS_NEEDED directive for dynamic linker
94 # http://sources.redhat.com/ml/glibc-cvs/2005-q1/msg00614.html
95 # http://sources.redhat.com/ml/binutils/2005-01/msg00288.html
96 Requires: binutils >= 2:2.16.90.0.1-0.3
97 Requires: libgcc = %{epoch}:%{version}-%{release}
98 Provides: cpp = %{epoch}:%{version}-%{release}
99 %{?with_ada:Provides: gcc(ada)}
100 %{?with_multilib:Provides: gcc(multilib)}
107 Conflicts: glibc-devel < 2.2.5-20
108 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
110 %define _slibdir /%{_lib}
112 # 32-bit environment on x86-64,ppc64,s390x,sparc64
113 %define _slibdir32 /lib
114 %define _libdir32 /usr/lib
118 A compiler aimed at integrating all the optimizations and features
119 necessary for a high-performance and stable development environment.
121 This package contains the C compiler and some files shared by various
122 parts of the GNU Compiler Collection. In order to use another GCC
123 compiler you will need to install the appropriate subpackage.
126 Un compilador que intenta integrar todas las optimalizaciones y
127 características necesarias para un entorno de desarrollo eficaz y
130 Este paquete contiene el compilador de C y unos ficheros compartidos
131 por varias partes de la colección de compiladores GNU (GCC). Para usar
132 otro compilador de GCC será necesario que instale el subpaquete
136 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
137 wyprodukowania szybkiego i stabilnego kodu wynikowego.
139 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
140 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
141 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
143 %description -l pt_BR
144 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
145 GNU Compiler Collection.
148 Summary: Shared gcc library
149 Summary(es): Biblioteca compartida de gcc
150 Summary(pl): Biblioteka gcc
151 Summary(pt_BR): Biblioteca runtime para o GCC
152 License: GPL with unlimited link permission
156 %description -n libgcc
159 %description -n libgcc -l es
160 Biblioteca compartida de gcc.
162 %description -n libgcc -l pl
163 Biblioteka dynamiczna gcc.
165 %description -n libgcc -l pt_BR
166 Biblioteca runtime para o GCC.
168 %package -n libmudflap
169 Summary: GCC mudflap shared support library
170 Summary(pl): Wspó³dzielona biblioteka wspomagaj±ca GCC mudflap
171 License: GPL v2+ with unlimited link permission
174 %description -n libmudflap
175 The libmudflap libraries are used by GCC for instrumenting pointer and
176 array dereferencing operations.
178 %description -n libmudflap -l pl
179 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
180 dereferencji wspa¼ników i tablic.
182 %package -n libmudflap-devel
183 Summary: Development files for GCC mudflap library
184 Summary(pl): Pliki programistyczne biblioteki GCC mudflap
185 License: GPL v2+ with unlimited link permission
186 Group: Development/Libraries
187 Requires: libmudflap = %{epoch}:%{version}-%{release}
189 %description -n libmudflap-devel
190 The libmudflap libraries are used by GCC for instrumenting pointer and
191 array dereferencing operations. This package contains development
194 %description -n libmudflap-devel -l pl
195 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
196 dereferencji wspa¼ników i tablic. Ten pakiet zawiera pliki
199 %package -n libmudflap-static
200 Summary: Static GCC mudflap library
201 Summary(pl): Statyczna biblioteka GCC mudflap
202 License: GPL v2+ with unlimited link permission
203 Group: Development/Libraries
204 Requires: libmudflap-devel = %{epoch}:%{version}-%{release}
206 %description -n libmudflap-static
207 The libmudflap libraries are used by GCC for instrumenting pointer and
208 array dereferencing operations. This package contains static
211 %description -n libmudflap-static -l pl
212 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
213 dereferencji wspa¼ników i tablic. Ten pakiet zawiera biblioteki
217 Summary: Ada support for gcc
218 Summary(es): Soporte de Ada para gcc
219 Summary(pl): Obs³uga Ady do gcc
220 Group: Development/Languages
221 Requires: %{name} = %{epoch}:%{version}-%{release}
222 Requires: libgnat = %{epoch}:%{version}-%{release}
224 Obsoletes: gnat-devel
227 This package adds experimental support for compiling Ada programs.
229 %description ada -l es
230 Este paquete añade soporte experimental para compilar programas en
233 %description ada -l pl
234 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
238 Summary: Ada standard libraries
239 Summary(es): Bibliotecas estándares de Ada
240 Summary(pl): Biblioteki standardowe dla Ady
241 License: GPL v2+ with linking exception
246 %description -n libgnat
247 This package contains shared libraries needed to run programs written
250 %description -n libgnat -l es
251 Este paquete contiene las bibliotecas compartidas necesarias para
252 ejecutar programas escritos en Ada.
254 %description -n libgnat -l pl
255 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
258 %package -n libgnat-static
259 Summary: Static Ada standard libraries
260 Summary(pl): Statyczne biblioteki standardowe dla Ady
261 License: GPL v2+ with linking exception
262 Group: Development/Libraries
263 Obsoletes: gnat-static
265 %description -n libgnat-static
266 This package contains static libraries for programs written in Ada.
268 %description -n libgnat-static -l pl
269 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
273 Summary: C++ support for gcc
274 Summary(es): Soporte de C++ para gcc
275 Summary(pl): Obs³uga C++ dla gcc
276 Summary(pt_BR): Suporte C++ para o gcc
277 Group: Development/Languages
278 Requires: %{name} = %{epoch}:%{version}-%{release}
283 This package adds C++ support to the GNU Compiler Collection. It
284 includes support for most of the current C++ specification, including
285 templates and exception handling. It does not include a standard C++
286 library, which is available separately.
288 %description c++ -l de
289 Dieses Paket enthält die C++-Unterstützung für den
290 GNU-Compiler-Collection. Es unterstützt die aktuelle
291 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
292 C++-Standard-Library ist nicht enthalten - sie ist getrennt
295 %description c++ -l es
296 Este paquete añade soporte de C++ al GCC (colección de compiladores
297 GNU). Ello incluye el soporte para la mayoría de la especificación
298 actual de C++, incluyendo plantillas y manejo de excepciones. No
299 incluye la biblioteca estándar de C++, la que es disponible separada.
301 %description c++ -l fr
302 Ce package ajoute un support C++ a la collection de compilateurs GNU.
303 Il comprend un support pour la plupart des spécifications actuelles de
304 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
305 une bibliothéque C++ standard, qui est disponible séparément.
307 %description c++ -l pl
308 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
309 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
310 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
312 %description c++ -l pt_BR
313 Este pacote adiciona suporte C++ para o gcc.
315 %description c++ -l tr
316 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
317 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
318 C++ kitaplýðý bu pakette yer almaz.
320 %package -n libstdc++
321 Summary: GNU C++ library
322 Summary(es): Biblioteca C++ de GNU
323 Summary(pl): Biblioteki GNU C++
324 Summary(pt_BR): Biblioteca C++ GNU
325 License: GPL v2+ with free software exception
328 Obsoletes: libstdc++3
330 %description -n libstdc++
331 This is the GNU implementation of the standard C++ libraries, along
332 with additional GNU tools. This package includes the shared libraries
333 necessary to run C++ applications.
335 %description -n libstdc++ -l de
336 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
337 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
338 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
340 %description -n libstdc++ -l es
341 Este es el soporte de las bibliotecas padrón del C++, junto con
342 herramientas GNU adicionales. El paquete incluye las bibliotecas
343 compartidas necesarias para ejecutar aplicaciones C++.
345 %description -n libstdc++ -l fr
346 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
347 des outils GNU supplémentaires. Ce package comprend les librairies
348 partagées nécessaires à l'exécution d'application C++.
350 %description -n libstdc++ -l pl
351 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
352 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
353 uruchomienia aplikacji napisanych w C++.
355 %description -n libstdc++ -l pt_BR
356 Este pacote é uma implementação da biblioteca padrão C++ v3, um
357 subconjunto do padrão ISO 14882.
359 %description -n libstdc++ -l tr
360 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
361 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
363 %package -n libstdc++-devel
364 Summary: Header files and documentation for C++ development
365 Summary(de): Header-Dateien zur Entwicklung mit C++
366 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
367 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
368 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
369 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
370 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
371 License: GPL v2+ with free software exception
372 Group: Development/Libraries
373 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
374 Requires: libstdc++ = %{epoch}:%{version}-%{release}
375 Requires: glibc-devel
376 Obsoletes: libg++-devel
377 Obsoletes: libstdc++3-devel
379 %description -n libstdc++-devel
380 This is the GNU implementation of the standard C++ libraries. This
381 package includes the header files needed for C++ development and
382 library documentation.
384 %description -n libstdc++-devel -l es
385 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
386 paquete incluye los archivos de inclusión y bibliotecas necesarios
387 para desarrollo de programas en lenguaje C++.
389 %description -n libstdc++-devel -l pl
390 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
391 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
392 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
394 %description -n libstdc++-devel -l pt_BR
395 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
396 para desenvolvimento de programas C++.
398 %package -n libstdc++-static
399 Summary: Static C++ standard library
400 Summary(es): Biblioteca estándar estática de C++
401 Summary(pl): Statyczna biblioteka standardowa C++
402 License: GPL v2+ with free software exception
403 Group: Development/Libraries
404 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
406 %description -n libstdc++-static
407 Static C++ standard library.
409 %description -n libstdc++-static -l es
410 Biblioteca estándar estática de C++.
412 %description -n libstdc++-static -l pl
413 Statyczna biblioteka standardowa C++.
416 Summary: Fortran 95 support for gcc
417 Summary(es): Soporte de Fortran 95 para gcc
418 Summary(pl): Obs³uga Fortranu 95 dla gcc
419 Summary(pt_BR): Suporte Fortran 95 para o GCC
420 Group: Development/Languages/Fortran
421 Requires: libgfortran = %{epoch}:%{version}-%{release}
422 Provides: gcc-g77 = %{epoch}:%{version}-%{release}
427 This package adds support for compiling Fortran 95 programs with the
430 %description fortran -l es
431 Este paquete añade soporte para compilar programas escritos en Fortran
432 95 con el compilador GNU.
434 %description fortran -l pl
435 Ten pakiet dodaje obs³ugê Fortranu 95 do kompilatora gcc. Jest
436 potrzebny do kompilowania programów pisanych w jêzyku Fortran 95.
438 %description fortran -l pt_BR
439 Suporte Fortran 95 para o GCC.
441 %package -n libgfortran
442 Summary: Fortran 95 Libraries
443 Summary(es): Bibliotecas de Fortran 95
444 Summary(pl): Biblioteki Fortranu 95
449 %description -n libgfortran
450 Fortran 95 Libraries.
452 %description -n libgfortran -l es
453 Bibliotecas de Fortran 95.
455 %description -n libgfortran -l pl
456 Biblioteki Fortranu 95.
458 %package -n libgfortran-static
459 Summary: Static Fortran 95 Libraries
460 Summary(es): Bibliotecas estáticas de Fortran 95
461 Summary(pl): Statyczne Biblioteki Fortranu 95
463 Group: Development/Libraries
464 Requires: libgfortran = %{epoch}:%{version}-%{release}
465 Obsoletes: libg2c-static
467 %description -n libgfortran-static
468 Static Fortran 95 Libraries.
470 %description -n libgfortran-static -l es
471 Bibliotecas estáticas de Fortran 95.
473 %description -n libgfortran-static -l pl
474 Statyczne biblioteki Fortranu 95.
477 Summary: Java support for gcc
478 Summary(es): Soporte de Java para gcc
479 Summary(pl): Obs³uga Javy dla gcc
480 Group: Development/Languages/Java
481 Requires: %{name} = %{epoch}:%{version}-%{release}
482 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
483 Provides: gcj = %{epoch}:%{version}-%{release}
484 Provides: gcc-java-tools
486 Obsoletes: gcc-java-tools
489 This package adds experimental support for compiling Java(TM) programs
490 and bytecode into native code. To use this you will also need the
493 %description java -l es
494 Este paquete añade soporte experimental para compilar programas
495 Java(tm) y su bytecode en código nativo. Para usarlo también va a
496 necesitar el paquete libgcj.
498 %description java -l pl
499 Ten pakiet dodaje mo¿liwo¶æ kompilowania programów w jêzyku Java(TM)
500 oraz bajtkodu do kodu natywnego. Do u¿ywania go wymagany jest
501 dodatkowo pakiet libgcj.
504 Summary: Java Class Libraries
505 Summary(es): Bibliotecas de clases de Java
506 Summary(pl): Biblioteki Klas Javy
507 License: GPL with limited linking exception
511 %description -n libgcj
512 Java Class Libraries.
514 %description -n libgcj -l es
515 Bibliotecas de clases de Java.
517 %description -n libgcj -l pl
518 Biblioteki Klas Javy.
520 %package -n libgcj-devel
521 Summary: Development files for Java Class Libraries
522 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
523 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
524 License: GPL with limited linking exception
525 Group: Development/Libraries
526 Requires: libgcj = %{epoch}:%{version}-%{release}
528 Obsoletes: libgcj3-devel
530 %description -n libgcj-devel
531 Development files for Java Class Libraries.
533 %description -n libgcj-devel -l es
534 Ficheros de desarrollo para las bibliotecas de clases de Java.
536 %description -n libgcj-devel -l pl
537 Pliki nag³ówkowe dla Bibliotek Klas Javy.
539 %package -n libgcj-static
540 Summary: Static Java Class Libraries
541 Summary(es): Bibliotecas estáticas de clases de Java
542 Summary(pl): Statyczne Biblioteki Klas Javy
543 License: GPL with limited linking exception
544 Group: Development/Libraries
545 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
546 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
548 %description -n libgcj-static
549 Static Java Class Libraries.
551 %description -n libgcj-static -l es
552 Bibliotecas estáticas de clases de Java.
554 %description -n libgcj-static -l pl
555 Statyczne Biblioteki Klas Javy.
558 Summary: Foreign Function Interface library
559 Summary(es): Biblioteca de interfaz de funciones ajenas
560 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
564 %description -n libffi
565 The libffi library provides a portable, high level programming
566 interface to various calling conventions. This allows a programmer to
567 call any function specified by a call interface description at run
570 %description -n libffi -l es
571 La biblioteca libffi provee una interfaz portable de programación de
572 alto nivel para varias convenciones de llamada. Ello permite que un
573 programador llame una función cualquiera especificada por una
574 descripción de interfaz de llamada en el tiempo de ejecución.
576 %description -n libffi -l pl
577 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
578 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
579 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
582 %package -n libffi-devel
583 Summary: Development files for Foreign Function Interface library
584 Summary(es): Ficheros de desarrollo para libffi
585 Summary(pl): Pliki nag³ówkowe dla libffi
587 Group: Development/Libraries
588 Requires: libffi = %{epoch}:%{version}-%{release}
590 %description -n libffi-devel
591 Development files for Foreign Function Interface library.
593 %description -n libffi-devel -l es
594 Ficheros de desarrollo para libffi.
596 %description -n libffi-devel -l pl
597 Pliki nag³ówkowe dla libffi.
599 %package -n libffi-static
600 Summary: Static Foreign Function Interface library
601 Summary(es): Biblioteca libffi estática
602 Summary(pl): Statyczna biblioteka libffi
604 Group: Development/Libraries
605 Requires: libffi-devel = %{epoch}:%{version}-%{release}
607 %description -n libffi-static
608 Static Foreign Function Interface library.
610 %description -n libffi-static -l es
611 Biblioteca libffi estática.
613 %description -n libffi-static -l pl
614 Statyczna biblioteka libffi.
617 Summary: Objective C support for gcc
618 Summary(de): Objektive C-Unterstützung für gcc
619 Summary(es): Soporte de Objective C para gcc
620 Summary(fr): Gestion d'Objective C pour gcc
621 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
622 Summary(tr): gcc için Objective C desteði
623 Group: Development/Languages
624 Requires: %{name} = %{epoch}:%{version}-%{release}
625 Requires: libobjc = %{epoch}:%{version}-%{release}
630 This package adds Objective C support to the GNU Compiler Collection.
631 Objective C is a object oriented derivative of the C language, mainly
632 used on systems running NeXTSTEP. This package does not include the
633 standard objective C object library.
635 %description objc -l de
636 Dieses Paket ergänzt den GNU-Compiler-Collection durch
637 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
638 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
639 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
641 %description objc -l es
642 Este paquete añade soporte de Objective C al GCC (colección de
643 compiladores GNU). Objective C es un lenguaje orientado a objetos
644 derivado de C, principalmente usado en sistemas que funcionan bajo
645 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
648 %description objc -l fr
649 Ce package ajoute un support Objective C a la collection de
650 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
651 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
652 package n'inclue pas la bibliothéque Objective C standard.
654 %description objc -l pl
655 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
656 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
657 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
658 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
660 %description objc -l tr
661 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
662 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
663 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
664 kitaplýðý bu pakette yer almaz.
667 Summary: Objective C++ support for gcc
668 Summary(pl): Obs³uga jêzyka Objective C++ dla gcc
669 Group: Development/Languages
670 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
671 Requires: %{name}-objc = %{epoch}:%{version}-%{release}
674 This package adds Objective C++ support to the GNU Compiler
677 %description objc++ -l pl
678 Ten pakiet dodaje obs³ugê jêzyka Objective C++ do zestawu
679 kompilatorów GNU Compiler Collection.
682 Summary: Objective C Libraries
683 Summary(es): Bibliotecas de Objective C
684 Summary(pl): Biblioteki Obiektowego C
685 License: GPL v2+ with linking exception
689 %description -n libobjc
690 Objective C Libraries.
692 %description -n libobjc -l es
693 Bibliotecas de Objective C.
695 %description -n libobjc -l pl
696 Biblioteki Obiektowego C.
698 %package -n libobjc-static
699 Summary: Static Objective C Libraries
700 Summary(es): Bibliotecas estáticas de Objective C
701 Summary(pl): Statyczne Biblioteki Obiektowego C
702 License: GPL v2+ with linking exception
703 Group: Development/Libraries
704 Requires: libobjc = %{epoch}:%{version}-%{release}
706 %description -n libobjc-static
707 Static Objective C Libraries.
709 %description -n libobjc-static -l es
710 Bibliotecas estáticas de Objective C.
712 %description -n libobjc-static -l pl
713 Statyczne biblioteki Obiektowego C.
716 #setup -q -n gcc-%{version}
717 %setup -q -n gcc-4.1-%{_snap}
721 %{!?debug:%patch2 -p1}
732 #patch14 -p1 NEEDS UPDATE
736 # because we distribute modified version of gcc...
737 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
738 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
740 mv ChangeLog ChangeLog.general
746 cp -f /usr/share/automake/config.sub .
748 rm -rf obj-%{_target_platform}
749 install -d obj-%{_target_platform}
750 cd obj-%{_target_platform}
752 CFLAGS="%{rpmcflags}" \
753 CXXFLAGS="%{rpmcxxflags}" \
756 --prefix=%{_prefix} \
757 --libdir=%{_libdir} \
758 --libexecdir=%{_libdir} \
759 --infodir=%{_infodir} \
760 --mandir=%{_mandir} \
762 --enable-threads=posix \
763 --enable-__cxa_atexit \
764 --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}" \
767 --%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \
772 --with-demangler-in-ld \
774 --with-slibdir=%{_slibdir} \
776 %{?with_fortran:--enable-cmath} \
779 --enable-libgcj-multifile \
780 --enable-libgcj-database \
787 %{__make} -C obj-%{_target_platform} \
788 %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \
789 GCJFLAGS="%{rpmcflags}" \
790 BOOT_CFLAGS="%{rpmcflags}" \
791 STAGE1_CFLAGS="%{rpmcflags} -O0" \
792 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
796 %{?with_tests:%{__make} -k -C obj-%{_target_platform} check 2>&1 ||:}
799 rm -rf $RPM_BUILD_ROOT
800 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
802 cd obj-%{_target_platform}
804 %{__make} -j1 install \
806 infodir=%{_infodir} \
807 DESTDIR=$RPM_BUILD_ROOT
809 install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version}
812 ln -sf %{_bindir}/sparc64-pld-linux-gcc \
813 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
816 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
817 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
818 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
820 libssp=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libssp.so.*.*.*)
821 mv $RPM_BUILD_ROOT{%{_libdir}/$libssp,%{_slibdir}}
822 ln -sf %{_slibdir}/$libssp $RPM_BUILD_ROOT%{_libdir}/libssp.so
824 libssp=$($RPM_BUILD_ROOT%{_libdir32}; echo libssp.so.*.*.*`)
825 mv $RPM_BUILD_ROOT{%{_libdir32}/$libssp,%{_slibdir32}}
826 ln -sf %{_slibdir32}/$libssp $RPM_BUILD_ROOT%{_libdir32}/libssp.so
830 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
831 echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
835 # move ada shared libraries to proper place...
836 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
837 $RPM_BUILD_ROOT%{_libdir}
838 # check if symlink to be made is valid
839 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so.1
840 ln -sf libgnat-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so
841 ln -sf libgnarl-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-4.0.so
842 ln -sf libgnat-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
843 ln -sf libgnarl-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
850 cp -f libjava/READ* java-doc
851 cp -f fastjar/README java-doc/README.fastjar
852 cp -f libffi/README java-doc/README.libffi
853 cp -f libffi/LICENSE java-doc/LICENSE.libffi
854 ln -sf %{_javadir}/libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
857 cp -f libobjc/README gcc/objc/README.libobjc
860 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
861 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
862 for f in libmudflap.la libmudflapth.la libssp.la \
863 %{?with_cxx:libstdc++.la libsupc++.la} \
864 %{?with_fortran:libgfortran.la libgfortranbegin.la} \
865 %{?with_java:libgcj.la libffi.la} \
866 %{?with_objc:libobjc.la};
868 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
869 mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
871 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
872 mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
876 # include/ contains install-tools/include/* and headers that were fixed up
877 # by fixincludes, we don't want former
878 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
880 # we have to save these however
881 %{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jni_md.h,jvmpi.h} $gccdir/tmp}
882 %{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
883 mv -f $gccdir/include/syslimits.h $gccdir/tmp
884 rm -rf $gccdir/include
885 mv -f $gccdir/tmp $gccdir/include
886 cp -f $gccdir/install-tools/include/*.h $gccdir/include
887 # but we don't want anything more from install-tools
888 rm -rf $gccdir/install-tools
891 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
893 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
896 %{?with_cxx:%find_lang libstdc\+\+}
898 # cvs snap doesn't contain (release does) below files,
899 # so let's create dummy entries to satisfy %%files.
900 [ ! -f NEWS ] && touch NEWS
901 [ ! -f libgfortran/AUTHORS ] && touch libgfortran/AUTHORS
902 [ ! -f libgfortran/README ] && touch libgfortran/README
905 rm -rf $RPM_BUILD_ROOT
908 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
911 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
914 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
917 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
920 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
923 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
926 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
929 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
931 %post -p /sbin/ldconfig -n libgcc
932 %postun -p /sbin/ldconfig -n libgcc
933 %post -p /sbin/ldconfig -n libmudflap
934 %postun -p /sbin/ldconfig -n libmudflap
935 %post -p /sbin/ldconfig -n libgnat
936 %postun -p /sbin/ldconfig -n libgnat
937 %post -p /sbin/ldconfig -n libstdc++
938 %postun -p /sbin/ldconfig -n libstdc++
939 %post -p /sbin/ldconfig -n libgfortran
940 %postun -p /sbin/ldconfig -n libgfortran
941 %post -p /sbin/ldconfig -n libgcj
942 %postun -p /sbin/ldconfig -n libgcj
943 %post -p /sbin/ldconfig -n libffi
944 %postun -p /sbin/ldconfig -n libffi
945 %post -p /sbin/ldconfig -n libobjc
946 %postun -p /sbin/ldconfig -n libobjc
949 %defattr(644,root,root,755)
950 %doc ChangeLog.general MAINTAINERS NEWS
952 %doc gcc/{ChangeLog,ONEWS,README.Portability}
954 %dir %{_libdir}/gcc/*
955 %dir %{_libdir}/gcc/*/*
956 %dir %{_libdir}/gcc/*/*/include
958 %attr(755,root,root) %{_bindir}/*-gcc*
959 %attr(755,root,root) %{_bindir}/gcc
960 %attr(755,root,root) %{_bindir}/gccbug
961 %attr(755,root,root) %{_bindir}/gcov
962 %attr(755,root,root) %{_bindir}/cc
963 %attr(755,root,root) %{_bindir}/cpp
967 %{_mandir}/man1/cc.1*
968 %{_mandir}/man1/cpp.1*
969 %{_mandir}/man1/gcc.1*
970 %{_mandir}/man1/gcov.1*
975 %attr(755,root,root) /lib/cpp
977 %attr(755,root,root) %{_slibdir}/lib*.so
979 %attr(755,root,root) %{_libdir}/libssp.a
980 %attr(755,root,root) %{_libdir}/libssp.so
981 %{_libdir}/libssp_nonshared.a
982 %{_libdir}/libssp_nonshared.la
984 %dir %{_libdir}/gcc/*/*/32
985 %{_libdir}/gcc/*/*/32/libgcov.a
986 %{_libdir}/gcc/*/*/32/libgcc.a
987 %{_libdir}/gcc/*/*/32/libgcc_eh.a
988 %{_libdir}/gcc/*/*/32/libgcc_s.so
989 %{_libdir32}/libssp.la
990 %attr(755,root,root) %{_libdir32}/libssp.a
991 %attr(755,root,root) %{_libdir32}/libssp.so
992 %{_libdir32}/libssp_nonshared.a
993 %{_libdir32}/libssp_nonshared.la
995 %{_libdir}/gcc/*/*/libgcov.a
996 %{_libdir}/gcc/*/*/libgcc.a
997 %{_libdir}/gcc/*/*/libgcc_eh.a
998 %{_libdir}/gcc/*/*/libgcc_s.so
999 %{_libdir}/gcc/*/*/specs
1000 %if %{with multilib}
1001 %{_libdir}/gcc/*/*/32/crt*.o
1003 %{_libdir}/gcc/*/*/crt*.o
1004 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
1005 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
1007 %{_libdir}/gcc/*/*/include/*.h
1010 %defattr(644,root,root,755)
1011 %if %{with multilib}
1012 %attr(755,root,root) %{_slibdir32}/lib*.so.*
1014 %attr(755,root,root) %{_slibdir}/lib*.so.*
1016 %files -n libmudflap
1017 %defattr(644,root,root,755)
1018 %if %{with multilib}
1019 %attr(755,root,root) %{_libdir32}/libmudflap*.so.*.*.*
1021 %attr(755,root,root) %{_libdir}/libmudflap*.so.*.*.*
1023 %files -n libmudflap-devel
1024 %defattr(644,root,root,755)
1025 %{_includedir}/mf-runtime.h
1026 %if %{with multilib}
1027 %{_libdir32}/libmudflap*.la
1028 %attr(755,root,root) %{_libdir32}/libmudflap*.so
1030 %{_libdir}/libmudflap*.la
1031 %attr(755,root,root) %{_libdir}/libmudflap*.so
1033 %files -n libmudflap-static
1034 %defattr(644,root,root,755)
1035 %if %{with multilib}
1036 %{_libdir32}/libmudflap*.a
1038 %{_libdir}/libmudflap*.a
1042 %defattr(644,root,root,755)
1043 %doc gcc/ada/ChangeLog
1044 %attr(755,root,root) %{_bindir}/gnat*
1045 %attr(755,root,root) %{_bindir}/gpr*
1046 %attr(755,root,root) %{_libdir}/libgnarl*.so
1047 %attr(755,root,root) %{_libdir}/libgnat*.so
1048 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1049 %{_libdir}/gcc/*/*/adainclude
1050 %dir %{_libdir}/gcc/*/*/adalib
1051 %{_libdir}/gcc/*/*/adalib/*.ali
1052 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1053 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1055 %{_libdir}/gcc/*/*/adalib/libgmem.a
1060 %defattr(644,root,root,755)
1061 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1062 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1064 %files -n libgnat-static
1065 %defattr(644,root,root,755)
1066 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1067 %{_libdir}/gcc/*/*/adalib/libgnat.a
1072 %defattr(644,root,root,755)
1073 %doc gcc/cp/{ChangeLog,NEWS}
1074 %attr(755,root,root) %{_bindir}/g++
1075 %attr(755,root,root) %{_bindir}/*-g++
1076 %attr(755,root,root) %{_bindir}/c++
1077 %attr(755,root,root) %{_bindir}/*-c++
1078 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
1079 %if %{with multilib}
1080 %{_libdir32}/libsupc++.a
1081 %{_libdir32}/libsupc++.la
1083 %{_libdir}/libsupc++.a
1084 %{_libdir}/libsupc++.la
1085 %{_mandir}/man1/g++.1*
1087 %files -n libstdc++ -f libstdc++.lang
1088 %defattr(644,root,root,755)
1089 %doc libstdc++-v3/{ChangeLog,README}
1090 %if %{with multilib}
1091 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
1093 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
1095 %files -n libstdc++-devel
1096 %defattr(644,root,root,755)
1097 %doc libstdc++-v3/docs/html
1098 %dir %{_includedir}/c++
1099 %{_includedir}/c++/%{version}
1101 %exclude %{_includedir}/c++/%{version}/java
1102 %exclude %{_includedir}/c++/%{version}/javax
1103 %exclude %{_includedir}/c++/%{version}/gcj
1104 %exclude %{_includedir}/c++/%{version}/gnu
1107 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
1109 %if %{with multilib}
1110 %{_libdir32}/libstdc++.la
1111 %attr(755,root,root) %{_libdir32}/libstdc++.so
1113 %{_libdir}/libstdc++.la
1114 %attr(755,root,root) %{_libdir}/libstdc++.so
1116 %files -n libstdc++-static
1117 %defattr(644,root,root,755)
1118 %if %{with multilib}
1119 %{_libdir32}/libstdc++.a
1121 %{_libdir}/libstdc++.a
1126 %defattr(644,root,root,755)
1127 %doc gcc/fortran/ChangeLog
1128 %attr(755,root,root) %{_bindir}/g95
1129 %attr(755,root,root) %{_bindir}/gfortran
1130 %{_infodir}/gfortran*
1131 %attr(755,root,root) %{_libdir}/gcc/*/*/f951
1132 %if %{with multilib}
1133 %{_libdir32}/libgfortranbegin.a
1134 %{_libdir32}/libgfortranbegin.la
1135 %{_libdir32}/libgfortran.la
1136 %attr(755,root,root) %{_libdir32}/libgfortran.so
1138 %{_libdir}/libgfortranbegin.a
1139 %{_libdir}/libgfortranbegin.la
1140 %{_libdir}/libgfortran.la
1141 %attr(755,root,root) %{_libdir}/libgfortran.so
1142 %{_mandir}/man1/g95.1*
1143 %{_mandir}/man1/gfortran.1*
1145 %files -n libgfortran
1146 %defattr(644,root,root,755)
1147 %doc libgfortran/{AUTHORS,README,ChangeLog}
1148 %if %{with multilib}
1149 %attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
1151 %attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
1153 %files -n libgfortran-static
1154 %defattr(644,root,root,755)
1155 %if %{with multilib}
1156 %{_libdir32}/libgfortran.a
1158 %{_libdir}/libgfortran.a
1163 %defattr(644,root,root,755)
1164 %doc gcc/java/ChangeLog java-doc/*
1165 %attr(755,root,root) %{_bindir}/fastjar
1166 %attr(755,root,root) %{_bindir}/gcj*
1167 %attr(755,root,root) %{_bindir}/gjnih
1168 %attr(755,root,root) %{_bindir}/grepjar
1169 %attr(755,root,root) %{_bindir}/grmi*
1170 %attr(755,root,root) %{_bindir}/jcf-dump
1171 %attr(755,root,root) %{_bindir}/jv-*
1172 %attr(755,root,root) %{_bindir}/*-gcj*
1173 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1174 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1175 %{_infodir}/fastjar*
1177 %{_mandir}/man1/fastjar*
1178 %{_mandir}/man1/gcj*
1179 %{_mandir}/man1/gjnih*
1180 %{_mandir}/man1/grepjar*
1181 %{_mandir}/man1/grmi*
1182 %{_mandir}/man1/jcf-*
1183 %{_mandir}/man1/jv-*
1186 %defattr(644,root,root,755)
1187 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1188 %attr(755,root,root) %{_bindir}/addr2name.awk
1189 %attr(755,root,root) %{_bindir}/gij
1190 %dir %{_libdir}/gcj-%{version}
1191 %{_libdir}/gcj-%{version}/classmap.db
1192 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1193 %attr(755,root,root) %{_libdir}/libgij.so.*.*.*
1194 %{_libdir}/logging.properties
1195 %{_javadir}/libgcj*.jar
1196 %{_mandir}/man1/gij*
1198 %files -n libgcj-devel
1199 %defattr(644,root,root,755)
1200 %{_includedir}/c++/%{version}/java
1201 %{_includedir}/c++/%{version}/javax
1202 %{_includedir}/c++/%{version}/gcj
1203 %{_includedir}/c++/%{version}/gnu
1204 %{_libdir}/gcc/*/*/include/gcj
1205 %{_libdir}/gcc/*/*/include/jawt.h
1206 %{_libdir}/gcc/*/*/include/jawt_md.h
1207 %{_libdir}/gcc/*/*/include/jni.h
1208 %{_libdir}/gcc/*/*/include/jvmpi.h
1209 %dir %{_libdir}/security
1210 %{_libdir}/security/*
1211 %{_libdir}/lib*cj.spec
1212 %{_libdir}/lib*cj*.la
1213 %attr(755,root,root) %{_libdir}/lib*cj*.so
1214 %{_libdir}/libgij.la
1215 %attr(755,root,root) %{_libdir}/libgij.so
1216 %{_pkgconfigdir}/libgcj.pc
1218 %files -n libgcj-static
1219 %defattr(644,root,root,755)
1220 %{_libdir}/lib*cj*.a
1224 %defattr(644,root,root,755)
1225 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1226 %attr(755,root,root) %{_libdir}/libffi.so.*.*.*
1228 %files -n libffi-devel
1229 %defattr(644,root,root,755)
1230 %{_libdir}/gcc/*/*/include/ffitarget.h
1231 %attr(755,root,root) %{_libdir}/libffi.so
1232 %{_libdir}/libffi.la
1233 %{_includedir}/ffi.h
1235 %files -n libffi-static
1236 %defattr(644,root,root,755)
1242 %defattr(644,root,root,755)
1243 %doc gcc/objc/README
1244 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1245 %if %{with multilib}
1246 %attr(755,root,root) %{_libdir32}/libobjc.so
1247 %{_libdir32}/libobjc.la
1249 %attr(755,root,root) %{_libdir}/libobjc.so
1250 %{_libdir}/libobjc.la
1251 %{_libdir}/gcc/*/*/include/objc
1254 %defattr(644,root,root,755)
1255 %doc libobjc/{ChangeLog,README*}
1256 %if %{with multilib}
1257 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
1259 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
1261 %files -n libobjc-static
1262 %defattr(644,root,root,755)
1263 %if %{with multilib}
1264 %{_libdir32}/libobjc.a
1266 %{_libdir}/libobjc.a
1271 %defattr(644,root,root,755)
1272 %doc gcc/objcp/ChangeLog
1273 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1objplus