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 %{x8664} 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
28 %define _snap 20050507
32 Group: Development/Languages
33 #Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
34 Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/4.0-%{_snap}/gcc-4.0-%{_snap}.tar.bz2
35 # Source0-md5: 701f385de867d117f3648165174b254a
36 Source1: %{name}-optimize-la.pl
37 Patch0: %{name}-info.patch
38 Patch1: %{name}-nolocalefiles.patch
39 Patch2: %{name}-nodebug.patch
40 Patch3: %{name}-ada-link-new-libgnat.patch
41 Patch4: %{name}-ada-link.patch
42 Patch5: %{name}-alpha-ada_fix.patch
44 Patch10: %{name}-pr21237.patch
45 #Patch12: %{name}-pr19664.patch
46 #Patch13: %{name}-pr20218.patch
47 URL: http://gcc.gnu.org/
48 BuildRequires: autoconf
49 BuildRequires: automake
50 BuildRequires: binutils >= 2:2.15.94.0.1
52 %{?with_java:BuildRequires: cairo-devel}
53 BuildRequires: fileutils >= 4.0.41
56 BuildRequires: gcc(ada)
57 BuildRequires: gcc-ada
59 BuildRequires: gettext-devel
60 BuildRequires: glibc-devel >= %{!?with_multilib:2.2.5-20}%{?with_multilib:6:2.3.4-1.5}
61 BuildRequires: gmp-devel
62 BuildRequires: libmpfr-devel
63 %{?with_java:BuildRequires: pango-devel}
64 BuildRequires: perl-devel
65 BuildRequires: rpmbuild(macros) >= 1.211
66 BuildRequires: texinfo >= 4.1
67 BuildRequires: zlib-devel
68 # AS_NEEDED directive for dynamic linker
69 # http://sources.redhat.com/ml/glibc-cvs/2005-q1/msg00614.html
70 # http://sources.redhat.com/ml/binutils/2005-01/msg00288.html
71 Requires: binutils >= 2:2.16.90.0.1-0.3
72 Requires: libgcc = %{epoch}:%{version}-%{release}
73 Provides: cpp = %{epoch}:%{version}-%{release}
74 %{?with_ada:Provides: gcc(ada)}
75 %{?with_multilib:Provides: gcc(multilib)}
82 Conflicts: glibc-devel < 2.2.5-20
83 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
85 %define _slibdir /%{_lib}
87 # 32-bit environment on x86-64,ppc64,s390x,sparc64
88 %define _slibdir32 /lib
89 %define _libdir32 /usr/lib
92 %define rpmcflags -O2 -mtune=ultrasparc
96 A compiler aimed at integrating all the optimizations and features
97 necessary for a high-performance and stable development environment.
99 This package contains the C compiler and some files shared by various
100 parts of the GNU Compiler Collection. In order to use another GCC
101 compiler you will need to install the appropriate subpackage.
104 Un compilador que intenta integrar todas las optimalizaciones y
105 características necesarias para un entorno de desarrollo eficaz y
108 Este paquete contiene el compilador de C y unos ficheros compartidos
109 por varias partes de la colección de compiladores GNU (GCC). Para usar
110 otro compilador de GCC será necesario que instale el subpaquete
114 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
115 wyprodukowania szybkiego i stabilnego kodu wynikowego.
117 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
118 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
119 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
121 %description -l pt_BR
122 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
123 GNU Compiler Collection.
126 Summary: Shared gcc library
127 Summary(es): Biblioteca compartida de gcc
128 Summary(pl): Biblioteka gcc
129 Summary(pt_BR): Biblioteca runtime para o GCC
130 License: GPL with unlimited link permission
134 %description -n libgcc
137 %description -n libgcc -l es
138 Biblioteca compartida de gcc.
140 %description -n libgcc -l pl
141 Biblioteka dynamiczna gcc.
143 %description -n libgcc -l pt_BR
144 Biblioteca runtime para o GCC.
146 %package -n libmudflap
147 Summary: GCC mudflap shared support library
148 Summary(pl): Wspó³dzielona biblioteka wspomagaj±ca GCC mudflap
149 License: GPL v2+ with unlimited link permission
152 %description -n libmudflap
153 The libmudflap libraries are used by GCC for instrumenting pointer and
154 array dereferencing operations.
156 %description -n libmudflap -l pl
157 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
158 dereferencji wspa¼ników i tablic.
160 %package -n libmudflap-devel
161 Summary: Development files for GCC mudflap library
162 Summary(pl): Pliki programistyczne biblioteki GCC mudflap
163 License: GPL v2+ with unlimited link permission
164 Group: Development/Libraries
165 Requires: libmudflap = %{epoch}:%{version}-%{release}
167 %description -n libmudflap-devel
168 The libmudflap libraries are used by GCC for instrumenting pointer and
169 array dereferencing operations. This package contains development
172 %description -n libmudflap-devel -l pl
173 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
174 dereferencji wspa¼ników i tablic. Ten pakiet zawiera pliki
177 %package -n libmudflap-static
178 Summary: Static GCC mudflap library
179 Summary(pl): Statyczna biblioteka GCC mudflap
180 License: GPL v2+ with unlimited link permission
181 Group: Development/Libraries
182 Requires: libmudflap-devel = %{epoch}:%{version}-%{release}
184 %description -n libmudflap-static
185 The libmudflap libraries are used by GCC for instrumenting pointer and
186 array dereferencing operations. This package contains static
189 %description -n libmudflap-static -l pl
190 Biblioteki libmudflap s± u¿ywane przez GCC do obs³ugi operacji
191 dereferencji wspa¼ników i tablic. Ten pakiet zawiera biblioteki
195 Summary: Ada support for gcc
196 Summary(es): Soporte de Ada para gcc
197 Summary(pl): Obs³uga Ady do gcc
198 Group: Development/Languages
199 Requires: %{name} = %{epoch}:%{version}-%{release}
200 Requires: libgnat = %{epoch}:%{version}-%{release}
202 Obsoletes: gnat-devel
205 This package adds experimental support for compiling Ada programs.
207 %description ada -l es
208 Este paquete añade soporte experimental para compilar programas en
211 %description ada -l pl
212 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
216 Summary: Ada standard libraries
217 Summary(es): Bibliotecas estándares de Ada
218 Summary(pl): Biblioteki standardowe dla Ady
219 License: GPL v2+ with linking exception
224 %description -n libgnat
225 This package contains shared libraries needed to run programs written
228 %description -n libgnat -l es
229 Este paquete contiene las bibliotecas compartidas necesarias para
230 ejecutar programas escritos en Ada.
232 %description -n libgnat -l pl
233 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
236 %package -n libgnat-static
237 Summary: Static Ada standard libraries
238 Summary(pl): Statyczne biblioteki standardowe dla Ady
239 License: GPL v2+ with linking exception
240 Group: Development/Libraries
241 Obsoletes: gnat-static
243 %description -n libgnat-static
244 This package contains static libraries for programs written in Ada.
246 %description -n libgnat-static -l pl
247 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
251 Summary: C++ support for gcc
252 Summary(es): Soporte de C++ para gcc
253 Summary(pl): Obs³uga C++ dla gcc
254 Summary(pt_BR): Suporte C++ para o gcc
255 Group: Development/Languages
256 Requires: %{name} = %{epoch}:%{version}-%{release}
261 This package adds C++ support to the GNU Compiler Collection. It
262 includes support for most of the current C++ specification, including
263 templates and exception handling. It does not include a standard C++
264 library, which is available separately.
266 %description c++ -l de
267 Dieses Paket enthält die C++-Unterstützung für den
268 GNU-Compiler-Collection. Es unterstützt die aktuelle
269 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
270 C++-Standard-Library ist nicht enthalten - sie ist getrennt
273 %description c++ -l es
274 Este paquete añade soporte de C++ al GCC (colección de compiladores
275 GNU). Ello incluye el soporte para la mayoría de la especificación
276 actual de C++, incluyendo plantillas y manejo de excepciones. No
277 incluye la biblioteca estándar de C++, la que es disponible separada.
279 %description c++ -l fr
280 Ce package ajoute un support C++ a la collection de compilateurs GNU.
281 Il comprend un support pour la plupart des spécifications actuelles de
282 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
283 une bibliothéque C++ standard, qui est disponible séparément.
285 %description c++ -l pl
286 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
287 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
288 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
290 %description c++ -l pt_BR
291 Este pacote adiciona suporte C++ para o gcc.
293 %description c++ -l tr
294 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
295 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
296 C++ kitaplýðý bu pakette yer almaz.
298 %package -n libstdc++
299 Summary: GNU C++ library
300 Summary(es): Biblioteca C++ de GNU
301 Summary(pl): Biblioteki GNU C++
302 Summary(pt_BR): Biblioteca C++ GNU
303 License: GPL v2+ with free software exception
306 Obsoletes: libstdc++3
308 %description -n libstdc++
309 This is the GNU implementation of the standard C++ libraries, along
310 with additional GNU tools. This package includes the shared libraries
311 necessary to run C++ applications.
313 %description -n libstdc++ -l de
314 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
315 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
316 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
318 %description -n libstdc++ -l es
319 Este es el soporte de las bibliotecas padrón del C++, junto con
320 herramientas GNU adicionales. El paquete incluye las bibliotecas
321 compartidas necesarias para ejecutar aplicaciones C++.
323 %description -n libstdc++ -l fr
324 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
325 des outils GNU supplémentaires. Ce package comprend les librairies
326 partagées nécessaires à l'exécution d'application C++.
328 %description -n libstdc++ -l pl
329 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
330 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
331 uruchomienia aplikacji napisanych w C++.
333 %description -n libstdc++ -l pt_BR
334 Este pacote é uma implementação da biblioteca padrão C++ v3, um
335 subconjunto do padrão ISO 14882.
337 %description -n libstdc++ -l tr
338 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
339 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
341 %package -n libstdc++-devel
342 Summary: Header files and documentation for C++ development
343 Summary(de): Header-Dateien zur Entwicklung mit C++
344 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
345 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
346 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
347 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
348 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
349 License: GPL v2+ with free software exception
350 Group: Development/Libraries
351 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
352 Requires: libstdc++ = %{epoch}:%{version}-%{release}
353 Requires: glibc-devel
354 Obsoletes: libg++-devel
355 Obsoletes: libstdc++3-devel
357 %description -n libstdc++-devel
358 This is the GNU implementation of the standard C++ libraries. This
359 package includes the header files needed for C++ development and
360 library documentation.
362 %description -n libstdc++-devel -l es
363 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
364 paquete incluye los archivos de inclusión y bibliotecas necesarios
365 para desarrollo de programas en lenguaje C++.
367 %description -n libstdc++-devel -l pl
368 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
369 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
370 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
372 %description -n libstdc++-devel -l pt_BR
373 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
374 para desenvolvimento de programas C++.
376 %package -n libstdc++-static
377 Summary: Static C++ standard library
378 Summary(es): Biblioteca estándar estática de C++
379 Summary(pl): Statyczna biblioteka standardowa C++
380 License: GPL v2+ with free software exception
381 Group: Development/Libraries
382 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
384 %description -n libstdc++-static
385 Static C++ standard library.
387 %description -n libstdc++-static -l es
388 Biblioteca estándar estática de C++.
390 %description -n libstdc++-static -l pl
391 Statyczna biblioteka standardowa C++.
394 Summary: Fortran 95 support for gcc
395 Summary(es): Soporte de Fortran 95 para gcc
396 Summary(pl): Obs³uga Fortranu 95 dla gcc
397 Summary(pt_BR): Suporte Fortran 95 para o GCC
398 Group: Development/Languages/Fortran
399 Requires: libgfortran = %{epoch}:%{version}-%{release}
400 Provides: gcc-g77 = %{epoch}:%{version}-%{release}
405 This package adds support for compiling Fortran 95 programs with the
408 %description fortran -l es
409 Este paquete añade soporte para compilar programas escritos en Fortran
410 95 con el compilador GNU.
412 %description fortran -l pl
413 Ten pakiet dodaje obs³ugê Fortranu 95 do kompilatora gcc. Jest
414 potrzebny do kompilowania programów pisanych w jêzyku Fortran 95.
416 %description fortran -l pt_BR
417 Suporte Fortran 95 para o GCC.
419 %package -n libgfortran
420 Summary: Fortran 95 Libraries
421 Summary(es): Bibliotecas de Fortran 95
422 Summary(pl): Biblioteki Fortranu 95
427 %description -n libgfortran
428 Fortran 95 Libraries.
430 %description -n libgfortran -l es
431 Bibliotecas de Fortran 95.
433 %description -n libgfortran -l pl
434 Biblioteki Fortranu 95.
436 %package -n libgfortran-static
437 Summary: Static Fortran 95 Libraries
438 Summary(es): Bibliotecas estáticas de Fortran 95
439 Summary(pl): Statyczne Biblioteki Fortranu 95
441 Group: Development/Libraries
442 Requires: libgfortran = %{epoch}:%{version}-%{release}
443 Obsoletes: libg2c-static
445 %description -n libgfortran-static
446 Static Fortran 95 Libraries.
448 %description -n libgfortran-static -l es
449 Bibliotecas estáticas de Fortran 95.
451 %description -n libgfortran-static -l pl
452 Statyczne biblioteki Fortranu 95.
455 Summary: Java support for gcc
456 Summary(es): Soporte de Java para gcc
457 Summary(pl): Obs³uga Javy dla gcc
458 Group: Development/Languages/Java
459 Requires: %{name} = %{epoch}:%{version}-%{release}
460 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
461 Requires: java-shared
462 Provides: gcj = %{epoch}:%{version}-%{release}
465 This package adds experimental support for compiling Java(TM) programs
466 and bytecode into native code. To use this you will also need the
469 %description java -l es
470 Este paquete añade soporte experimental para compilar programas
471 Java(tm) y su bytecode en código nativo. Para usarlo también va a
472 necesitar el paquete libgcj.
474 %description java -l pl
475 Ten pakiet dodaje mo¿liwo¶æ kompilowania programów w jêzyku Java(TM)
476 oraz bajtkodu do kodu natywnego. Do u¿ywania go wymagany jest
477 dodatkowo pakiet libgcj.
480 Summary: Java Class Libraries
481 Summary(es): Bibliotecas de clases de Java
482 Summary(pl): Biblioteki Klas Javy
483 License: GPL with limited linking exception
487 %description -n libgcj
488 Java Class Libraries.
490 %description -n libgcj -l es
491 Bibliotecas de clases de Java.
493 %description -n libgcj -l pl
494 Biblioteki Klas Javy.
496 %package -n libgcj-devel
497 Summary: Development files for Java Class Libraries
498 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
499 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
500 License: GPL with limited linking exception
501 Group: Development/Libraries
502 Requires: libgcj = %{epoch}:%{version}-%{release}
504 Obsoletes: libgcj3-devel
506 %description -n libgcj-devel
507 Development files for Java Class Libraries.
509 %description -n libgcj-devel -l es
510 Ficheros de desarrollo para las bibliotecas de clases de Java.
512 %description -n libgcj-devel -l pl
513 Pliki nag³ówkowe dla Bibliotek Klas Javy.
515 %package -n libgcj-static
516 Summary: Static Java Class Libraries
517 Summary(es): Bibliotecas estáticas de clases de Java
518 Summary(pl): Statyczne Biblioteki Klas Javy
519 License: GPL with limited linking exception
520 Group: Development/Libraries
521 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
522 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
524 %description -n libgcj-static
525 Static Java Class Libraries.
527 %description -n libgcj-static -l es
528 Bibliotecas estáticas de clases de Java.
530 %description -n libgcj-static -l pl
531 Statyczne Biblioteki Klas Javy.
534 Summary: Foreign Function Interface library
535 Summary(es): Biblioteca de interfaz de funciones ajenas
536 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
540 %description -n libffi
541 The libffi library provides a portable, high level programming
542 interface to various calling conventions. This allows a programmer to
543 call any function specified by a call interface description at run
546 %description -n libffi -l es
547 La biblioteca libffi provee una interfaz portable de programación de
548 alto nivel para varias convenciones de llamada. Ello permite que un
549 programador llame una función cualquiera especificada por una
550 descripción de interfaz de llamada en el tiempo de ejecución.
552 %description -n libffi -l pl
553 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
554 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
555 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
558 %package -n libffi-devel
559 Summary: Development files for Foreign Function Interface library
560 Summary(es): Ficheros de desarrollo para libffi
561 Summary(pl): Pliki nag³ówkowe dla libffi
563 Group: Development/Libraries
564 Requires: libffi = %{epoch}:%{version}-%{release}
566 %description -n libffi-devel
567 Development files for Foreign Function Interface library.
569 %description -n libffi-devel -l es
570 Ficheros de desarrollo para libffi.
572 %description -n libffi-devel -l pl
573 Pliki nag³ówkowe dla libffi.
575 %package -n libffi-static
576 Summary: Static Foreign Function Interface library
577 Summary(es): Biblioteca libffi estática
578 Summary(pl): Statyczna biblioteka libffi
580 Group: Development/Libraries
581 Requires: libffi-devel = %{epoch}:%{version}-%{release}
583 %description -n libffi-static
584 Static Foreign Function Interface library.
586 %description -n libffi-static -l es
587 Biblioteca libffi estática.
589 %description -n libffi-static -l pl
590 Statyczna biblioteka libffi.
593 Summary: Shared java tools
594 Summary(es): Herramientas compartidas de Java
595 Summary(pl): Wspó³dzielone narzêdzia javy
596 Group: Development/Languages/Java
597 Provides: jar = %{epoch}:%{version}-%{release}
598 Provides: java-shared
601 Obsoletes: java-shared
603 %description java-tools
604 This package contains tools that are common for every Java(tm)
605 implementation, such as rmic or jar.
607 %description java-tools -l es
608 Este paquete contiene herramientas que son comunes para cada
609 implementación de Java(tm), como rmic o jar.
611 %description java-tools -l pl
612 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
613 Javy(tm), takie jak rmic czy jar.
616 Summary: Objective C support for gcc
617 Summary(de): Objektive C-Unterstützung für gcc
618 Summary(es): Soporte de Objective C para gcc
619 Summary(fr): Gestion d'Objective C pour gcc
620 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
621 Summary(tr): gcc için Objective C desteði
622 Group: Development/Languages
623 Requires: %{name} = %{epoch}:%{version}-%{release}
624 Requires: libobjc = %{epoch}:%{version}-%{release}
629 This package adds Objective C support to the GNU Compiler Collection.
630 Objective C is a object oriented derivative of the C language, mainly
631 used on systems running NeXTSTEP. This package does not include the
632 standard objective C object library.
634 %description objc -l de
635 Dieses Paket ergänzt den GNU-Compiler-Collection durch
636 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
637 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
638 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
640 %description objc -l es
641 Este paquete añade soporte de Objective C al GCC (colección de
642 compiladores GNU). Objective C es un lenguaje orientado a objetos
643 derivado de C, principalmente usado en sistemas que funcionan bajo
644 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
647 %description objc -l fr
648 Ce package ajoute un support Objective C a la collection de
649 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
650 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
651 package n'inclue pas la bibliothéque Objective C standard.
653 %description objc -l pl
654 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
655 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
656 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
657 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
659 %description objc -l tr
660 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
661 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
662 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
663 kitaplýðý bu pakette yer almaz.
666 Summary: Objective C Libraries
667 Summary(es): Bibliotecas de Objective C
668 Summary(pl): Biblioteki Obiektowego C
669 License: GPL v2+ with linking exception
673 %description -n libobjc
674 Objective C Libraries.
676 %description -n libobjc -l es
677 Bibliotecas de Objective C.
679 %description -n libobjc -l pl
680 Biblioteki Obiektowego C.
682 %package -n libobjc-static
683 Summary: Static Objective C Libraries
684 Summary(es): Bibliotecas estáticas de Objective C
685 Summary(pl): Statyczne Biblioteki Obiektowego C
686 License: GPL v2+ with linking exception
687 Group: Development/Libraries
688 Requires: libobjc = %{epoch}:%{version}-%{release}
690 %description -n libobjc-static
691 Static Objective C Libraries.
693 %description -n libobjc-static -l es
694 Bibliotecas estáticas de Objective C.
696 %description -n libobjc-static -l pl
697 Statyczne biblioteki Obiektowego C.
700 #setup -q -n gcc-%{version}
701 %setup -q -n gcc-4.0-%{_snap}
705 %{!?debug:%patch2 -p1}
713 # because we distribute modified version of gcc...
714 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
715 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
717 mv ChangeLog ChangeLog.general
723 cp -f /usr/share/automake/config.sub .
725 rm -rf obj-%{_target_platform}
726 install -d obj-%{_target_platform}
727 cd obj-%{_target_platform}
729 CFLAGS="%{rpmcflags}" \
730 CXXFLAGS="%{rpmcflags}" \
733 --prefix=%{_prefix} \
734 --libdir=%{_libdir} \
735 --libexecdir=%{_libdir} \
736 --infodir=%{_infodir} \
737 --mandir=%{_mandir} \
739 --enable-threads=posix \
740 --enable-__cxa_atexit \
741 --enable-languages="c,c++%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
744 --%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \
748 --with-demangler-in-ld \
750 --with-slibdir=%{_slibdir} \
755 --enable-libgcj-multifile \
756 --enable-libgcj-database \
763 %{__make} -C obj-%{_target_platform} \
764 %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \
765 GCJFLAGS="%{rpmcflags}" \
766 BOOT_CFLAGS="%{rpmcflags}" \
767 STAGE1_CFLAGS="%{rpmcflags} -O0" \
768 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
773 rm -rf $RPM_BUILD_ROOT
774 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
776 cd obj-%{_target_platform}
778 %{__make} -j1 install \
780 infodir=%{_infodir} \
781 DESTDIR=$RPM_BUILD_ROOT
783 install gcc/specs $RPM_BUILD_ROOT%{_libdir}/gcc/%{_target_platform}/%{version}
786 ln -sf $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
787 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
790 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
791 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
792 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
795 ln -sf gfortran $RPM_BUILD_ROOT%{_bindir}/g95
796 echo ".so gfortran.1" > $RPM_BUILD_ROOT%{_mandir}/man1/g95.1
800 # move ada shared libraries to proper place...
801 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
802 $RPM_BUILD_ROOT%{_libdir}
803 # check if symlink to be made is valid
804 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so.1
805 ln -sf libgnat-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-4.0.so
806 ln -sf libgnarl-4.0.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-4.0.so
807 ln -sf libgnat-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
808 ln -sf libgnarl-4.0.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
815 cp -f libjava/READ* java-doc
816 cp -f fastjar/README java-doc/README.fastjar
817 cp -f libffi/README java-doc/README.libffi
818 cp -f libffi/LICENSE java-doc/LICENSE.libffi
819 ln -sf %{_javadir}/libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
822 cp -f libobjc/README gcc/objc/README.libobjc
825 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
826 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
827 for f in libmudflap.la libmudflapth.la libstdc++.la libsupc++.la \
828 %{?with_fortran:libgfortran.la libgfortranbegin.la} \
829 %{?with_java:libgcj.la libffi.la} \
830 %{?with_objc:libobjc.la};
832 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/$f %{_libdir} > $RPM_BUILD_ROOT%{_libdir}/$f.fixed
833 mv $RPM_BUILD_ROOT%{_libdir}/$f{.fixed,}
835 %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
836 mv $RPM_BUILD_ROOT%{_libdir32}/$f{.fixed,}
840 # include/ contains install-tools/include/* and headers that were fixed up
841 # by fixincludes, we don't want former
842 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
844 # we have to save these however
845 %{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h,jawt.h,jawt_md.h,jni.h,jvmpi.h} $gccdir/tmp}
846 %{?with_objc:mv -f $gccdir/include/objc $gccdir/tmp}
847 mv -f $gccdir/include/syslimits.h $gccdir/tmp
848 rm -rf $gccdir/include
849 mv -f $gccdir/tmp $gccdir/include
850 cp -f $gccdir/install-tools/include/*.h $gccdir/include
851 # but we don't want anything more from install-tools
852 rm -rf $gccdir/install-tools
855 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/32/libgcc_s.so
857 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
860 %find_lang libstdc\+\+
862 # cvs snap doesn't contain (release does) below files,
863 # so let's create dummy entries to satisfy %%files.
864 [ ! -f NEWS ] && touch NEWS
865 [ ! -f libgfortran/AUTHORS ] && touch libgfortran/AUTHORS
866 [ ! -f libgfortran/README ] && touch libgfortran/README
869 rm -rf $RPM_BUILD_ROOT
872 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
875 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
878 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
881 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
884 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
887 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
890 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
893 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
895 %post -p /sbin/ldconfig -n libgcc
896 %postun -p /sbin/ldconfig -n libgcc
897 %post -p /sbin/ldconfig -n libmudflap
898 %postun -p /sbin/ldconfig -n libmudflap
899 %post -p /sbin/ldconfig -n libgnat
900 %postun -p /sbin/ldconfig -n libgnat
901 %post -p /sbin/ldconfig -n libstdc++
902 %postun -p /sbin/ldconfig -n libstdc++
903 %post -p /sbin/ldconfig -n libgfortran
904 %postun -p /sbin/ldconfig -n libgfortran
905 %post -p /sbin/ldconfig -n libgcj
906 %postun -p /sbin/ldconfig -n libgcj
907 %post -p /sbin/ldconfig -n libffi
908 %postun -p /sbin/ldconfig -n libffi
909 %post -p /sbin/ldconfig -n libobjc
910 %postun -p /sbin/ldconfig -n libobjc
913 %defattr(644,root,root,755)
914 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
915 %doc gcc/{ChangeLog,ONEWS,README.Portability}
917 %dir %{_libdir}/gcc/*
918 %dir %{_libdir}/gcc/*/*
919 %dir %{_libdir}/gcc/*/*/include
921 %attr(755,root,root) %{_bindir}/*-gcc*
922 %attr(755,root,root) %{_bindir}/gcc
923 %attr(755,root,root) %{_bindir}/gccbug
924 %attr(755,root,root) %{_bindir}/gcov
925 %attr(755,root,root) %{_bindir}/cc
926 %attr(755,root,root) %{_bindir}/cpp
928 %{_mandir}/man1/cc.1*
929 %{_mandir}/man1/cpp.1*
930 %{_mandir}/man1/gcc.1*
931 %{_mandir}/man1/gcov.1*
936 %attr(755,root,root) /lib/cpp
938 %attr(755,root,root) %{_slibdir}/lib*.so
940 %dir %{_libdir}/gcc/*/*/32
941 %{_libdir}/gcc/*/*/32/libgcov.a
942 %{_libdir}/gcc/*/*/32/libgcc.a
943 %{_libdir}/gcc/*/*/32/libgcc_eh.a
944 %{_libdir}/gcc/*/*/32/libgcc_s.so
946 %{_libdir}/gcc/*/*/libgcov.a
947 %{_libdir}/gcc/*/*/libgcc.a
948 %{_libdir}/gcc/*/*/libgcc_eh.a
949 %{_libdir}/gcc/*/*/libgcc_s.so
950 %{_libdir}/gcc/*/*/specs
952 %{_libdir}/gcc/*/*/32/crt*.o
954 %{_libdir}/gcc/*/*/crt*.o
955 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
956 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
958 %{_libdir}/gcc/*/*/include/*.h
961 %defattr(644,root,root,755)
963 %attr(755,root,root) %{_slibdir32}/lib*.so.*
965 %attr(755,root,root) %{_slibdir}/lib*.so.*
968 %defattr(644,root,root,755)
970 %attr(755,root,root) %{_libdir32}/libmudflap*.so.*.*.*
972 %attr(755,root,root) %{_libdir}/libmudflap*.so.*.*.*
974 %files -n libmudflap-devel
975 %defattr(644,root,root,755)
976 %{_includedir}/mf-runtime.h
978 %{_libdir32}/libmudflap*.la
979 %attr(755,root,root) %{_libdir32}/libmudflap*.so
981 %{_libdir}/libmudflap*.la
982 %attr(755,root,root) %{_libdir}/libmudflap*.so
984 %files -n libmudflap-static
985 %defattr(644,root,root,755)
987 %{_libdir32}/libmudflap*.a
989 %{_libdir}/libmudflap*.a
993 %defattr(644,root,root,755)
994 %doc gcc/ada/ChangeLog
995 %attr(755,root,root) %{_bindir}/gnat*
996 %attr(755,root,root) %{_bindir}/gpr*
997 %attr(755,root,root) %{_libdir}/libgnarl*.so
998 %attr(755,root,root) %{_libdir}/libgnat*.so
999 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1000 %{_libdir}/gcc/*/*/adainclude
1001 %dir %{_libdir}/gcc/*/*/adalib
1002 %{_libdir}/gcc/*/*/adalib/*.ali
1003 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1004 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1006 %{_libdir}/gcc/*/*/adalib/libgmem.a
1011 %defattr(644,root,root,755)
1012 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1013 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1015 %files -n libgnat-static
1016 %defattr(644,root,root,755)
1017 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1018 %{_libdir}/gcc/*/*/adalib/libgnat.a
1022 %defattr(644,root,root,755)
1023 %doc gcc/cp/{ChangeLog,NEWS}
1024 %attr(755,root,root) %{_bindir}/g++
1025 %attr(755,root,root) %{_bindir}/*-g++
1026 %attr(755,root,root) %{_bindir}/c++
1027 %attr(755,root,root) %{_bindir}/*-c++
1028 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
1029 %if %{with multilib}
1030 %{_libdir32}/libsupc++.a
1031 %{_libdir32}/libsupc++.la
1033 %{_libdir}/libsupc++.a
1034 %{_libdir}/libsupc++.la
1035 %{_mandir}/man1/g++.1*
1037 %files -n libstdc++ -f libstdc++.lang
1038 %defattr(644,root,root,755)
1039 %doc libstdc++-v3/{ChangeLog,README}
1040 %if %{with multilib}
1041 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
1043 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
1045 %files -n libstdc++-devel
1046 %defattr(644,root,root,755)
1047 %doc libstdc++-v3/docs/html
1048 %dir %{_includedir}/c++
1049 %{_includedir}/c++/%{version}
1051 %exclude %{_includedir}/c++/%{version}/java
1052 %exclude %{_includedir}/c++/%{version}/javax
1053 %exclude %{_includedir}/c++/%{version}/gcj
1054 %exclude %{_includedir}/c++/%{version}/gnu
1057 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
1059 %if %{with multilib}
1060 %{_libdir32}/libstdc++.la
1061 %attr(755,root,root) %{_libdir32}/libstdc++.so
1063 %{_libdir}/libstdc++.la
1064 %attr(755,root,root) %{_libdir}/libstdc++.so
1066 %files -n libstdc++-static
1067 %defattr(644,root,root,755)
1068 %if %{with multilib}
1069 %{_libdir32}/libstdc++.a
1071 %{_libdir}/libstdc++.a
1075 %defattr(644,root,root,755)
1076 %doc gcc/fortran/ChangeLog
1077 %attr(755,root,root) %{_bindir}/g95
1078 %attr(755,root,root) %{_bindir}/gfortran
1079 %{_infodir}/gfortran*
1080 %attr(755,root,root) %{_libdir}/gcc/*/*/f951
1081 %if %{with multilib}
1082 %{_libdir32}/libgfortranbegin.a
1083 %{_libdir32}/libgfortranbegin.la
1084 %{_libdir32}/libgfortran.la
1085 %attr(755,root,root) %{_libdir32}/libgfortran.so
1087 %{_libdir}/libgfortranbegin.a
1088 %{_libdir}/libgfortranbegin.la
1089 %{_libdir}/libgfortran.la
1090 %attr(755,root,root) %{_libdir}/libgfortran.so
1091 %{_mandir}/man1/g95.1*
1092 %{_mandir}/man1/gfortran.1*
1094 %files -n libgfortran
1095 %defattr(644,root,root,755)
1096 %doc libgfortran/{AUTHORS,README,ChangeLog}
1097 %if %{with multilib}
1098 %attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
1100 %attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
1102 %files -n libgfortran-static
1103 %defattr(644,root,root,755)
1104 %if %{with multilib}
1105 %{_libdir32}/libgfortran.a
1107 %{_libdir}/libgfortran.a
1112 %defattr(644,root,root,755)
1113 %doc gcc/java/ChangeLog java-doc/*
1114 %attr(755,root,root) %{_bindir}/gcj*
1115 %attr(755,root,root) %{_bindir}/gjnih
1116 %attr(755,root,root) %{_bindir}/grepjar
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
1123 %{_mandir}/man1/gcj*
1124 %{_mandir}/man1/gjnih*
1125 %{_mandir}/man1/grepjar*
1126 %{_mandir}/man1/jcf-*
1127 %{_mandir}/man1/jv-*
1130 %defattr(644,root,root,755)
1131 %attr(755,root,root) %{_bindir}/grmi*
1132 %attr(755,root,root) %{_bindir}/fastjar
1133 %{_mandir}/man1/grmi*
1134 %{_mandir}/man1/fastjar*
1135 %{_infodir}/fastjar*
1138 %defattr(644,root,root,755)
1139 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1140 %attr(755,root,root) %{_bindir}/addr2name.awk
1141 %attr(755,root,root) %{_bindir}/gij
1142 %dir %{_libdir}/gcj-%{version}
1143 %{_libdir}/gcj-%{version}/classmap.db
1144 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1145 %attr(755,root,root) %{_libdir}/libgij.so.*.*.*
1146 %{_libdir}/logging.properties
1147 %{_javadir}/libgcj*.jar
1148 %{_mandir}/man1/gij*
1150 %files -n libgcj-devel
1151 %defattr(644,root,root,755)
1152 %{_includedir}/c++/%{version}/java
1153 %{_includedir}/c++/%{version}/javax
1154 %{_includedir}/c++/%{version}/gcj
1155 %{_includedir}/c++/%{version}/gnu
1156 %{_libdir}/gcc/*/*/include/gcj
1157 %{_libdir}/gcc/*/*/include/jawt.h
1158 %{_libdir}/gcc/*/*/include/jawt_md.h
1159 %{_libdir}/gcc/*/*/include/jni.h
1160 %{_libdir}/gcc/*/*/include/jvmpi.h
1161 %dir %{_libdir}/security
1162 %{_libdir}/security/*
1163 %{_libdir}/lib*cj.spec
1164 %{_libdir}/lib*cj*.la
1165 %attr(755,root,root) %{_libdir}/lib*cj*.so
1166 %{_libdir}/libgij.la
1167 %attr(755,root,root) %{_libdir}/libgij.so
1168 %{_pkgconfigdir}/libgcj.pc
1170 %files -n libgcj-static
1171 %defattr(644,root,root,755)
1172 %{_libdir}/lib*cj*.a
1176 %defattr(644,root,root,755)
1177 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1178 %attr(755,root,root) %{_libdir}/libffi.so.*.*.*
1180 %files -n libffi-devel
1181 %defattr(644,root,root,755)
1182 %{_libdir}/gcc/*/*/include/ffitarget.h
1183 %attr(755,root,root) %{_libdir}/libffi.so
1184 %{_libdir}/libffi.la
1185 %{_includedir}/ffi.h
1187 %files -n libffi-static
1188 %defattr(644,root,root,755)
1194 %defattr(644,root,root,755)
1195 %doc gcc/objc/README
1196 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1197 %if %{with multilib}
1198 %attr(755,root,root) %{_libdir32}/libobjc.so
1199 %{_libdir32}/libobjc.la
1201 %attr(755,root,root) %{_libdir}/libobjc.so
1202 %{_libdir}/libobjc.la
1203 %{_libdir}/gcc/*/*/include/objc
1206 %defattr(644,root,root,755)
1207 %doc libobjc/{ChangeLog,README*}
1208 %if %{with multilib}
1209 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
1211 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
1213 %files -n libobjc-static
1214 %defattr(644,root,root,755)
1215 %if %{with multilib}
1216 %{_libdir32}/libobjc.a
1218 %{_libdir}/libobjc.a