3 %bcond_without ada # build without ADA support
4 %bcond_without java # build without Java support
5 %bcond_without objc # build without objc support
6 %bcond_with bootstrap # don't BR gcc(ada) (temporary for Ac upgrade bootstrap)
9 %define GCC_VERSION 3.4
10 %define KSI_VERSION 1.1.0.1567
12 Summary: GNU Compiler Collection: the C compiler and shared files
13 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
14 Summary(pl): Kolekcja Kompilatorów GNU: kompilator C i pliki wspó³dzielone
15 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
17 Version: %{GCC_VERSION}
21 Group: Development/Languages
22 #Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
23 Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/%{version}-%{snap}/%{name}-%{version}-%{snap}.tar.bz2
24 # Source0-md5: 8d3a36a3032c4d8f3a7528b103d544de
25 Source1: ftp://ftp.pld-linux.org/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
26 # Source1-md5: 66f07491b44f06928fd95b0e65bb8cd3
27 Source2: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
28 # Source2-md5: 4736f3422ddfb808423b745629acc321
29 Patch0: %{name}-info.patch
30 Patch1: %{name}-nolocalefiles.patch
31 Patch2: %{name}-ada-link-new-libgnat.patch
32 # -- stolen patches from RH --
33 Patch10: gcc32-ada-link.patch
34 Patch11: gcc32-boehm-gc-libs.patch
35 Patch12: gcc32-bogus-inline.patch
36 Patch13: gcc32-c++-nrv-test.patch
37 Patch14: gcc32-c++-tsubst-asm.patch
38 Patch15: gcc32-debug-pr7241.patch
39 Patch16: gcc32-duplicate-decl.patch
40 Patch17: gcc32-dwarf2-pr6381.patch
41 Patch18: gcc32-dwarf2-pr6436-test.patch
42 Patch19: gcc32-fde-merge-compat.patch
43 Patch20: gcc32-i386-memtest-test.patch
44 Patch21: gcc32-inline-label.patch
45 Patch22: gcc32-java-no-rpath.patch
46 Patch23: gcc32-test-rh65771.patch
47 Patch24: gcc32-test-rotate.patch
48 BuildRequires: autoconf
49 BuildRequires: automake
50 BuildRequires: binutils >= 2.14
52 BuildRequires: fileutils >= 4.0.41
53 %{?with_ada:%{!?with_bootstrap:BuildRequires: gcc(ada)}}
54 %{?with_ada:BuildRequires: gcc-ada}
55 BuildRequires: gettext-devel
56 BuildRequires: glibc-devel >= 2.2.5-20
57 BuildRequires: perl-devel
58 BuildRequires: texinfo >= 4.1
59 BuildRequires: zlib-devel
60 Requires: binutils >= 2.14
61 Requires: cpp = %{epoch}:%{version}-%{release}
62 Requires: libgcc = %{epoch}:%{version}-%{release}
63 %{?with_ada:Provides: gcc(ada)}
64 Conflicts: glibc-devel < 2.2.5-20
65 URL: http://gcc.gnu.org/
66 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
68 %define _slibdir /%{_lib}
70 %define _slibdir64 /lib64
71 %define _libdir /usr/lib
72 %define rpmcflags -O2 -mtune=ultrasparc
76 A compiler aimed at integrating all the optimizations and features
77 necessary for a high-performance and stable development environment.
79 This package contains the C compiler and some files shared by various
80 parts of the GNU Compiler Collection. In order to use another GCC
81 compiler you will need to install the appropriate subpackage.
84 Un compilador destinado a la integración de todas las optimalizaciones
85 y características necesarias para un entorno de desarrollo eficaz y
88 Este paquete contiene el compilador de C y unos ficheros compartidos
89 por varias parted de la colección de compiladores GNU (GCC). Para usar
90 otro compilador de GCC será necesario que instale el subpaquete
94 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
95 wyprodukowania szybkiego i stablinego kodu wynikowego.
97 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
98 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
99 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
101 %description -l pt_BR
102 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
103 GNU Compiler Collection.
106 Summary: Shared gcc library
107 Summary(es): Biblioteca compartida de gcc
108 Summary(pl): Biblioteka gcc
109 Summary(pt_BR): Biblioteca runtime para o GCC
113 %description -n libgcc
116 %description -n libgcc -l es
117 Biblioteca compartida de gcc.
119 %description -n libgcc -l pl
120 Biblioteka dynamiczna gcc.
122 %description -n libgcc -l pt_BR
123 Biblioteca runtime para o GCC.
126 Summary: C++ support for gcc
127 Summary(es): Soporte de C++ para gcc
128 Summary(pl): Obs³uga C++ dla gcc
129 Summary(pt_BR): Suporte C++ para o gcc
130 Group: Development/Languages
133 Requires: gcc = %{epoch}:%{version}-%{release}
136 This package adds C++ support to the GNU Compiler Collection. It
137 includes support for most of the current C++ specification, including
138 templates and exception handling. It does not include a standard C++
139 library, which is available separately.
141 %description c++ -l de
142 Dieses Paket enthält die C++-Unterstützung für den
143 GNU-Compiler-Collection. Es unterstützt die aktuelle
144 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
145 C++-Standard-Library ist nicht enthalten - sie ist getrennt
148 %description c++ -l es
149 Este paquete añade soporte de C++ al GCC (colección de compiladores
150 GNU). Ello incluye el soporte para la mayoría de la especificación
151 actual de C++, incluyendo plantillas y manejo de excepciones. No
152 incluye la biblioteca estándar de C++, la que es disponible separada.
154 %description c++ -l fr
155 Ce package ajoute un support C++ a la collection de compilateurs GNU.
156 Il comprend un support pour la plupart des spécifications actuelles de
157 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
158 une bibliothéque C++ standard, qui est disponible séparément.
160 %description c++ -l pl
161 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
162 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
163 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
165 %description c++ -l pt_BR
166 Este pacote adiciona suporte C++ para o gcc.
168 %description c++ -l tr
169 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
170 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
171 C++ kitaplýðý bu pakette yer almaz.
174 Summary: Objective C support for gcc
175 Summary(de): Objektive C-Unterstützung für gcc
176 Summary(es): Soporte de Objective C para gcc
177 Summary(fr): Gestion d'Objective C pour gcc
178 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
179 Summary(tr): gcc için Objective C desteði
180 Group: Development/Languages
183 Requires: libobjc = %{epoch}:%{version}-%{release}
184 Requires: gcc = %{epoch}:%{version}-%{release}
187 This package adds Objective C support to the GNU Compiler Collection.
188 Objective C is a object oriented derivative of the C language, mainly
189 used on systems running NeXTSTEP. This package does not include the
190 standard objective C object library.
192 %description objc -l de
193 Dieses Paket ergänzt den GNU-Compiler-Collection durch
194 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
195 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
196 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
198 %description objc -l es
199 Este paquete añade soporte de Objective C al GCC (colección de
200 compiladores GNU). Objective C es un lenguaje orientado a objetos
201 derivado de C, principalmente usado en sistemas que funcionan bajo
202 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
205 %description objc -l fr
206 Ce package ajoute un support Objective C a la collection de
207 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
208 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
209 package n'inclue pas la bibliothéque Objective C standard.
211 %description objc -l pl
212 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
213 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
214 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
215 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
217 %description objc -l tr
218 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
219 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
220 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
221 kitaplýðý bu pakette yer almaz.
224 Summary: Objective C Libraries
225 Summary(es): Bibliotecas de Objective C
226 Summary(pl): Biblioteki Obiektowego C
230 %description -n libobjc
231 Objective C Libraries.
233 %description -n libobjc -l es
234 Bibliotecas de Objective C.
236 %description -n libobjc -l pl
237 Biblioteki Obiektowego C.
239 %package -n libobjc-static
240 Summary: Static Objective C Libraries
241 Summary(es): Bibliotecas estáticas de Objective C
242 Summary(pl): Statyczne Biblioteki Obiektowego C
243 Group: Development/Libraries
244 Requires: libobjc = %{epoch}:%{version}-%{release}
246 %description -n libobjc-static
247 Static Objective C Libraries.
249 %description -n libobjc-static -l es
250 Bibliotecas estáticas de Objective C.
252 %description -n libobjc-static -l pl
253 Statyczne biblioteki Obiektowego C.
256 Summary: Fortran 77 support for gcc
257 Summary(es): Soporte de Fortran 77 para gcc
258 Summary(pl): Obs³uga Fortranu 77 dla gcc
259 Summary(pt_BR): Suporte Fortran 77 para o GCC
260 Group: Development/Languages/Fortran
262 Requires: libg2c = %{epoch}:%{version}-%{release}
265 This package adds support for compiling Fortran 77 programs with the
268 %description g77 -l es
269 Este paquete añade soporte para compilar programas escritos en Fortran
270 77 con el compilador GNU.
272 %description g77 -l pl
273 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
274 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
276 %description g77 -l pt_BR
277 Suporte Fortran 77 para o GCC.
280 Summary: Fortran 77 Libraries
281 Summary(es): Bibliotecas de Fortran 77
282 Summary(pl): Biblioteki Fortranu 77
285 %description -n libg2c
286 Fortran 77 Libraries.
288 %description -n libg2c -l es
289 Bibliotecas de Fortran 77.
291 %description -n libg2c -l pl
292 Biblioteki Fortranu 77.
294 %package -n libg2c-static
295 Summary: Static Fortran 77 Libraries
296 Summary(es): Bibliotecas estáticas de Fortran 77
297 Summary(pl): Statyczne Biblioteki Fortranu 77
298 Group: Development/Libraries
299 Requires: libg2c = %{epoch}:%{version}-%{release}
301 %description -n libg2c-static
302 Static Fortran 77 Libraries.
304 %description -n libg2c -l es
305 Bibliotecas estáticas de Fortran 77.
307 %description -n libg2c-static -l pl
308 Statyczne biblioteki Fortranu 77.
311 Summary: Java support for gcc
312 Summary(es): Soporte de Java para gcc
313 Summary(pl): Obs³uga Javy dla gcc
314 Group: Development/Languages/Java
315 Requires: %{name} = %{epoch}:%{version}-%{release}
316 Requires: libgcj >= 3.0.0
317 Requires: libgcj-devel >= 3.0.0
318 Requires: java-shared
319 Provides: gcj = %{epoch}:%{version}-%{release}
322 This package adds experimental support for compiling Java(tm) programs
323 and bytecode into native code. To use this you will also need the
326 %description java -l es
327 Este paquete añade soporte experimental para compilar programas
328 Java(tm) y su bytecode en código nativo. Para usarlo también va a
329 necesitar el paquete libgcj.
331 %description java -l pl
332 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
333 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
334 by³o przeprowadziæ kompilacjê.
337 Summary: Shared java tools
338 Summary(es): Herramientas compartidas de Java
339 Summary(pl): Wspó³dzielone narzêdzia javy
340 Group: Development/Languages/Java
341 Provides: jar = %{epoch}:%{version}-%{release}
342 Provides: java-shared
344 Obsoletes: java-shared
347 %description java-tools
348 This package contains tools that are common for every Java(tm)
349 implementation, such as rmic or jar.
351 %description java-tools -l es
352 Este paquete contiene herramientas que son comunes para cada
353 implementación de Java(tm), como rmic o jar.
355 %description java-tools -l pl
356 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
357 Javy(tm), takie jak rmic czy jar.
360 Summary: Java Class Libraries
361 Summary(es): Bibliotecas de clases de Java
362 Summary(pl): Biblioteki Klas Javy
367 %description -n libgcj
368 Java Class Libraries.
370 %description -n libgcj -l es
371 Bibliotecas de clases de Java.
373 %description -n libgcj -l pl
374 Biblioteki Klas Javy.
376 %package -n libgcj-devel
377 Summary: Development files for Java Class Libraries
378 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
379 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
380 Group: Development/Libraries
381 Requires: libgcj = %{epoch}:%{version}-%{release}
382 Requires: %{name}-java
383 Obsoletes: libgcj3-devel
385 %description -n libgcj-devel
386 Development files for Java Class Libraries.
388 %description -n libgcj-devel -l es
389 Ficheros de desarrollo para las bibliotecas de clases de Java.
391 %description -n libgcj-devel -l pl
392 Pliki nag³ówkowe dla Bibliotek Klas Javy.
394 %package -n libgcj-static
395 Summary: Static Java Class Libraries
396 Summary(es): Bibliotecas estáticas de clases de Java
397 Summary(pl): Statyczne Biblioteki Klas Javy
398 Group: Development/Libraries
399 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
400 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
402 %description -n libgcj-static
403 Static Java Class Libraries.
405 %description -n libgcj-static -l es
406 Bibliotecas estáticas de clases de Java.
408 %description -n libgcj-static -l pl
409 Statyczne Biblioteki Klas Javy.
411 %package -n libstdc++
412 Summary: GNU c++ library
413 Summary(es): Biblioteca C++ de GNU
414 Summary(pl): Biblioteki GNU C++
415 Summary(pt_BR): Biblioteca C++ GNU
418 Obsoletes: libstdc++3
420 %description -n libstdc++
421 This is the GNU implementation of the standard C++ libraries, along
422 with additional GNU tools. This package includes the shared libraries
423 necessary to run C++ applications.
425 %description -n libstdc++ -l de
426 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
427 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
428 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
430 %description -n libstdc++ -l es
431 Este es el soporte de las bibliotecas padrón del C++, junto con
432 herramientas GNU adicionales. El paquete incluye las bibliotecas
433 compartidas necesarias para ejecutar aplicaciones C++.
435 %description -n libstdc++ -l fr
436 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
437 des outils GNU supplémentaires. Ce package comprend les librairies
438 partagées nécessaires à l'exécution d'application C++.
440 %description -n libstdc++ -l pl
441 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
442 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
443 uruchomienia aplikacji napisanych w C++.
445 %description -n libstdc++ -l pt_BR
446 Este pacote é uma implementação da biblioteca padrão C++ v3, um
447 subconjunto do padrão ISO 14882.
449 %description -n libstdc++ -l tr
450 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
451 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
453 %package -n libstdc++-devel
454 Summary: Header files and documentation for C++ development
455 Summary(de): Header-Dateien zur Entwicklung mit C++
456 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
457 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
458 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
459 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
460 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
461 Group: Development/Libraries
462 Requires: libstdc++ = %{epoch}:%{version}-%{release}
463 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
464 Obsoletes: libg++-devel
465 Obsoletes: libstdc++3-devel
467 %description -n libstdc++-devel
468 This is the GNU implementation of the standard C++ libraries. This
469 package includes the header files needed for C++ development and
470 library documentation.
472 %description -n libstdc++-devel -l es
473 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
474 paquete incluye los archivos de inclusión y bibliotecas necesarios
475 para desarrollo de programas en lenguaje C++.
477 %description -n libstdc++-devel -l pl
478 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
479 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
480 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
482 %description -n libstdc++-devel -l pt_BR
483 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
484 para desenvolvimento de programas C++.
486 %package -n libstdc++-static
487 Summary: Static C++ standard library
488 Summary(es): Biblioteca estándar estática de C++
489 Summary(pl): Statyczna biblioteka standardowa C++
490 Group: Development/Libraries
491 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
493 %description -n libstdc++-static
494 Static C++ standard library.
496 %description -n libstdc++-static -l es
497 Biblioteca estándar estática de C++.
499 %description -n libstdc++-static -l pl
500 Statycza biblioteka standardowa C++.
503 Summary: Foreign Function Interface library
504 Summary(es): Biblioteca de interfaz de funciones ajenas
505 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
508 %description -n libffi
509 The libffi library provides a portable, high level programming
510 interface to various calling conventions. This allows a programmer to
511 call any function specified by a call interface description at run
514 %description -n libffi -l es
515 La biblioteca libffi provee una interfaz portable de programación de
516 alto nivel para varias convenciones de llamada. Ello permite que un
517 programador llame una función cualquiera especificada por una
518 descripción de interfaz de llamada en el tiempo de ejecución.
520 %description -n libffi -l pl
521 Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego
522 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
523 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
526 %package -n libffi-devel
527 Summary: Development files for Foreign Function Interface library
528 Summary(es): Ficheros de desarrollo para libffi
529 Summary(pl): Pliki nag³ówkowe dla libffi
530 Group: Development/Libraries
531 Requires: libffi = %{epoch}:%{version}-%{release}
533 %description -n libffi-devel
534 Development files for Foreign Function Interface library.
536 %description -n libffi-devel -l es
537 Ficheros de desarrollo para libffi.
539 %description -n libffi-devel -l pl
540 Pliki nag³ówkowe dla libffi.
542 %package -n libffi-static
543 Summary: Static Foreign Function Interface library
544 Summary(es): Biblioteca libffi estática
545 Summary(pl): Statyczna biblioteka libffi
546 Group: Development/Libraries
547 Requires: libffi-devel = %{epoch}:%{version}-%{release}
549 %description -n libffi-static
550 Static Foreign Function Interface library.
552 %description -n libffi-static -l es
553 Biblioteca libffi estática.
555 %description -n libffi-static -l pl
556 Statyczna biblioteka libffi.
559 Summary: Ada support for gcc
560 Summary(es): Soporte de Ada para gcc
561 Summary(pl): Obs³uga Ady do gcc
562 Group: Development/Languages
563 Requires: libgnat = %{epoch}:%{version}-%{release}
564 Requires: gcc = %{epoch}:%{version}-%{release}
566 Obsoletes: gnat-devel
569 This package adds experimental support for compiling Ada programs.
571 %description ada -l es
572 Este paquete añade soporte experimental para compilar programas en
575 %description ada -l pl
576 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
580 Summary: Ada standard libraries
581 Summary(es): Bibliotecas estándares de Ada
582 Summary(pl): Biblioteki standardowe dla Ady
587 %description -n libgnat
588 This package contains shared libraries needed to run programs written
591 %description -n libgnat -l es
592 Este paquete contiene las bibliotecas compartidas necesarias para
593 ejecutar programas escritos en Ada.
595 %description -n libgnat -l pl
596 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
599 %package -n libgnat-static
600 Summary: Static Ada standard libraries
601 Summary(pl): Statyczne biblioteki standardowe dla Ady
603 Obsoletes: gnat-static
605 %description -n libgnat-static
606 This package contains static libraries for programs written in Ada.
608 %description -n libgnat-static -l pl
609 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
613 Summary: Ksi support for gcc
614 Summary(es): Soporte de Ksi para gcc
615 Summary(pl): Obs³uga Ksi dla gcc
616 Version: %{GCC_VERSION}.%{KSI_VERSION}
617 Group: Development/Languages
618 Requires: gcc = %{epoch}:%{version}-%{release}
621 This package adds experimental support for compiling Ksi programs into
622 native code. You proabably don't need it, unless your are going to
623 develop a compiler using Ksi as intermediate representation or you are
624 using such compiler (like Gont).
626 %description ksi -l es
627 Este paquete añade soporte experimental para compilar programas de Ksi
628 en código nativo. Probablemento no lo necesitará, a menos que vaya a
629 desarrollar un compilador que use Ksi como representación intermedia o
630 use tal compilador (como Gont).
632 %description ksi -l pl
633 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
634 Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba ¿e
635 zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
636 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
639 Summary: The C Pre Processor
640 Summary(es): El preprocesador de C
641 Summary(pl): Preprocesor C
642 Summary(pt_BR): Preprocessador para a linguagem C
643 Group: Development/Languages
644 Version: %{GCC_VERSION}
649 The C preprocessor is a "macro processor" that is used automatically
650 by the C compiler to transform your program before actual compilation.
651 It is called a macro processor because it allows you to define
652 "macros", which are brief abbreviations for longer constructs.
654 The C preprocessor provides four separate facilities that you can use
657 - Inclusion of header files. These are files of declarations that can
658 be substituted into your program.
659 - Macro expansion. You can define "macros", which are abbreviations
660 for arbitrary fragments of C code, and then the C preprocessor will
661 replace the macros with their definitions throughout the program.
662 - Conditional compilation. Using special preprocessing directives, you
663 can include or exclude parts of the program according to various
665 - Line control. If you use a program to combine or rearrange source
666 files into an intermediate file which is then compiled, you can use
667 line control to inform the compiler of where each source line
668 originally came from.
670 %description -n cpp -l es
671 El preprocesador de C es un "procesador de macros" que es usado
672 automáticamente por el compilador C para transformar su programa antes
673 de que éste se actualmente compile. Se llama procesador de macros
674 porque permite definir "macros", los que son abreviaciones concisas
675 para construcciones más largas.
677 El preprocesador C provee cuatro cualidadedes distintas que puede usar
680 - Inclusión de ficheros de cabecera. Éstos son ficheros de
681 declaraciones que pueden incorporarse a su programa.
682 - Expansión de macros. Puede definir "macros", los que son
683 abreviaciones para fragmentos arbitrarios de código C, y a lo largo
684 del programa el preprocesador sustituirá los macros con sus
686 - Compilación condicional. Usando especiales directivas del preproceso
687 puede incluir o excluir partes del programa según varias condiciones.
688 - Control de líneas. Si usa un programa para combinar o reorganizar el
689 código fuente en un fichero intermedio que luego es compilado, puede
690 usar control de líneas para informar el compilador de dónde origina
693 %description -n cpp -l pl
694 Przeprocesor C jest "makro procesorem" który jest automatycznie
695 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
696 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
697 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
698 d³ugich konstrukcji w jêzyku C.
700 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
702 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
703 deklaracji polecenia do³±czenia innego pliku.
704 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
705 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
706 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
707 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
708 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
709 fragmenty obrabianego strumienia tekstów.
710 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
711 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
712 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
713 odpowiada fragment pliku wynikowego.
715 %description -n cpp -l pt_BR
716 O preprocessador C é um "processador de macros", que é utilizado pelo
717 compilador C para fazer algumas modificações no seu programa, antes da
718 compilação em si. Ele é chamado de "processador de macros" porque
719 permite a você definir "macros", que são abreviações para construções
722 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
723 arquivos de cabeçalho; expansão de macros; compilação condicional; e
724 controle da numeração das linhas do programa.
727 %setup -q -a1 -n %{name}-%{version}-%{snap}
728 mv ksi-%{KSI_VERSION} gcc/ksi
750 # because we distribute modified version of gcc...
751 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
752 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
755 # cd gcc && autoconf; cd ..
756 # autoconf is not needed!
757 cp /usr/share/automake/config.sub .
759 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
761 CFLAGS="%{rpmcflags}" \
762 CXXFLAGS="%{rpmcflags}" \
763 TEXCONFIG=false ../configure \
764 --prefix=%{_prefix} \
765 --libdir=%{_libdir} \
766 --libexecdir=%{_libexecdir} \
767 --infodir=%{_infodir} \
768 --mandir=%{_mandir} \
770 --enable-threads=posix \
771 --enable-__cxa_atexit \
772 --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
784 --with-slibdir=%{_slibdir} \
788 PATH=$PATH:/sbin:%{_sbindir}
791 %{__make} -C obj-%{_target_platform} profiledbootstrap \
792 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
797 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
798 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
804 rm -rf $RPM_BUILD_ROOT
805 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
807 cd obj-%{_target_platform}
808 PATH=$PATH:/sbin:%{_sbindir}
812 infodir=%{_infodir} \
813 DESTDIR=$RPM_BUILD_ROOT
816 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
817 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
820 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
821 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
823 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
824 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
827 # move ada shared libraries to proper place...
828 mv $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
829 $RPM_BUILD_ROOT%{_libdir}/
830 # check if symlink to be made is valid
831 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so.1
832 ln -sf libgnat-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so
833 ln -sf libgnarl-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.15.so
834 ln -sf libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
835 ln -sf libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
838 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
844 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
845 cp -f fastjar/README java-doc/README.fastjar
846 cp -f libffi/README java-doc/README.libffi
847 cp -f libffi/LICENSE java-doc/LICENSE.libffi
851 cp -f libobjc/README gcc/objc/README.libobjc
854 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
855 for f in libstdc++.la libsupc++.la %{?with_java:libgcj.la} ; do
856 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
858 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
859 for f in libstdc++.la libsupc++.la libg2c.la \
860 %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
861 %{?with_objc:libobjc.la}; do
862 perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
865 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
866 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
868 # include/ contains install-tools/include/* and headers that were fixed up
869 # by fixincludes, we don't want former
870 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
872 # we have to save these however
873 mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,gcj}} $gccdir/tmp
874 rm -rf $gccdir/include
875 mv -f $gccdir/tmp $gccdir/include
876 cp $gccdir/install-tools/include/*.h $gccdir/include
877 # but we don't want anything more from install-tools
878 rm -rf $gccdir/install-tools
881 %find_lang libstdc\+\+
884 rm -rf $RPM_BUILD_ROOT
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
896 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
899 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
902 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
905 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
908 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
911 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
914 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
916 %post -p /sbin/ldconfig -n libgcc
917 %postun -p /sbin/ldconfig -n libgcc
918 %post -p /sbin/ldconfig -n libstdc++
919 %postun -p /sbin/ldconfig -n libstdc++
920 %post -p /sbin/ldconfig -n libobjc
921 %postun -p /sbin/ldconfig -n libobjc
922 %post -p /sbin/ldconfig -n libg2c
923 %postun -p /sbin/ldconfig -n libg2c
924 %post -p /sbin/ldconfig -n libgcj
925 %postun -p /sbin/ldconfig -n libgcj
926 %post -p /sbin/ldconfig -n libgnat
927 %postun -p /sbin/ldconfig -n libgnat
928 %post -p /sbin/ldconfig -n libffi
929 %postun -p /sbin/ldconfig -n libffi
931 %files -f %{name}.lang
932 %defattr(644,root,root,755)
935 %dir %{_libdir}/gcc/*
936 %dir %{_libdir}/gcc/*/*
937 %dir %{_libdir}/gcc/*/*/include
938 %attr(755,root,root) %{_bindir}/*-gcc*
939 %attr(755,root,root) %{_bindir}/gcc
940 %attr(755,root,root) %{_bindir}/gccbug
941 %attr(755,root,root) %{_bindir}/gcov
942 %attr(755,root,root) %{_bindir}/cc
944 %{_mandir}/man1/gcc.1*
945 %{_mandir}/man1/cc.1*
946 %{_mandir}/man1/gcov.1*
947 %lang(fr) %{_mandir}/fr/man1/gcc.1*
948 %lang(ja) %{_mandir}/ja/man1/gcc.1*
951 %attr(755,root,root) %{_slibdir}*/lib*.so
952 %{_libdir}/gcc/*/*/libgcc.a
953 %{_libdir}/gcc/*/*/libgcc_eh.a
954 %{_libdir}/gcc/*/*/specs
955 %attr(644,root,root) %{_libdir}*/gcc/*/*/crt*.o
957 %{_libdir}/gcc/*/*/*/libgcc.a
958 %{_libdir}/gcc/*/*/*/libgcc_eh.a
959 %attr(644,root,root) %{_libdir}*/gcc/*/*/*/crt*.o
962 %attr(644,root,root) %{_libdir}/gcc/*/*/ecrt*.o
963 %attr(644,root,root) %{_libdir}/gcc/*/*/ncrt*.o
964 %{_libdir}/gcc/*/*/nof
967 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
968 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
970 %{_libdir}/gcc/*/*/include/*.h
971 %exclude %{_libdir}/gcc/*/*/include/g2c.h
974 %defattr(644,root,root,755)
975 %attr(755,root,root) %{_slibdir}*/lib*.so.*
978 %defattr(644,root,root,755)
979 %attr(755,root,root) %{_bindir}/g++
980 %attr(755,root,root) %{_bindir}/*-g++
981 %attr(755,root,root) %{_bindir}/c++
982 %attr(755,root,root) %{_bindir}/*-c++
983 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
984 %{_libdir}*/libsupc++.la
986 %{_libdir}/nof/libsupc++.la
987 %{_libdir}/nof/libsupc++.a
989 %{_libdir}*/libsupc++.a
990 %{_mandir}/man1/g++.1*
991 %lang(ja) %{_mandir}/ja/man1/g++.1*
993 %files -n libstdc++ -f libstdc++.lang
994 %defattr(644,root,root,755)
995 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
997 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
1000 %files -n libstdc++-devel
1001 %defattr(644,root,root,755)
1002 %doc libstdc++-v3/docs/html
1003 %dir %{_includedir}/c++
1004 %{_includedir}/c++/%{version}.0
1005 %exclude %{_includedir}/c++/%{version}.0/*/bits/stdc++.h.gch
1006 %attr(755,root,root) %{_libdir}*/libstdc++.so
1007 %{_libdir}*/libstdc++.la
1009 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
1010 %{_libdir}/nof/libstdc++.la
1013 %files -n libstdc++-static
1014 %defattr(644,root,root,755)
1015 %{_libdir}*/libstdc++.a
1017 %{_libdir}/nof/libstdc++.a
1022 %defattr(644,root,root,755)
1024 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1025 %attr(755,root,root) %{_libdir}*/libobjc.so
1026 %{_libdir}*/libobjc.la
1028 %attr(755,root,root) %{_libdir}/nof/libobjc.so
1029 %{_libdir}/nof/libobjc.la
1031 %{_libdir}/gcc/*/*/include/objc
1034 %defattr(644,root,root,755)
1035 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
1037 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
1040 %files -n libobjc-static
1041 %defattr(644,root,root,755)
1042 %{_libdir}*/libobjc.a
1044 %{_libdir}/nof/libobjc.a
1049 %defattr(644,root,root,755)
1050 %attr(755,root,root) %{_bindir}/g77
1051 %attr(755,root,root) %{_bindir}/f77
1053 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
1054 %{_libdir}*/libfrtbegin.a
1055 %{_libdir}*/libg2c.la
1056 %attr(755,root,root) %{_libdir}*/libg2c.so
1058 %{_libdir}/nof/libfrtbegin.a
1059 %{_libdir}/nof/libg2c.la
1060 %attr(755,root,root) %{_libdir}/nof/libg2c.so
1062 %{_libdir}/gcc/*/*/include/g2c.h
1063 %{_mandir}/man1/g77.1*
1064 %{_mandir}/man1/f77.1*
1065 %lang(ja) %{_mandir}/ja/man1/g77.1*
1066 %lang(ja) %{_mandir}/ja/man1/f77.1*
1069 %defattr(644,root,root,755)
1070 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
1072 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
1075 %files -n libg2c-static
1076 %defattr(644,root,root,755)
1077 %{_libdir}*/libg2c.a
1079 %{_libdir}/nof/libg2c.a
1084 %defattr(644,root,root,755)
1086 %attr(755,root,root) %{_bindir}/gcj*
1087 %attr(755,root,root) %{_bindir}/gij
1088 %attr(755,root,root) %{_bindir}/jcf-dump
1089 %attr(755,root,root) %{_bindir}/jv-*
1090 %attr(755,root,root) %{_bindir}/grepjar
1091 %attr(755,root,root) %{_bindir}/*-gcj
1092 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1093 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1095 %{_mandir}/man1/jcf-*
1096 %{_mandir}/man1/jv-*
1097 %{_mandir}/man1/gij*
1098 %{_mandir}/man1/gcj*
1099 %{_mandir}/man1/grepjar*
1102 %defattr(644,root,root,755)
1103 %attr(755,root,root) %{_bindir}/rmi*
1104 %attr(755,root,root) %{_bindir}/jar
1105 %{_mandir}/man1/rmi*
1106 %{_mandir}/man1/jar*
1107 %{_infodir}/fastjar*
1110 %defattr(644,root,root,755)
1111 %attr(755,root,root) %{_bindir}/addr2name.awk
1112 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1113 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1115 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1118 %files -n libgcj-devel
1119 %defattr(644,root,root,755)
1121 %{_includedir}/javax
1122 #%%{_includedir}/org
1125 %{_includedir}/gnu/*
1126 %{_libdir}/gcc/*/*/include/gcj
1127 %dir %{_libdir}/security
1128 %{_libdir}/security/*
1129 %dir %{_datadir}/java
1130 %{_datadir}/java/libgcj*.jar
1131 %{_libdir}/lib*cj.spec
1132 %{_libdir}/lib*cj*.la
1133 %attr(755,root,root) %{_libdir}/lib*cj*.so
1134 %attr(755,root,root) %{_libdir}/lib-org-*.so
1135 %{_libdir}/lib-org-*.la
1137 %{_libdir}/nof/lib*cj*.la
1138 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1141 %files -n libgcj-static
1142 %defattr(644,root,root,755)
1143 %{_libdir}/lib*cj*.a
1144 %{_libdir}/lib-org-*.a
1146 %{_libdir}/nof/lib*cj*.a
1150 %defattr(644,root,root,755)
1151 %attr(755,root,root) %{_libdir}/libffi-*.so
1153 %files -n libffi-devel
1154 %defattr(644,root,root,755)
1155 %attr(755,root,root) %{_libdir}/libffi.so
1156 %{_libdir}/libffi.la
1159 %files -n libffi-static
1160 %defattr(644,root,root,755)
1166 %defattr(644,root,root,755)
1167 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1168 %{_libdir}/gcc/*/*/adainclude
1169 %dir %{_libdir}/gcc/*/*/adalib
1170 %{_libdir}/gcc/*/*/adalib/*.ali
1172 %{_libdir}/gcc/*/*/adalib/libgmem.a
1174 %{_libdir}/gcc/*/*/adalib/Makefile.adalib
1175 %attr(755,root,root) %{_bindir}/gnat*
1177 %attr(755,root,root) %{_libdir}/libgnat*.so
1178 %attr(755,root,root) %{_libdir}/libgnarl*.so
1181 %defattr(644,root,root,755)
1182 %attr(755,root,root) %{_libdir}/libgna*.so.1
1184 %files -n libgnat-static
1185 %defattr(644,root,root,755)
1186 %{_libdir}/gcc/*/*/adalib/libgna*.a
1191 %defattr(644,root,root,755)
1192 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
1194 %attr(755,root,root) %{_libdir}/gcc/*/*/ksi1
1198 %defattr(644,root,root,755)
1199 %attr(755,root,root) /lib/cpp
1200 %attr(755,root,root) %{_bindir}/cpp
1201 %{_mandir}/man1/cpp.1*
1202 %lang(ja) %{_mandir}/ja/man1/cpp.1*