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 ssp # build with stack-smashing protector support
10 Summary: GNU Compiler Collection: the C compiler and shared files
11 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
12 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
13 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
19 Group: Development/Languages
20 #Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
21 #Source0: ftp://gcc.gnu.org/pub/gcc/prerelease-%{version}-%{_snap}/gcc-%{version}-%{_snap}.tar.bz2
22 Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/3.4-%{_snap}/gcc-3.4-%{_snap}.tar.bz2
23 # Source0-md5: 373a70bf18865d34c08cff5a8148e712
24 Source1: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
25 # Source1-md5: 4736f3422ddfb808423b745629acc321
26 Source2: http://www.trl.ibm.com/projects/security/ssp/gcc2_95_3/gcc_stack_protect.m4.gz
27 # Source2-md5: 07d93ad5fc07ca44cdaba46c658820de
28 Patch0: %{name}-info.patch
29 Patch1: %{name}-nolocalefiles.patch
30 Patch2: %{name}-ada-link-new-libgnat.patch
31 Patch3: %{name}-nodebug.patch
32 Patch4: %{name}-ssp.patch
33 Patch5: %{name}-ada-link.patch
34 Patch6: %{name}-pr15666.patch
35 Patch7: %{name}-pr16276.patch
36 Patch8: %{name}-ada-bootstrap.patch
37 URL: http://gcc.gnu.org/
38 BuildRequires: autoconf
39 BuildRequires: automake
40 BuildRequires: binutils >= 2.15.91.0.2
42 BuildRequires: fileutils >= 4.0.41
45 BuildRequires: gcc(ada)
46 BuildRequires: gcc-ada
48 BuildRequires: gettext-devel
49 BuildRequires: glibc-devel >= 2.2.5-20
51 BuildRequires: perl-devel
52 BuildRequires: texinfo >= 4.1
53 BuildRequires: zlib-devel
54 Requires: binutils >= 2.15.91.0.2
55 Requires: cpp = %{epoch}:%{version}-%{release}
56 Requires: libgcc = %{epoch}:%{version}-%{release}
57 %{?with_ada:Provides: gcc(ada)}
58 %{?with_ssp:Provides: gcc(ssp)}
59 # ksi for gcc > 3.3.x not ready yet
62 Conflicts: glibc-devel < 2.2.5-20
63 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65 %define _slibdir /%{_lib}
67 %define _slibdir64 /lib64
68 %define _libdir /usr/lib
69 %define rpmcflags -O2 -mtune=ultrasparc
73 A compiler aimed at integrating all the optimizations and features
74 necessary for a high-performance and stable development environment.
76 This package contains the C compiler and some files shared by various
77 parts of the GNU Compiler Collection. In order to use another GCC
78 compiler you will need to install the appropriate subpackage.
81 Un compilador destinado a la integración de todas las optimalizaciones
82 y características necesarias para un entorno de desarrollo eficaz y
85 Este paquete contiene el compilador de C y unos ficheros compartidos
86 por varias parted de la colección de compiladores GNU (GCC). Para usar
87 otro compilador de GCC será necesario que instale el subpaquete
91 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
92 wyprodukowania szybkiego i stablinego kodu wynikowego.
94 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
95 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
96 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
99 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
100 GNU Compiler Collection.
103 Summary: Shared gcc library
104 Summary(es): Biblioteca compartida de gcc
105 Summary(pl): Biblioteka gcc
106 Summary(pt_BR): Biblioteca runtime para o GCC
110 %description -n libgcc
113 %description -n libgcc -l es
114 Biblioteca compartida de gcc.
116 %description -n libgcc -l pl
117 Biblioteka dynamiczna gcc.
119 %description -n libgcc -l pt_BR
120 Biblioteca runtime para o GCC.
123 Summary: C++ support for gcc
124 Summary(es): Soporte de C++ para gcc
125 Summary(pl): Obs³uga C++ dla gcc
126 Summary(pt_BR): Suporte C++ para o gcc
127 Group: Development/Languages
128 Requires: %{name} = %{epoch}:%{version}-%{release}
133 This package adds C++ support to the GNU Compiler Collection. It
134 includes support for most of the current C++ specification, including
135 templates and exception handling. It does not include a standard C++
136 library, which is available separately.
138 %description c++ -l de
139 Dieses Paket enthält die C++-Unterstützung für den
140 GNU-Compiler-Collection. Es unterstützt die aktuelle
141 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
142 C++-Standard-Library ist nicht enthalten - sie ist getrennt
145 %description c++ -l es
146 Este paquete añade soporte de C++ al GCC (colección de compiladores
147 GNU). Ello incluye el soporte para la mayoría de la especificación
148 actual de C++, incluyendo plantillas y manejo de excepciones. No
149 incluye la biblioteca estándar de C++, la que es disponible separada.
151 %description c++ -l fr
152 Ce package ajoute un support C++ a la collection de compilateurs GNU.
153 Il comprend un support pour la plupart des spécifications actuelles de
154 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
155 une bibliothéque C++ standard, qui est disponible séparément.
157 %description c++ -l pl
158 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
159 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
160 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
162 %description c++ -l pt_BR
163 Este pacote adiciona suporte C++ para o gcc.
165 %description c++ -l tr
166 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
167 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
168 C++ kitaplýðý bu pakette yer almaz.
171 Summary: Objective C support for gcc
172 Summary(de): Objektive C-Unterstützung für gcc
173 Summary(es): Soporte de Objective C para gcc
174 Summary(fr): Gestion d'Objective C pour gcc
175 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
176 Summary(tr): gcc için Objective C desteði
177 Group: Development/Languages
178 Requires: %{name} = %{epoch}:%{version}-%{release}
179 Requires: libobjc = %{epoch}:%{version}-%{release}
184 This package adds Objective C support to the GNU Compiler Collection.
185 Objective C is a object oriented derivative of the C language, mainly
186 used on systems running NeXTSTEP. This package does not include the
187 standard objective C object library.
189 %description objc -l de
190 Dieses Paket ergänzt den GNU-Compiler-Collection durch
191 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
192 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
193 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
195 %description objc -l es
196 Este paquete añade soporte de Objective C al GCC (colección de
197 compiladores GNU). Objective C es un lenguaje orientado a objetos
198 derivado de C, principalmente usado en sistemas que funcionan bajo
199 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
202 %description objc -l fr
203 Ce package ajoute un support Objective C a la collection de
204 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
205 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
206 package n'inclue pas la bibliothéque Objective C standard.
208 %description objc -l pl
209 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
210 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
211 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
212 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
214 %description objc -l tr
215 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
216 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
217 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
218 kitaplýðý bu pakette yer almaz.
221 Summary: Objective C Libraries
222 Summary(es): Bibliotecas de Objective C
223 Summary(pl): Biblioteki Obiektowego C
227 %description -n libobjc
228 Objective C Libraries.
230 %description -n libobjc -l es
231 Bibliotecas de Objective C.
233 %description -n libobjc -l pl
234 Biblioteki Obiektowego C.
236 %package -n libobjc-static
237 Summary: Static Objective C Libraries
238 Summary(es): Bibliotecas estáticas de Objective C
239 Summary(pl): Statyczne Biblioteki Obiektowego C
240 Group: Development/Libraries
241 Requires: libobjc = %{epoch}:%{version}-%{release}
243 %description -n libobjc-static
244 Static Objective C Libraries.
246 %description -n libobjc-static -l es
247 Bibliotecas estáticas de Objective C.
249 %description -n libobjc-static -l pl
250 Statyczne biblioteki Obiektowego C.
253 Summary: Fortran 77 support for gcc
254 Summary(es): Soporte de Fortran 77 para gcc
255 Summary(pl): Obs³uga Fortranu 77 dla gcc
256 Summary(pt_BR): Suporte Fortran 77 para o GCC
257 Group: Development/Languages/Fortran
258 Requires: libg2c = %{epoch}:%{version}-%{release}
262 This package adds support for compiling Fortran 77 programs with the
265 %description g77 -l es
266 Este paquete añade soporte para compilar programas escritos en Fortran
267 77 con el compilador GNU.
269 %description g77 -l pl
270 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
271 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
273 %description g77 -l pt_BR
274 Suporte Fortran 77 para o GCC.
277 Summary: Fortran 77 Libraries
278 Summary(es): Bibliotecas de Fortran 77
279 Summary(pl): Biblioteki Fortranu 77
282 %description -n libg2c
283 Fortran 77 Libraries.
285 %description -n libg2c -l es
286 Bibliotecas de Fortran 77.
288 %description -n libg2c -l pl
289 Biblioteki Fortranu 77.
291 %package -n libg2c-static
292 Summary: Static Fortran 77 Libraries
293 Summary(es): Bibliotecas estáticas de Fortran 77
294 Summary(pl): Statyczne Biblioteki Fortranu 77
295 Group: Development/Libraries
296 Requires: libg2c = %{epoch}:%{version}-%{release}
298 %description -n libg2c-static
299 Static Fortran 77 Libraries.
301 %description -n libg2c -l es
302 Bibliotecas estáticas de Fortran 77.
304 %description -n libg2c-static -l pl
305 Statyczne biblioteki Fortranu 77.
308 Summary: Java support for gcc
309 Summary(es): Soporte de Java para gcc
310 Summary(pl): Obs³uga Javy dla gcc
311 Group: Development/Languages/Java
312 Requires: %{name} = %{epoch}:%{version}-%{release}
313 Requires: libgcj = %{epoch}:%{version}-%{release}
314 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
315 Requires: java-shared
316 Provides: gcj = %{epoch}:%{version}-%{release}
319 This package adds experimental support for compiling Java(tm) programs
320 and bytecode into native code. To use this you will also need the
323 %description java -l es
324 Este paquete añade soporte experimental para compilar programas
325 Java(tm) y su bytecode en código nativo. Para usarlo también va a
326 necesitar el paquete libgcj.
328 %description java -l pl
329 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
330 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
331 by³o przeprowadziæ kompilacjê.
334 Summary: Shared java tools
335 Summary(es): Herramientas compartidas de Java
336 Summary(pl): Wspó³dzielone narzêdzia javy
337 Group: Development/Languages/Java
338 Provides: jar = %{epoch}:%{version}-%{release}
339 Provides: java-shared
341 Obsoletes: java-shared
344 %description java-tools
345 This package contains tools that are common for every Java(tm)
346 implementation, such as rmic or jar.
348 %description java-tools -l es
349 Este paquete contiene herramientas que son comunes para cada
350 implementación de Java(tm), como rmic o jar.
352 %description java-tools -l pl
353 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
354 Javy(tm), takie jak rmic czy jar.
357 Summary: Java Class Libraries
358 Summary(es): Bibliotecas de clases de Java
359 Summary(pl): Biblioteki Klas Javy
364 %description -n libgcj
365 Java Class Libraries.
367 %description -n libgcj -l es
368 Bibliotecas de clases de Java.
370 %description -n libgcj -l pl
371 Biblioteki Klas Javy.
373 %package -n libgcj-devel
374 Summary: Development files for Java Class Libraries
375 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
376 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
377 Group: Development/Libraries
378 Requires: %{name}-java = %{epoch}:%{version}-%{release}
379 Requires: libgcj = %{epoch}:%{version}-%{release}
380 Obsoletes: libgcj3-devel
382 %description -n libgcj-devel
383 Development files for Java Class Libraries.
385 %description -n libgcj-devel -l es
386 Ficheros de desarrollo para las bibliotecas de clases de Java.
388 %description -n libgcj-devel -l pl
389 Pliki nag³ówkowe dla Bibliotek Klas Javy.
391 %package -n libgcj-static
392 Summary: Static Java Class Libraries
393 Summary(es): Bibliotecas estáticas de clases de Java
394 Summary(pl): Statyczne Biblioteki Klas Javy
395 Group: Development/Libraries
396 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
397 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
399 %description -n libgcj-static
400 Static Java Class Libraries.
402 %description -n libgcj-static -l es
403 Bibliotecas estáticas de clases de Java.
405 %description -n libgcj-static -l pl
406 Statyczne Biblioteki Klas Javy.
408 %package -n libstdc++
409 Summary: GNU c++ library
410 Summary(es): Biblioteca C++ de GNU
411 Summary(pl): Biblioteki GNU C++
412 Summary(pt_BR): Biblioteca C++ GNU
415 Obsoletes: libstdc++3
417 %description -n libstdc++
418 This is the GNU implementation of the standard C++ libraries, along
419 with additional GNU tools. This package includes the shared libraries
420 necessary to run C++ applications.
422 %description -n libstdc++ -l de
423 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
424 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
425 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
427 %description -n libstdc++ -l es
428 Este es el soporte de las bibliotecas padrón del C++, junto con
429 herramientas GNU adicionales. El paquete incluye las bibliotecas
430 compartidas necesarias para ejecutar aplicaciones C++.
432 %description -n libstdc++ -l fr
433 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
434 des outils GNU supplémentaires. Ce package comprend les librairies
435 partagées nécessaires à l'exécution d'application C++.
437 %description -n libstdc++ -l pl
438 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
439 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
440 uruchomienia aplikacji napisanych w C++.
442 %description -n libstdc++ -l pt_BR
443 Este pacote é uma implementação da biblioteca padrão C++ v3, um
444 subconjunto do padrão ISO 14882.
446 %description -n libstdc++ -l tr
447 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
448 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
450 %package -n libstdc++-devel
451 Summary: Header files and documentation for C++ development
452 Summary(de): Header-Dateien zur Entwicklung mit C++
453 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
454 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
455 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
456 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
457 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
458 Group: Development/Libraries
459 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
460 Requires: libstdc++ = %{epoch}:%{version}-%{release}
461 Obsoletes: libg++-devel
462 Obsoletes: libstdc++3-devel
464 %description -n libstdc++-devel
465 This is the GNU implementation of the standard C++ libraries. This
466 package includes the header files needed for C++ development and
467 library documentation.
469 %description -n libstdc++-devel -l es
470 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
471 paquete incluye los archivos de inclusión y bibliotecas necesarios
472 para desarrollo de programas en lenguaje C++.
474 %description -n libstdc++-devel -l pl
475 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
476 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
477 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
479 %description -n libstdc++-devel -l pt_BR
480 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
481 para desenvolvimento de programas C++.
483 %package -n libstdc++-static
484 Summary: Static C++ standard library
485 Summary(es): Biblioteca estándar estática de C++
486 Summary(pl): Statyczna biblioteka standardowa C++
487 Group: Development/Libraries
488 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
490 %description -n libstdc++-static
491 Static C++ standard library.
493 %description -n libstdc++-static -l es
494 Biblioteca estándar estática de C++.
496 %description -n libstdc++-static -l pl
497 Statycza biblioteka standardowa C++.
500 Summary: Foreign Function Interface library
501 Summary(es): Biblioteca de interfaz de funciones ajenas
502 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
505 %description -n libffi
506 The libffi library provides a portable, high level programming
507 interface to various calling conventions. This allows a programmer to
508 call any function specified by a call interface description at run
511 %description -n libffi -l es
512 La biblioteca libffi provee una interfaz portable de programación de
513 alto nivel para varias convenciones de llamada. Ello permite que un
514 programador llame una función cualquiera especificada por una
515 descripción de interfaz de llamada en el tiempo de ejecución.
517 %description -n libffi -l pl
518 Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego
519 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
520 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
523 %package -n libffi-devel
524 Summary: Development files for Foreign Function Interface library
525 Summary(es): Ficheros de desarrollo para libffi
526 Summary(pl): Pliki nag³ówkowe dla libffi
527 Group: Development/Libraries
528 Requires: libffi = %{epoch}:%{version}-%{release}
530 %description -n libffi-devel
531 Development files for Foreign Function Interface library.
533 %description -n libffi-devel -l es
534 Ficheros de desarrollo para libffi.
536 %description -n libffi-devel -l pl
537 Pliki nag³ówkowe dla libffi.
539 %package -n libffi-static
540 Summary: Static Foreign Function Interface library
541 Summary(es): Biblioteca libffi estática
542 Summary(pl): Statyczna biblioteka libffi
543 Group: Development/Libraries
544 Requires: libffi-devel = %{epoch}:%{version}-%{release}
546 %description -n libffi-static
547 Static Foreign Function Interface library.
549 %description -n libffi-static -l es
550 Biblioteca libffi estática.
552 %description -n libffi-static -l pl
553 Statyczna biblioteka libffi.
556 Summary: Ada support for gcc
557 Summary(es): Soporte de Ada para gcc
558 Summary(pl): Obs³uga Ady do gcc
559 Group: Development/Languages
560 Requires: %{name} = %{epoch}:%{version}-%{release}
561 Requires: libgnat = %{epoch}:%{version}-%{release}
563 Obsoletes: gnat-devel
566 This package adds experimental support for compiling Ada programs.
568 %description ada -l es
569 Este paquete añade soporte experimental para compilar programas en
572 %description ada -l pl
573 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
577 Summary: Ada standard libraries
578 Summary(es): Bibliotecas estándares de Ada
579 Summary(pl): Biblioteki standardowe dla Ady
584 %description -n libgnat
585 This package contains shared libraries needed to run programs written
588 %description -n libgnat -l es
589 Este paquete contiene las bibliotecas compartidas necesarias para
590 ejecutar programas escritos en Ada.
592 %description -n libgnat -l pl
593 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
596 %package -n libgnat-static
597 Summary: Static Ada standard libraries
598 Summary(pl): Statyczne biblioteki standardowe dla Ady
600 Obsoletes: gnat-static
602 %description -n libgnat-static
603 This package contains static libraries for programs written in Ada.
605 %description -n libgnat-static -l pl
606 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
610 Summary: The C Pre Processor
611 Summary(es): El preprocesador de C
612 Summary(pl): Preprocesor C
613 Summary(pt_BR): Preprocessador para a linguagem C
614 Group: Development/Languages
619 The C preprocessor is a "macro processor" that is used automatically
620 by the C compiler to transform your program before actual compilation.
621 It is called a macro processor because it allows you to define
622 "macros", which are brief abbreviations for longer constructs.
624 The C preprocessor provides four separate facilities that you can use
627 - Inclusion of header files. These are files of declarations that can
628 be substituted into your program.
629 - Macro expansion. You can define "macros", which are abbreviations
630 for arbitrary fragments of C code, and then the C preprocessor will
631 replace the macros with their definitions throughout the program.
632 - Conditional compilation. Using special preprocessing directives, you
633 can include or exclude parts of the program according to various
635 - Line control. If you use a program to combine or rearrange source
636 files into an intermediate file which is then compiled, you can use
637 line control to inform the compiler of where each source line
638 originally came from.
640 %description -n cpp -l es
641 El preprocesador de C es un "procesador de macros" que es usado
642 automáticamente por el compilador C para transformar su programa antes
643 de que éste se actualmente compile. Se llama procesador de macros
644 porque permite definir "macros", los que son abreviaciones concisas
645 para construcciones más largas.
647 El preprocesador C provee cuatro cualidadedes distintas que puede usar
650 - Inclusión de ficheros de cabecera. Éstos son ficheros de
651 declaraciones que pueden incorporarse a su programa.
652 - Expansión de macros. Puede definir "macros", los que son
653 abreviaciones para fragmentos arbitrarios de código C, y a lo largo
654 del programa el preprocesador sustituirá los macros con sus
656 - Compilación condicional. Usando especiales directivas del preproceso
657 puede incluir o excluir partes del programa según varias condiciones.
658 - Control de líneas. Si usa un programa para combinar o reorganizar el
659 código fuente en un fichero intermedio que luego es compilado, puede
660 usar control de líneas para informar el compilador de dónde origina
663 %description -n cpp -l pl
664 Przeprocesor C jest "makro procesorem" który jest automatycznie
665 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
666 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
667 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
668 d³ugich konstrukcji w jêzyku C.
670 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
672 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
673 deklaracji polecenia do³±czenia innego pliku.
674 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
675 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
676 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
677 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
678 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
679 fragmenty obrabianego strumienia tekstów.
680 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
681 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
682 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
683 odpowiada fragment pliku wynikowego.
685 %description -n cpp -l pt_BR
686 O preprocessador C é um "processador de macros", que é utilizado pelo
687 compilador C para fazer algumas modificações no seu programa, antes da
688 compilação em si. Ele é chamado de "processador de macros" porque
689 permite a você definir "macros", que são abreviações para construções
692 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
693 arquivos de cabeçalho; expansão de macros; compilação condicional; e
694 controle da numeração das linhas do programa.
697 %setup -q -n %{name}-3.4-%{_snap} -a1
701 %{!?debug:%patch3 -p1}
702 %{?with_ssp:%patch4 -p1}
707 # only for bootstrap using gcc 3.3.x
711 # because we distribute modified version of gcc...
712 perl -pi -e 's/(version.*)";/$1 %{?with_ssp:SSP }(PLD Linux)";/' gcc/version.c
713 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
715 mv ChangeLog ChangeLog.general
718 # because pr16276 patch modifies configure.ac
722 # cd gcc && autoconf; cd ..
723 # autoconf is not needed!
724 cp -f /usr/share/automake/config.sub .
726 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
728 CFLAGS="%{rpmcflags}" \
729 CXXFLAGS="%{rpmcflags}" \
730 TEXCONFIG=false ../configure \
731 --prefix=%{_prefix} \
732 --libdir=%{_libdir} \
733 --libexecdir=%{_libexecdir} \
734 --infodir=%{_infodir} \
735 --mandir=%{_mandir} \
737 --enable-threads=posix \
738 --enable-__cxa_atexit \
739 --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
751 --with-slibdir=%{_slibdir} \
755 PATH=$PATH:/sbin:%{_sbindir}
758 # - on alpha stage1 needs -O0 for 3.3->3.4 bootstrap (gnat from 3.3 is seriously broken)
759 # - on ia64 use bootstrap-lean as profiledbootstrap is broken (PR 13882, 15836, 16108)
760 %{__make} -C obj-%{_target_platform} \
766 GCJFLAGS="%{rpmcflags}" \
767 BOOT_CFLAGS="%{rpmcflags}" \
769 STAGE1_CFLAGS="%{rpmcflags} -O0" \
771 STAGE1_CFLAGS="%{rpmcflags}" \
773 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
778 # cannot build it in parallel
779 for tgt in gnatlib-shared gnattools gnatlib; do
780 %{__make} -C obj-%{_target_platform}/gcc $tgt \
781 BOOT_CFLAGS="%{rpmcflags}" \
782 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
788 # snapshot doesn't contain these files...
789 [ -r "NEWS" ] || touch NEWS
790 [ -r "gcc/f/BUGS" ] || touch gcc/f/BUGS
791 [ -r "gcc/f/NEWS" ] || touch gcc/f/NEWS
794 rm -rf $RPM_BUILD_ROOT
795 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
797 cd obj-%{_target_platform}
798 PATH=$PATH:/sbin:%{_sbindir}
800 %{__make} -j1 install \
802 infodir=%{_infodir} \
803 DESTDIR=$RPM_BUILD_ROOT
806 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
807 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
810 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
811 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
813 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
814 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
817 # move ada shared libraries to proper place...
818 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
819 $RPM_BUILD_ROOT%{_libdir}
820 # check if symlink to be made is valid
821 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so.1
822 ln -sf libgnat-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so
823 ln -sf libgnarl-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.4.so
824 ln -sf libgnat-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
825 ln -sf libgnarl-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
828 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
834 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
835 cp -f fastjar/README java-doc/README.fastjar
836 cp -f libffi/README java-doc/README.libffi
837 cp -f libffi/LICENSE java-doc/LICENSE.libffi
841 cp -f libobjc/README gcc/objc/README.libobjc
844 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
845 for f in libstdc++.la libsupc++.la %{?with_java:libgcj.la} ; do
846 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
848 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
849 for f in libstdc++.la libsupc++.la libg2c.la \
850 %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
851 %{?with_objc:libobjc.la}; do
852 perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
855 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
856 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
858 # include/ contains install-tools/include/* and headers that were fixed up
859 # by fixincludes, we don't want former
860 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
862 # we have to save these however
863 mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,gcj}} $gccdir/tmp
864 rm -rf $gccdir/include
865 mv -f $gccdir/tmp $gccdir/include
866 cp $gccdir/install-tools/include/*.h $gccdir/include
867 # but we don't want anything more from install-tools
868 rm -rf $gccdir/install-tools
871 %find_lang libstdc\+\+
874 zcat %{SOURCE2} > $RPM_BUILD_ROOT%{_aclocaldir}/gcc_stack_protect.m4
878 rm -rf $RPM_BUILD_ROOT
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
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
904 %post -p /sbin/ldconfig -n libgcc
905 %postun -p /sbin/ldconfig -n libgcc
906 %post -p /sbin/ldconfig -n libstdc++
907 %postun -p /sbin/ldconfig -n libstdc++
908 %post -p /sbin/ldconfig -n libobjc
909 %postun -p /sbin/ldconfig -n libobjc
910 %post -p /sbin/ldconfig -n libg2c
911 %postun -p /sbin/ldconfig -n libg2c
912 %post -p /sbin/ldconfig -n libgcj
913 %postun -p /sbin/ldconfig -n libgcj
914 %post -p /sbin/ldconfig -n libgnat
915 %postun -p /sbin/ldconfig -n libgnat
916 %post -p /sbin/ldconfig -n libffi
917 %postun -p /sbin/ldconfig -n libffi
920 %defattr(644,root,root,755)
921 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
922 %doc gcc/{ChangeLog,ONEWS,README.Portability}
924 %dir %{_libdir}/gcc/*
925 %dir %{_libdir}/gcc/*/*
926 %dir %{_libdir}/gcc/*/*/include
927 %{?with_ssp:%{_aclocaldir}/gcc_stack_protect.m4}
928 %attr(755,root,root) %{_bindir}/*-gcc*
929 %attr(755,root,root) %{_bindir}/gcc
930 %attr(755,root,root) %{_bindir}/gccbug
931 %attr(755,root,root) %{_bindir}/gcov
932 %attr(755,root,root) %{_bindir}/cc
934 %{_mandir}/man1/gcc.1*
935 %{_mandir}/man1/cc.1*
936 %{_mandir}/man1/gcov.1*
937 %lang(fr) %{_mandir}/fr/man1/gcc.1*
938 %lang(ja) %{_mandir}/ja/man1/gcc.1*
941 %attr(755,root,root) %{_slibdir}*/lib*.so
942 %{_libdir}/gcc/*/*/libgcov.a
943 %{_libdir}/gcc/*/*/libgcc.a
944 %{_libdir}/gcc/*/*/libgcc_eh.a
945 %{_libdir}/gcc/*/*/specs
946 %attr(644,root,root) %{_libdir}*/gcc/*/*/crt*.o
948 %{_libdir}/gcc/*/*/*/libgcc.a
949 %{_libdir}/gcc/*/*/*/libgcc_eh.a
950 %attr(644,root,root) %{_libdir}*/gcc/*/*/*/crt*.o
953 %attr(644,root,root) %{_libdir}/gcc/*/*/ecrt*.o
954 %attr(644,root,root) %{_libdir}/gcc/*/*/ncrt*.o
955 %{_libdir}/gcc/*/*/nof
958 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
959 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
961 %{_libdir}/gcc/*/*/include/*.h
962 %exclude %{_libdir}/gcc/*/*/include/g2c.h
965 %defattr(644,root,root,755)
966 %attr(755,root,root) %{_slibdir}*/lib*.so.*
969 %defattr(644,root,root,755)
970 %doc gcc/cp/{ChangeLog,NEWS}
971 %attr(755,root,root) %{_bindir}/g++
972 %attr(755,root,root) %{_bindir}/*-g++
973 %attr(755,root,root) %{_bindir}/c++
974 %attr(755,root,root) %{_bindir}/*-c++
975 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
976 %{_libdir}*/libsupc++.la
978 %{_libdir}/nof/libsupc++.la
979 %{_libdir}/nof/libsupc++.a
981 %{_libdir}*/libsupc++.a
982 %{_mandir}/man1/g++.1*
983 %lang(ja) %{_mandir}/ja/man1/g++.1*
985 %files -n libstdc++ -f libstdc++.lang
986 %defattr(644,root,root,755)
987 %doc libstdc++-v3/{ChangeLog,README}
988 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
990 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
993 %files -n libstdc++-devel
994 %defattr(644,root,root,755)
995 %doc libstdc++-v3/docs/html
996 %dir %{_includedir}/c++
997 %{_includedir}/c++/%{version}
998 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
999 %attr(755,root,root) %{_libdir}*/libstdc++.so
1000 %{_libdir}*/libstdc++.la
1002 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
1003 %{_libdir}/nof/libstdc++.la
1006 %files -n libstdc++-static
1007 %defattr(644,root,root,755)
1008 %{_libdir}*/libstdc++.a
1010 %{_libdir}/nof/libstdc++.a
1015 %defattr(644,root,root,755)
1016 %doc gcc/objc/README
1017 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1018 %attr(755,root,root) %{_libdir}*/libobjc.so
1019 %{_libdir}*/libobjc.la
1021 %attr(755,root,root) %{_libdir}/nof/libobjc.so
1022 %{_libdir}/nof/libobjc.la
1024 %{_libdir}/gcc/*/*/include/objc
1027 %defattr(644,root,root,755)
1028 %doc libobjc/{ChangeLog,README*}
1029 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
1031 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
1034 %files -n libobjc-static
1035 %defattr(644,root,root,755)
1036 %{_libdir}*/libobjc.a
1038 %{_libdir}/nof/libobjc.a
1043 %defattr(644,root,root,755)
1044 %doc gcc/f/{BUGS,ChangeLog,NEWS}
1045 %attr(755,root,root) %{_bindir}/g77
1046 %attr(755,root,root) %{_bindir}/f77
1048 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
1049 %{_libdir}*/libfrtbegin.a
1050 %{_libdir}*/libg2c.la
1051 %attr(755,root,root) %{_libdir}*/libg2c.so
1053 %{_libdir}/nof/libfrtbegin.a
1054 %{_libdir}/nof/libg2c.la
1055 %attr(755,root,root) %{_libdir}/nof/libg2c.so
1057 %{_libdir}/gcc/*/*/include/g2c.h
1058 %{_mandir}/man1/g77.1*
1059 %{_mandir}/man1/f77.1*
1060 %lang(ja) %{_mandir}/ja/man1/g77.1*
1061 %lang(ja) %{_mandir}/ja/man1/f77.1*
1064 %defattr(644,root,root,755)
1065 %doc libf2c/{ChangeLog,README,TODO}
1066 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
1068 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
1071 %files -n libg2c-static
1072 %defattr(644,root,root,755)
1073 %{_libdir}*/libg2c.a
1075 %{_libdir}/nof/libg2c.a
1080 %defattr(644,root,root,755)
1081 %doc gcc/java/ChangeLog java-doc/*
1082 %attr(755,root,root) %{_bindir}/gcj*
1083 %attr(755,root,root) %{_bindir}/gij
1084 %attr(755,root,root) %{_bindir}/jcf-dump
1085 %attr(755,root,root) %{_bindir}/jv-*
1086 %attr(755,root,root) %{_bindir}/grepjar
1087 %attr(755,root,root) %{_bindir}/*-gcj*
1088 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1089 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1091 %{_mandir}/man1/jcf-*
1092 %{_mandir}/man1/jv-*
1093 %{_mandir}/man1/gij*
1094 %{_mandir}/man1/gcj*
1095 %{_mandir}/man1/grepjar*
1098 %defattr(644,root,root,755)
1099 %attr(755,root,root) %{_bindir}/rmi*
1100 %attr(755,root,root) %{_bindir}/jar
1101 %{_mandir}/man1/rmi*
1102 %{_mandir}/man1/jar*
1103 %{_infodir}/fastjar*
1106 %defattr(644,root,root,755)
1107 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1108 %attr(755,root,root) %{_bindir}/addr2name.awk
1109 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1110 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1112 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1114 %{_libdir}/logging.properties
1116 %files -n libgcj-devel
1117 %defattr(644,root,root,755)
1119 %{_includedir}/javax
1122 %{_includedir}/gnu/*
1123 %{_libdir}/gcc/*/*/include/gcj
1124 %dir %{_libdir}/security
1125 %{_libdir}/security/*
1126 %dir %{_datadir}/java
1127 %{_datadir}/java/libgcj*.jar
1128 %{_libdir}/lib*cj.spec
1129 %{_libdir}/lib*cj*.la
1130 %attr(755,root,root) %{_libdir}/lib*cj*.so
1131 %attr(755,root,root) %{_libdir}/lib-org-*.so
1132 %{_libdir}/lib-org-*.la
1134 %{_libdir}/nof/lib*cj*.la
1135 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1137 %{_pkgconfigdir}/libgcj.pc
1139 %files -n libgcj-static
1140 %defattr(644,root,root,755)
1141 %{_libdir}/lib*cj*.a
1142 %{_libdir}/lib-org-*.a
1144 %{_libdir}/nof/lib*cj*.a
1148 %defattr(644,root,root,755)
1149 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1150 %attr(755,root,root) %{_libdir}/libffi-*.so
1152 %files -n libffi-devel
1153 %defattr(644,root,root,755)
1154 %attr(755,root,root) %{_libdir}/libffi.so
1155 %{_libdir}/libffi.la
1158 %files -n libffi-static
1159 %defattr(644,root,root,755)
1165 %defattr(644,root,root,755)
1166 %doc gcc/ada/ChangeLog
1167 %attr(755,root,root) %{_bindir}/gnat*
1168 %attr(755,root,root) %{_bindir}/gpr*
1169 %attr(755,root,root) %{_libdir}/libgnarl*.so
1170 %attr(755,root,root) %{_libdir}/libgnat*.so
1171 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1172 %{_libdir}/gcc/*/*/adainclude
1173 %dir %{_libdir}/gcc/*/*/adalib
1174 %{_libdir}/gcc/*/*/adalib/*.ali
1175 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1176 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1178 %{_libdir}/gcc/*/*/adalib/libgmem.a
1184 %defattr(644,root,root,755)
1185 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1186 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1188 %files -n libgnat-static
1189 %defattr(644,root,root,755)
1190 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1191 %{_libdir}/gcc/*/*/adalib/libgnat.a
1195 %defattr(644,root,root,755)
1196 %attr(755,root,root) /lib/cpp
1197 %attr(755,root,root) %{_bindir}/cpp
1198 %{_mandir}/man1/cpp.1*
1199 %lang(ja) %{_mandir}/ja/man1/cpp.1*