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/PR19664, PR20218 (visibility issues)
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 ObjC support
14 %bcond_with multilib # build with multilib support (it needs glibc[32&64]-devel)
15 %bcond_without profiling # build without profiling
16 %bcond_without bootstrap # omit 3-stage bootstrap
18 %ifnarch amd64 ppc64 s390x sparc64
19 %undefine with_multilib
22 Summary: GNU Compiler Collection: the C compiler and shared files
23 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
24 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
25 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
31 Group: Development/Languages
32 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
33 # Source0-md5: 55ee7df1b29f719138ec063c57b89db6
34 Source1: %{name}-optimize-la.pl
35 Patch0: %{name}-info.patch
36 Patch1: %{name}-nolocalefiles.patch
37 Patch2: %{name}-nodebug.patch
38 Patch3: %{name}-ada-link-new-libgnat.patch
39 Patch4: %{name}-ada-link.patch
40 Patch5: %{name}-alpha-ada_fix.patch
42 Patch10: %{name}-pr20973.patch
43 Patch11: %{name}-pr21173.patch
44 Patch12: %{name}-pr19664.patch
45 Patch13: %{name}-pr20218.patch
46 URL: http://gcc.gnu.org/
47 BuildRequires: autoconf
48 BuildRequires: automake
49 BuildRequires: binutils >= 2:2.15.94.0.1
51 %{?with_java:BuildRequires: cairo-devel}
52 BuildRequires: fileutils >= 4.0.41
55 BuildRequires: gcc(ada)
56 BuildRequires: gcc-ada
58 BuildRequires: gettext-devel
59 BuildRequires: glibc-devel >= %{!?with_multilib:2.2.5-20}%{?with_multilib:6:2.3.4-1.5}
60 BuildRequires: gmp-devel
61 BuildRequires: libmpfr-devel
62 %{?with_java:BuildRequires: pango-devel}
63 BuildRequires: perl-devel
64 BuildRequires: texinfo >= 4.1
65 BuildRequires: zlib-devel
66 # AS_NEEDED directive for dynamic linker
67 # http://sources.redhat.com/ml/glibc-cvs/2005-q1/msg00614.html
68 # http://sources.redhat.com/ml/binutils/2005-01/msg00288.html
69 Requires: binutils >= 2:2.16.90.0.1-0.3
70 Requires: libgcc = %{epoch}:%{version}-%{release}
71 Provides: cpp = %{epoch}:%{version}-%{release}
72 %{?with_ada:Provides: gcc(ada)}
73 %{?with_multilib:Provides: gcc(multilib)}
80 Conflicts: glibc-devel < 2.2.5-20
81 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
83 %define _slibdir /%{_lib}
85 # 32-bit environment on amd64,ppc64,s390x,sparc64
86 %define _slibdir32 /lib
87 %define _libdir32 /usr/lib
90 %define rpmcflags -O2 -mtune=ultrasparc
94 A compiler aimed at integrating all the optimizations and features
95 necessary for a high-performance and stable development environment.
97 This package contains the C compiler and some files shared by various
98 parts of the GNU Compiler Collection. In order to use another GCC
99 compiler you will need to install the appropriate subpackage.
102 Un compilador que intenta integrar todas las optimalizaciones y
103 características necesarias para un entorno de desarrollo eficaz y
106 Este paquete contiene el compilador de C y unos ficheros compartidos
107 por varias partes de la colección de compiladores GNU (GCC). Para usar
108 otro compilador de GCC será necesario que instale el subpaquete
112 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
113 wyprodukowania szybkiego i stabilnego kodu wynikowego.
115 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
116 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
117 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
119 %description -l pt_BR
120 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
121 GNU Compiler Collection.
124 Summary: Shared gcc library
125 Summary(es): Biblioteca compartida de gcc
126 Summary(pl): Biblioteka gcc
127 Summary(pt_BR): Biblioteca runtime para o GCC
128 License: GPL with unlimited link permission
132 %description -n libgcc
135 %description -n libgcc -l es
136 Biblioteca compartida de gcc.
138 %description -n libgcc -l pl
139 Biblioteka dynamiczna gcc.
141 %description -n libgcc -l pt_BR
142 Biblioteca runtime para o GCC.
144 %package -n libmudflap
145 Summary: GCC mudflap shared support library
146 Summary(pl): Wspó³dzielona biblioteka wspomagaj±ca GCC mudflap
147 License: GPL v2+ with unlimited link permission
150 %description -n libmudflap
151 The libmudflap libraries are used by GCC for instrumenting pointer and
152 array dereferencing operations.
154 %description -n libmudflap -l pl
155 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
156 dereferencji wspa¼ników i tablic.
158 %package -n libmudflap-devel
159 Summary: Development files for GCC mudflap library
160 Summary(pl): Pliki programistyczne biblioteki GCC mudflap
161 License: GPL v2+ with unlimited link permission
162 Group: Development/Libraries
163 Requires: libmudflap = %{epoch}:%{version}-%{release}
165 %description -n libmudflap-devel
166 The libmudflap libraries are used by GCC for instrumenting pointer and
167 array dereferencing operations. This package contains development
170 %description -n libmudflap-devel -l pl
171 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
172 dereferencji wspa¼ników i tablic. Ten pakiet zawiera pliki
175 %package -n libmudflap-static
176 Summary: Static GCC mudflap library
177 Summary(pl): Statyczna biblioteka GCC mudflap
178 License: GPL v2+ with unlimited link permission
179 Group: Development/Libraries
180 Requires: libmudflap-devel = %{epoch}:%{version}-%{release}
182 %description -n libmudflap-static
183 The libmudflap libraries are used by GCC for instrumenting pointer and
184 array dereferencing operations. This package contains static
187 %description -n libmudflap-static -l pl
188 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
189 dereferencji wspa¼ników i tablic. Ten pakiet zawiera biblioteki
193 Summary: Ada support for gcc
194 Summary(es): Soporte de Ada para gcc
195 Summary(pl): Obs³uga Ady do gcc
196 Group: Development/Languages
197 Requires: %{name} = %{epoch}:%{version}-%{release}
198 Requires: libgnat = %{epoch}:%{version}-%{release}
200 Obsoletes: gnat-devel
203 This package adds experimental support for compiling Ada programs.
205 %description ada -l es
206 Este paquete añade soporte experimental para compilar programas en
209 %description ada -l pl
210 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
214 Summary: Ada standard libraries
215 Summary(es): Bibliotecas estándares de Ada
216 Summary(pl): Biblioteki standardowe dla Ady
217 License: GPL v2+ with linking exception
222 %description -n libgnat
223 This package contains shared libraries needed to run programs written
226 %description -n libgnat -l es
227 Este paquete contiene las bibliotecas compartidas necesarias para
228 ejecutar programas escritos en Ada.
230 %description -n libgnat -l pl
231 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
234 %package -n libgnat-static
235 Summary: Static Ada standard libraries
236 Summary(pl): Statyczne biblioteki standardowe dla Ady
237 License: GPL v2+ with linking exception
238 Group: Development/Libraries
239 Obsoletes: gnat-static
241 %description -n libgnat-static
242 This package contains static libraries for programs written in Ada.
244 %description -n libgnat-static -l pl
245 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
249 Summary: C++ support for gcc
250 Summary(es): Soporte de C++ para gcc
251 Summary(pl): Obs³uga C++ dla gcc
252 Summary(pt_BR): Suporte C++ para o gcc
253 Group: Development/Languages
254 Requires: %{name} = %{epoch}:%{version}-%{release}
259 This package adds C++ support to the GNU Compiler Collection. It
260 includes support for most of the current C++ specification, including
261 templates and exception handling. It does not include a standard C++
262 library, which is available separately.
264 %description c++ -l de
265 Dieses Paket enthält die C++-Unterstützung für den
266 GNU-Compiler-Collection. Es unterstützt die aktuelle
267 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
268 C++-Standard-Library ist nicht enthalten - sie ist getrennt
271 %description c++ -l es
272 Este paquete añade soporte de C++ al GCC (colección de compiladores
273 GNU). Ello incluye el soporte para la mayoría de la especificación
274 actual de C++, incluyendo plantillas y manejo de excepciones. No
275 incluye la biblioteca estándar de C++, la que es disponible separada.
277 %description c++ -l fr
278 Ce package ajoute un support C++ a la collection de compilateurs GNU.
279 Il comprend un support pour la plupart des spécifications actuelles de
280 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
281 une bibliothéque C++ standard, qui est disponible séparément.
283 %description c++ -l pl
284 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
285 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
286 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
288 %description c++ -l pt_BR
289 Este pacote adiciona suporte C++ para o gcc.
291 %description c++ -l tr
292 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
293 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
294 C++ kitaplýðý bu pakette yer almaz.
296 %package -n libstdc++
297 Summary: GNU C++ library
298 Summary(es): Biblioteca C++ de GNU
299 Summary(pl): Biblioteki GNU C++
300 Summary(pt_BR): Biblioteca C++ GNU
301 License: GPL v2+ with free software exception
304 Obsoletes: libstdc++3
306 %description -n libstdc++
307 This is the GNU implementation of the standard C++ libraries, along
308 with additional GNU tools. This package includes the shared libraries
309 necessary to run C++ applications.
311 %description -n libstdc++ -l de
312 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
313 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
314 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
316 %description -n libstdc++ -l es
317 Este es el soporte de las bibliotecas padrón del C++, junto con
318 herramientas GNU adicionales. El paquete incluye las bibliotecas
319 compartidas necesarias para ejecutar aplicaciones C++.
321 %description -n libstdc++ -l fr
322 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
323 des outils GNU supplémentaires. Ce package comprend les librairies
324 partagées nécessaires à l'exécution d'application C++.
326 %description -n libstdc++ -l pl
327 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
328 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
329 uruchomienia aplikacji napisanych w C++.
331 %description -n libstdc++ -l pt_BR
332 Este pacote é uma implementação da biblioteca padrão C++ v3, um
333 subconjunto do padrão ISO 14882.
335 %description -n libstdc++ -l tr
336 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
337 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
339 %package -n libstdc++-devel
340 Summary: Header files and documentation for C++ development
341 Summary(de): Header-Dateien zur Entwicklung mit C++
342 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
343 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
344 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
345 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
346 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
347 License: GPL v2+ with free software exception
348 Group: Development/Libraries
349 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
350 Requires: libstdc++ = %{epoch}:%{version}-%{release}
351 Requires: glibc-devel
352 Obsoletes: libg++-devel
353 Obsoletes: libstdc++3-devel
355 %description -n libstdc++-devel
356 This is the GNU implementation of the standard C++ libraries. This
357 package includes the header files needed for C++ development and
358 library documentation.
360 %description -n libstdc++-devel -l es
361 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
362 paquete incluye los archivos de inclusión y bibliotecas necesarios
363 para desarrollo de programas en lenguaje C++.
365 %description -n libstdc++-devel -l pl
366 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
367 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
368 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
370 %description -n libstdc++-devel -l pt_BR
371 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
372 para desenvolvimento de programas C++.
374 %package -n libstdc++-static
375 Summary: Static C++ standard library
376 Summary(es): Biblioteca estándar estática de C++
377 Summary(pl): Statyczna biblioteka standardowa C++
378 License: GPL v2+ with free software exception
379 Group: Development/Libraries
380 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
382 %description -n libstdc++-static
383 Static C++ standard library.
385 %description -n libstdc++-static -l es
386 Biblioteca estándar estática de C++.
388 %description -n libstdc++-static -l pl
389 Statyczna biblioteka standardowa C++.
392 Summary: Fortran 95 support for gcc
393 Summary(es): Soporte de Fortran 95 para gcc
394 Summary(pl): Obs³uga Fortranu 95 dla gcc
395 Summary(pt_BR): Suporte Fortran 95 para o GCC
396 Group: Development/Languages/Fortran
397 Requires: libgfortran = %{epoch}:%{version}-%{release}
398 Provides: gcc-g77 = %{epoch}:%{version}-%{release}
403 This package adds support for compiling Fortran 95 programs with the
406 %description fortran -l es
407 Este paquete añade soporte para compilar programas escritos en Fortran
408 95 con el compilador GNU.
410 %description fortran -l pl
411 Ten pakiet dodaje obs³ugê Fortranu 95 do kompilatora gcc. Jest
412 potrzebny do kompilowania programów pisanych w jêzyku Fortran 95.
414 %description fortran -l pt_BR
415 Suporte Fortran 95 para o GCC.
417 %package -n libgfortran
418 Summary: Fortran 95 Libraries
419 Summary(es): Bibliotecas de Fortran 95
420 Summary(pl): Biblioteki Fortranu 95
425 %description -n libgfortran
426 Fortran 95 Libraries.
428 %description -n libgfortran -l es
429 Bibliotecas de Fortran 95.
431 %description -n libgfortran -l pl
432 Biblioteki Fortranu 95.
434 %package -n libgfortran-static
435 Summary: Static Fortran 95 Libraries
436 Summary(es): Bibliotecas estáticas de Fortran 95
437 Summary(pl): Statyczne Biblioteki Fortranu 95
439 Group: Development/Libraries
440 Requires: libgfortran = %{epoch}:%{version}-%{release}
441 Obsoletes: libg2c-static
443 %description -n libgfortran-static
444 Static Fortran 95 Libraries.
446 %description -n libgfortran-static -l es
447 Bibliotecas estáticas de Fortran 95.
449 %description -n libgfortran-static -l pl
450 Statyczne biblioteki Fortranu 95.
453 Summary: Java support for gcc
454 Summary(es): Soporte de Java para gcc
455 Summary(pl): Obs³uga Javy dla gcc
456 Group: Development/Languages/Java
457 Requires: %{name} = %{epoch}:%{version}-%{release}
458 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
459 Requires: java-shared
460 Provides: gcj = %{epoch}:%{version}-%{release}
463 This package adds experimental support for compiling Java(TM) programs
464 and bytecode into native code. To use this you will also need the
467 %description java -l es
468 Este paquete añade soporte experimental para compilar programas
469 Java(tm) y su bytecode en código nativo. Para usarlo también va a
470 necesitar el paquete libgcj.
472 %description java -l pl
473 Ten pakiet dodaje mo¿liwo¶æ kompilowania programów w jêzyku Java(TM)
474 oraz bajtkodu do kodu natywnego. Do u¿ywania go wymagany jest
475 dodatkowo pakiet libgcj.
478 Summary: Java Class Libraries
479 Summary(es): Bibliotecas de clases de Java
480 Summary(pl): Biblioteki Klas Javy
481 License: GPL with limited linking exception
485 %description -n libgcj
486 Java Class Libraries.
488 %description -n libgcj -l es
489 Bibliotecas de clases de Java.
491 %description -n libgcj -l pl
492 Biblioteki Klas Javy.
494 %package -n libgcj-devel
495 Summary: Development files for Java Class Libraries
496 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
497 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
498 License: GPL with limited linking exception
499 Group: Development/Libraries
500 Requires: libgcj = %{epoch}:%{version}-%{release}
502 Obsoletes: libgcj3-devel
504 %description -n libgcj-devel
505 Development files for Java Class Libraries.
507 %description -n libgcj-devel -l es
508 Ficheros de desarrollo para las bibliotecas de clases de Java.
510 %description -n libgcj-devel -l pl
511 Pliki nag³ówkowe dla Bibliotek Klas Javy.
513 %package -n libgcj-static
514 Summary: Static Java Class Libraries
515 Summary(es): Bibliotecas estáticas de clases de Java
516 Summary(pl): Statyczne Biblioteki Klas Javy
517 License: GPL with limited linking exception
518 Group: Development/Libraries
519 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
520 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
522 %description -n libgcj-static
523 Static Java Class Libraries.
525 %description -n libgcj-static -l es
526 Bibliotecas estáticas de clases de Java.
528 %description -n libgcj-static -l pl
529 Statyczne Biblioteki Klas Javy.
532 Summary: Foreign Function Interface library
533 Summary(es): Biblioteca de interfaz de funciones ajenas
534 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
538 %description -n libffi
539 The libffi library provides a portable, high level programming
540 interface to various calling conventions. This allows a programmer to
541 call any function specified by a call interface description at run
544 %description -n libffi -l es
545 La biblioteca libffi provee una interfaz portable de programación de
546 alto nivel para varias convenciones de llamada. Ello permite que un
547 programador llame una función cualquiera especificada por una
548 descripción de interfaz de llamada en el tiempo de ejecución.
550 %description -n libffi -l pl
551 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
552 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
553 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
556 %package -n libffi-devel
557 Summary: Development files for Foreign Function Interface library
558 Summary(es): Ficheros de desarrollo para libffi
559 Summary(pl): Pliki nag³ówkowe dla libffi
561 Group: Development/Libraries
562 Requires: libffi = %{epoch}:%{version}-%{release}
564 %description -n libffi-devel
565 Development files for Foreign Function Interface library.
567 %description -n libffi-devel -l es
568 Ficheros de desarrollo para libffi.
570 %description -n libffi-devel -l pl
571 Pliki nag³ówkowe dla libffi.
573 %package -n libffi-static
574 Summary: Static Foreign Function Interface library
575 Summary(es): Biblioteca libffi estática
576 Summary(pl): Statyczna biblioteka libffi
578 Group: Development/Libraries
579 Requires: libffi-devel = %{epoch}:%{version}-%{release}
581 %description -n libffi-static
582 Static Foreign Function Interface library.
584 %description -n libffi-static -l es
585 Biblioteca libffi estática.
587 %description -n libffi-static -l pl
588 Statyczna biblioteka libffi.
591 Summary: Shared java tools
592 Summary(es): Herramientas compartidas de Java
593 Summary(pl): Wspó³dzielone narzêdzia javy
594 Group: Development/Languages/Java
595 Provides: jar = %{epoch}:%{version}-%{release}
596 Provides: java-shared
599 Obsoletes: java-shared
601 %description java-tools
602 This package contains tools that are common for every Java(tm)
603 implementation, such as rmic or jar.
605 %description java-tools -l es
606 Este paquete contiene herramientas que son comunes para cada
607 implementación de Java(tm), como rmic o jar.
609 %description java-tools -l pl
610 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
611 Javy(tm), takie jak rmic czy jar.
614 Summary: Objective C support for gcc
615 Summary(de): Objektive C-Unterstützung für gcc
616 Summary(es): Soporte de Objective C para gcc
617 Summary(fr): Gestion d'Objective C pour gcc
618 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
619 Summary(tr): gcc için Objective C desteði
620 Group: Development/Languages
621 Requires: %{name} = %{epoch}:%{version}-%{release}
622 Requires: libobjc = %{epoch}:%{version}-%{release}
627 This package adds Objective C support to the GNU Compiler Collection.
628 Objective C is a object oriented derivative of the C language, mainly
629 used on systems running NeXTSTEP. This package does not include the
630 standard objective C object library.
632 %description objc -l de
633 Dieses Paket ergänzt den GNU-Compiler-Collection durch
634 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
635 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
636 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
638 %description objc -l es
639 Este paquete añade soporte de Objective C al GCC (colección de
640 compiladores GNU). Objective C es un lenguaje orientado a objetos
641 derivado de C, principalmente usado en sistemas que funcionan bajo
642 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
645 %description objc -l fr
646 Ce package ajoute un support Objective C a la collection de
647 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
648 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
649 package n'inclue pas la bibliothéque Objective C standard.
651 %description objc -l pl
652 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
653 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
654 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
655 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
657 %description objc -l tr
658 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
659 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
660 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
661 kitaplýðý bu pakette yer almaz.
664 Summary: Objective C Libraries
665 Summary(es): Bibliotecas de Objective C
666 Summary(pl): Biblioteki Obiektowego C
667 License: GPL v2+ with linking exception
671 %description -n libobjc
672 Objective C Libraries.
674 %description -n libobjc -l es
675 Bibliotecas de Objective C.
677 %description -n libobjc -l pl
678 Biblioteki Obiektowego C.
680 %package -n libobjc-static
681 Summary: Static Objective C Libraries
682 Summary(es): Bibliotecas estáticas de Objective C
683 Summary(pl): Statyczne Biblioteki Obiektowego C
684 License: GPL v2+ with linking exception
685 Group: Development/Libraries
686 Requires: libobjc = %{epoch}:%{version}-%{release}
688 %description -n libobjc-static
689 Static Objective C Libraries.
691 %description -n libobjc-static -l es
692 Bibliotecas estáticas de Objective C.
694 %description -n libobjc-static -l pl
695 Statyczne biblioteki Obiektowego C.
698 %setup -q -n gcc-%{version}
703 %{!?debug:%patch2 -p1}
714 # because we distribute modified version of gcc...
715 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
716 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
718 mv ChangeLog ChangeLog.general
724 cp -f /usr/share/automake/config.sub .
726 rm -rf obj-%{_target_platform}
727 install -d obj-%{_target_platform}
728 cd obj-%{_target_platform}
730 CFLAGS="%{rpmcflags}" \
731 CXXFLAGS="%{rpmcflags}" \
734 --prefix=%{_prefix} \
735 --libdir=%{_libdir} \
736 --libexecdir=%{_libdir} \
737 --infodir=%{_infodir} \
738 --mandir=%{_mandir} \
740 --enable-threads=posix \
741 --enable-__cxa_atexit \
742 --enable-languages="c,c++%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
745 --%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \
749 --with-demangler-in-ld \
751 --with-slibdir=%{_slibdir} \
756 --enable-libgcj-multifile \
757 --enable-libgcj-database \
764 %{__make} -C obj-%{_target_platform} \
765 %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \
766 GCJFLAGS="%{rpmcflags}" \
767 BOOT_CFLAGS="%{rpmcflags}" \
768 STAGE1_CFLAGS="%{rpmcflags} -O0" \
769 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
774 rm -rf $RPM_BUILD_ROOT
775 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
777 cd obj-%{_target_platform}
779 %{__make} -j1 install \
781 infodir=%{_infodir} \
782 DESTDIR=$RPM_BUILD_ROOT
784 install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version}
787 ln -sf $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
788 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
791 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
792 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
793 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
796 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
797 echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
801 # move ada shared libraries to proper place...
802 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
803 $RPM_BUILD_ROOT%{_libdir}
804 # check if symlink to be made is valid
805 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so.1
806 ln -sf libgnat-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so
807 ln -sf libgnarl-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-4.0.so
808 ln -sf libgnat-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
809 ln -sf libgnarl-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
816 cp -f libjava/READ* java-doc
817 cp -f fastjar/README java-doc/README.fastjar
818 cp -f libffi/README java-doc/README.libffi
819 cp -f libffi/LICENSE java-doc/LICENSE.libffi
820 ln -sf %{_javadir}/libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
823 cp -f libobjc/README gcc/objc/README.libobjc
826 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
827 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
828 for f in libmudflap.la libmudflapth.la libstdc++.la libsupc++.la \
829 %{?with_fortran:libgfortran.la libgfortranbegin.la} \
830 %{?with_java:libgcj.la libffi.la} \
831 %{?with_objc:libobjc.la};
833 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
834 mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
836 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
837 mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
841 # include/ contains install-tools/include/* and headers that were fixed up
842 # by fixincludes, we don't want former
843 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
845 # we have to save these however
846 %{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jvmpi.h} $gccdir/tmp}
847 %{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
848 mv -f $gccdir/include/syslimits.h $gccdir/tmp
849 rm -rf $gccdir/include
850 mv -f $gccdir/tmp $gccdir/include
851 cp -f $gccdir/install-tools/include/*.h $gccdir/include
852 # but we don't want anything more from install-tools
853 rm -rf $gccdir/install-tools
856 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
858 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
861 %find_lang libstdc\+\+
864 rm -rf $RPM_BUILD_ROOT
867 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
870 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
873 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
876 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
879 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
882 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
885 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
888 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
890 %post -p /sbin/ldconfig -n libgcc
891 %postun -p /sbin/ldconfig -n libgcc
892 %post -p /sbin/ldconfig -n libmudflap
893 %postun -p /sbin/ldconfig -n libmudflap
894 %post -p /sbin/ldconfig -n libgnat
895 %postun -p /sbin/ldconfig -n libgnat
896 %post -p /sbin/ldconfig -n libstdc++
897 %postun -p /sbin/ldconfig -n libstdc++
898 %post -p /sbin/ldconfig -n libgfortran
899 %postun -p /sbin/ldconfig -n libgfortran
900 %post -p /sbin/ldconfig -n libgcj
901 %postun -p /sbin/ldconfig -n libgcj
902 %post -p /sbin/ldconfig -n libffi
903 %postun -p /sbin/ldconfig -n libffi
904 %post -p /sbin/ldconfig -n libobjc
905 %postun -p /sbin/ldconfig -n libobjc
908 %defattr(644,root,root,755)
909 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
910 %doc gcc/{ChangeLog,ONEWS,README.Portability}
912 %dir %{_libdir}/gcc/*
913 %dir %{_libdir}/gcc/*/*
914 %dir %{_libdir}/gcc/*/*/include
916 %attr(755,root,root) %{_bindir}/*-gcc*
917 %attr(755,root,root) %{_bindir}/gcc
918 %attr(755,root,root) %{_bindir}/gccbug
919 %attr(755,root,root) %{_bindir}/gcov
920 %attr(755,root,root) %{_bindir}/cc
921 %attr(755,root,root) %{_bindir}/cpp
923 %{_mandir}/man1/cc.1*
924 %{_mandir}/man1/cpp.1*
925 %{_mandir}/man1/gcc.1*
926 %{_mandir}/man1/gcov.1*
931 %attr(755,root,root) /lib/cpp
933 %attr(755,root,root) %{_slibdir}/lib*.so
935 %dir %{_libdir}/gcc/*/*/32
936 %{_libdir}/gcc/*/*/32/libgcov.a
937 %{_libdir}/gcc/*/*/32/libgcc.a
938 %{_libdir}/gcc/*/*/32/libgcc_eh.a
939 %{_libdir}/gcc/*/*/32/libgcc_s.so
941 %{_libdir}/gcc/*/*/libgcov.a
942 %{_libdir}/gcc/*/*/libgcc.a
943 %{_libdir}/gcc/*/*/libgcc_eh.a
944 %{_libdir}/gcc/*/*/libgcc_s.so
945 %{_libdir}/gcc/*/*/specs
947 %{_libdir}/gcc/*/*/32/crt*.o
949 %{_libdir}/gcc/*/*/crt*.o
950 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
951 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
953 %{_libdir}/gcc/*/*/include/*.h
956 %defattr(644,root,root,755)
958 %attr(755,root,root) %{_slibdir32}/lib*.so.*
960 %attr(755,root,root) %{_slibdir}/lib*.so.*
963 %defattr(644,root,root,755)
965 %attr(755,root,root) %{_libdir32}/libmudflap*.so.*.*.*
967 %attr(755,root,root) %{_libdir}/libmudflap*.so.*.*.*
969 %files -n libmudflap-devel
970 %defattr(644,root,root,755)
971 %{_includedir}/mf-runtime.h
973 %{_libdir32}/libmudflap*.la
974 %attr(755,root,root) %{_libdir32}/libmudflap*.so
976 %{_libdir}/libmudflap*.la
977 %attr(755,root,root) %{_libdir}/libmudflap*.so
979 %files -n libmudflap-static
980 %defattr(644,root,root,755)
982 %{_libdir32}/libmudflap*.a
984 %{_libdir}/libmudflap*.a
988 %defattr(644,root,root,755)
989 %doc gcc/ada/ChangeLog
990 %attr(755,root,root) %{_bindir}/gnat*
991 %attr(755,root,root) %{_bindir}/gpr*
992 %attr(755,root,root) %{_libdir}/libgnarl*.so
993 %attr(755,root,root) %{_libdir}/libgnat*.so
994 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
995 %{_libdir}/gcc/*/*/adainclude
996 %dir %{_libdir}/gcc/*/*/adalib
997 %{_libdir}/gcc/*/*/adalib/*.ali
998 %{_libdir}/gcc/*/*/adalib/g-trasym.o
999 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1001 %{_libdir}/gcc/*/*/adalib/libgmem.a
1006 %defattr(644,root,root,755)
1007 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1008 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1010 %files -n libgnat-static
1011 %defattr(644,root,root,755)
1012 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1013 %{_libdir}/gcc/*/*/adalib/libgnat.a
1017 %defattr(644,root,root,755)
1018 %doc gcc/cp/{ChangeLog,NEWS}
1019 %attr(755,root,root) %{_bindir}/g++
1020 %attr(755,root,root) %{_bindir}/*-g++
1021 %attr(755,root,root) %{_bindir}/c++
1022 %attr(755,root,root) %{_bindir}/*-c++
1023 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
1024 %if %{with multilib}
1025 %{_libdir32}/libsupc++.a
1026 %{_libdir32}/libsupc++.la
1028 %{_libdir}/libsupc++.a
1029 %{_libdir}/libsupc++.la
1030 %{_mandir}/man1/g++.1*
1032 %files -n libstdc++ -f libstdc++.lang
1033 %defattr(644,root,root,755)
1034 %doc libstdc++-v3/{ChangeLog,README}
1035 %if %{with multilib}
1036 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
1038 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
1040 %files -n libstdc++-devel
1041 %defattr(644,root,root,755)
1042 %doc libstdc++-v3/docs/html
1043 %dir %{_includedir}/c++
1044 %{_includedir}/c++/%{version}
1046 %exclude %{_includedir}/c++/%{version}/java
1047 %exclude %{_includedir}/c++/%{version}/javax
1048 %exclude %{_includedir}/c++/%{version}/gcj
1049 %exclude %{_includedir}/c++/%{version}/gnu
1052 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
1054 %if %{with multilib}
1055 %{_libdir32}/libstdc++.la
1056 %attr(755,root,root) %{_libdir32}/libstdc++.so
1058 %{_libdir}/libstdc++.la
1059 %attr(755,root,root) %{_libdir}/libstdc++.so
1061 %files -n libstdc++-static
1062 %defattr(644,root,root,755)
1063 %if %{with multilib}
1064 %{_libdir32}/libstdc++.a
1066 %{_libdir}/libstdc++.a
1070 %defattr(644,root,root,755)
1071 %doc gcc/fortran/ChangeLog
1072 %attr(755,root,root) %{_bindir}/g95
1073 %attr(755,root,root) %{_bindir}/gfortran
1074 %{_infodir}/gfortran*
1075 %attr(755,root,root) %{_libdir}/gcc/*/*/f951
1076 %if %{with multilib}
1077 %{_libdir32}/libgfortranbegin.a
1078 %{_libdir32}/libgfortranbegin.la
1079 %{_libdir32}/libgfortran.la
1080 %attr(755,root,root) %{_libdir32}/libgfortran.so
1082 %{_libdir}/libgfortranbegin.a
1083 %{_libdir}/libgfortranbegin.la
1084 %{_libdir}/libgfortran.la
1085 %attr(755,root,root) %{_libdir}/libgfortran.so
1086 %{_mandir}/man1/g95.1*
1087 %{_mandir}/man1/gfortran.1*
1089 %files -n libgfortran
1090 %defattr(644,root,root,755)
1091 %doc libgfortran/{AUTHORS,README,ChangeLog}
1092 %if %{with multilib}
1093 %attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
1095 %attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
1097 %files -n libgfortran-static
1098 %defattr(644,root,root,755)
1099 %if %{with multilib}
1100 %{_libdir32}/libgfortran.a
1102 %{_libdir}/libgfortran.a
1107 %defattr(644,root,root,755)
1108 %doc gcc/java/ChangeLog java-doc/*
1109 %attr(755,root,root) %{_bindir}/gcj*
1110 %attr(755,root,root) %{_bindir}/grepjar
1111 %attr(755,root,root) %{_bindir}/jcf-dump
1112 %attr(755,root,root) %{_bindir}/jv-*
1113 %attr(755,root,root) %{_bindir}/*-gcj*
1114 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1115 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1117 %{_mandir}/man1/gcj*
1118 %{_mandir}/man1/grepjar*
1119 %{_mandir}/man1/jcf-*
1120 %{_mandir}/man1/jv-*
1123 %defattr(644,root,root,755)
1124 %attr(755,root,root) %{_bindir}/grmi*
1125 %attr(755,root,root) %{_bindir}/fastjar
1126 %{_mandir}/man1/grmi*
1127 %{_mandir}/man1/fastjar*
1128 %{_infodir}/fastjar*
1131 %defattr(644,root,root,755)
1132 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1133 %attr(755,root,root) %{_bindir}/addr2name.awk
1134 %attr(755,root,root) %{_bindir}/gij
1135 %dir %{_libdir}/gcj-%{version}
1136 %{_libdir}/gcj-%{version}/classmap.db
1137 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1138 %attr(755,root,root) %{_libdir}/libgij.so.*.*.*
1139 %{_libdir}/logging.properties
1140 %{_javadir}/libgcj*.jar
1141 %{_mandir}/man1/gij*
1143 %files -n libgcj-devel
1144 %defattr(644,root,root,755)
1145 %{_includedir}/c++/%{version}/java
1146 %{_includedir}/c++/%{version}/javax
1147 %{_includedir}/c++/%{version}/gcj
1148 %{_includedir}/c++/%{version}/gnu
1149 %{_libdir}/gcc/*/*/include/gcj
1150 %{_libdir}/gcc/*/*/include/jawt.h
1151 %{_libdir}/gcc/*/*/include/jawt_md.h
1152 %{_libdir}/gcc/*/*/include/jni.h
1153 %{_libdir}/gcc/*/*/include/jvmpi.h
1154 %dir %{_libdir}/security
1155 %{_libdir}/security/*
1156 %{_libdir}/lib*cj.spec
1157 %{_libdir}/lib*cj*.la
1158 %attr(755,root,root) %{_libdir}/lib*cj*.so
1159 %{_libdir}/libgij.la
1160 %attr(755,root,root) %{_libdir}/libgij.so
1161 %{_pkgconfigdir}/libgcj.pc
1163 %files -n libgcj-static
1164 %defattr(644,root,root,755)
1165 %{_libdir}/lib*cj*.a
1169 %defattr(644,root,root,755)
1170 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1171 %attr(755,root,root) %{_libdir}/libffi.so.*.*.*
1173 %files -n libffi-devel
1174 %defattr(644,root,root,755)
1175 %{_libdir}/gcc/*/*/include/ffitarget.h
1176 %attr(755,root,root) %{_libdir}/libffi.so
1177 %{_libdir}/libffi.la
1178 %{_includedir}/ffi.h
1180 %files -n libffi-static
1181 %defattr(644,root,root,755)
1187 %defattr(644,root,root,755)
1188 %doc gcc/objc/README
1189 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1190 %if %{with multilib}
1191 %attr(755,root,root) %{_libdir32}/libobjc.so
1192 %{_libdir32}/libobjc.la
1194 %attr(755,root,root) %{_libdir}/libobjc.so
1195 %{_libdir}/libobjc.la
1196 %{_libdir}/gcc/*/*/include/objc
1199 %defattr(644,root,root,755)
1200 %doc libobjc/{ChangeLog,README*}
1201 %if %{with multilib}
1202 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
1204 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
1206 %files -n libobjc-static
1207 %defattr(644,root,root,755)
1208 %if %{with multilib}
1209 %{_libdir32}/libobjc.a
1211 %{_libdir}/libobjc.a