3 %bcond_without ada # build without ADA support
4 %bcond_without java # build without Java support
5 %bcond_without objc # build without objc support
7 %define GCC_VERSION 3.4.0
9 Summary: GNU Compiler Collection: the C compiler and shared files
10 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
11 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
12 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
14 Version: %{GCC_VERSION}
18 Group: Development/Languages
19 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
20 # Source0-md5: 85c6fc83d51be0fbb4f8205accbaff59
21 Source1: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
22 # Source1-md5: 4736f3422ddfb808423b745629acc321
23 Patch0: %{name}-info.patch
24 Patch1: %{name}-nolocalefiles.patch
25 Patch2: %{name}-ada-link-new-libgnat.patch
26 Patch3: %{name}-nodebug.patch
27 Patch4: %{name}-ssp.patch
28 BuildRequires: autoconf
29 BuildRequires: automake
30 BuildRequires: binutils >= 2.14
32 BuildRequires: fileutils >= 4.0.41
35 BuildRequires: gcc(ada)
36 BuildRequires: gcc-ada
38 BuildRequires: gettext-devel
39 BuildRequires: glibc-devel >= 2.2.5-20
40 BuildRequires: perl-devel
41 BuildRequires: texinfo >= 4.1
42 BuildRequires: zlib-devel
43 Requires: binutils >= 2.15.90.0.3
44 Requires: cpp = %{epoch}:%{version}-%{release}
45 Requires: libgcc = %{epoch}:%{version}-%{release}
46 %{?with_ada:Provides: gcc(ada)}
47 Conflicts: glibc-devel < 2.2.5-20
48 URL: http://gcc.gnu.org/
49 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51 %define _slibdir /%{_lib}
53 %define _slibdir64 /lib64
54 %define _libdir /usr/lib
55 %define rpmcflags -O2 -mtune=ultrasparc
57 %define specflags -fPIC
60 A compiler aimed at integrating all the optimizations and features
61 necessary for a high-performance and stable development environment.
63 This package contains the C compiler and some files shared by various
64 parts of the GNU Compiler Collection. In order to use another GCC
65 compiler you will need to install the appropriate subpackage.
68 Un compilador destinado a la integración de todas las optimalizaciones
69 y características necesarias para un entorno de desarrollo eficaz y
72 Este paquete contiene el compilador de C y unos ficheros compartidos
73 por varias parted de la colección de compiladores GNU (GCC). Para usar
74 otro compilador de GCC será necesario que instale el subpaquete
78 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
79 wyprodukowania szybkiego i stablinego kodu wynikowego.
81 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
82 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
83 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
86 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
87 GNU Compiler Collection.
90 Summary: Shared gcc library
91 Summary(es): Biblioteca compartida de gcc
92 Summary(pl): Biblioteka gcc
93 Summary(pt_BR): Biblioteca runtime para o GCC
97 %description -n libgcc
100 %description -n libgcc -l es
101 Biblioteca compartida de gcc.
103 %description -n libgcc -l pl
104 Biblioteka dynamiczna gcc.
106 %description -n libgcc -l pt_BR
107 Biblioteca runtime para o GCC.
110 Summary: C++ support for gcc
111 Summary(es): Soporte de C++ para gcc
112 Summary(pl): Obs³uga C++ dla gcc
113 Summary(pt_BR): Suporte C++ para o gcc
114 Group: Development/Languages
117 Requires: gcc = %{epoch}:%{version}-%{release}
120 This package adds C++ support to the GNU Compiler Collection. It
121 includes support for most of the current C++ specification, including
122 templates and exception handling. It does not include a standard C++
123 library, which is available separately.
125 %description c++ -l de
126 Dieses Paket enthält die C++-Unterstützung für den
127 GNU-Compiler-Collection. Es unterstützt die aktuelle
128 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
129 C++-Standard-Library ist nicht enthalten - sie ist getrennt
132 %description c++ -l es
133 Este paquete añade soporte de C++ al GCC (colección de compiladores
134 GNU). Ello incluye el soporte para la mayoría de la especificación
135 actual de C++, incluyendo plantillas y manejo de excepciones. No
136 incluye la biblioteca estándar de C++, la que es disponible separada.
138 %description c++ -l fr
139 Ce package ajoute un support C++ a la collection de compilateurs GNU.
140 Il comprend un support pour la plupart des spécifications actuelles de
141 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
142 une bibliothéque C++ standard, qui est disponible séparément.
144 %description c++ -l pl
145 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
146 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
147 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
149 %description c++ -l pt_BR
150 Este pacote adiciona suporte C++ para o gcc.
152 %description c++ -l tr
153 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
154 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
155 C++ kitaplýðý bu pakette yer almaz.
158 Summary: Objective C support for gcc
159 Summary(de): Objektive C-Unterstützung für gcc
160 Summary(es): Soporte de Objective C para gcc
161 Summary(fr): Gestion d'Objective C pour gcc
162 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
163 Summary(tr): gcc için Objective C desteði
164 Group: Development/Languages
167 Requires: libobjc = %{epoch}:%{version}-%{release}
168 Requires: gcc = %{epoch}:%{version}-%{release}
171 This package adds Objective C support to the GNU Compiler Collection.
172 Objective C is a object oriented derivative of the C language, mainly
173 used on systems running NeXTSTEP. This package does not include the
174 standard objective C object library.
176 %description objc -l de
177 Dieses Paket ergänzt den GNU-Compiler-Collection durch
178 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
179 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
180 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
182 %description objc -l es
183 Este paquete añade soporte de Objective C al GCC (colección de
184 compiladores GNU). Objective C es un lenguaje orientado a objetos
185 derivado de C, principalmente usado en sistemas que funcionan bajo
186 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
189 %description objc -l fr
190 Ce package ajoute un support Objective C a la collection de
191 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
192 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
193 package n'inclue pas la bibliothéque Objective C standard.
195 %description objc -l pl
196 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
197 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
198 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
199 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
201 %description objc -l tr
202 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
203 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
204 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
205 kitaplýðý bu pakette yer almaz.
208 Summary: Objective C Libraries
209 Summary(es): Bibliotecas de Objective C
210 Summary(pl): Biblioteki Obiektowego C
214 %description -n libobjc
215 Objective C Libraries.
217 %description -n libobjc -l es
218 Bibliotecas de Objective C.
220 %description -n libobjc -l pl
221 Biblioteki Obiektowego C.
223 %package -n libobjc-static
224 Summary: Static Objective C Libraries
225 Summary(es): Bibliotecas estáticas de Objective C
226 Summary(pl): Statyczne Biblioteki Obiektowego C
227 Group: Development/Libraries
228 Requires: libobjc = %{epoch}:%{version}-%{release}
230 %description -n libobjc-static
231 Static Objective C Libraries.
233 %description -n libobjc-static -l es
234 Bibliotecas estáticas de Objective C.
236 %description -n libobjc-static -l pl
237 Statyczne biblioteki Obiektowego C.
240 Summary: Fortran 77 support for gcc
241 Summary(es): Soporte de Fortran 77 para gcc
242 Summary(pl): Obs³uga Fortranu 77 dla gcc
243 Summary(pt_BR): Suporte Fortran 77 para o GCC
244 Group: Development/Languages/Fortran
246 Requires: libg2c = %{epoch}:%{version}-%{release}
249 This package adds support for compiling Fortran 77 programs with the
252 %description g77 -l es
253 Este paquete añade soporte para compilar programas escritos en Fortran
254 77 con el compilador GNU.
256 %description g77 -l pl
257 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
258 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
260 %description g77 -l pt_BR
261 Suporte Fortran 77 para o GCC.
264 Summary: Fortran 77 Libraries
265 Summary(es): Bibliotecas de Fortran 77
266 Summary(pl): Biblioteki Fortranu 77
269 %description -n libg2c
270 Fortran 77 Libraries.
272 %description -n libg2c -l es
273 Bibliotecas de Fortran 77.
275 %description -n libg2c -l pl
276 Biblioteki Fortranu 77.
278 %package -n libg2c-static
279 Summary: Static Fortran 77 Libraries
280 Summary(es): Bibliotecas estáticas de Fortran 77
281 Summary(pl): Statyczne Biblioteki Fortranu 77
282 Group: Development/Libraries
283 Requires: libg2c = %{epoch}:%{version}-%{release}
285 %description -n libg2c-static
286 Static Fortran 77 Libraries.
288 %description -n libg2c -l es
289 Bibliotecas estáticas de Fortran 77.
291 %description -n libg2c-static -l pl
292 Statyczne biblioteki Fortranu 77.
295 Summary: Java support for gcc
296 Summary(es): Soporte de Java para gcc
297 Summary(pl): Obs³uga Javy dla gcc
298 Group: Development/Languages/Java
299 Requires: %{name} = %{epoch}:%{version}-%{release}
300 Requires: libgcj >= 3.0.0
301 Requires: libgcj-devel >= 3.0.0
302 Requires: java-shared
303 Provides: gcj = %{epoch}:%{version}-%{release}
306 This package adds experimental support for compiling Java(tm) programs
307 and bytecode into native code. To use this you will also need the
310 %description java -l es
311 Este paquete añade soporte experimental para compilar programas
312 Java(tm) y su bytecode en código nativo. Para usarlo también va a
313 necesitar el paquete libgcj.
315 %description java -l pl
316 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
317 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
318 by³o przeprowadziæ kompilacjê.
321 Summary: Shared java tools
322 Summary(es): Herramientas compartidas de Java
323 Summary(pl): Wspó³dzielone narzêdzia javy
324 Group: Development/Languages/Java
325 Provides: jar = %{epoch}:%{version}-%{release}
326 Provides: java-shared
328 Obsoletes: java-shared
331 %description java-tools
332 This package contains tools that are common for every Java(tm)
333 implementation, such as rmic or jar.
335 %description java-tools -l es
336 Este paquete contiene herramientas que son comunes para cada
337 implementación de Java(tm), como rmic o jar.
339 %description java-tools -l pl
340 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
341 Javy(tm), takie jak rmic czy jar.
344 Summary: Java Class Libraries
345 Summary(es): Bibliotecas de clases de Java
346 Summary(pl): Biblioteki Klas Javy
351 %description -n libgcj
352 Java Class Libraries.
354 %description -n libgcj -l es
355 Bibliotecas de clases de Java.
357 %description -n libgcj -l pl
358 Biblioteki Klas Javy.
360 %package -n libgcj-devel
361 Summary: Development files for Java Class Libraries
362 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
363 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
364 Group: Development/Libraries
365 Requires: libgcj = %{epoch}:%{version}-%{release}
366 Requires: %{name}-java
368 Obsoletes: libgcj3-devel
370 %description -n libgcj-devel
371 Development files for Java Class Libraries.
373 %description -n libgcj-devel -l es
374 Ficheros de desarrollo para las bibliotecas de clases de Java.
376 %description -n libgcj-devel -l pl
377 Pliki nag³ówkowe dla Bibliotek Klas Javy.
379 %package -n libgcj-static
380 Summary: Static Java Class Libraries
381 Summary(es): Bibliotecas estáticas de clases de Java
382 Summary(pl): Statyczne Biblioteki Klas Javy
383 Group: Development/Libraries
384 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
385 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
387 %description -n libgcj-static
388 Static Java Class Libraries.
390 %description -n libgcj-static -l es
391 Bibliotecas estáticas de clases de Java.
393 %description -n libgcj-static -l pl
394 Statyczne Biblioteki Klas Javy.
396 %package -n libstdc++
397 Summary: GNU c++ library
398 Summary(es): Biblioteca C++ de GNU
399 Summary(pl): Biblioteki GNU C++
400 Summary(pt_BR): Biblioteca C++ GNU
403 Obsoletes: libstdc++3
405 %description -n libstdc++
406 This is the GNU implementation of the standard C++ libraries, along
407 with additional GNU tools. This package includes the shared libraries
408 necessary to run C++ applications.
410 %description -n libstdc++ -l de
411 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
412 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
413 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
415 %description -n libstdc++ -l es
416 Este es el soporte de las bibliotecas padrón del C++, junto con
417 herramientas GNU adicionales. El paquete incluye las bibliotecas
418 compartidas necesarias para ejecutar aplicaciones C++.
420 %description -n libstdc++ -l fr
421 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
422 des outils GNU supplémentaires. Ce package comprend les librairies
423 partagées nécessaires à l'exécution d'application C++.
425 %description -n libstdc++ -l pl
426 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
427 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
428 uruchomienia aplikacji napisanych w C++.
430 %description -n libstdc++ -l pt_BR
431 Este pacote é uma implementação da biblioteca padrão C++ v3, um
432 subconjunto do padrão ISO 14882.
434 %description -n libstdc++ -l tr
435 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
436 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
438 %package -n libstdc++-devel
439 Summary: Header files and documentation for C++ development
440 Summary(de): Header-Dateien zur Entwicklung mit C++
441 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
442 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
443 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
444 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
445 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
446 Group: Development/Libraries
447 Requires: libstdc++ = %{epoch}:%{version}-%{release}
448 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
449 Obsoletes: libg++-devel
450 Obsoletes: libstdc++3-devel
452 %description -n libstdc++-devel
453 This is the GNU implementation of the standard C++ libraries. This
454 package includes the header files needed for C++ development and
455 library documentation.
457 %description -n libstdc++-devel -l es
458 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
459 paquete incluye los archivos de inclusión y bibliotecas necesarios
460 para desarrollo de programas en lenguaje C++.
462 %description -n libstdc++-devel -l pl
463 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
464 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
465 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
467 %description -n libstdc++-devel -l pt_BR
468 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
469 para desenvolvimento de programas C++.
471 %package -n libstdc++-static
472 Summary: Static C++ standard library
473 Summary(es): Biblioteca estándar estática de C++
474 Summary(pl): Statyczna biblioteka standardowa C++
475 Group: Development/Libraries
476 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
478 %description -n libstdc++-static
479 Static C++ standard library.
481 %description -n libstdc++-static -l es
482 Biblioteca estándar estática de C++.
484 %description -n libstdc++-static -l pl
485 Statycza biblioteka standardowa C++.
488 Summary: Foreign Function Interface library
489 Summary(es): Biblioteca de interfaz de funciones ajenas
490 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
493 %description -n libffi
494 The libffi library provides a portable, high level programming
495 interface to various calling conventions. This allows a programmer to
496 call any function specified by a call interface description at run
499 %description -n libffi -l es
500 La biblioteca libffi provee una interfaz portable de programación de
501 alto nivel para varias convenciones de llamada. Ello permite que un
502 programador llame una función cualquiera especificada por una
503 descripción de interfaz de llamada en el tiempo de ejecución.
505 %description -n libffi -l pl
506 Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego
507 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
508 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
511 %package -n libffi-devel
512 Summary: Development files for Foreign Function Interface library
513 Summary(es): Ficheros de desarrollo para libffi
514 Summary(pl): Pliki nag³ówkowe dla libffi
515 Group: Development/Libraries
516 Requires: libffi = %{epoch}:%{version}-%{release}
518 %description -n libffi-devel
519 Development files for Foreign Function Interface library.
521 %description -n libffi-devel -l es
522 Ficheros de desarrollo para libffi.
524 %description -n libffi-devel -l pl
525 Pliki nag³ówkowe dla libffi.
527 %package -n libffi-static
528 Summary: Static Foreign Function Interface library
529 Summary(es): Biblioteca libffi estática
530 Summary(pl): Statyczna biblioteka libffi
531 Group: Development/Libraries
532 Requires: libffi-devel = %{epoch}:%{version}-%{release}
534 %description -n libffi-static
535 Static Foreign Function Interface library.
537 %description -n libffi-static -l es
538 Biblioteca libffi estática.
540 %description -n libffi-static -l pl
541 Statyczna biblioteka libffi.
544 Summary: Ada support for gcc
545 Summary(es): Soporte de Ada para gcc
546 Summary(pl): Obs³uga Ady do gcc
547 Group: Development/Languages
548 Requires: libgnat = %{epoch}:%{version}-%{release}
549 Requires: gcc = %{epoch}:%{version}-%{release}
551 Obsoletes: gnat-devel
554 This package adds experimental support for compiling Ada programs.
556 %description ada -l es
557 Este paquete añade soporte experimental para compilar programas en
560 %description ada -l pl
561 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
565 Summary: Ada standard libraries
566 Summary(es): Bibliotecas estándares de Ada
567 Summary(pl): Biblioteki standardowe dla Ady
572 %description -n libgnat
573 This package contains shared libraries needed to run programs written
576 %description -n libgnat -l es
577 Este paquete contiene las bibliotecas compartidas necesarias para
578 ejecutar programas escritos en Ada.
580 %description -n libgnat -l pl
581 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
584 %package -n libgnat-static
585 Summary: Static Ada standard libraries
586 Summary(pl): Statyczne biblioteki standardowe dla Ady
588 Obsoletes: gnat-static
590 %description -n libgnat-static
591 This package contains static libraries for programs written in Ada.
593 %description -n libgnat-static -l pl
594 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
598 Summary: The C Pre Processor
599 Summary(es): El preprocesador de C
600 Summary(pl): Preprocesor C
601 Summary(pt_BR): Preprocessador para a linguagem C
602 Group: Development/Languages
603 Version: %{GCC_VERSION}
608 The C preprocessor is a "macro processor" that is used automatically
609 by the C compiler to transform your program before actual compilation.
610 It is called a macro processor because it allows you to define
611 "macros", which are brief abbreviations for longer constructs.
613 The C preprocessor provides four separate facilities that you can use
616 - Inclusion of header files. These are files of declarations that can
617 be substituted into your program.
618 - Macro expansion. You can define "macros", which are abbreviations
619 for arbitrary fragments of C code, and then the C preprocessor will
620 replace the macros with their definitions throughout the program.
621 - Conditional compilation. Using special preprocessing directives, you
622 can include or exclude parts of the program according to various
624 - Line control. If you use a program to combine or rearrange source
625 files into an intermediate file which is then compiled, you can use
626 line control to inform the compiler of where each source line
627 originally came from.
629 %description -n cpp -l es
630 El preprocesador de C es un "procesador de macros" que es usado
631 automáticamente por el compilador C para transformar su programa antes
632 de que éste se actualmente compile. Se llama procesador de macros
633 porque permite definir "macros", los que son abreviaciones concisas
634 para construcciones más largas.
636 El preprocesador C provee cuatro cualidadedes distintas que puede usar
639 - Inclusión de ficheros de cabecera. Éstos son ficheros de
640 declaraciones que pueden incorporarse a su programa.
641 - Expansión de macros. Puede definir "macros", los que son
642 abreviaciones para fragmentos arbitrarios de código C, y a lo largo
643 del programa el preprocesador sustituirá los macros con sus
645 - Compilación condicional. Usando especiales directivas del preproceso
646 puede incluir o excluir partes del programa según varias condiciones.
647 - Control de líneas. Si usa un programa para combinar o reorganizar el
648 código fuente en un fichero intermedio que luego es compilado, puede
649 usar control de líneas para informar el compilador de dónde origina
652 %description -n cpp -l pl
653 Przeprocesor C jest "makro procesorem" który jest automatycznie
654 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
655 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
656 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
657 d³ugich konstrukcji w jêzyku C.
659 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
661 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
662 deklaracji polecenia do³±czenia innego pliku.
663 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
664 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
665 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
666 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
667 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
668 fragmenty obrabianego strumienia tekstów.
669 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
670 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
671 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
672 odpowiada fragment pliku wynikowego.
674 %description -n cpp -l pt_BR
675 O preprocessador C é um "processador de macros", que é utilizado pelo
676 compilador C para fazer algumas modificações no seu programa, antes da
677 compilação em si. Ele é chamado de "processador de macros" porque
678 permite a você definir "macros", que são abreviações para construções
681 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
682 arquivos de cabeçalho; expansão de macros; compilação condicional; e
683 controle da numeração das linhas do programa.
691 %{!?debug:%patch3 -p1}
694 # because we distribute modified version of gcc...
695 perl -pi -e 's/(version.*)";/$1-SSP (PLD Linux)";/' gcc/version.c
696 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
698 mv ChangeLog ChangeLog.general
701 # cd gcc && autoconf; cd ..
702 # autoconf is not needed!
703 cp /usr/share/automake/config.sub .
705 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
707 CFLAGS="%{rpmcflags}" \
708 CXXFLAGS="%{rpmcflags}" \
709 TEXCONFIG=false ../configure \
710 --prefix=%{_prefix} \
711 --libdir=%{_libdir} \
712 --libexecdir=%{_libexecdir} \
713 --infodir=%{_infodir} \
714 --mandir=%{_mandir} \
716 --enable-threads=posix \
717 --enable-__cxa_atexit \
718 --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
730 --with-slibdir=%{_slibdir} \
734 PATH=$PATH:/sbin:%{_sbindir}
737 %{__make} -C obj-%{_target_platform} profiledbootstrap \
738 GCJFLAGS="%{rpmcflags}" \
739 BOOT_CFLAGS="%{rpmcflags}" \
740 STAGE1_CFLAGS="%{rpmcflags}" \
741 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
746 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
747 CFLAGS="%{rpmcflags}" \
748 CXXFLAGS="%{rpmcflags}" \
749 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
755 rm -rf $RPM_BUILD_ROOT
756 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
758 cd obj-%{_target_platform}
759 PATH=$PATH:/sbin:%{_sbindir}
763 infodir=%{_infodir} \
764 DESTDIR=$RPM_BUILD_ROOT
767 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
768 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
771 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
772 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
774 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
775 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
778 # move ada shared libraries to proper place...
779 mv $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so \
780 $RPM_BUILD_ROOT%{_libdir}
783 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
789 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
790 cp -f fastjar/README java-doc/README.fastjar
791 cp -f libffi/README java-doc/README.libffi
792 cp -f libffi/LICENSE java-doc/LICENSE.libffi
796 cp -f libobjc/README gcc/objc/README.libobjc
799 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
800 for f in libstdc++.la libsupc++.la %{?with_java:libgcj.la} ; do
801 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
803 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
804 for f in libstdc++.la libsupc++.la libg2c.la \
805 %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
806 %{?with_objc:libobjc.la}; do
807 perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
810 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
811 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
813 # include/ contains install-tools/include/* and headers that were fixed up
814 # by fixincludes, we don't want former
815 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
817 # we have to save these however
818 mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,gcj}} $gccdir/tmp
819 rm -rf $gccdir/include
820 mv -f $gccdir/tmp $gccdir/include
821 cp $gccdir/install-tools/include/*.h $gccdir/include
822 # but we don't want anything more from install-tools
823 rm -rf $gccdir/install-tools
826 %find_lang libstdc\+\+
829 rm -rf $RPM_BUILD_ROOT
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
847 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
850 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
853 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
855 %post -p /sbin/ldconfig -n libgcc
856 %postun -p /sbin/ldconfig -n libgcc
857 %post -p /sbin/ldconfig -n libstdc++
858 %postun -p /sbin/ldconfig -n libstdc++
859 %post -p /sbin/ldconfig -n libobjc
860 %postun -p /sbin/ldconfig -n libobjc
861 %post -p /sbin/ldconfig -n libg2c
862 %postun -p /sbin/ldconfig -n libg2c
863 %post -p /sbin/ldconfig -n libgcj
864 %postun -p /sbin/ldconfig -n libgcj
865 %post -p /sbin/ldconfig -n libgnat
866 %postun -p /sbin/ldconfig -n libgnat
867 %post -p /sbin/ldconfig -n libffi
868 %postun -p /sbin/ldconfig -n libffi
870 %files -f %{name}.lang
871 %defattr(644,root,root,755)
872 %doc ChangeLog.general MAINTAINERS bugs.html faq.html
873 %doc gcc/{README.Portability,NEWS,ChangeLog}
875 %dir %{_libdir}/gcc/*
876 %dir %{_libdir}/gcc/*/*
877 %dir %{_libdir}/gcc/*/*/include
878 %attr(755,root,root) %{_bindir}/*-gcc*
879 %attr(755,root,root) %{_bindir}/gcc
880 %attr(755,root,root) %{_bindir}/gccbug
881 %attr(755,root,root) %{_bindir}/gcov
882 %attr(755,root,root) %{_bindir}/cc
884 %{_mandir}/man1/gcc.1*
885 %{_mandir}/man1/cc.1*
886 %{_mandir}/man1/gcov.1*
887 %lang(fr) %{_mandir}/fr/man1/gcc.1*
888 %lang(ja) %{_mandir}/ja/man1/gcc.1*
891 %attr(755,root,root) %{_slibdir}*/lib*.so
892 %{_libdir}/gcc/*/*/libgcov.a
893 %{_libdir}/gcc/*/*/libgcc.a
894 %{_libdir}/gcc/*/*/libgcc_eh.a
895 %{_libdir}/gcc/*/*/specs
896 %attr(644,root,root) %{_libdir}*/gcc/*/*/crt*.o
898 %{_libdir}/gcc/*/*/*/libgcc.a
899 %{_libdir}/gcc/*/*/*/libgcc_eh.a
900 %attr(644,root,root) %{_libdir}*/gcc/*/*/*/crt*.o
903 %attr(644,root,root) %{_libdir}/gcc/*/*/ecrt*.o
904 %attr(644,root,root) %{_libdir}/gcc/*/*/ncrt*.o
905 %{_libdir}/gcc/*/*/nof
908 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
909 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
911 %{_libdir}/gcc/*/*/include/*.h
912 %exclude %{_libdir}/gcc/*/*/include/g2c.h
915 %defattr(644,root,root,755)
916 %attr(755,root,root) %{_slibdir}*/lib*.so.*
919 %defattr(644,root,root,755)
920 %attr(755,root,root) %{_bindir}/g++
921 %attr(755,root,root) %{_bindir}/*-g++
922 %attr(755,root,root) %{_bindir}/c++
923 %attr(755,root,root) %{_bindir}/*-c++
924 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
925 %{_libdir}*/libsupc++.la
927 %{_libdir}/nof/libsupc++.la
928 %{_libdir}/nof/libsupc++.a
930 %{_libdir}*/libsupc++.a
931 %{_mandir}/man1/g++.1*
932 %lang(ja) %{_mandir}/ja/man1/g++.1*
934 %files -n libstdc++ -f libstdc++.lang
935 %defattr(644,root,root,755)
936 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
938 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
941 %files -n libstdc++-devel
942 %defattr(644,root,root,755)
943 %doc libstdc++-v3/docs/html
944 %dir %{_includedir}/c++
945 %{_includedir}/c++/%{version}
946 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
947 %attr(755,root,root) %{_libdir}*/libstdc++.so
948 %{_libdir}*/libstdc++.la
950 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
951 %{_libdir}/nof/libstdc++.la
954 %files -n libstdc++-static
955 %defattr(644,root,root,755)
956 %{_libdir}*/libstdc++.a
958 %{_libdir}/nof/libstdc++.a
963 %defattr(644,root,root,755)
965 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
966 %attr(755,root,root) %{_libdir}*/libobjc.so
967 %{_libdir}*/libobjc.la
969 %attr(755,root,root) %{_libdir}/nof/libobjc.so
970 %{_libdir}/nof/libobjc.la
972 %{_libdir}/gcc/*/*/include/objc
975 %defattr(644,root,root,755)
976 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
978 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
981 %files -n libobjc-static
982 %defattr(644,root,root,755)
983 %{_libdir}*/libobjc.a
985 %{_libdir}/nof/libobjc.a
990 %defattr(644,root,root,755)
991 %attr(755,root,root) %{_bindir}/g77
992 %attr(755,root,root) %{_bindir}/f77
994 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
995 %{_libdir}*/libfrtbegin.a
996 %{_libdir}*/libg2c.la
997 %attr(755,root,root) %{_libdir}*/libg2c.so
999 %{_libdir}/nof/libfrtbegin.a
1000 %{_libdir}/nof/libg2c.la
1001 %attr(755,root,root) %{_libdir}/nof/libg2c.so
1003 %{_libdir}/gcc/*/*/include/g2c.h
1004 %{_mandir}/man1/g77.1*
1005 %{_mandir}/man1/f77.1*
1006 %lang(ja) %{_mandir}/ja/man1/g77.1*
1007 %lang(ja) %{_mandir}/ja/man1/f77.1*
1010 %defattr(644,root,root,755)
1011 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
1013 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
1016 %files -n libg2c-static
1017 %defattr(644,root,root,755)
1018 %{_libdir}*/libg2c.a
1020 %{_libdir}/nof/libg2c.a
1025 %defattr(644,root,root,755)
1027 %attr(755,root,root) %{_bindir}/gcj*
1028 %attr(755,root,root) %{_bindir}/gij
1029 %attr(755,root,root) %{_bindir}/jcf-dump
1030 %attr(755,root,root) %{_bindir}/jv-*
1031 %attr(755,root,root) %{_bindir}/grepjar
1032 %attr(755,root,root) %{_bindir}/*-gcj*
1033 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1034 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1036 %{_mandir}/man1/jcf-*
1037 %{_mandir}/man1/jv-*
1038 %{_mandir}/man1/gij*
1039 %{_mandir}/man1/gcj*
1040 %{_mandir}/man1/grepjar*
1043 %defattr(644,root,root,755)
1044 %attr(755,root,root) %{_bindir}/rmi*
1045 %attr(755,root,root) %{_bindir}/jar
1046 %{_mandir}/man1/rmi*
1047 %{_mandir}/man1/jar*
1048 %{_infodir}/fastjar*
1051 %defattr(644,root,root,755)
1052 %attr(755,root,root) %{_bindir}/addr2name.awk
1053 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1054 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1056 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1059 %files -n libgcj-devel
1060 %defattr(644,root,root,755)
1062 %{_includedir}/javax
1065 %{_includedir}/gnu/*
1066 %{_libdir}/gcc/*/*/include/gcj
1067 %dir %{_libdir}/security
1068 %{_libdir}/security/*
1069 %dir %{_datadir}/java
1070 %{_datadir}/java/libgcj*.jar
1071 %{_libdir}/lib*cj.spec
1072 %{_libdir}/lib*cj*.la
1073 %attr(755,root,root) %{_libdir}/lib*cj*.so
1074 %attr(755,root,root) %{_libdir}/lib-org-*.so
1075 %{_libdir}/lib-org-*.la
1077 %{_libdir}/nof/lib*cj*.la
1078 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1080 %{_pkgconfigdir}/libgcj.pc
1082 %files -n libgcj-static
1083 %defattr(644,root,root,755)
1084 %{_libdir}/lib*cj*.a
1085 %{_libdir}/lib-org-*.a
1087 %{_libdir}/nof/lib*cj*.a
1091 %defattr(644,root,root,755)
1092 %attr(755,root,root) %{_libdir}/libffi-*.so
1094 %files -n libffi-devel
1095 %defattr(644,root,root,755)
1096 %attr(755,root,root) %{_libdir}/libffi.so
1097 %{_libdir}/libffi.la
1100 %files -n libffi-static
1101 %defattr(644,root,root,755)
1107 %defattr(644,root,root,755)
1108 %attr(755,root,root) %{_bindir}/gnat*
1109 %attr(755,root,root) %{_bindir}/gpr*
1110 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1111 %{_libdir}/gcc/*/*/adainclude
1112 %dir %{_libdir}/gcc/*/*/adalib
1113 %{_libdir}/gcc/*/*/adalib/*.ali
1115 %{_libdir}/gcc/*/*/adalib/libgmem.a
1120 %defattr(644,root,root,755)
1121 %attr(755,root,root) %{_libdir}/libgnarl*.so
1122 %attr(755,root,root) %{_libdir}/libgnat*.so
1124 %files -n libgnat-static
1125 %defattr(644,root,root,755)
1126 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1127 %{_libdir}/gcc/*/*/adalib/libgnat.a
1131 %defattr(644,root,root,755)
1132 %attr(755,root,root) /lib/cpp
1133 %attr(755,root,root) %{_bindir}/cpp
1134 %{_mandir}/man1/cpp.1*
1135 %lang(ja) %{_mandir}/ja/man1/cpp.1*