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/PR21029 (vrp miscompiles ada front-end, drops loop exit test
8 # in well-defined wrap-around circumstances)
11 %bcond_without ada # build without ADA support
12 %bcond_without fortran # build without Fortran support
13 %bcond_without java # build without Java support
14 %bcond_without objc # build without Objective-C support
15 %bcond_without objcxx # build without Objective-C++ support
16 %bcond_with multilib # build with multilib support (it needs glibc[32&64]-devel)
17 %bcond_without profiling # build without profiling
18 %bcond_without bootstrap # omit 3-stage bootstrap
24 %ifnarch %{x8664} ppc64 s390x sparc64
25 %undefine with_multilib
28 Summary: GNU Compiler Collection: the C compiler and shared files
29 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
30 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
31 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
34 %define _snap 20050528
35 Release: 0.%{_snap}.0.1
38 Group: Development/Languages
39 #Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
40 Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/4.1-%{_snap}/gcc-4.1-%{_snap}.tar.bz2
41 # Source0-md5: 38e650684282d96cf7ad1b5928399142
42 Source1: %{name}-optimize-la.pl
43 Patch0: %{name}-info.patch
44 Patch1: %{name}-nolocalefiles.patch
45 Patch2: %{name}-nodebug.patch
46 Patch3: %{name}-ada-link-new-libgnat.patch
47 Patch4: %{name}-ada-link.patch
48 Patch5: %{name}-alpha-ada_fix.patch
50 Patch11: %{name}-pr20218.patch
51 # temporary disabled -> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20297#c7
52 #Patch12: %{name}-pr20297.patch
53 Patch14: %{name}-push-pop-visibility.patch
54 Patch15: %{name}-pr21704.patch
55 URL: http://gcc.gnu.org/
56 BuildRequires: autoconf
57 BuildRequires: automake
58 BuildRequires: binutils >= 2:2.15.94.0.1
60 %{?with_java:BuildRequires: cairo-devel}
61 BuildRequires: fileutils >= 4.0.41
64 BuildRequires: gcc(ada)
65 BuildRequires: gcc-ada
67 BuildRequires: gettext-devel
68 BuildRequires: glibc-devel >= %{!?with_multilib:2.2.5-20}%{?with_multilib:6:2.3.4-1.5}
69 BuildRequires: gmp-devel
70 BuildRequires: libmpfr-devel
71 %{?with_java:BuildRequires: pango-devel}
72 BuildRequires: perl-devel
73 %{?with_java:BuildRequires: pkgconfig}
74 BuildRequires: rpmbuild(macros) >= 1.211
75 BuildRequires: texinfo >= 4.1
76 BuildRequires: zlib-devel
77 # AS_NEEDED directive for dynamic linker
78 # http://sources.redhat.com/ml/glibc-cvs/2005-q1/msg00614.html
79 # http://sources.redhat.com/ml/binutils/2005-01/msg00288.html
80 Requires: binutils >= 2:2.16.90.0.1-0.3
81 Requires: libgcc = %{epoch}:%{version}-%{release}
82 Provides: cpp = %{epoch}:%{version}-%{release}
83 %{?with_ada:Provides: gcc(ada)}
84 %{?with_multilib:Provides: gcc(multilib)}
91 Conflicts: glibc-devel < 2.2.5-20
92 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
94 %define _slibdir /%{_lib}
96 # 32-bit environment on x86-64,ppc64,s390x,sparc64
97 %define _slibdir32 /lib
98 %define _libdir32 /usr/lib
102 A compiler aimed at integrating all the optimizations and features
103 necessary for a high-performance and stable development environment.
105 This package contains the C compiler and some files shared by various
106 parts of the GNU Compiler Collection. In order to use another GCC
107 compiler you will need to install the appropriate subpackage.
110 Un compilador que intenta integrar todas las optimalizaciones y
111 características necesarias para un entorno de desarrollo eficaz y
114 Este paquete contiene el compilador de C y unos ficheros compartidos
115 por varias partes de la colección de compiladores GNU (GCC). Para usar
116 otro compilador de GCC será necesario que instale el subpaquete
120 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
121 wyprodukowania szybkiego i stabilnego kodu wynikowego.
123 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
124 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
125 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
127 %description -l pt_BR
128 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
129 GNU Compiler Collection.
132 Summary: Shared gcc library
133 Summary(es): Biblioteca compartida de gcc
134 Summary(pl): Biblioteka gcc
135 Summary(pt_BR): Biblioteca runtime para o GCC
136 License: GPL with unlimited link permission
140 %description -n libgcc
143 %description -n libgcc -l es
144 Biblioteca compartida de gcc.
146 %description -n libgcc -l pl
147 Biblioteka dynamiczna gcc.
149 %description -n libgcc -l pt_BR
150 Biblioteca runtime para o GCC.
152 %package -n libmudflap
153 Summary: GCC mudflap shared support library
154 Summary(pl): Wspó³dzielona biblioteka wspomagaj±ca GCC mudflap
155 License: GPL v2+ with unlimited link permission
158 %description -n libmudflap
159 The libmudflap libraries are used by GCC for instrumenting pointer and
160 array dereferencing operations.
162 %description -n libmudflap -l pl
163 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
164 dereferencji wspa¼ników i tablic.
166 %package -n libmudflap-devel
167 Summary: Development files for GCC mudflap library
168 Summary(pl): Pliki programistyczne biblioteki GCC mudflap
169 License: GPL v2+ with unlimited link permission
170 Group: Development/Libraries
171 Requires: libmudflap = %{epoch}:%{version}-%{release}
173 %description -n libmudflap-devel
174 The libmudflap libraries are used by GCC for instrumenting pointer and
175 array dereferencing operations. This package contains development
178 %description -n libmudflap-devel -l pl
179 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
180 dereferencji wspa¼ników i tablic. Ten pakiet zawiera pliki
183 %package -n libmudflap-static
184 Summary: Static GCC mudflap library
185 Summary(pl): Statyczna biblioteka GCC mudflap
186 License: GPL v2+ with unlimited link permission
187 Group: Development/Libraries
188 Requires: libmudflap-devel = %{epoch}:%{version}-%{release}
190 %description -n libmudflap-static
191 The libmudflap libraries are used by GCC for instrumenting pointer and
192 array dereferencing operations. This package contains static
195 %description -n libmudflap-static -l pl
196 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
197 dereferencji wspa¼ników i tablic. Ten pakiet zawiera biblioteki
201 Summary: Ada support for gcc
202 Summary(es): Soporte de Ada para gcc
203 Summary(pl): Obs³uga Ady do gcc
204 Group: Development/Languages
205 Requires: %{name} = %{epoch}:%{version}-%{release}
206 Requires: libgnat = %{epoch}:%{version}-%{release}
208 Obsoletes: gnat-devel
211 This package adds experimental support for compiling Ada programs.
213 %description ada -l es
214 Este paquete añade soporte experimental para compilar programas en
217 %description ada -l pl
218 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
222 Summary: Ada standard libraries
223 Summary(es): Bibliotecas estándares de Ada
224 Summary(pl): Biblioteki standardowe dla Ady
225 License: GPL v2+ with linking exception
230 %description -n libgnat
231 This package contains shared libraries needed to run programs written
234 %description -n libgnat -l es
235 Este paquete contiene las bibliotecas compartidas necesarias para
236 ejecutar programas escritos en Ada.
238 %description -n libgnat -l pl
239 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
242 %package -n libgnat-static
243 Summary: Static Ada standard libraries
244 Summary(pl): Statyczne biblioteki standardowe dla Ady
245 License: GPL v2+ with linking exception
246 Group: Development/Libraries
247 Obsoletes: gnat-static
249 %description -n libgnat-static
250 This package contains static libraries for programs written in Ada.
252 %description -n libgnat-static -l pl
253 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
257 Summary: C++ support for gcc
258 Summary(es): Soporte de C++ para gcc
259 Summary(pl): Obs³uga C++ dla gcc
260 Summary(pt_BR): Suporte C++ para o gcc
261 Group: Development/Languages
262 Requires: %{name} = %{epoch}:%{version}-%{release}
267 This package adds C++ support to the GNU Compiler Collection. It
268 includes support for most of the current C++ specification, including
269 templates and exception handling. It does not include a standard C++
270 library, which is available separately.
272 %description c++ -l de
273 Dieses Paket enthält die C++-Unterstützung für den
274 GNU-Compiler-Collection. Es unterstützt die aktuelle
275 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
276 C++-Standard-Library ist nicht enthalten - sie ist getrennt
279 %description c++ -l es
280 Este paquete añade soporte de C++ al GCC (colección de compiladores
281 GNU). Ello incluye el soporte para la mayoría de la especificación
282 actual de C++, incluyendo plantillas y manejo de excepciones. No
283 incluye la biblioteca estándar de C++, la que es disponible separada.
285 %description c++ -l fr
286 Ce package ajoute un support C++ a la collection de compilateurs GNU.
287 Il comprend un support pour la plupart des spécifications actuelles de
288 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
289 une bibliothéque C++ standard, qui est disponible séparément.
291 %description c++ -l pl
292 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
293 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
294 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
296 %description c++ -l pt_BR
297 Este pacote adiciona suporte C++ para o gcc.
299 %description c++ -l tr
300 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
301 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
302 C++ kitaplýðý bu pakette yer almaz.
304 %package -n libstdc++
305 Summary: GNU C++ library
306 Summary(es): Biblioteca C++ de GNU
307 Summary(pl): Biblioteki GNU C++
308 Summary(pt_BR): Biblioteca C++ GNU
309 License: GPL v2+ with free software exception
312 Obsoletes: libstdc++3
314 %description -n libstdc++
315 This is the GNU implementation of the standard C++ libraries, along
316 with additional GNU tools. This package includes the shared libraries
317 necessary to run C++ applications.
319 %description -n libstdc++ -l de
320 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
321 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
322 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
324 %description -n libstdc++ -l es
325 Este es el soporte de las bibliotecas padrón del C++, junto con
326 herramientas GNU adicionales. El paquete incluye las bibliotecas
327 compartidas necesarias para ejecutar aplicaciones C++.
329 %description -n libstdc++ -l fr
330 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
331 des outils GNU supplémentaires. Ce package comprend les librairies
332 partagées nécessaires à l'exécution d'application C++.
334 %description -n libstdc++ -l pl
335 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
336 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
337 uruchomienia aplikacji napisanych w C++.
339 %description -n libstdc++ -l pt_BR
340 Este pacote é uma implementação da biblioteca padrão C++ v3, um
341 subconjunto do padrão ISO 14882.
343 %description -n libstdc++ -l tr
344 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
345 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
347 %package -n libstdc++-devel
348 Summary: Header files and documentation for C++ development
349 Summary(de): Header-Dateien zur Entwicklung mit C++
350 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
351 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
352 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
353 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
354 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
355 License: GPL v2+ with free software exception
356 Group: Development/Libraries
357 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
358 Requires: libstdc++ = %{epoch}:%{version}-%{release}
359 Requires: glibc-devel
360 Obsoletes: libg++-devel
361 Obsoletes: libstdc++3-devel
363 %description -n libstdc++-devel
364 This is the GNU implementation of the standard C++ libraries. This
365 package includes the header files needed for C++ development and
366 library documentation.
368 %description -n libstdc++-devel -l es
369 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
370 paquete incluye los archivos de inclusión y bibliotecas necesarios
371 para desarrollo de programas en lenguaje C++.
373 %description -n libstdc++-devel -l pl
374 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
375 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
376 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
378 %description -n libstdc++-devel -l pt_BR
379 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
380 para desenvolvimento de programas C++.
382 %package -n libstdc++-static
383 Summary: Static C++ standard library
384 Summary(es): Biblioteca estándar estática de C++
385 Summary(pl): Statyczna biblioteka standardowa C++
386 License: GPL v2+ with free software exception
387 Group: Development/Libraries
388 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
390 %description -n libstdc++-static
391 Static C++ standard library.
393 %description -n libstdc++-static -l es
394 Biblioteca estándar estática de C++.
396 %description -n libstdc++-static -l pl
397 Statyczna biblioteka standardowa C++.
400 Summary: Fortran 95 support for gcc
401 Summary(es): Soporte de Fortran 95 para gcc
402 Summary(pl): Obs³uga Fortranu 95 dla gcc
403 Summary(pt_BR): Suporte Fortran 95 para o GCC
404 Group: Development/Languages/Fortran
405 Requires: libgfortran = %{epoch}:%{version}-%{release}
406 Provides: gcc-g77 = %{epoch}:%{version}-%{release}
411 This package adds support for compiling Fortran 95 programs with the
414 %description fortran -l es
415 Este paquete añade soporte para compilar programas escritos en Fortran
416 95 con el compilador GNU.
418 %description fortran -l pl
419 Ten pakiet dodaje obs³ugê Fortranu 95 do kompilatora gcc. Jest
420 potrzebny do kompilowania programów pisanych w jêzyku Fortran 95.
422 %description fortran -l pt_BR
423 Suporte Fortran 95 para o GCC.
425 %package -n libgfortran
426 Summary: Fortran 95 Libraries
427 Summary(es): Bibliotecas de Fortran 95
428 Summary(pl): Biblioteki Fortranu 95
433 %description -n libgfortran
434 Fortran 95 Libraries.
436 %description -n libgfortran -l es
437 Bibliotecas de Fortran 95.
439 %description -n libgfortran -l pl
440 Biblioteki Fortranu 95.
442 %package -n libgfortran-static
443 Summary: Static Fortran 95 Libraries
444 Summary(es): Bibliotecas estáticas de Fortran 95
445 Summary(pl): Statyczne Biblioteki Fortranu 95
447 Group: Development/Libraries
448 Requires: libgfortran = %{epoch}:%{version}-%{release}
449 Obsoletes: libg2c-static
451 %description -n libgfortran-static
452 Static Fortran 95 Libraries.
454 %description -n libgfortran-static -l es
455 Bibliotecas estáticas de Fortran 95.
457 %description -n libgfortran-static -l pl
458 Statyczne biblioteki Fortranu 95.
461 Summary: Java support for gcc
462 Summary(es): Soporte de Java para gcc
463 Summary(pl): Obs³uga Javy dla gcc
464 Group: Development/Languages/Java
465 Requires: %{name} = %{epoch}:%{version}-%{release}
466 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
467 Provides: gcj = %{epoch}:%{version}-%{release}
468 Provides: gcc-java-tools
470 Obsoletes: gcc-java-tools
473 This package adds experimental support for compiling Java(TM) programs
474 and bytecode into native code. To use this you will also need the
477 %description java -l es
478 Este paquete añade soporte experimental para compilar programas
479 Java(tm) y su bytecode en código nativo. Para usarlo también va a
480 necesitar el paquete libgcj.
482 %description java -l pl
483 Ten pakiet dodaje mo¿liwo¶æ kompilowania programów w jêzyku Java(TM)
484 oraz bajtkodu do kodu natywnego. Do u¿ywania go wymagany jest
485 dodatkowo pakiet libgcj.
488 Summary: Java Class Libraries
489 Summary(es): Bibliotecas de clases de Java
490 Summary(pl): Biblioteki Klas Javy
491 License: GPL with limited linking exception
495 %description -n libgcj
496 Java Class Libraries.
498 %description -n libgcj -l es
499 Bibliotecas de clases de Java.
501 %description -n libgcj -l pl
502 Biblioteki Klas Javy.
504 %package -n libgcj-devel
505 Summary: Development files for Java Class Libraries
506 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
507 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
508 License: GPL with limited linking exception
509 Group: Development/Libraries
510 Requires: libgcj = %{epoch}:%{version}-%{release}
512 Obsoletes: libgcj3-devel
514 %description -n libgcj-devel
515 Development files for Java Class Libraries.
517 %description -n libgcj-devel -l es
518 Ficheros de desarrollo para las bibliotecas de clases de Java.
520 %description -n libgcj-devel -l pl
521 Pliki nag³ówkowe dla Bibliotek Klas Javy.
523 %package -n libgcj-static
524 Summary: Static Java Class Libraries
525 Summary(es): Bibliotecas estáticas de clases de Java
526 Summary(pl): Statyczne Biblioteki Klas Javy
527 License: GPL with limited linking exception
528 Group: Development/Libraries
529 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
530 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
532 %description -n libgcj-static
533 Static Java Class Libraries.
535 %description -n libgcj-static -l es
536 Bibliotecas estáticas de clases de Java.
538 %description -n libgcj-static -l pl
539 Statyczne Biblioteki Klas Javy.
542 Summary: Foreign Function Interface library
543 Summary(es): Biblioteca de interfaz de funciones ajenas
544 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
548 %description -n libffi
549 The libffi library provides a portable, high level programming
550 interface to various calling conventions. This allows a programmer to
551 call any function specified by a call interface description at run
554 %description -n libffi -l es
555 La biblioteca libffi provee una interfaz portable de programación de
556 alto nivel para varias convenciones de llamada. Ello permite que un
557 programador llame una función cualquiera especificada por una
558 descripción de interfaz de llamada en el tiempo de ejecución.
560 %description -n libffi -l pl
561 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
562 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
563 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
566 %package -n libffi-devel
567 Summary: Development files for Foreign Function Interface library
568 Summary(es): Ficheros de desarrollo para libffi
569 Summary(pl): Pliki nag³ówkowe dla libffi
571 Group: Development/Libraries
572 Requires: libffi = %{epoch}:%{version}-%{release}
574 %description -n libffi-devel
575 Development files for Foreign Function Interface library.
577 %description -n libffi-devel -l es
578 Ficheros de desarrollo para libffi.
580 %description -n libffi-devel -l pl
581 Pliki nag³ówkowe dla libffi.
583 %package -n libffi-static
584 Summary: Static Foreign Function Interface library
585 Summary(es): Biblioteca libffi estática
586 Summary(pl): Statyczna biblioteka libffi
588 Group: Development/Libraries
589 Requires: libffi-devel = %{epoch}:%{version}-%{release}
591 %description -n libffi-static
592 Static Foreign Function Interface library.
594 %description -n libffi-static -l es
595 Biblioteca libffi estática.
597 %description -n libffi-static -l pl
598 Statyczna biblioteka libffi.
601 Summary: Objective C support for gcc
602 Summary(de): Objektive C-Unterstützung für gcc
603 Summary(es): Soporte de Objective C para gcc
604 Summary(fr): Gestion d'Objective C pour gcc
605 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
606 Summary(tr): gcc için Objective C desteði
607 Group: Development/Languages
608 Requires: %{name} = %{epoch}:%{version}-%{release}
609 Requires: libobjc = %{epoch}:%{version}-%{release}
614 This package adds Objective C support to the GNU Compiler Collection.
615 Objective C is a object oriented derivative of the C language, mainly
616 used on systems running NeXTSTEP. This package does not include the
617 standard objective C object library.
619 %description objc -l de
620 Dieses Paket ergänzt den GNU-Compiler-Collection durch
621 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
622 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
623 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
625 %description objc -l es
626 Este paquete añade soporte de Objective C al GCC (colección de
627 compiladores GNU). Objective C es un lenguaje orientado a objetos
628 derivado de C, principalmente usado en sistemas que funcionan bajo
629 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
632 %description objc -l fr
633 Ce package ajoute un support Objective C a la collection de
634 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
635 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
636 package n'inclue pas la bibliothéque Objective C standard.
638 %description objc -l pl
639 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
640 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
641 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
642 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
644 %description objc -l tr
645 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
646 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
647 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
648 kitaplýðý bu pakette yer almaz.
651 Summary: Objective C++ support for gcc
652 Group: Development/Languages
653 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
654 Requires: %{name}-objc = %{epoch}:%{version}-%{release}
657 This package adds Objective C++ support to the GNU Compiler Collection.
660 Summary: Objective C Libraries
661 Summary(es): Bibliotecas de Objective C
662 Summary(pl): Biblioteki Obiektowego C
663 License: GPL v2+ with linking exception
667 %description -n libobjc
668 Objective C Libraries.
670 %description -n libobjc -l es
671 Bibliotecas de Objective C.
673 %description -n libobjc -l pl
674 Biblioteki Obiektowego C.
676 %package -n libobjc-static
677 Summary: Static Objective C Libraries
678 Summary(es): Bibliotecas estáticas de Objective C
679 Summary(pl): Statyczne Biblioteki Obiektowego C
680 License: GPL v2+ with linking exception
681 Group: Development/Libraries
682 Requires: libobjc = %{epoch}:%{version}-%{release}
684 %description -n libobjc-static
685 Static Objective C Libraries.
687 %description -n libobjc-static -l es
688 Bibliotecas estáticas de Objective C.
690 %description -n libobjc-static -l pl
691 Statyczne biblioteki Obiektowego C.
694 #setup -q -n gcc-%{version}
695 %setup -q -n gcc-4.1-%{_snap}
699 %{!?debug:%patch2 -p1}
710 # because we distribute modified version of gcc...
711 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
712 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
714 mv ChangeLog ChangeLog.general
720 cp -f /usr/share/automake/config.sub .
722 rm -rf obj-%{_target_platform}
723 install -d obj-%{_target_platform}
724 cd obj-%{_target_platform}
726 CFLAGS="%{rpmcflags}" \
727 CXXFLAGS="%{rpmcxxflags}" \
730 --prefix=%{_prefix} \
731 --libdir=%{_libdir} \
732 --libexecdir=%{_libdir} \
733 --infodir=%{_infodir} \
734 --mandir=%{_mandir} \
736 --enable-threads=posix \
737 --enable-__cxa_atexit \
738 --enable-languages="c,c++%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}" \
741 --%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \
746 --with-demangler-in-ld \
748 --with-slibdir=%{_slibdir} \
753 --enable-libgcj-multifile \
754 --enable-libgcj-database \
761 %{__make} -C obj-%{_target_platform} \
762 %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \
763 GCJFLAGS="%{rpmcflags}" \
764 BOOT_CFLAGS="%{rpmcflags}" \
765 STAGE1_CFLAGS="%{rpmcflags} -O0" \
766 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
771 rm -rf $RPM_BUILD_ROOT
772 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
774 cd obj-%{_target_platform}
776 %{__make} -j1 install \
778 infodir=%{_infodir} \
779 DESTDIR=$RPM_BUILD_ROOT
781 install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version}
784 ln -sf %{_bindir}/sparc64-pld-linux-gcc \
785 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
788 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
789 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
790 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
793 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
794 echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
798 # move ada shared libraries to proper place...
799 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
800 $RPM_BUILD_ROOT%{_libdir}
801 # check if symlink to be made is valid
802 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so.1
803 ln -sf libgnat-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so
804 ln -sf libgnarl-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-4.0.so
805 ln -sf libgnat-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
806 ln -sf libgnarl-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
813 cp -f libjava/READ* java-doc
814 cp -f fastjar/README java-doc/README.fastjar
815 cp -f libffi/README java-doc/README.libffi
816 cp -f libffi/LICENSE java-doc/LICENSE.libffi
817 ln -sf %{_javadir}/libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
820 cp -f libobjc/README gcc/objc/README.libobjc
823 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
824 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
825 for f in libmudflap.la libmudflapth.la libstdc++.la libsupc++.la \
826 %{?with_fortran:libgfortran.la libgfortranbegin.la} \
827 %{?with_java:libgcj.la libffi.la} \
828 %{?with_objc:libobjc.la};
830 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
831 mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
833 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
834 mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
838 # include/ contains install-tools/include/* and headers that were fixed up
839 # by fixincludes, we don't want former
840 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
842 # we have to save these however
843 %{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jvmpi.h} $gccdir/tmp}
844 %{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
845 mv -f $gccdir/include/syslimits.h $gccdir/tmp
846 rm -rf $gccdir/include
847 mv -f $gccdir/tmp $gccdir/include
848 cp -f $gccdir/install-tools/include/*.h $gccdir/include
849 # but we don't want anything more from install-tools
850 rm -rf $gccdir/install-tools
853 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
855 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
858 %find_lang libstdc\+\+
860 # cvs snap doesn't contain (release does) below files,
861 # so let's create dummy entries to satisfy %%files.
862 [ ! -f NEWS ] && touch NEWS
863 [ ! -f libgfortran/AUTHORS ] && touch libgfortran/AUTHORS
864 [ ! -f libgfortran/README ] && touch libgfortran/README
867 rm -rf $RPM_BUILD_ROOT
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
891 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
893 %post -p /sbin/ldconfig -n libgcc
894 %postun -p /sbin/ldconfig -n libgcc
895 %post -p /sbin/ldconfig -n libmudflap
896 %postun -p /sbin/ldconfig -n libmudflap
897 %post -p /sbin/ldconfig -n libgnat
898 %postun -p /sbin/ldconfig -n libgnat
899 %post -p /sbin/ldconfig -n libstdc++
900 %postun -p /sbin/ldconfig -n libstdc++
901 %post -p /sbin/ldconfig -n libgfortran
902 %postun -p /sbin/ldconfig -n libgfortran
903 %post -p /sbin/ldconfig -n libgcj
904 %postun -p /sbin/ldconfig -n libgcj
905 %post -p /sbin/ldconfig -n libffi
906 %postun -p /sbin/ldconfig -n libffi
907 %post -p /sbin/ldconfig -n libobjc
908 %postun -p /sbin/ldconfig -n libobjc
911 %defattr(644,root,root,755)
912 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
913 %doc gcc/{ChangeLog,ONEWS,README.Portability}
915 %dir %{_libdir}/gcc/*
916 %dir %{_libdir}/gcc/*/*
917 %dir %{_libdir}/gcc/*/*/include
919 %attr(755,root,root) %{_bindir}/*-gcc*
920 %attr(755,root,root) %{_bindir}/gcc
921 %attr(755,root,root) %{_bindir}/gccbug
922 %attr(755,root,root) %{_bindir}/gcov
923 %attr(755,root,root) %{_bindir}/cc
924 %attr(755,root,root) %{_bindir}/cpp
926 %{_mandir}/man1/cc.1*
927 %{_mandir}/man1/cpp.1*
928 %{_mandir}/man1/gcc.1*
929 %{_mandir}/man1/gcov.1*
934 %attr(755,root,root) /lib/cpp
936 %attr(755,root,root) %{_slibdir}/lib*.so
938 %dir %{_libdir}/gcc/*/*/32
939 %{_libdir}/gcc/*/*/32/libgcov.a
940 %{_libdir}/gcc/*/*/32/libgcc.a
941 %{_libdir}/gcc/*/*/32/libgcc_eh.a
942 %{_libdir}/gcc/*/*/32/libgcc_s.so
944 %{_libdir}/gcc/*/*/libgcov.a
945 %{_libdir}/gcc/*/*/libgcc.a
946 %{_libdir}/gcc/*/*/libgcc_eh.a
947 %{_libdir}/gcc/*/*/libgcc_s.so
948 %{_libdir}/gcc/*/*/specs
950 %{_libdir}/gcc/*/*/32/crt*.o
952 %{_libdir}/gcc/*/*/crt*.o
953 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
954 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
956 %{_libdir}/gcc/*/*/include/*.h
959 %defattr(644,root,root,755)
961 %attr(755,root,root) %{_slibdir32}/lib*.so.*
963 %attr(755,root,root) %{_slibdir}/lib*.so.*
966 %defattr(644,root,root,755)
968 %attr(755,root,root) %{_libdir32}/libmudflap*.so.*.*.*
970 %attr(755,root,root) %{_libdir}/libmudflap*.so.*.*.*
972 %files -n libmudflap-devel
973 %defattr(644,root,root,755)
974 %{_includedir}/mf-runtime.h
976 %{_libdir32}/libmudflap*.la
977 %attr(755,root,root) %{_libdir32}/libmudflap*.so
979 %{_libdir}/libmudflap*.la
980 %attr(755,root,root) %{_libdir}/libmudflap*.so
982 %files -n libmudflap-static
983 %defattr(644,root,root,755)
985 %{_libdir32}/libmudflap*.a
987 %{_libdir}/libmudflap*.a
991 %defattr(644,root,root,755)
992 %doc gcc/ada/ChangeLog
993 %attr(755,root,root) %{_bindir}/gnat*
994 %attr(755,root,root) %{_bindir}/gpr*
995 %attr(755,root,root) %{_libdir}/libgnarl*.so
996 %attr(755,root,root) %{_libdir}/libgnat*.so
997 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
998 %{_libdir}/gcc/*/*/adainclude
999 %dir %{_libdir}/gcc/*/*/adalib
1000 %{_libdir}/gcc/*/*/adalib/*.ali
1001 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1002 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1004 %{_libdir}/gcc/*/*/adalib/libgmem.a
1009 %defattr(644,root,root,755)
1010 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1011 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1013 %files -n libgnat-static
1014 %defattr(644,root,root,755)
1015 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1016 %{_libdir}/gcc/*/*/adalib/libgnat.a
1020 %defattr(644,root,root,755)
1021 %doc gcc/cp/{ChangeLog,NEWS}
1022 %attr(755,root,root) %{_bindir}/g++
1023 %attr(755,root,root) %{_bindir}/*-g++
1024 %attr(755,root,root) %{_bindir}/c++
1025 %attr(755,root,root) %{_bindir}/*-c++
1026 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
1027 %if %{with multilib}
1028 %{_libdir32}/libsupc++.a
1029 %{_libdir32}/libsupc++.la
1031 %{_libdir}/libsupc++.a
1032 %{_libdir}/libsupc++.la
1033 %{_mandir}/man1/g++.1*
1035 %files -n libstdc++ -f libstdc++.lang
1036 %defattr(644,root,root,755)
1037 %doc libstdc++-v3/{ChangeLog,README}
1038 %if %{with multilib}
1039 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
1041 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
1043 %files -n libstdc++-devel
1044 %defattr(644,root,root,755)
1045 %doc libstdc++-v3/docs/html
1046 %dir %{_includedir}/c++
1047 %{_includedir}/c++/%{version}
1049 %exclude %{_includedir}/c++/%{version}/java
1050 %exclude %{_includedir}/c++/%{version}/javax
1051 %exclude %{_includedir}/c++/%{version}/gcj
1052 %exclude %{_includedir}/c++/%{version}/gnu
1055 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
1057 %if %{with multilib}
1058 %{_libdir32}/libstdc++.la
1059 %attr(755,root,root) %{_libdir32}/libstdc++.so
1061 %{_libdir}/libstdc++.la
1062 %attr(755,root,root) %{_libdir}/libstdc++.so
1064 %files -n libstdc++-static
1065 %defattr(644,root,root,755)
1066 %if %{with multilib}
1067 %{_libdir32}/libstdc++.a
1069 %{_libdir}/libstdc++.a
1073 %defattr(644,root,root,755)
1074 %doc gcc/fortran/ChangeLog
1075 %attr(755,root,root) %{_bindir}/g95
1076 %attr(755,root,root) %{_bindir}/gfortran
1077 %{_infodir}/gfortran*
1078 %attr(755,root,root) %{_libdir}/gcc/*/*/f951
1079 %if %{with multilib}
1080 %{_libdir32}/libgfortranbegin.a
1081 %{_libdir32}/libgfortranbegin.la
1082 %{_libdir32}/libgfortran.la
1083 %attr(755,root,root) %{_libdir32}/libgfortran.so
1085 %{_libdir}/libgfortranbegin.a
1086 %{_libdir}/libgfortranbegin.la
1087 %{_libdir}/libgfortran.la
1088 %attr(755,root,root) %{_libdir}/libgfortran.so
1089 %{_mandir}/man1/g95.1*
1090 %{_mandir}/man1/gfortran.1*
1092 %files -n libgfortran
1093 %defattr(644,root,root,755)
1094 %doc libgfortran/{AUTHORS,README,ChangeLog}
1095 %if %{with multilib}
1096 %attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
1098 %attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
1100 %files -n libgfortran-static
1101 %defattr(644,root,root,755)
1102 %if %{with multilib}
1103 %{_libdir32}/libgfortran.a
1105 %{_libdir}/libgfortran.a
1110 %defattr(644,root,root,755)
1111 %doc gcc/java/ChangeLog java-doc/*
1112 %attr(755,root,root) %{_bindir}/fastjar
1113 %attr(755,root,root) %{_bindir}/gcj*
1114 %attr(755,root,root) %{_bindir}/gjnih
1115 %attr(755,root,root) %{_bindir}/grepjar
1116 %attr(755,root,root) %{_bindir}/grmi*
1117 %attr(755,root,root) %{_bindir}/jcf-dump
1118 %attr(755,root,root) %{_bindir}/jv-*
1119 %attr(755,root,root) %{_bindir}/*-gcj*
1120 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1121 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1122 %{_infodir}/fastjar*
1124 %{_mandir}/man1/fastjar*
1125 %{_mandir}/man1/gcj*
1126 %{_mandir}/man1/gjnih*
1127 %{_mandir}/man1/grepjar*
1128 %{_mandir}/man1/grmi*
1129 %{_mandir}/man1/jcf-*
1130 %{_mandir}/man1/jv-*
1133 %defattr(644,root,root,755)
1134 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1135 %attr(755,root,root) %{_bindir}/addr2name.awk
1136 %attr(755,root,root) %{_bindir}/gij
1137 %dir %{_libdir}/gcj-%{version}
1138 %{_libdir}/gcj-%{version}/classmap.db
1139 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1140 %attr(755,root,root) %{_libdir}/libgij.so.*.*.*
1141 %{_libdir}/logging.properties
1142 %{_javadir}/libgcj*.jar
1143 %{_mandir}/man1/gij*
1145 %files -n libgcj-devel
1146 %defattr(644,root,root,755)
1147 %{_includedir}/c++/%{version}/java
1148 %{_includedir}/c++/%{version}/javax
1149 %{_includedir}/c++/%{version}/gcj
1150 %{_includedir}/c++/%{version}/gnu
1151 %{_libdir}/gcc/*/*/include/gcj
1152 %{_libdir}/gcc/*/*/include/jawt.h
1153 %{_libdir}/gcc/*/*/include/jawt_md.h
1154 %{_libdir}/gcc/*/*/include/jni.h
1155 %{_libdir}/gcc/*/*/include/jvmpi.h
1156 %dir %{_libdir}/security
1157 %{_libdir}/security/*
1158 %{_libdir}/lib*cj.spec
1159 %{_libdir}/lib*cj*.la
1160 %attr(755,root,root) %{_libdir}/lib*cj*.so
1161 %{_libdir}/libgij.la
1162 %attr(755,root,root) %{_libdir}/libgij.so
1163 %{_pkgconfigdir}/libgcj.pc
1165 %files -n libgcj-static
1166 %defattr(644,root,root,755)
1167 %{_libdir}/lib*cj*.a
1171 %defattr(644,root,root,755)
1172 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1173 %attr(755,root,root) %{_libdir}/libffi.so.*.*.*
1175 %files -n libffi-devel
1176 %defattr(644,root,root,755)
1177 %{_libdir}/gcc/*/*/include/ffitarget.h
1178 %attr(755,root,root) %{_libdir}/libffi.so
1179 %{_libdir}/libffi.la
1180 %{_includedir}/ffi.h
1182 %files -n libffi-static
1183 %defattr(644,root,root,755)
1189 %defattr(644,root,root,755)
1190 %doc gcc/objc/README
1191 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1192 %if %{with multilib}
1193 %attr(755,root,root) %{_libdir32}/libobjc.so
1194 %{_libdir32}/libobjc.la
1196 %attr(755,root,root) %{_libdir}/libobjc.so
1197 %{_libdir}/libobjc.la
1198 %{_libdir}/gcc/*/*/include/objc
1201 %defattr(644,root,root,755)
1202 %doc libobjc/{ChangeLog,README*}
1203 %if %{with multilib}
1204 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
1206 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
1208 %files -n libobjc-static
1209 %defattr(644,root,root,755)
1210 %if %{with multilib}
1211 %{_libdir32}/libobjc.a
1213 %{_libdir}/libobjc.a
1218 %defattr(644,root,root,755)
1219 %doc gcc/objcp/ChangeLog
1220 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1objplus