3 %bcond_without ada # build without ADA support
4 %bcond_without java # build without Java support
5 %bcond_without objc # build without objc support
6 %bcond_with bootstrap # don't BR gcc(ada) (temporary for Ac upgrade bootstrap)
9 %define GCC_VERSION 3.4
10 %define KSI_VERSION 1.1.0.1567
12 Summary: GNU Compiler Collection: the C compiler and shared files
13 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
14 Summary(pl): Kolekcja Kompilatorów GNU: kompilator C i pliki wspó³dzielone
15 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
17 Version: %{GCC_VERSION}
21 Group: Development/Languages
22 #Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
23 Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/%{version}-%{snap}/%{name}-%{version}-%{snap}.tar.bz2
24 # Source0-md5: 0b1300f6849043822673bce235760d1b
25 Source1: ftp://ftp.pld-linux.org/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
26 # Source1-md5: 66f07491b44f06928fd95b0e65bb8cd3
27 Source2: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
28 # Source2-md5: 4736f3422ddfb808423b745629acc321
29 Patch0: %{name}-info.patch
30 Patch1: %{name}-nolocalefiles.patch
31 Patch2: %{name}-ada-link-new-libgnat.patch
32 BuildRequires: autoconf
33 BuildRequires: automake
34 BuildRequires: binutils >= 2.14
36 BuildRequires: fileutils >= 4.0.41
37 %{?with_ada:%{!?with_bootstrap:BuildRequires: gcc(ada)}}
38 %{?with_ada:BuildRequires: gcc-ada}
39 BuildRequires: gettext-devel
40 BuildRequires: glibc-devel >= 2.2.5-20
41 BuildRequires: perl-devel
42 BuildRequires: texinfo >= 4.1
43 BuildRequires: zlib-devel
44 Requires: binutils >= 2.14
45 Requires: cpp = %{epoch}:%{version}-%{release}
46 Requires: libgcc = %{epoch}:%{version}-%{release}
47 %{?with_ada:Provides: gcc(ada)}
48 Conflicts: glibc-devel < 2.2.5-20
49 URL: http://gcc.gnu.org/
50 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 %define _slibdir /%{_lib}
54 %define _slibdir64 /lib64
55 %define _libdir /usr/lib
56 %define rpmcflags -O2 -mtune=ultrasparc
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
367 Obsoletes: libgcj3-devel
369 %description -n libgcj-devel
370 Development files for Java Class Libraries.
372 %description -n libgcj-devel -l es
373 Ficheros de desarrollo para las bibliotecas de clases de Java.
375 %description -n libgcj-devel -l pl
376 Pliki nag³ówkowe dla Bibliotek Klas Javy.
378 %package -n libgcj-static
379 Summary: Static Java Class Libraries
380 Summary(es): Bibliotecas estáticas de clases de Java
381 Summary(pl): Statyczne Biblioteki Klas Javy
382 Group: Development/Libraries
383 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
384 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
386 %description -n libgcj-static
387 Static Java Class Libraries.
389 %description -n libgcj-static -l es
390 Bibliotecas estáticas de clases de Java.
392 %description -n libgcj-static -l pl
393 Statyczne Biblioteki Klas Javy.
395 %package -n libstdc++
396 Summary: GNU c++ library
397 Summary(es): Biblioteca C++ de GNU
398 Summary(pl): Biblioteki GNU C++
399 Summary(pt_BR): Biblioteca C++ GNU
402 Obsoletes: libstdc++3
404 %description -n libstdc++
405 This is the GNU implementation of the standard C++ libraries, along
406 with additional GNU tools. This package includes the shared libraries
407 necessary to run C++ applications.
409 %description -n libstdc++ -l de
410 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
411 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
412 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
414 %description -n libstdc++ -l es
415 Este es el soporte de las bibliotecas padrón del C++, junto con
416 herramientas GNU adicionales. El paquete incluye las bibliotecas
417 compartidas necesarias para ejecutar aplicaciones C++.
419 %description -n libstdc++ -l fr
420 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
421 des outils GNU supplémentaires. Ce package comprend les librairies
422 partagées nécessaires à l'exécution d'application C++.
424 %description -n libstdc++ -l pl
425 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
426 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
427 uruchomienia aplikacji napisanych w C++.
429 %description -n libstdc++ -l pt_BR
430 Este pacote é uma implementação da biblioteca padrão C++ v3, um
431 subconjunto do padrão ISO 14882.
433 %description -n libstdc++ -l tr
434 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
435 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
437 %package -n libstdc++-devel
438 Summary: Header files and documentation for C++ development
439 Summary(de): Header-Dateien zur Entwicklung mit C++
440 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
441 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
442 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
443 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
444 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
445 Group: Development/Libraries
446 Requires: libstdc++ = %{epoch}:%{version}-%{release}
447 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
448 Obsoletes: libg++-devel
449 Obsoletes: libstdc++3-devel
451 %description -n libstdc++-devel
452 This is the GNU implementation of the standard C++ libraries. This
453 package includes the header files needed for C++ development and
454 library documentation.
456 %description -n libstdc++-devel -l es
457 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
458 paquete incluye los archivos de inclusión y bibliotecas necesarios
459 para desarrollo de programas en lenguaje C++.
461 %description -n libstdc++-devel -l pl
462 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
463 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
464 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
466 %description -n libstdc++-devel -l pt_BR
467 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
468 para desenvolvimento de programas C++.
470 %package -n libstdc++-static
471 Summary: Static C++ standard library
472 Summary(es): Biblioteca estándar estática de C++
473 Summary(pl): Statyczna biblioteka standardowa C++
474 Group: Development/Libraries
475 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
477 %description -n libstdc++-static
478 Static C++ standard library.
480 %description -n libstdc++-static -l es
481 Biblioteca estándar estática de C++.
483 %description -n libstdc++-static -l pl
484 Statycza biblioteka standardowa C++.
487 Summary: Foreign Function Interface library
488 Summary(es): Biblioteca de interfaz de funciones ajenas
489 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
492 %description -n libffi
493 The libffi library provides a portable, high level programming
494 interface to various calling conventions. This allows a programmer to
495 call any function specified by a call interface description at run
498 %description -n libffi -l es
499 La biblioteca libffi provee una interfaz portable de programación de
500 alto nivel para varias convenciones de llamada. Ello permite que un
501 programador llame una función cualquiera especificada por una
502 descripción de interfaz de llamada en el tiempo de ejecución.
504 %description -n libffi -l pl
505 Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego
506 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
507 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
510 %package -n libffi-devel
511 Summary: Development files for Foreign Function Interface library
512 Summary(es): Ficheros de desarrollo para libffi
513 Summary(pl): Pliki nag³ówkowe dla libffi
514 Group: Development/Libraries
515 Requires: libffi = %{epoch}:%{version}-%{release}
517 %description -n libffi-devel
518 Development files for Foreign Function Interface library.
520 %description -n libffi-devel -l es
521 Ficheros de desarrollo para libffi.
523 %description -n libffi-devel -l pl
524 Pliki nag³ówkowe dla libffi.
526 %package -n libffi-static
527 Summary: Static Foreign Function Interface library
528 Summary(es): Biblioteca libffi estática
529 Summary(pl): Statyczna biblioteka libffi
530 Group: Development/Libraries
531 Requires: libffi-devel = %{epoch}:%{version}-%{release}
533 %description -n libffi-static
534 Static Foreign Function Interface library.
536 %description -n libffi-static -l es
537 Biblioteca libffi estática.
539 %description -n libffi-static -l pl
540 Statyczna biblioteka libffi.
543 Summary: Ada support for gcc
544 Summary(es): Soporte de Ada para gcc
545 Summary(pl): Obs³uga Ady do gcc
546 Group: Development/Languages
547 Requires: libgnat = %{epoch}:%{version}-%{release}
548 Requires: gcc = %{epoch}:%{version}-%{release}
550 Obsoletes: gnat-devel
553 This package adds experimental support for compiling Ada programs.
555 %description ada -l es
556 Este paquete añade soporte experimental para compilar programas en
559 %description ada -l pl
560 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
564 Summary: Ada standard libraries
565 Summary(es): Bibliotecas estándares de Ada
566 Summary(pl): Biblioteki standardowe dla Ady
571 %description -n libgnat
572 This package contains shared libraries needed to run programs written
575 %description -n libgnat -l es
576 Este paquete contiene las bibliotecas compartidas necesarias para
577 ejecutar programas escritos en Ada.
579 %description -n libgnat -l pl
580 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
583 %package -n libgnat-static
584 Summary: Static Ada standard libraries
585 Summary(pl): Statyczne biblioteki standardowe dla Ady
587 Obsoletes: gnat-static
589 %description -n libgnat-static
590 This package contains static libraries for programs written in Ada.
592 %description -n libgnat-static -l pl
593 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
597 Summary: Ksi support for gcc
598 Summary(es): Soporte de Ksi para gcc
599 Summary(pl): Obs³uga Ksi dla gcc
600 Version: %{GCC_VERSION}.%{KSI_VERSION}
601 Group: Development/Languages
602 Requires: gcc = %{epoch}:%{version}-%{release}
605 This package adds experimental support for compiling Ksi programs into
606 native code. You proabably don't need it, unless your are going to
607 develop a compiler using Ksi as intermediate representation or you are
608 using such compiler (like Gont).
610 %description ksi -l es
611 Este paquete añade soporte experimental para compilar programas de Ksi
612 en código nativo. Probablemento no lo necesitará, a menos que vaya a
613 desarrollar un compilador que use Ksi como representación intermedia o
614 use tal compilador (como Gont).
616 %description ksi -l pl
617 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
618 Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba ¿e
619 zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
620 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
623 Summary: The C Pre Processor
624 Summary(es): El preprocesador de C
625 Summary(pl): Preprocesor C
626 Summary(pt_BR): Preprocessador para a linguagem C
627 Group: Development/Languages
628 Version: %{GCC_VERSION}
633 The C preprocessor is a "macro processor" that is used automatically
634 by the C compiler to transform your program before actual compilation.
635 It is called a macro processor because it allows you to define
636 "macros", which are brief abbreviations for longer constructs.
638 The C preprocessor provides four separate facilities that you can use
641 - Inclusion of header files. These are files of declarations that can
642 be substituted into your program.
643 - Macro expansion. You can define "macros", which are abbreviations
644 for arbitrary fragments of C code, and then the C preprocessor will
645 replace the macros with their definitions throughout the program.
646 - Conditional compilation. Using special preprocessing directives, you
647 can include or exclude parts of the program according to various
649 - Line control. If you use a program to combine or rearrange source
650 files into an intermediate file which is then compiled, you can use
651 line control to inform the compiler of where each source line
652 originally came from.
654 %description -n cpp -l es
655 El preprocesador de C es un "procesador de macros" que es usado
656 automáticamente por el compilador C para transformar su programa antes
657 de que éste se actualmente compile. Se llama procesador de macros
658 porque permite definir "macros", los que son abreviaciones concisas
659 para construcciones más largas.
661 El preprocesador C provee cuatro cualidadedes distintas que puede usar
664 - Inclusión de ficheros de cabecera. Éstos son ficheros de
665 declaraciones que pueden incorporarse a su programa.
666 - Expansión de macros. Puede definir "macros", los que son
667 abreviaciones para fragmentos arbitrarios de código C, y a lo largo
668 del programa el preprocesador sustituirá los macros con sus
670 - Compilación condicional. Usando especiales directivas del preproceso
671 puede incluir o excluir partes del programa según varias condiciones.
672 - Control de líneas. Si usa un programa para combinar o reorganizar el
673 código fuente en un fichero intermedio que luego es compilado, puede
674 usar control de líneas para informar el compilador de dónde origina
677 %description -n cpp -l pl
678 Przeprocesor C jest "makro procesorem" który jest automatycznie
679 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
680 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
681 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
682 d³ugich konstrukcji w jêzyku C.
684 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
686 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
687 deklaracji polecenia do³±czenia innego pliku.
688 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
689 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
690 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
691 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
692 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
693 fragmenty obrabianego strumienia tekstów.
694 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
695 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
696 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
697 odpowiada fragment pliku wynikowego.
699 %description -n cpp -l pt_BR
700 O preprocessador C é um "processador de macros", que é utilizado pelo
701 compilador C para fazer algumas modificações no seu programa, antes da
702 compilação em si. Ele é chamado de "processador de macros" porque
703 permite a você definir "macros", que são abreviações para construções
706 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
707 arquivos de cabeçalho; expansão de macros; compilação condicional; e
708 controle da numeração das linhas do programa.
711 %setup -q -a1 -n %{name}-%{version}-%{snap}
712 mv ksi-%{KSI_VERSION} gcc/ksi
718 # because we distribute modified version of gcc...
719 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
720 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
723 # cd gcc && autoconf; cd ..
724 # autoconf is not needed!
725 cp /usr/share/automake/config.sub .
727 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
729 CFLAGS="%{rpmcflags}" \
730 CXXFLAGS="%{rpmcflags}" \
731 TEXCONFIG=false ../configure \
732 --prefix=%{_prefix} \
733 --libdir=%{_libdir} \
734 --libexecdir=%{_libexecdir} \
735 --infodir=%{_infodir} \
736 --mandir=%{_mandir} \
738 --enable-threads=posix \
739 --enable-__cxa_atexit \
740 --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
752 --with-slibdir=%{_slibdir} \
756 PATH=$PATH:/sbin:%{_sbindir}
759 %{__make} -C obj-%{_target_platform} profiledbootstrap \
760 BOOT_CFLAGS="%{rpmcflags}" \
761 STAGE1_CFLAGS="%{rpmcflags}" \
762 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
767 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
768 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
774 rm -rf $RPM_BUILD_ROOT
775 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
777 cd obj-%{_target_platform}
778 PATH=$PATH:/sbin:%{_sbindir}
782 infodir=%{_infodir} \
783 DESTDIR=$RPM_BUILD_ROOT
786 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
787 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
790 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
791 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
793 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
794 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
797 # move ada shared libraries to proper place...
798 mv $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
799 $RPM_BUILD_ROOT%{_libdir}/
800 # check if symlink to be made is valid
801 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so.1
802 ln -sf libgnat-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so
803 ln -sf libgnarl-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.15.so
804 ln -sf libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
805 ln -sf libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
808 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
814 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
815 cp -f fastjar/README java-doc/README.fastjar
816 cp -f libffi/README java-doc/README.libffi
817 cp -f libffi/LICENSE java-doc/LICENSE.libffi
821 cp -f libobjc/README gcc/objc/README.libobjc
824 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
825 for f in libstdc++.la libsupc++.la %{?with_java:libgcj.la} ; do
826 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
828 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
829 for f in libstdc++.la libsupc++.la libg2c.la \
830 %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
831 %{?with_objc:libobjc.la}; do
832 perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
835 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
836 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
838 # include/ contains install-tools/include/* and headers that were fixed up
839 # by fixincludes, we don't want former
840 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
842 # we have to save these however
843 mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,gcj}} $gccdir/tmp
844 rm -rf $gccdir/include
845 mv -f $gccdir/tmp $gccdir/include
846 cp $gccdir/install-tools/include/*.h $gccdir/include
847 # but we don't want anything more from install-tools
848 rm -rf $gccdir/install-tools
851 %find_lang libstdc\+\+
854 rm -rf $RPM_BUILD_ROOT
857 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
860 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
863 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
866 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
869 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
872 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
875 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
878 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
881 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
884 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
886 %post -p /sbin/ldconfig -n libgcc
887 %postun -p /sbin/ldconfig -n libgcc
888 %post -p /sbin/ldconfig -n libstdc++
889 %postun -p /sbin/ldconfig -n libstdc++
890 %post -p /sbin/ldconfig -n libobjc
891 %postun -p /sbin/ldconfig -n libobjc
892 %post -p /sbin/ldconfig -n libg2c
893 %postun -p /sbin/ldconfig -n libg2c
894 %post -p /sbin/ldconfig -n libgcj
895 %postun -p /sbin/ldconfig -n libgcj
896 %post -p /sbin/ldconfig -n libgnat
897 %postun -p /sbin/ldconfig -n libgnat
898 %post -p /sbin/ldconfig -n libffi
899 %postun -p /sbin/ldconfig -n libffi
901 %files -f %{name}.lang
902 %defattr(644,root,root,755)
903 %doc READ* ChangeLog BUGS FAQ LAST_UPDATED MAINTAINERS gcc/README.Portability
905 %dir %{_libdir}/gcc/*
906 %dir %{_libdir}/gcc/*/*
907 %dir %{_libdir}/gcc/*/*/include
908 %attr(755,root,root) %{_bindir}/*-gcc*
909 %attr(755,root,root) %{_bindir}/gcc
910 %attr(755,root,root) %{_bindir}/gccbug
911 %attr(755,root,root) %{_bindir}/gcov
912 %attr(755,root,root) %{_bindir}/cc
914 %{_mandir}/man1/gcc.1*
915 %{_mandir}/man1/cc.1*
916 %{_mandir}/man1/gcov.1*
917 %lang(fr) %{_mandir}/fr/man1/gcc.1*
918 %lang(ja) %{_mandir}/ja/man1/gcc.1*
921 %attr(755,root,root) %{_slibdir}*/lib*.so
922 %{_libdir}/gcc/*/*/libgcov.a
923 %{_libdir}/gcc/*/*/libgcc.a
924 %{_libdir}/gcc/*/*/libgcc_eh.a
925 %{_libdir}/gcc/*/*/specs
926 %attr(644,root,root) %{_libdir}*/gcc/*/*/crt*.o
928 %{_libdir}/gcc/*/*/*/libgcc.a
929 %{_libdir}/gcc/*/*/*/libgcc_eh.a
930 %attr(644,root,root) %{_libdir}*/gcc/*/*/*/crt*.o
933 %attr(644,root,root) %{_libdir}/gcc/*/*/ecrt*.o
934 %attr(644,root,root) %{_libdir}/gcc/*/*/ncrt*.o
935 %{_libdir}/gcc/*/*/nof
938 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
939 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
941 %{_libdir}/gcc/*/*/include/*.h
942 %exclude %{_libdir}/gcc/*/*/include/g2c.h
945 %defattr(644,root,root,755)
946 %attr(755,root,root) %{_slibdir}*/lib*.so.*
949 %defattr(644,root,root,755)
950 %attr(755,root,root) %{_bindir}/g++
951 %attr(755,root,root) %{_bindir}/*-g++
952 %attr(755,root,root) %{_bindir}/c++
953 %attr(755,root,root) %{_bindir}/*-c++
954 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
955 %{_libdir}*/libsupc++.la
957 %{_libdir}/nof/libsupc++.la
958 %{_libdir}/nof/libsupc++.a
960 %{_libdir}*/libsupc++.a
961 %{_mandir}/man1/g++.1*
962 %lang(ja) %{_mandir}/ja/man1/g++.1*
964 %files -n libstdc++ -f libstdc++.lang
965 %defattr(644,root,root,755)
966 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
968 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
971 %files -n libstdc++-devel
972 %defattr(644,root,root,755)
973 %doc libstdc++-v3/docs/html
974 %dir %{_includedir}/c++
975 %{_includedir}/c++/%{version}.0
976 %exclude %{_includedir}/c++/%{version}.0/*/bits/stdc++.h.gch
977 %attr(755,root,root) %{_libdir}*/libstdc++.so
978 %{_libdir}*/libstdc++.la
980 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
981 %{_libdir}/nof/libstdc++.la
984 %files -n libstdc++-static
985 %defattr(644,root,root,755)
986 %{_libdir}*/libstdc++.a
988 %{_libdir}/nof/libstdc++.a
993 %defattr(644,root,root,755)
995 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
996 %attr(755,root,root) %{_libdir}*/libobjc.so
997 %{_libdir}*/libobjc.la
999 %attr(755,root,root) %{_libdir}/nof/libobjc.so
1000 %{_libdir}/nof/libobjc.la
1002 %{_libdir}/gcc/*/*/include/objc
1005 %defattr(644,root,root,755)
1006 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
1008 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
1011 %files -n libobjc-static
1012 %defattr(644,root,root,755)
1013 %{_libdir}*/libobjc.a
1015 %{_libdir}/nof/libobjc.a
1020 %defattr(644,root,root,755)
1021 %attr(755,root,root) %{_bindir}/g77
1022 %attr(755,root,root) %{_bindir}/f77
1024 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
1025 %{_libdir}*/libfrtbegin.a
1026 %{_libdir}*/libg2c.la
1027 %attr(755,root,root) %{_libdir}*/libg2c.so
1029 %{_libdir}/nof/libfrtbegin.a
1030 %{_libdir}/nof/libg2c.la
1031 %attr(755,root,root) %{_libdir}/nof/libg2c.so
1033 %{_libdir}/gcc/*/*/include/g2c.h
1034 %{_mandir}/man1/g77.1*
1035 %{_mandir}/man1/f77.1*
1036 %lang(ja) %{_mandir}/ja/man1/g77.1*
1037 %lang(ja) %{_mandir}/ja/man1/f77.1*
1040 %defattr(644,root,root,755)
1041 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
1043 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
1046 %files -n libg2c-static
1047 %defattr(644,root,root,755)
1048 %{_libdir}*/libg2c.a
1050 %{_libdir}/nof/libg2c.a
1055 %defattr(644,root,root,755)
1057 %attr(755,root,root) %{_bindir}/gcj*
1058 %attr(755,root,root) %{_bindir}/gij
1059 %attr(755,root,root) %{_bindir}/jcf-dump
1060 %attr(755,root,root) %{_bindir}/jv-*
1061 %attr(755,root,root) %{_bindir}/grepjar
1062 %attr(755,root,root) %{_bindir}/*-gcj
1063 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1064 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1066 %{_mandir}/man1/jcf-*
1067 %{_mandir}/man1/jv-*
1068 %{_mandir}/man1/gij*
1069 %{_mandir}/man1/gcj*
1070 %{_mandir}/man1/grepjar*
1073 %defattr(644,root,root,755)
1074 %attr(755,root,root) %{_bindir}/rmi*
1075 %attr(755,root,root) %{_bindir}/jar
1076 %{_mandir}/man1/rmi*
1077 %{_mandir}/man1/jar*
1078 %{_infodir}/fastjar*
1081 %defattr(644,root,root,755)
1082 %attr(755,root,root) %{_bindir}/addr2name.awk
1083 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1084 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1086 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1089 %files -n libgcj-devel
1090 %defattr(644,root,root,755)
1092 %{_includedir}/javax
1093 #%%{_includedir}/org
1096 %{_includedir}/gnu/*
1097 %{_libdir}/gcc/*/*/include/gcj
1098 %dir %{_libdir}/security
1099 %{_libdir}/security/*
1100 %dir %{_datadir}/java
1101 %{_datadir}/java/libgcj*.jar
1102 %{_libdir}/lib*cj.spec
1103 %{_libdir}/lib*cj*.la
1104 %attr(755,root,root) %{_libdir}/lib*cj*.so
1105 %attr(755,root,root) %{_libdir}/lib-org-*.so
1106 %{_libdir}/lib-org-*.la
1108 %{_libdir}/nof/lib*cj*.la
1109 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1112 %files -n libgcj-static
1113 %defattr(644,root,root,755)
1114 %{_libdir}/lib*cj*.a
1115 %{_libdir}/lib-org-*.a
1117 %{_libdir}/nof/lib*cj*.a
1121 %defattr(644,root,root,755)
1122 %attr(755,root,root) %{_libdir}/libffi-*.so
1124 %files -n libffi-devel
1125 %defattr(644,root,root,755)
1126 %attr(755,root,root) %{_libdir}/libffi.so
1127 %{_libdir}/libffi.la
1130 %files -n libffi-static
1131 %defattr(644,root,root,755)
1137 %defattr(644,root,root,755)
1138 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1139 %{_libdir}/gcc/*/*/adainclude
1140 %dir %{_libdir}/gcc/*/*/adalib
1141 %{_libdir}/gcc/*/*/adalib/*.ali
1143 %{_libdir}/gcc/*/*/adalib/libgmem.a
1145 %{_libdir}/gcc/*/*/adalib/Makefile.adalib
1146 %attr(755,root,root) %{_bindir}/gnat*
1148 %attr(755,root,root) %{_libdir}/libgnat*.so
1149 %attr(755,root,root) %{_libdir}/libgnarl*.so
1152 %defattr(644,root,root,755)
1153 %attr(755,root,root) %{_libdir}/libgna*.so.1
1155 %files -n libgnat-static
1156 %defattr(644,root,root,755)
1157 %{_libdir}/gcc/*/*/adalib/libgna*.a
1162 %defattr(644,root,root,755)
1163 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
1165 %attr(755,root,root) %{_libdir}/gcc/*/*/ksi1
1169 %defattr(644,root,root,755)
1170 %attr(755,root,root) /lib/cpp
1171 %attr(755,root,root) %{_bindir}/cpp
1172 %{_mandir}/man1/cpp.1*
1173 %lang(ja) %{_mandir}/ja/man1/cpp.1*