3 %bcond_without ada # build without ADA support
4 %bcond_without java # build without Java support
5 %bcond_without objc # build without objc support
8 %define GCC_VERSION 3.4.0
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
15 Version: %{GCC_VERSION}
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}/%{name}-%{version}-%{snap}.tar.bz2
22 # Source0-md5: d6e215ce39a302c643f3ea8994ef6b68
23 #Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/%{version}-%{snap}/%{name}-%{version}-%{snap}.tar.bz2
24 Source1: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
25 # Source1-md5: 4736f3422ddfb808423b745629acc321
26 Patch0: %{name}-info.patch
27 Patch1: %{name}-nolocalefiles.patch
28 Patch2: %{name}-ada-link-new-libgnat.patch
29 BuildRequires: autoconf
30 BuildRequires: automake
31 BuildRequires: binutils >= 2.14
33 BuildRequires: fileutils >= 4.0.41
35 %{?with_ada:BuildRequires: gcc-ada}
36 BuildRequires: gettext-devel
37 BuildRequires: glibc-devel >= 2.2.5-20
38 BuildRequires: perl-devel
39 BuildRequires: texinfo >= 4.1
40 BuildRequires: zlib-devel
41 Requires: binutils >= 2.14
42 Requires: cpp = %{epoch}:%{version}-%{release}
43 Requires: libgcc = %{epoch}:%{version}-%{release}
44 Conflicts: glibc-devel < 2.2.5-20
45 URL: http://gcc.gnu.org/
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 %define _slibdir /%{_lib}
50 %define _slibdir64 /lib64
51 %define _libdir /usr/lib
52 %define rpmcflags -O2 -mtune=ultrasparc
56 A compiler aimed at integrating all the optimizations and features
57 necessary for a high-performance and stable development environment.
59 This package contains the C compiler and some files shared by various
60 parts of the GNU Compiler Collection. In order to use another GCC
61 compiler you will need to install the appropriate subpackage.
64 Un compilador destinado a la integración de todas las optimalizaciones
65 y características necesarias para un entorno de desarrollo eficaz y
68 Este paquete contiene el compilador de C y unos ficheros compartidos
69 por varias parted de la colección de compiladores GNU (GCC). Para usar
70 otro compilador de GCC será necesario que instale el subpaquete
74 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
75 wyprodukowania szybkiego i stablinego kodu wynikowego.
77 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
78 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
79 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
82 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
83 GNU Compiler Collection.
86 Summary: Shared gcc library
87 Summary(es): Biblioteca compartida de gcc
88 Summary(pl): Biblioteka gcc
89 Summary(pt_BR): Biblioteca runtime para o GCC
93 %description -n libgcc
96 %description -n libgcc -l es
97 Biblioteca compartida de gcc.
99 %description -n libgcc -l pl
100 Biblioteka dynamiczna gcc.
102 %description -n libgcc -l pt_BR
103 Biblioteca runtime para o GCC.
106 Summary: C++ support for gcc
107 Summary(es): Soporte de C++ para gcc
108 Summary(pl): Obs³uga C++ dla gcc
109 Summary(pt_BR): Suporte C++ para o gcc
110 Group: Development/Languages
113 Requires: gcc = %{epoch}:%{version}-%{release}
116 This package adds C++ support to the GNU Compiler Collection. It
117 includes support for most of the current C++ specification, including
118 templates and exception handling. It does not include a standard C++
119 library, which is available separately.
121 %description c++ -l de
122 Dieses Paket enthält die C++-Unterstützung für den
123 GNU-Compiler-Collection. Es unterstützt die aktuelle
124 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
125 C++-Standard-Library ist nicht enthalten - sie ist getrennt
128 %description c++ -l es
129 Este paquete añade soporte de C++ al GCC (colección de compiladores
130 GNU). Ello incluye el soporte para la mayoría de la especificación
131 actual de C++, incluyendo plantillas y manejo de excepciones. No
132 incluye la biblioteca estándar de C++, la que es disponible separada.
134 %description c++ -l fr
135 Ce package ajoute un support C++ a la collection de compilateurs GNU.
136 Il comprend un support pour la plupart des spécifications actuelles de
137 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
138 une bibliothéque C++ standard, qui est disponible séparément.
140 %description c++ -l pl
141 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
142 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
143 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
145 %description c++ -l pt_BR
146 Este pacote adiciona suporte C++ para o gcc.
148 %description c++ -l tr
149 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
150 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
151 C++ kitaplýðý bu pakette yer almaz.
154 Summary: Objective C support for gcc
155 Summary(de): Objektive C-Unterstützung für gcc
156 Summary(es): Soporte de Objective C para gcc
157 Summary(fr): Gestion d'Objective C pour gcc
158 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
159 Summary(tr): gcc için Objective C desteði
160 Group: Development/Languages
163 Requires: libobjc = %{epoch}:%{version}-%{release}
164 Requires: gcc = %{epoch}:%{version}-%{release}
167 This package adds Objective C support to the GNU Compiler Collection.
168 Objective C is a object oriented derivative of the C language, mainly
169 used on systems running NeXTSTEP. This package does not include the
170 standard objective C object library.
172 %description objc -l de
173 Dieses Paket ergänzt den GNU-Compiler-Collection durch
174 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
175 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
176 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
178 %description objc -l es
179 Este paquete añade soporte de Objective C al GCC (colección de
180 compiladores GNU). Objective C es un lenguaje orientado a objetos
181 derivado de C, principalmente usado en sistemas que funcionan bajo
182 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
185 %description objc -l fr
186 Ce package ajoute un support Objective C a la collection de
187 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
188 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
189 package n'inclue pas la bibliothéque Objective C standard.
191 %description objc -l pl
192 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
193 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
194 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
195 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
197 %description objc -l tr
198 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
199 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
200 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
201 kitaplýðý bu pakette yer almaz.
204 Summary: Objective C Libraries
205 Summary(es): Bibliotecas de Objective C
206 Summary(pl): Biblioteki Obiektowego C
210 %description -n libobjc
211 Objective C Libraries.
213 %description -n libobjc -l es
214 Bibliotecas de Objective C.
216 %description -n libobjc -l pl
217 Biblioteki Obiektowego C.
219 %package -n libobjc-static
220 Summary: Static Objective C Libraries
221 Summary(es): Bibliotecas estáticas de Objective C
222 Summary(pl): Statyczne Biblioteki Obiektowego C
223 Group: Development/Libraries
224 Requires: libobjc = %{epoch}:%{version}-%{release}
226 %description -n libobjc-static
227 Static Objective C Libraries.
229 %description -n libobjc-static -l es
230 Bibliotecas estáticas de Objective C.
232 %description -n libobjc-static -l pl
233 Statyczne biblioteki Obiektowego C.
236 Summary: Fortran 77 support for gcc
237 Summary(es): Soporte de Fortran 77 para gcc
238 Summary(pl): Obs³uga Fortranu 77 dla gcc
239 Summary(pt_BR): Suporte Fortran 77 para o GCC
240 Group: Development/Languages/Fortran
242 Requires: libg2c = %{epoch}:%{version}-%{release}
245 This package adds support for compiling Fortran 77 programs with the
248 %description g77 -l es
249 Este paquete añade soporte para compilar programas escritos en Fortran
250 77 con el compilador GNU.
252 %description g77 -l pl
253 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
254 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
256 %description g77 -l pt_BR
257 Suporte Fortran 77 para o GCC.
260 Summary: Fortran 77 Libraries
261 Summary(es): Bibliotecas de Fortran 77
262 Summary(pl): Biblioteki Fortranu 77
265 %description -n libg2c
266 Fortran 77 Libraries.
268 %description -n libg2c -l es
269 Bibliotecas de Fortran 77.
271 %description -n libg2c -l pl
272 Biblioteki Fortranu 77.
274 %package -n libg2c-static
275 Summary: Static Fortran 77 Libraries
276 Summary(es): Bibliotecas estáticas de Fortran 77
277 Summary(pl): Statyczne Biblioteki Fortranu 77
278 Group: Development/Libraries
279 Requires: libg2c = %{epoch}:%{version}-%{release}
281 %description -n libg2c-static
282 Static Fortran 77 Libraries.
284 %description -n libg2c -l es
285 Bibliotecas estáticas de Fortran 77.
287 %description -n libg2c-static -l pl
288 Statyczne biblioteki Fortranu 77.
291 Summary: Java support for gcc
292 Summary(es): Soporte de Java para gcc
293 Summary(pl): Obs³uga Javy dla gcc
294 Group: Development/Languages/Java
295 Requires: %{name} = %{epoch}:%{version}-%{release}
296 Requires: libgcj >= 3.0.0
297 Requires: libgcj-devel >= 3.0.0
298 Requires: java-shared
299 Provides: gcj = %{epoch}:%{version}-%{release}
302 This package adds experimental support for compiling Java(tm) programs
303 and bytecode into native code. To use this you will also need the
306 %description java -l es
307 Este paquete añade soporte experimental para compilar programas
308 Java(tm) y su bytecode en código nativo. Para usarlo también va a
309 necesitar el paquete libgcj.
311 %description java -l pl
312 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
313 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
314 by³o przeprowadziæ kompilacjê.
317 Summary: Shared java tools
318 Summary(es): Herramientas compartidas de Java
319 Summary(pl): Wspó³dzielone narzêdzia javy
320 Group: Development/Languages/Java
321 Provides: jar = %{epoch}:%{version}-%{release}
322 Provides: java-shared
324 Obsoletes: java-shared
327 %description java-tools
328 This package contains tools that are common for every Java(tm)
329 implementation, such as rmic or jar.
331 %description java-tools -l es
332 Este paquete contiene herramientas que son comunes para cada
333 implementación de Java(tm), como rmic o jar.
335 %description java-tools -l pl
336 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
337 Javy(tm), takie jak rmic czy jar.
340 Summary: Java Class Libraries
341 Summary(es): Bibliotecas de clases de Java
342 Summary(pl): Biblioteki Klas Javy
347 %description -n libgcj
348 Java Class Libraries.
350 %description -n libgcj -l es
351 Bibliotecas de clases de Java.
353 %description -n libgcj -l pl
354 Biblioteki Klas Javy.
356 %package -n libgcj-devel
357 Summary: Development files for Java Class Libraries
358 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
359 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
360 Group: Development/Libraries
361 Requires: libgcj = %{epoch}:%{version}-%{release}
362 Requires: %{name}-java
364 Obsoletes: libgcj3-devel
366 %description -n libgcj-devel
367 Development files for Java Class Libraries.
369 %description -n libgcj-devel -l es
370 Ficheros de desarrollo para las bibliotecas de clases de Java.
372 %description -n libgcj-devel -l pl
373 Pliki nag³ówkowe dla Bibliotek Klas Javy.
375 %package -n libgcj-static
376 Summary: Static Java Class Libraries
377 Summary(es): Bibliotecas estáticas de clases de Java
378 Summary(pl): Statyczne Biblioteki Klas Javy
379 Group: Development/Libraries
380 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
381 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
383 %description -n libgcj-static
384 Static Java Class Libraries.
386 %description -n libgcj-static -l es
387 Bibliotecas estáticas de clases de Java.
389 %description -n libgcj-static -l pl
390 Statyczne Biblioteki Klas Javy.
392 %package -n libstdc++
393 Summary: GNU c++ library
394 Summary(es): Biblioteca C++ de GNU
395 Summary(pl): Biblioteki GNU C++
396 Summary(pt_BR): Biblioteca C++ GNU
399 Obsoletes: libstdc++3
401 %description -n libstdc++
402 This is the GNU implementation of the standard C++ libraries, along
403 with additional GNU tools. This package includes the shared libraries
404 necessary to run C++ applications.
406 %description -n libstdc++ -l de
407 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
408 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
409 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
411 %description -n libstdc++ -l es
412 Este es el soporte de las bibliotecas padrón del C++, junto con
413 herramientas GNU adicionales. El paquete incluye las bibliotecas
414 compartidas necesarias para ejecutar aplicaciones C++.
416 %description -n libstdc++ -l fr
417 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
418 des outils GNU supplémentaires. Ce package comprend les librairies
419 partagées nécessaires à l'exécution d'application C++.
421 %description -n libstdc++ -l pl
422 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
423 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
424 uruchomienia aplikacji napisanych w C++.
426 %description -n libstdc++ -l pt_BR
427 Este pacote é uma implementação da biblioteca padrão C++ v3, um
428 subconjunto do padrão ISO 14882.
430 %description -n libstdc++ -l tr
431 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
432 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
434 %package -n libstdc++-devel
435 Summary: Header files and documentation for C++ development
436 Summary(de): Header-Dateien zur Entwicklung mit C++
437 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
438 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
439 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
440 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
441 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
442 Group: Development/Libraries
443 Requires: libstdc++ = %{epoch}:%{version}-%{release}
444 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
445 Obsoletes: libg++-devel
446 Obsoletes: libstdc++3-devel
448 %description -n libstdc++-devel
449 This is the GNU implementation of the standard C++ libraries. This
450 package includes the header files needed for C++ development and
451 library documentation.
453 %description -n libstdc++-devel -l es
454 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
455 paquete incluye los archivos de inclusión y bibliotecas necesarios
456 para desarrollo de programas en lenguaje C++.
458 %description -n libstdc++-devel -l pl
459 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
460 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
461 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
463 %description -n libstdc++-devel -l pt_BR
464 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
465 para desenvolvimento de programas C++.
467 %package -n libstdc++-static
468 Summary: Static C++ standard library
469 Summary(es): Biblioteca estándar estática de C++
470 Summary(pl): Statyczna biblioteka standardowa C++
471 Group: Development/Libraries
472 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
474 %description -n libstdc++-static
475 Static C++ standard library.
477 %description -n libstdc++-static -l es
478 Biblioteca estándar estática de C++.
480 %description -n libstdc++-static -l pl
481 Statycza biblioteka standardowa C++.
484 Summary: Foreign Function Interface library
485 Summary(es): Biblioteca de interfaz de funciones ajenas
486 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
489 %description -n libffi
490 The libffi library provides a portable, high level programming
491 interface to various calling conventions. This allows a programmer to
492 call any function specified by a call interface description at run
495 %description -n libffi -l es
496 La biblioteca libffi provee una interfaz portable de programación de
497 alto nivel para varias convenciones de llamada. Ello permite que un
498 programador llame una función cualquiera especificada por una
499 descripción de interfaz de llamada en el tiempo de ejecución.
501 %description -n libffi -l pl
502 Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego
503 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
504 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
507 %package -n libffi-devel
508 Summary: Development files for Foreign Function Interface library
509 Summary(es): Ficheros de desarrollo para libffi
510 Summary(pl): Pliki nag³ówkowe dla libffi
511 Group: Development/Libraries
512 Requires: libffi = %{epoch}:%{version}-%{release}
514 %description -n libffi-devel
515 Development files for Foreign Function Interface library.
517 %description -n libffi-devel -l es
518 Ficheros de desarrollo para libffi.
520 %description -n libffi-devel -l pl
521 Pliki nag³ówkowe dla libffi.
523 %package -n libffi-static
524 Summary: Static Foreign Function Interface library
525 Summary(es): Biblioteca libffi estática
526 Summary(pl): Statyczna biblioteka libffi
527 Group: Development/Libraries
528 Requires: libffi-devel = %{epoch}:%{version}-%{release}
530 %description -n libffi-static
531 Static Foreign Function Interface library.
533 %description -n libffi-static -l es
534 Biblioteca libffi estática.
536 %description -n libffi-static -l pl
537 Statyczna biblioteka libffi.
540 Summary: Ada support for gcc
541 Summary(es): Soporte de Ada para gcc
542 Summary(pl): Obs³uga Ady do gcc
543 Group: Development/Languages
544 Requires: libgnat = %{epoch}:%{version}-%{release}
545 Requires: gcc = %{epoch}:%{version}-%{release}
547 Obsoletes: gnat-devel
550 This package adds experimental support for compiling Ada programs.
552 %description ada -l es
553 Este paquete añade soporte experimental para compilar programas en
556 %description ada -l pl
557 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
561 Summary: Ada standard libraries
562 Summary(es): Bibliotecas estándares de Ada
563 Summary(pl): Biblioteki standardowe dla Ady
568 %description -n libgnat
569 This package contains shared libraries needed to run programs written
572 %description -n libgnat -l es
573 Este paquete contiene las bibliotecas compartidas necesarias para
574 ejecutar programas escritos en Ada.
576 %description -n libgnat -l pl
577 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
580 %package -n libgnat-static
581 Summary: Static Ada standard libraries
582 Summary(pl): Statyczne biblioteki standardowe dla Ady
584 Obsoletes: gnat-static
586 %description -n libgnat-static
587 This package contains static libraries for programs written in Ada.
589 %description -n libgnat-static -l pl
590 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
594 Summary: The C Pre Processor
595 Summary(es): El preprocesador de C
596 Summary(pl): Preprocesor C
597 Summary(pt_BR): Preprocessador para a linguagem C
598 Group: Development/Languages
599 Version: %{GCC_VERSION}
604 The C preprocessor is a "macro processor" that is used automatically
605 by the C compiler to transform your program before actual compilation.
606 It is called a macro processor because it allows you to define
607 "macros", which are brief abbreviations for longer constructs.
609 The C preprocessor provides four separate facilities that you can use
612 - Inclusion of header files. These are files of declarations that can
613 be substituted into your program.
614 - Macro expansion. You can define "macros", which are abbreviations
615 for arbitrary fragments of C code, and then the C preprocessor will
616 replace the macros with their definitions throughout the program.
617 - Conditional compilation. Using special preprocessing directives, you
618 can include or exclude parts of the program according to various
620 - Line control. If you use a program to combine or rearrange source
621 files into an intermediate file which is then compiled, you can use
622 line control to inform the compiler of where each source line
623 originally came from.
625 %description -n cpp -l es
626 El preprocesador de C es un "procesador de macros" que es usado
627 automáticamente por el compilador C para transformar su programa antes
628 de que éste se actualmente compile. Se llama procesador de macros
629 porque permite definir "macros", los que son abreviaciones concisas
630 para construcciones más largas.
632 El preprocesador C provee cuatro cualidadedes distintas que puede usar
635 - Inclusión de ficheros de cabecera. Éstos son ficheros de
636 declaraciones que pueden incorporarse a su programa.
637 - Expansión de macros. Puede definir "macros", los que son
638 abreviaciones para fragmentos arbitrarios de código C, y a lo largo
639 del programa el preprocesador sustituirá los macros con sus
641 - Compilación condicional. Usando especiales directivas del preproceso
642 puede incluir o excluir partes del programa según varias condiciones.
643 - Control de líneas. Si usa un programa para combinar o reorganizar el
644 código fuente en un fichero intermedio que luego es compilado, puede
645 usar control de líneas para informar el compilador de dónde origina
648 %description -n cpp -l pl
649 Przeprocesor C jest "makro procesorem" który jest automatycznie
650 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
651 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
652 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
653 d³ugich konstrukcji w jêzyku C.
655 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
657 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
658 deklaracji polecenia do³±czenia innego pliku.
659 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
660 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
661 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
662 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
663 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
664 fragmenty obrabianego strumienia tekstów.
665 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
666 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
667 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
668 odpowiada fragment pliku wynikowego.
670 %description -n cpp -l pt_BR
671 O preprocessador C é um "processador de macros", que é utilizado pelo
672 compilador C para fazer algumas modificações no seu programa, antes da
673 compilação em si. Ele é chamado de "processador de macros" porque
674 permite a você definir "macros", que são abreviações para construções
677 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
678 arquivos de cabeçalho; expansão de macros; compilação condicional; e
679 controle da numeração das linhas do programa.
682 %setup -q -a1 -n %{name}-%{version}-%{snap}
688 # because we distribute modified version of gcc...
689 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
690 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
692 mv ChangeLog ChangeLog.general
695 # cd gcc && autoconf; cd ..
696 # autoconf is not needed!
697 cp /usr/share/automake/config.sub .
699 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
701 CFLAGS="%{rpmcflags}" \
702 CXXFLAGS="%{rpmcflags}" \
703 TEXCONFIG=false ../configure \
704 --prefix=%{_prefix} \
705 --libdir=%{_libdir} \
706 --libexecdir=%{_libexecdir} \
707 --infodir=%{_infodir} \
708 --mandir=%{_mandir} \
710 --enable-threads=posix \
711 --enable-__cxa_atexit \
712 --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
724 --with-slibdir=%{_slibdir} \
728 PATH=$PATH:/sbin:%{_sbindir}
731 %{__make} -C obj-%{_target_platform} profiledbootstrap \
732 BOOT_CFLAGS="%{rpmcflags}" \
733 STAGE1_CFLAGS="%{rpmcflags}" \
734 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
739 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
740 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
746 rm -rf $RPM_BUILD_ROOT
747 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
749 cd obj-%{_target_platform}
750 PATH=$PATH:/sbin:%{_sbindir}
754 infodir=%{_infodir} \
755 DESTDIR=$RPM_BUILD_ROOT
758 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
759 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
762 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
763 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
765 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
766 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
769 # move ada shared libraries to proper place...
770 mv $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so \
771 $RPM_BUILD_ROOT%{_libdir}/
774 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
780 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
781 cp -f fastjar/README java-doc/README.fastjar
782 cp -f libffi/README java-doc/README.libffi
783 cp -f libffi/LICENSE java-doc/LICENSE.libffi
787 cp -f libobjc/README gcc/objc/README.libobjc
790 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
791 for f in libstdc++.la libsupc++.la %{?with_java:libgcj.la} ; do
792 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
794 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
795 for f in libstdc++.la libsupc++.la libg2c.la \
796 %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
797 %{?with_objc:libobjc.la}; do
798 perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
801 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
802 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
804 # include/ contains install-tools/include/* and headers that were fixed up
805 # by fixincludes, we don't want former
806 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
808 # we have to save these however
809 mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,gcj}} $gccdir/tmp
810 rm -rf $gccdir/include
811 mv -f $gccdir/tmp $gccdir/include
812 cp $gccdir/install-tools/include/*.h $gccdir/include
813 # but we don't want anything more from install-tools
814 rm -rf $gccdir/install-tools
817 %find_lang libstdc\+\+
820 rm -rf $RPM_BUILD_ROOT
823 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
826 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
829 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
832 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
835 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
838 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
841 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
844 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
846 %post -p /sbin/ldconfig -n libgcc
847 %postun -p /sbin/ldconfig -n libgcc
848 %post -p /sbin/ldconfig -n libstdc++
849 %postun -p /sbin/ldconfig -n libstdc++
850 %post -p /sbin/ldconfig -n libobjc
851 %postun -p /sbin/ldconfig -n libobjc
852 %post -p /sbin/ldconfig -n libg2c
853 %postun -p /sbin/ldconfig -n libg2c
854 %post -p /sbin/ldconfig -n libgcj
855 %postun -p /sbin/ldconfig -n libgcj
856 %post -p /sbin/ldconfig -n libgnat
857 %postun -p /sbin/ldconfig -n libgnat
858 %post -p /sbin/ldconfig -n libffi
859 %postun -p /sbin/ldconfig -n libffi
861 %files -f %{name}.lang
862 %defattr(644,root,root,755)
863 %doc ChangeLog.general MAINTAINERS bugs.html faq.html
864 %doc gcc/{README.Portability,NEWS,ChangeLog}
866 %dir %{_libdir}/gcc/*
867 %dir %{_libdir}/gcc/*/*
868 %dir %{_libdir}/gcc/*/*/include
869 %attr(755,root,root) %{_bindir}/*-gcc*
870 %attr(755,root,root) %{_bindir}/gcc
871 %attr(755,root,root) %{_bindir}/gccbug
872 %attr(755,root,root) %{_bindir}/gcov
873 %attr(755,root,root) %{_bindir}/cc
875 %{_mandir}/man1/gcc.1*
876 %{_mandir}/man1/cc.1*
877 %{_mandir}/man1/gcov.1*
878 %lang(fr) %{_mandir}/fr/man1/gcc.1*
879 %lang(ja) %{_mandir}/ja/man1/gcc.1*
882 %attr(755,root,root) %{_slibdir}*/lib*.so
883 %{_libdir}/gcc/*/*/libgcov.a
884 %{_libdir}/gcc/*/*/libgcc.a
885 %{_libdir}/gcc/*/*/libgcc_eh.a
886 %{_libdir}/gcc/*/*/specs
887 %attr(644,root,root) %{_libdir}*/gcc/*/*/crt*.o
889 %{_libdir}/gcc/*/*/*/libgcc.a
890 %{_libdir}/gcc/*/*/*/libgcc_eh.a
891 %attr(644,root,root) %{_libdir}*/gcc/*/*/*/crt*.o
894 %attr(644,root,root) %{_libdir}/gcc/*/*/ecrt*.o
895 %attr(644,root,root) %{_libdir}/gcc/*/*/ncrt*.o
896 %{_libdir}/gcc/*/*/nof
899 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
900 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
902 %{_libdir}/gcc/*/*/include/*.h
903 %exclude %{_libdir}/gcc/*/*/include/g2c.h
906 %defattr(644,root,root,755)
907 %attr(755,root,root) %{_slibdir}*/lib*.so.*
910 %defattr(644,root,root,755)
911 %attr(755,root,root) %{_bindir}/g++
912 %attr(755,root,root) %{_bindir}/*-g++
913 %attr(755,root,root) %{_bindir}/c++
914 %attr(755,root,root) %{_bindir}/*-c++
915 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
916 %{_libdir}*/libsupc++.la
918 %{_libdir}/nof/libsupc++.la
919 %{_libdir}/nof/libsupc++.a
921 %{_libdir}*/libsupc++.a
922 %{_mandir}/man1/g++.1*
923 %lang(ja) %{_mandir}/ja/man1/g++.1*
925 %files -n libstdc++ -f libstdc++.lang
926 %defattr(644,root,root,755)
927 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
929 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
932 %files -n libstdc++-devel
933 %defattr(644,root,root,755)
934 %doc libstdc++-v3/docs/html
935 %dir %{_includedir}/c++
936 %{_includedir}/c++/%{version}
937 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
938 %attr(755,root,root) %{_libdir}*/libstdc++.so
939 %{_libdir}*/libstdc++.la
941 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
942 %{_libdir}/nof/libstdc++.la
945 %files -n libstdc++-static
946 %defattr(644,root,root,755)
947 %{_libdir}*/libstdc++.a
949 %{_libdir}/nof/libstdc++.a
954 %defattr(644,root,root,755)
956 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
957 %attr(755,root,root) %{_libdir}*/libobjc.so
958 %{_libdir}*/libobjc.la
960 %attr(755,root,root) %{_libdir}/nof/libobjc.so
961 %{_libdir}/nof/libobjc.la
963 %{_libdir}/gcc/*/*/include/objc
966 %defattr(644,root,root,755)
967 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
969 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
972 %files -n libobjc-static
973 %defattr(644,root,root,755)
974 %{_libdir}*/libobjc.a
976 %{_libdir}/nof/libobjc.a
981 %defattr(644,root,root,755)
982 %attr(755,root,root) %{_bindir}/g77
983 %attr(755,root,root) %{_bindir}/f77
985 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
986 %{_libdir}*/libfrtbegin.a
987 %{_libdir}*/libg2c.la
988 %attr(755,root,root) %{_libdir}*/libg2c.so
990 %{_libdir}/nof/libfrtbegin.a
991 %{_libdir}/nof/libg2c.la
992 %attr(755,root,root) %{_libdir}/nof/libg2c.so
994 %{_libdir}/gcc/*/*/include/g2c.h
995 %{_mandir}/man1/g77.1*
996 %{_mandir}/man1/f77.1*
997 %lang(ja) %{_mandir}/ja/man1/g77.1*
998 %lang(ja) %{_mandir}/ja/man1/f77.1*
1001 %defattr(644,root,root,755)
1002 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
1004 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
1007 %files -n libg2c-static
1008 %defattr(644,root,root,755)
1009 %{_libdir}*/libg2c.a
1011 %{_libdir}/nof/libg2c.a
1016 %defattr(644,root,root,755)
1018 %attr(755,root,root) %{_bindir}/gcj*
1019 %attr(755,root,root) %{_bindir}/gij
1020 %attr(755,root,root) %{_bindir}/jcf-dump
1021 %attr(755,root,root) %{_bindir}/jv-*
1022 %attr(755,root,root) %{_bindir}/grepjar
1023 %attr(755,root,root) %{_bindir}/*-gcj*
1024 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1025 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1027 %{_mandir}/man1/jcf-*
1028 %{_mandir}/man1/jv-*
1029 %{_mandir}/man1/gij*
1030 %{_mandir}/man1/gcj*
1031 %{_mandir}/man1/grepjar*
1034 %defattr(644,root,root,755)
1035 %attr(755,root,root) %{_bindir}/rmi*
1036 %attr(755,root,root) %{_bindir}/jar
1037 %{_mandir}/man1/rmi*
1038 %{_mandir}/man1/jar*
1039 %{_infodir}/fastjar*
1042 %defattr(644,root,root,755)
1043 %attr(755,root,root) %{_bindir}/addr2name.awk
1044 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1045 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1047 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1050 %files -n libgcj-devel
1051 %defattr(644,root,root,755)
1053 %{_includedir}/javax
1056 %{_includedir}/gnu/*
1057 %{_libdir}/gcc/*/*/include/gcj
1058 %dir %{_libdir}/security
1059 %{_libdir}/security/*
1060 %dir %{_datadir}/java
1061 %{_datadir}/java/libgcj*.jar
1062 %{_libdir}/lib*cj.spec
1063 %{_libdir}/lib*cj*.la
1064 %attr(755,root,root) %{_libdir}/lib*cj*.so
1065 %attr(755,root,root) %{_libdir}/lib-org-*.so
1066 %{_libdir}/lib-org-*.la
1068 %{_libdir}/nof/lib*cj*.la
1069 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1071 %{_pkgconfigdir}/libgcj.pc
1073 %files -n libgcj-static
1074 %defattr(644,root,root,755)
1075 %{_libdir}/lib*cj*.a
1076 %{_libdir}/lib-org-*.a
1078 %{_libdir}/nof/lib*cj*.a
1082 %defattr(644,root,root,755)
1083 %attr(755,root,root) %{_libdir}/libffi-*.so
1085 %files -n libffi-devel
1086 %defattr(644,root,root,755)
1087 %attr(755,root,root) %{_libdir}/libffi.so
1088 %{_libdir}/libffi.la
1091 %files -n libffi-static
1092 %defattr(644,root,root,755)
1098 %defattr(644,root,root,755)
1099 %attr(755,root,root) %{_bindir}/gnat*
1100 %attr(755,root,root) %{_bindir}/gpr*
1101 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1102 %{_libdir}/gcc/*/*/adainclude
1103 %dir %{_libdir}/gcc/*/*/adalib
1104 %{_libdir}/gcc/*/*/adalib/*.ali
1106 %{_libdir}/gcc/*/*/adalib/libgmem.a
1111 %defattr(644,root,root,755)
1112 %attr(755,root,root) %{_libdir}/libgnarl*.so
1113 %attr(755,root,root) %{_libdir}/libgnat*.so
1115 %files -n libgnat-static
1116 %defattr(644,root,root,755)
1117 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1118 %{_libdir}/gcc/*/*/adalib/libgnat.a
1122 %defattr(644,root,root,755)
1123 %attr(755,root,root) /lib/cpp
1124 %attr(755,root,root) %{_bindir}/cpp
1125 %{_mandir}/man1/cpp.1*
1126 %lang(ja) %{_mandir}/ja/man1/cpp.1*