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
8 %define GCC_VERSION 3.4.1
11 Summary: GNU Compiler Collection: the C compiler and shared files
12 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
13 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
14 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
16 Version: %{GCC_VERSION}
20 Group: Development/Languages
21 #Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
22 Source0: ftp://gcc.gnu.org/pub/gcc/prerelease-%{version}-%{_snap}/gcc-%{version}-%{_snap}.tar.bz2
23 # Source0-md5: 4534f55e63e5c205231c519578780395
24 #Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/3.4-%{_snap}/gcc-3.4-%{_snap}.tar.bz2
25 Source1: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
26 # Source1-md5: 4736f3422ddfb808423b745629acc321
27 Source2: http://www.trl.ibm.com/projects/security/ssp/gcc2_95_3/gcc_stack_protect.m4.gz
28 # Source2-md5: 07d93ad5fc07ca44cdaba46c658820de
29 Patch0: %{name}-info.patch
30 Patch1: %{name}-nolocalefiles.patch
31 Patch2: %{name}-ada-link-new-libgnat.patch
32 Patch3: %{name}-nodebug.patch
33 Patch4: %{name}-ssp.patch
35 Patch6: %{name}-ada-link.patch
36 Patch7: %{name}-pr15666.patch
37 Patch8: %{name}-ada-bootstrap.patch
38 URL: http://gcc.gnu.org/
39 BuildRequires: autoconf
40 BuildRequires: automake
41 BuildRequires: binutils >= 2.15.90.0.3
43 BuildRequires: fileutils >= 4.0.41
46 BuildRequires: gcc(ada)
47 BuildRequires: gcc-ada
49 BuildRequires: gettext-devel
50 BuildRequires: glibc-devel >= 2.2.5-20
52 BuildRequires: perl-devel
53 BuildRequires: texinfo >= 4.1
54 BuildRequires: zlib-devel
55 Requires: binutils >= 2.15.90.0.3
56 Requires: cpp = %{epoch}:%{version}-%{release}
57 Requires: libgcc = %{epoch}:%{version}-%{release}
58 %{?with_ada:Provides: gcc(ada)}
59 %{?with_ssp:Provides: gcc(ssp)}
60 # ksi for gcc > 3.3.x not ready yet
63 Conflicts: glibc-devel < 2.2.5-20
64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66 %define _slibdir /%{_lib}
68 %define _slibdir64 /lib64
69 %define _libdir /usr/lib
70 %define rpmcflags -O2 -mtune=ultrasparc
74 A compiler aimed at integrating all the optimizations and features
75 necessary for a high-performance and stable development environment.
77 This package contains the C compiler and some files shared by various
78 parts of the GNU Compiler Collection. In order to use another GCC
79 compiler you will need to install the appropriate subpackage.
82 Un compilador destinado a la integración de todas las optimalizaciones
83 y características necesarias para un entorno de desarrollo eficaz y
86 Este paquete contiene el compilador de C y unos ficheros compartidos
87 por varias parted de la colección de compiladores GNU (GCC). Para usar
88 otro compilador de GCC será necesario que instale el subpaquete
92 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
93 wyprodukowania szybkiego i stablinego kodu wynikowego.
95 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
96 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
97 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
100 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
101 GNU Compiler Collection.
104 Summary: Shared gcc library
105 Summary(es): Biblioteca compartida de gcc
106 Summary(pl): Biblioteka gcc
107 Summary(pt_BR): Biblioteca runtime para o GCC
111 %description -n libgcc
114 %description -n libgcc -l es
115 Biblioteca compartida de gcc.
117 %description -n libgcc -l pl
118 Biblioteka dynamiczna gcc.
120 %description -n libgcc -l pt_BR
121 Biblioteca runtime para o GCC.
124 Summary: C++ support for gcc
125 Summary(es): Soporte de C++ para gcc
126 Summary(pl): Obs³uga C++ dla gcc
127 Summary(pt_BR): Suporte C++ para o gcc
128 Group: Development/Languages
129 Requires: %{name} = %{epoch}:%{version}-%{release}
134 This package adds C++ support to the GNU Compiler Collection. It
135 includes support for most of the current C++ specification, including
136 templates and exception handling. It does not include a standard C++
137 library, which is available separately.
139 %description c++ -l de
140 Dieses Paket enthält die C++-Unterstützung für den
141 GNU-Compiler-Collection. Es unterstützt die aktuelle
142 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
143 C++-Standard-Library ist nicht enthalten - sie ist getrennt
146 %description c++ -l es
147 Este paquete añade soporte de C++ al GCC (colección de compiladores
148 GNU). Ello incluye el soporte para la mayoría de la especificación
149 actual de C++, incluyendo plantillas y manejo de excepciones. No
150 incluye la biblioteca estándar de C++, la que es disponible separada.
152 %description c++ -l fr
153 Ce package ajoute un support C++ a la collection de compilateurs GNU.
154 Il comprend un support pour la plupart des spécifications actuelles de
155 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
156 une bibliothéque C++ standard, qui est disponible séparément.
158 %description c++ -l pl
159 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
160 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
161 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
163 %description c++ -l pt_BR
164 Este pacote adiciona suporte C++ para o gcc.
166 %description c++ -l tr
167 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
168 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
169 C++ kitaplýðý bu pakette yer almaz.
172 Summary: Objective C support for gcc
173 Summary(de): Objektive C-Unterstützung für gcc
174 Summary(es): Soporte de Objective C para gcc
175 Summary(fr): Gestion d'Objective C pour gcc
176 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
177 Summary(tr): gcc için Objective C desteði
178 Group: Development/Languages
179 Requires: %{name} = %{epoch}:%{version}-%{release}
180 Requires: libobjc = %{epoch}:%{version}-%{release}
185 This package adds Objective C support to the GNU Compiler Collection.
186 Objective C is a object oriented derivative of the C language, mainly
187 used on systems running NeXTSTEP. This package does not include the
188 standard objective C object library.
190 %description objc -l de
191 Dieses Paket ergänzt den GNU-Compiler-Collection durch
192 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
193 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
194 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
196 %description objc -l es
197 Este paquete añade soporte de Objective C al GCC (colección de
198 compiladores GNU). Objective C es un lenguaje orientado a objetos
199 derivado de C, principalmente usado en sistemas que funcionan bajo
200 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
203 %description objc -l fr
204 Ce package ajoute un support Objective C a la collection de
205 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
206 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
207 package n'inclue pas la bibliothéque Objective C standard.
209 %description objc -l pl
210 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
211 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
212 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
213 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
215 %description objc -l tr
216 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
217 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
218 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
219 kitaplýðý bu pakette yer almaz.
222 Summary: Objective C Libraries
223 Summary(es): Bibliotecas de Objective C
224 Summary(pl): Biblioteki Obiektowego C
228 %description -n libobjc
229 Objective C Libraries.
231 %description -n libobjc -l es
232 Bibliotecas de Objective C.
234 %description -n libobjc -l pl
235 Biblioteki Obiektowego C.
237 %package -n libobjc-static
238 Summary: Static Objective C Libraries
239 Summary(es): Bibliotecas estáticas de Objective C
240 Summary(pl): Statyczne Biblioteki Obiektowego C
241 Group: Development/Libraries
242 Requires: libobjc = %{epoch}:%{version}-%{release}
244 %description -n libobjc-static
245 Static Objective C Libraries.
247 %description -n libobjc-static -l es
248 Bibliotecas estáticas de Objective C.
250 %description -n libobjc-static -l pl
251 Statyczne biblioteki Obiektowego C.
254 Summary: Fortran 77 support for gcc
255 Summary(es): Soporte de Fortran 77 para gcc
256 Summary(pl): Obs³uga Fortranu 77 dla gcc
257 Summary(pt_BR): Suporte Fortran 77 para o GCC
258 Group: Development/Languages/Fortran
259 Requires: libg2c = %{epoch}:%{version}-%{release}
263 This package adds support for compiling Fortran 77 programs with the
266 %description g77 -l es
267 Este paquete añade soporte para compilar programas escritos en Fortran
268 77 con el compilador GNU.
270 %description g77 -l pl
271 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
272 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
274 %description g77 -l pt_BR
275 Suporte Fortran 77 para o GCC.
278 Summary: Fortran 77 Libraries
279 Summary(es): Bibliotecas de Fortran 77
280 Summary(pl): Biblioteki Fortranu 77
283 %description -n libg2c
284 Fortran 77 Libraries.
286 %description -n libg2c -l es
287 Bibliotecas de Fortran 77.
289 %description -n libg2c -l pl
290 Biblioteki Fortranu 77.
292 %package -n libg2c-static
293 Summary: Static Fortran 77 Libraries
294 Summary(es): Bibliotecas estáticas de Fortran 77
295 Summary(pl): Statyczne Biblioteki Fortranu 77
296 Group: Development/Libraries
297 Requires: libg2c = %{epoch}:%{version}-%{release}
299 %description -n libg2c-static
300 Static Fortran 77 Libraries.
302 %description -n libg2c -l es
303 Bibliotecas estáticas de Fortran 77.
305 %description -n libg2c-static -l pl
306 Statyczne biblioteki Fortranu 77.
309 Summary: Java support for gcc
310 Summary(es): Soporte de Java para gcc
311 Summary(pl): Obs³uga Javy dla gcc
312 Group: Development/Languages/Java
313 Requires: %{name} = %{epoch}:%{version}-%{release}
314 Requires: libgcj = %{epoch}:%{version}-%{release}
315 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
316 Requires: java-shared
317 Provides: gcj = %{epoch}:%{version}-%{release}
320 This package adds experimental support for compiling Java(tm) programs
321 and bytecode into native code. To use this you will also need the
324 %description java -l es
325 Este paquete añade soporte experimental para compilar programas
326 Java(tm) y su bytecode en código nativo. Para usarlo también va a
327 necesitar el paquete libgcj.
329 %description java -l pl
330 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
331 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
332 by³o przeprowadziæ kompilacjê.
335 Summary: Shared java tools
336 Summary(es): Herramientas compartidas de Java
337 Summary(pl): Wspó³dzielone narzêdzia javy
338 Group: Development/Languages/Java
339 Provides: jar = %{epoch}:%{version}-%{release}
340 Provides: java-shared
342 Obsoletes: java-shared
345 %description java-tools
346 This package contains tools that are common for every Java(tm)
347 implementation, such as rmic or jar.
349 %description java-tools -l es
350 Este paquete contiene herramientas que son comunes para cada
351 implementación de Java(tm), como rmic o jar.
353 %description java-tools -l pl
354 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
355 Javy(tm), takie jak rmic czy jar.
358 Summary: Java Class Libraries
359 Summary(es): Bibliotecas de clases de Java
360 Summary(pl): Biblioteki Klas Javy
365 %description -n libgcj
366 Java Class Libraries.
368 %description -n libgcj -l es
369 Bibliotecas de clases de Java.
371 %description -n libgcj -l pl
372 Biblioteki Klas Javy.
374 %package -n libgcj-devel
375 Summary: Development files for Java Class Libraries
376 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
377 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
378 Group: Development/Libraries
379 Requires: %{name}-java = %{epoch}:%{version}-%{release}
380 Requires: libgcj = %{epoch}:%{version}-%{release}
381 Obsoletes: libgcj3-devel
383 %description -n libgcj-devel
384 Development files for Java Class Libraries.
386 %description -n libgcj-devel -l es
387 Ficheros de desarrollo para las bibliotecas de clases de Java.
389 %description -n libgcj-devel -l pl
390 Pliki nag³ówkowe dla Bibliotek Klas Javy.
392 %package -n libgcj-static
393 Summary: Static Java Class Libraries
394 Summary(es): Bibliotecas estáticas de clases de Java
395 Summary(pl): Statyczne Biblioteki Klas Javy
396 Group: Development/Libraries
397 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
398 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
400 %description -n libgcj-static
401 Static Java Class Libraries.
403 %description -n libgcj-static -l es
404 Bibliotecas estáticas de clases de Java.
406 %description -n libgcj-static -l pl
407 Statyczne Biblioteki Klas Javy.
409 %package -n libstdc++
410 Summary: GNU c++ library
411 Summary(es): Biblioteca C++ de GNU
412 Summary(pl): Biblioteki GNU C++
413 Summary(pt_BR): Biblioteca C++ GNU
416 Obsoletes: libstdc++3
418 %description -n libstdc++
419 This is the GNU implementation of the standard C++ libraries, along
420 with additional GNU tools. This package includes the shared libraries
421 necessary to run C++ applications.
423 %description -n libstdc++ -l de
424 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
425 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
426 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
428 %description -n libstdc++ -l es
429 Este es el soporte de las bibliotecas padrón del C++, junto con
430 herramientas GNU adicionales. El paquete incluye las bibliotecas
431 compartidas necesarias para ejecutar aplicaciones C++.
433 %description -n libstdc++ -l fr
434 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
435 des outils GNU supplémentaires. Ce package comprend les librairies
436 partagées nécessaires à l'exécution d'application C++.
438 %description -n libstdc++ -l pl
439 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
440 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
441 uruchomienia aplikacji napisanych w C++.
443 %description -n libstdc++ -l pt_BR
444 Este pacote é uma implementação da biblioteca padrão C++ v3, um
445 subconjunto do padrão ISO 14882.
447 %description -n libstdc++ -l tr
448 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
449 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
451 %package -n libstdc++-devel
452 Summary: Header files and documentation for C++ development
453 Summary(de): Header-Dateien zur Entwicklung mit C++
454 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
455 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
456 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
457 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
458 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
459 Group: Development/Libraries
460 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
461 Requires: libstdc++ = %{epoch}:%{version}-%{release}
462 Obsoletes: libg++-devel
463 Obsoletes: libstdc++3-devel
465 %description -n libstdc++-devel
466 This is the GNU implementation of the standard C++ libraries. This
467 package includes the header files needed for C++ development and
468 library documentation.
470 %description -n libstdc++-devel -l es
471 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
472 paquete incluye los archivos de inclusión y bibliotecas necesarios
473 para desarrollo de programas en lenguaje C++.
475 %description -n libstdc++-devel -l pl
476 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
477 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
478 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
480 %description -n libstdc++-devel -l pt_BR
481 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
482 para desenvolvimento de programas C++.
484 %package -n libstdc++-static
485 Summary: Static C++ standard library
486 Summary(es): Biblioteca estándar estática de C++
487 Summary(pl): Statyczna biblioteka standardowa C++
488 Group: Development/Libraries
489 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
491 %description -n libstdc++-static
492 Static C++ standard library.
494 %description -n libstdc++-static -l es
495 Biblioteca estándar estática de C++.
497 %description -n libstdc++-static -l pl
498 Statycza biblioteka standardowa C++.
501 Summary: Foreign Function Interface library
502 Summary(es): Biblioteca de interfaz de funciones ajenas
503 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
506 %description -n libffi
507 The libffi library provides a portable, high level programming
508 interface to various calling conventions. This allows a programmer to
509 call any function specified by a call interface description at run
512 %description -n libffi -l es
513 La biblioteca libffi provee una interfaz portable de programación de
514 alto nivel para varias convenciones de llamada. Ello permite que un
515 programador llame una función cualquiera especificada por una
516 descripción de interfaz de llamada en el tiempo de ejecución.
518 %description -n libffi -l pl
519 Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego
520 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
521 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
524 %package -n libffi-devel
525 Summary: Development files for Foreign Function Interface library
526 Summary(es): Ficheros de desarrollo para libffi
527 Summary(pl): Pliki nag³ówkowe dla libffi
528 Group: Development/Libraries
529 Requires: libffi = %{epoch}:%{version}-%{release}
531 %description -n libffi-devel
532 Development files for Foreign Function Interface library.
534 %description -n libffi-devel -l es
535 Ficheros de desarrollo para libffi.
537 %description -n libffi-devel -l pl
538 Pliki nag³ówkowe dla libffi.
540 %package -n libffi-static
541 Summary: Static Foreign Function Interface library
542 Summary(es): Biblioteca libffi estática
543 Summary(pl): Statyczna biblioteka libffi
544 Group: Development/Libraries
545 Requires: libffi-devel = %{epoch}:%{version}-%{release}
547 %description -n libffi-static
548 Static Foreign Function Interface library.
550 %description -n libffi-static -l es
551 Biblioteca libffi estática.
553 %description -n libffi-static -l pl
554 Statyczna biblioteka libffi.
557 Summary: Ada support for gcc
558 Summary(es): Soporte de Ada para gcc
559 Summary(pl): Obs³uga Ady do gcc
560 Group: Development/Languages
561 Requires: %{name} = %{epoch}:%{version}-%{release}
562 Requires: libgnat = %{epoch}:%{version}-%{release}
564 Obsoletes: gnat-devel
567 This package adds experimental support for compiling Ada programs.
569 %description ada -l es
570 Este paquete añade soporte experimental para compilar programas en
573 %description ada -l pl
574 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
578 Summary: Ada standard libraries
579 Summary(es): Bibliotecas estándares de Ada
580 Summary(pl): Biblioteki standardowe dla Ady
585 %description -n libgnat
586 This package contains shared libraries needed to run programs written
589 %description -n libgnat -l es
590 Este paquete contiene las bibliotecas compartidas necesarias para
591 ejecutar programas escritos en Ada.
593 %description -n libgnat -l pl
594 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
597 %package -n libgnat-static
598 Summary: Static Ada standard libraries
599 Summary(pl): Statyczne biblioteki standardowe dla Ady
601 Obsoletes: gnat-static
603 %description -n libgnat-static
604 This package contains static libraries for programs written in Ada.
606 %description -n libgnat-static -l pl
607 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
611 Summary: The C Pre Processor
612 Summary(es): El preprocesador de C
613 Summary(pl): Preprocesor C
614 Summary(pt_BR): Preprocessador para a linguagem C
615 Group: Development/Languages
620 The C preprocessor is a "macro processor" that is used automatically
621 by the C compiler to transform your program before actual compilation.
622 It is called a macro processor because it allows you to define
623 "macros", which are brief abbreviations for longer constructs.
625 The C preprocessor provides four separate facilities that you can use
628 - Inclusion of header files. These are files of declarations that can
629 be substituted into your program.
630 - Macro expansion. You can define "macros", which are abbreviations
631 for arbitrary fragments of C code, and then the C preprocessor will
632 replace the macros with their definitions throughout the program.
633 - Conditional compilation. Using special preprocessing directives, you
634 can include or exclude parts of the program according to various
636 - Line control. If you use a program to combine or rearrange source
637 files into an intermediate file which is then compiled, you can use
638 line control to inform the compiler of where each source line
639 originally came from.
641 %description -n cpp -l es
642 El preprocesador de C es un "procesador de macros" que es usado
643 automáticamente por el compilador C para transformar su programa antes
644 de que éste se actualmente compile. Se llama procesador de macros
645 porque permite definir "macros", los que son abreviaciones concisas
646 para construcciones más largas.
648 El preprocesador C provee cuatro cualidadedes distintas que puede usar
651 - Inclusión de ficheros de cabecera. Éstos son ficheros de
652 declaraciones que pueden incorporarse a su programa.
653 - Expansión de macros. Puede definir "macros", los que son
654 abreviaciones para fragmentos arbitrarios de código C, y a lo largo
655 del programa el preprocesador sustituirá los macros con sus
657 - Compilación condicional. Usando especiales directivas del preproceso
658 puede incluir o excluir partes del programa según varias condiciones.
659 - Control de líneas. Si usa un programa para combinar o reorganizar el
660 código fuente en un fichero intermedio que luego es compilado, puede
661 usar control de líneas para informar el compilador de dónde origina
664 %description -n cpp -l pl
665 Przeprocesor C jest "makro procesorem" który jest automatycznie
666 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
667 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
668 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
669 d³ugich konstrukcji w jêzyku C.
671 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
673 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
674 deklaracji polecenia do³±czenia innego pliku.
675 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
676 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
677 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
678 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
679 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
680 fragmenty obrabianego strumienia tekstów.
681 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
682 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
683 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
684 odpowiada fragment pliku wynikowego.
686 %description -n cpp -l pt_BR
687 O preprocessador C é um "processador de macros", que é utilizado pelo
688 compilador C para fazer algumas modificações no seu programa, antes da
689 compilação em si. Ele é chamado de "processador de macros" porque
690 permite a você definir "macros", que são abreviações para construções
693 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
694 arquivos de cabeçalho; expansão de macros; compilação condicional; e
695 controle da numeração das linhas do programa.
698 %setup -q -n %{name}-%{version}-%{_snap} -a1
702 %{!?debug:%patch3 -p1}
703 %{?with_ssp:%patch4 -p1}
708 # only for bootstrap using gcc 3.3.x
712 # because we distribute modified version of gcc...
713 perl -pi -e 's/(version.*)";/$1 %{?with_ssp:SSP }(PLD Linux)";/' gcc/version.c
714 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
716 mv ChangeLog ChangeLog.general
719 # cd gcc && autoconf; cd ..
720 # autoconf is not needed!
721 cp -f /usr/share/automake/config.sub .
723 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
725 CFLAGS="%{rpmcflags}" \
726 CXXFLAGS="%{rpmcflags}" \
727 TEXCONFIG=false ../configure \
728 --prefix=%{_prefix} \
729 --libdir=%{_libdir} \
730 --libexecdir=%{_libexecdir} \
731 --infodir=%{_infodir} \
732 --mandir=%{_mandir} \
734 --enable-threads=posix \
735 --enable-__cxa_atexit \
736 --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
748 --with-slibdir=%{_slibdir} \
752 PATH=$PATH:/sbin:%{_sbindir}
755 # stage1 needs -O0 on alpha for 3.3->3.4 bootstrap (gnat from 3.3 is seriously broken)
756 %{__make} -C obj-%{_target_platform} profiledbootstrap \
757 GCJFLAGS="%{rpmcflags}" \
758 BOOT_CFLAGS="%{rpmcflags}" \
760 STAGE1_CFLAGS="%{rpmcflags} -O0" \
762 STAGE1_CFLAGS="%{rpmcflags}" \
764 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
769 # cannot build it in parallel
770 for tgt in gnatlib-shared gnattools gnatlib; do
771 %{__make} -C obj-%{_target_platform}/gcc $tgt \
772 BOOT_CFLAGS="%{rpmcflags}" \
773 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
780 rm -rf $RPM_BUILD_ROOT
781 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
783 cd obj-%{_target_platform}
784 PATH=$PATH:/sbin:%{_sbindir}
788 infodir=%{_infodir} \
789 DESTDIR=$RPM_BUILD_ROOT
792 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
793 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
796 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
797 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
799 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
800 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
803 # move ada shared libraries to proper place...
804 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
805 $RPM_BUILD_ROOT%{_libdir}
806 # check if symlink to be made is valid
807 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so.1
808 ln -sf libgnat-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so
809 ln -sf libgnarl-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.4.so
810 ln -sf libgnat-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
811 ln -sf libgnarl-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
814 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
820 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
821 cp -f fastjar/README java-doc/README.fastjar
822 cp -f libffi/README java-doc/README.libffi
823 cp -f libffi/LICENSE java-doc/LICENSE.libffi
827 cp -f libobjc/README gcc/objc/README.libobjc
830 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
831 for f in libstdc++.la libsupc++.la %{?with_java:libgcj.la} ; do
832 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
834 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
835 for f in libstdc++.la libsupc++.la libg2c.la \
836 %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
837 %{?with_objc:libobjc.la}; do
838 perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
841 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
842 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
844 # include/ contains install-tools/include/* and headers that were fixed up
845 # by fixincludes, we don't want former
846 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
848 # we have to save these however
849 mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,gcj}} $gccdir/tmp
850 rm -rf $gccdir/include
851 mv -f $gccdir/tmp $gccdir/include
852 cp $gccdir/install-tools/include/*.h $gccdir/include
853 # but we don't want anything more from install-tools
854 rm -rf $gccdir/install-tools
857 %find_lang libstdc\+\+
860 zcat %{SOURCE2} > $RPM_BUILD_ROOT%{_aclocaldir}/gcc_stack_protect.m4
864 rm -rf $RPM_BUILD_ROOT
867 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
870 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
873 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
876 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
879 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
882 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
885 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
888 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
890 %post -p /sbin/ldconfig -n libgcc
891 %postun -p /sbin/ldconfig -n libgcc
892 %post -p /sbin/ldconfig -n libstdc++
893 %postun -p /sbin/ldconfig -n libstdc++
894 %post -p /sbin/ldconfig -n libobjc
895 %postun -p /sbin/ldconfig -n libobjc
896 %post -p /sbin/ldconfig -n libg2c
897 %postun -p /sbin/ldconfig -n libg2c
898 %post -p /sbin/ldconfig -n libgcj
899 %postun -p /sbin/ldconfig -n libgcj
900 %post -p /sbin/ldconfig -n libgnat
901 %postun -p /sbin/ldconfig -n libgnat
902 %post -p /sbin/ldconfig -n libffi
903 %postun -p /sbin/ldconfig -n libffi
906 %defattr(644,root,root,755)
907 %doc ChangeLog.general MAINTAINERS bugs.html faq.html
908 %doc gcc/{README.Portability,ONEWS,ChangeLog}
910 %dir %{_libdir}/gcc/*
911 %dir %{_libdir}/gcc/*/*
912 %dir %{_libdir}/gcc/*/*/include
913 %{?with_ssp:%{_aclocaldir}/gcc_stack_protect.m4}
914 %attr(755,root,root) %{_bindir}/*-gcc*
915 %attr(755,root,root) %{_bindir}/gcc
916 %attr(755,root,root) %{_bindir}/gccbug
917 %attr(755,root,root) %{_bindir}/gcov
918 %attr(755,root,root) %{_bindir}/cc
920 %{_mandir}/man1/gcc.1*
921 %{_mandir}/man1/cc.1*
922 %{_mandir}/man1/gcov.1*
923 %lang(fr) %{_mandir}/fr/man1/gcc.1*
924 %lang(ja) %{_mandir}/ja/man1/gcc.1*
927 %attr(755,root,root) %{_slibdir}*/lib*.so
928 %{_libdir}/gcc/*/*/libgcov.a
929 %{_libdir}/gcc/*/*/libgcc.a
930 %{_libdir}/gcc/*/*/libgcc_eh.a
931 %{_libdir}/gcc/*/*/specs
932 %attr(644,root,root) %{_libdir}*/gcc/*/*/crt*.o
934 %{_libdir}/gcc/*/*/*/libgcc.a
935 %{_libdir}/gcc/*/*/*/libgcc_eh.a
936 %attr(644,root,root) %{_libdir}*/gcc/*/*/*/crt*.o
939 %attr(644,root,root) %{_libdir}/gcc/*/*/ecrt*.o
940 %attr(644,root,root) %{_libdir}/gcc/*/*/ncrt*.o
941 %{_libdir}/gcc/*/*/nof
944 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
945 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
947 %{_libdir}/gcc/*/*/include/*.h
948 %exclude %{_libdir}/gcc/*/*/include/g2c.h
951 %defattr(644,root,root,755)
952 %attr(755,root,root) %{_slibdir}*/lib*.so.*
955 %defattr(644,root,root,755)
956 %attr(755,root,root) %{_bindir}/g++
957 %attr(755,root,root) %{_bindir}/*-g++
958 %attr(755,root,root) %{_bindir}/c++
959 %attr(755,root,root) %{_bindir}/*-c++
960 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
961 %{_libdir}*/libsupc++.la
963 %{_libdir}/nof/libsupc++.la
964 %{_libdir}/nof/libsupc++.a
966 %{_libdir}*/libsupc++.a
967 %{_mandir}/man1/g++.1*
968 %lang(ja) %{_mandir}/ja/man1/g++.1*
970 %files -n libstdc++ -f libstdc++.lang
971 %defattr(644,root,root,755)
972 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
974 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
977 %files -n libstdc++-devel
978 %defattr(644,root,root,755)
979 %doc libstdc++-v3/docs/html
980 %dir %{_includedir}/c++
981 %{_includedir}/c++/%{version}
982 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
983 %attr(755,root,root) %{_libdir}*/libstdc++.so
984 %{_libdir}*/libstdc++.la
986 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
987 %{_libdir}/nof/libstdc++.la
990 %files -n libstdc++-static
991 %defattr(644,root,root,755)
992 %{_libdir}*/libstdc++.a
994 %{_libdir}/nof/libstdc++.a
999 %defattr(644,root,root,755)
1001 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
1002 %attr(755,root,root) %{_libdir}*/libobjc.so
1003 %{_libdir}*/libobjc.la
1005 %attr(755,root,root) %{_libdir}/nof/libobjc.so
1006 %{_libdir}/nof/libobjc.la
1008 %{_libdir}/gcc/*/*/include/objc
1011 %defattr(644,root,root,755)
1012 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
1014 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
1017 %files -n libobjc-static
1018 %defattr(644,root,root,755)
1019 %{_libdir}*/libobjc.a
1021 %{_libdir}/nof/libobjc.a
1026 %defattr(644,root,root,755)
1027 %attr(755,root,root) %{_bindir}/g77
1028 %attr(755,root,root) %{_bindir}/f77
1030 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
1031 %{_libdir}*/libfrtbegin.a
1032 %{_libdir}*/libg2c.la
1033 %attr(755,root,root) %{_libdir}*/libg2c.so
1035 %{_libdir}/nof/libfrtbegin.a
1036 %{_libdir}/nof/libg2c.la
1037 %attr(755,root,root) %{_libdir}/nof/libg2c.so
1039 %{_libdir}/gcc/*/*/include/g2c.h
1040 %{_mandir}/man1/g77.1*
1041 %{_mandir}/man1/f77.1*
1042 %lang(ja) %{_mandir}/ja/man1/g77.1*
1043 %lang(ja) %{_mandir}/ja/man1/f77.1*
1046 %defattr(644,root,root,755)
1047 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
1049 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
1052 %files -n libg2c-static
1053 %defattr(644,root,root,755)
1054 %{_libdir}*/libg2c.a
1056 %{_libdir}/nof/libg2c.a
1061 %defattr(644,root,root,755)
1063 %attr(755,root,root) %{_bindir}/gcj*
1064 %attr(755,root,root) %{_bindir}/gij
1065 %attr(755,root,root) %{_bindir}/jcf-dump
1066 %attr(755,root,root) %{_bindir}/jv-*
1067 %attr(755,root,root) %{_bindir}/grepjar
1068 %attr(755,root,root) %{_bindir}/*-gcj*
1069 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1070 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1072 %{_mandir}/man1/jcf-*
1073 %{_mandir}/man1/jv-*
1074 %{_mandir}/man1/gij*
1075 %{_mandir}/man1/gcj*
1076 %{_mandir}/man1/grepjar*
1079 %defattr(644,root,root,755)
1080 %attr(755,root,root) %{_bindir}/rmi*
1081 %attr(755,root,root) %{_bindir}/jar
1082 %{_mandir}/man1/rmi*
1083 %{_mandir}/man1/jar*
1084 %{_infodir}/fastjar*
1087 %defattr(644,root,root,755)
1088 %attr(755,root,root) %{_bindir}/addr2name.awk
1089 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1090 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1092 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1094 %{_libdir}/logging.properties
1096 %files -n libgcj-devel
1097 %defattr(644,root,root,755)
1099 %{_includedir}/javax
1102 %{_includedir}/gnu/*
1103 %{_libdir}/gcc/*/*/include/gcj
1104 %dir %{_libdir}/security
1105 %{_libdir}/security/*
1106 %dir %{_datadir}/java
1107 %{_datadir}/java/libgcj*.jar
1108 %{_libdir}/lib*cj.spec
1109 %{_libdir}/lib*cj*.la
1110 %attr(755,root,root) %{_libdir}/lib*cj*.so
1111 %attr(755,root,root) %{_libdir}/lib-org-*.so
1112 %{_libdir}/lib-org-*.la
1114 %{_libdir}/nof/lib*cj*.la
1115 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1117 %{_pkgconfigdir}/libgcj.pc
1119 %files -n libgcj-static
1120 %defattr(644,root,root,755)
1121 %{_libdir}/lib*cj*.a
1122 %{_libdir}/lib-org-*.a
1124 %{_libdir}/nof/lib*cj*.a
1128 %defattr(644,root,root,755)
1129 %attr(755,root,root) %{_libdir}/libffi-*.so
1131 %files -n libffi-devel
1132 %defattr(644,root,root,755)
1133 %attr(755,root,root) %{_libdir}/libffi.so
1134 %{_libdir}/libffi.la
1137 %files -n libffi-static
1138 %defattr(644,root,root,755)
1144 %defattr(644,root,root,755)
1145 %attr(755,root,root) %{_bindir}/gnat*
1146 %attr(755,root,root) %{_bindir}/gpr*
1147 %attr(755,root,root) %{_libdir}/libgnarl*.so
1148 %attr(755,root,root) %{_libdir}/libgnat*.so
1149 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1150 %{_libdir}/gcc/*/*/adainclude
1151 %dir %{_libdir}/gcc/*/*/adalib
1152 %{_libdir}/gcc/*/*/adalib/*.ali
1153 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1154 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1156 %{_libdir}/gcc/*/*/adalib/libgmem.a
1162 %defattr(644,root,root,755)
1163 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1164 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1166 %files -n libgnat-static
1167 %defattr(644,root,root,755)
1168 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1169 %{_libdir}/gcc/*/*/adalib/libgnat.a
1173 %defattr(644,root,root,755)
1174 %attr(755,root,root) /lib/cpp
1175 %attr(755,root,root) %{_bindir}/cpp
1176 %{_mandir}/man1/cpp.1*
1177 %lang(ja) %{_mandir}/ja/man1/cpp.1*