3 # - http://gcc.gnu.org/PR11203
4 # - http://gcc.gnu.org/PR14776
5 # - http://gcc.gnu.org/PR18648
8 %bcond_without ada # build without ADA support
9 %bcond_without java # build without Java support
10 %bcond_without objc # build without ObjC support
11 %bcond_with ssp # build with stack-smashing protector support
13 Summary: GNU Compiler Collection: the C compiler and shared files
14 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
15 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
16 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
22 Group: Development/Languages
23 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
24 # Source0-md5: e744b30c834360fccac41eb7269a3011
25 Source1: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
26 # Source1-md5: 4736f3422ddfb808423b745629acc321
27 Source2: http://www.trl.ibm.com/projects/security/ssp/gcc2_95_3/gcc_stack_protect.m4.gz
28 # Source2-md5: 07d93ad5fc07ca44cdaba46c658820de
29 Source3: gcc_visibility.m4
30 Patch0: %{name}-info.patch
31 Patch1: %{name}-nolocalefiles.patch
32 Patch2: %{name}-ada-link-new-libgnat.patch
33 Patch3: %{name}-nodebug.patch
34 Patch4: %{name}-ssp.patch
35 Patch5: %{name}-ada-link.patch
36 Patch6: %{name}-pr15666.patch
37 Patch7: %{name}-pr16276.patch
38 Patch8: %{name}-ada-bootstrap.patch
40 # -fvisibility={default|internal|hidden|protected}
42 # Set the default ELF image symbol visibility to the specified option.
43 # All symbols will be marked with this unless overrided within the code.
44 # Using this feature can very substantially improve linking and load times
45 # of shared object libraries, produce more optimised code, provide near-perfect
46 # API export and prevent symbol clashes. It is strongly recommended that you
47 # use this in any shared objects you distribute.
49 # -fvisibility-inlines-hidden
51 # Causes all inlined methods to be marked with __attribute__((visibility("hidden")))
52 # so that they do not appear in the export table of a DSO and do not require a PLT
53 # indirection when used within the DSO. Enabling this option can have a dramatic
54 # effect on load and link times of a DSO as it massively reduces the size
55 # of the dynamic export table when the library makes heavy use of templates.
56 # While it can cause bloating through duplication of code within each DSO
57 # where it is used, often the wastage is less than the considerable space
58 # occupied by a long symbol name in the export table which is typical when using
59 # templates and namespaces.
61 # How to Write Shared Libraries: http://people.redhat.com/drepper/dsohowto.pdf
63 Patch9: %{name}-visibility.patch
65 URL: http://gcc.gnu.org/
66 BuildRequires: autoconf
67 BuildRequires: automake
68 BuildRequires: binutils >= 2:2.15.91.0.2
70 BuildRequires: fileutils >= 4.0.41
73 BuildRequires: gcc(ada)
74 BuildRequires: gcc-ada
76 BuildRequires: gettext-devel
77 BuildRequires: glibc-devel >= 2.2.5-20
78 BuildRequires: perl-devel
79 BuildRequires: texinfo >= 4.1
80 BuildRequires: zlib-devel
81 Requires: binutils >= 2:2.15.91.0.2
82 Requires: gcc-dirs >= 1.0-3
83 Requires: libgcc = %{epoch}:%{version}-%{release}
84 Provides: cpp = %{epoch}:%{version}-%{release}
85 %{?with_ada:Provides: gcc(ada)}
86 %{?with_ssp:Provides: gcc(ssp)}
87 # ksi for gcc > 3.3.x not ready yet
93 Conflicts: glibc-devel < 2.2.5-20
94 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
96 %define _slibdir /%{_lib}
98 %define _slibdir64 /lib64
99 %define _libdir /usr/lib
100 %define rpmcflags -O2 -mtune=ultrasparc
104 A compiler aimed at integrating all the optimizations and features
105 necessary for a high-performance and stable development environment.
107 This package contains the C compiler and some files shared by various
108 parts of the GNU Compiler Collection. In order to use another GCC
109 compiler you will need to install the appropriate subpackage.
112 Un compilador destinado a la integración de todas las optimalizaciones
113 y características necesarias para un entorno de desarrollo eficaz y
116 Este paquete contiene el compilador de C y unos ficheros compartidos
117 por varias parted de la colección de compiladores GNU (GCC). Para usar
118 otro compilador de GCC será necesario que instale el subpaquete
122 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
123 wyprodukowania szybkiego i stabilnego kodu wynikowego.
125 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
126 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
127 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
129 %description -l pt_BR
130 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
131 GNU Compiler Collection.
134 Summary: Shared gcc library
135 Summary(es): Biblioteca compartida de gcc
136 Summary(pl): Biblioteka gcc
137 Summary(pt_BR): Biblioteca runtime para o GCC
141 %description -n libgcc
144 %description -n libgcc -l es
145 Biblioteca compartida de gcc.
147 %description -n libgcc -l pl
148 Biblioteka dynamiczna gcc.
150 %description -n libgcc -l pt_BR
151 Biblioteca runtime para o GCC.
154 Summary: C++ support for gcc
155 Summary(es): Soporte de C++ para gcc
156 Summary(pl): Obs³uga C++ dla gcc
157 Summary(pt_BR): Suporte C++ para o gcc
158 Group: Development/Languages
159 Requires: %{name} = %{epoch}:%{version}-%{release}
164 This package adds C++ support to the GNU Compiler Collection. It
165 includes support for most of the current C++ specification, including
166 templates and exception handling. It does not include a standard C++
167 library, which is available separately.
169 %description c++ -l de
170 Dieses Paket enthält die C++-Unterstützung für den
171 GNU-Compiler-Collection. Es unterstützt die aktuelle
172 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
173 C++-Standard-Library ist nicht enthalten - sie ist getrennt
176 %description c++ -l es
177 Este paquete añade soporte de C++ al GCC (colección de compiladores
178 GNU). Ello incluye el soporte para la mayoría de la especificación
179 actual de C++, incluyendo plantillas y manejo de excepciones. No
180 incluye la biblioteca estándar de C++, la que es disponible separada.
182 %description c++ -l fr
183 Ce package ajoute un support C++ a la collection de compilateurs GNU.
184 Il comprend un support pour la plupart des spécifications actuelles de
185 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
186 une bibliothéque C++ standard, qui est disponible séparément.
188 %description c++ -l pl
189 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
190 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
191 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
193 %description c++ -l pt_BR
194 Este pacote adiciona suporte C++ para o gcc.
196 %description c++ -l tr
197 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
198 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
199 C++ kitaplýðý bu pakette yer almaz.
202 Summary: Objective C support for gcc
203 Summary(de): Objektive C-Unterstützung für gcc
204 Summary(es): Soporte de Objective C para gcc
205 Summary(fr): Gestion d'Objective C pour gcc
206 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
207 Summary(tr): gcc için Objective C desteði
208 Group: Development/Languages
209 Requires: %{name} = %{epoch}:%{version}-%{release}
210 Requires: libobjc = %{epoch}:%{version}-%{release}
215 This package adds Objective C support to the GNU Compiler Collection.
216 Objective C is a object oriented derivative of the C language, mainly
217 used on systems running NeXTSTEP. This package does not include the
218 standard objective C object library.
220 %description objc -l de
221 Dieses Paket ergänzt den GNU-Compiler-Collection durch
222 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
223 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
224 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
226 %description objc -l es
227 Este paquete añade soporte de Objective C al GCC (colección de
228 compiladores GNU). Objective C es un lenguaje orientado a objetos
229 derivado de C, principalmente usado en sistemas que funcionan bajo
230 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
233 %description objc -l fr
234 Ce package ajoute un support Objective C a la collection de
235 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
236 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
237 package n'inclue pas la bibliothéque Objective C standard.
239 %description objc -l pl
240 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
241 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
242 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
243 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
245 %description objc -l tr
246 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
247 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
248 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
249 kitaplýðý bu pakette yer almaz.
252 Summary: Objective C Libraries
253 Summary(es): Bibliotecas de Objective C
254 Summary(pl): Biblioteki Obiektowego C
258 %description -n libobjc
259 Objective C Libraries.
261 %description -n libobjc -l es
262 Bibliotecas de Objective C.
264 %description -n libobjc -l pl
265 Biblioteki Obiektowego C.
267 %package -n libobjc-static
268 Summary: Static Objective C Libraries
269 Summary(es): Bibliotecas estáticas de Objective C
270 Summary(pl): Statyczne Biblioteki Obiektowego C
271 Group: Development/Libraries
272 Requires: libobjc = %{epoch}:%{version}-%{release}
274 %description -n libobjc-static
275 Static Objective C Libraries.
277 %description -n libobjc-static -l es
278 Bibliotecas estáticas de Objective C.
280 %description -n libobjc-static -l pl
281 Statyczne biblioteki Obiektowego C.
284 Summary: Fortran 77 support for gcc
285 Summary(es): Soporte de Fortran 77 para gcc
286 Summary(pl): Obs³uga Fortranu 77 dla gcc
287 Summary(pt_BR): Suporte Fortran 77 para o GCC
288 Group: Development/Languages/Fortran
289 Requires: libg2c = %{epoch}:%{version}-%{release}
293 This package adds support for compiling Fortran 77 programs with the
296 %description g77 -l es
297 Este paquete añade soporte para compilar programas escritos en Fortran
298 77 con el compilador GNU.
300 %description g77 -l pl
301 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
302 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
304 %description g77 -l pt_BR
305 Suporte Fortran 77 para o GCC.
308 Summary: Fortran 77 Libraries
309 Summary(es): Bibliotecas de Fortran 77
310 Summary(pl): Biblioteki Fortranu 77
313 %description -n libg2c
314 Fortran 77 Libraries.
316 %description -n libg2c -l es
317 Bibliotecas de Fortran 77.
319 %description -n libg2c -l pl
320 Biblioteki Fortranu 77.
322 %package -n libg2c-static
323 Summary: Static Fortran 77 Libraries
324 Summary(es): Bibliotecas estáticas de Fortran 77
325 Summary(pl): Statyczne Biblioteki Fortranu 77
326 Group: Development/Libraries
327 Requires: libg2c = %{epoch}:%{version}-%{release}
329 %description -n libg2c-static
330 Static Fortran 77 Libraries.
332 %description -n libg2c -l es
333 Bibliotecas estáticas de Fortran 77.
335 %description -n libg2c-static -l pl
336 Statyczne biblioteki Fortranu 77.
339 Summary: Java support for gcc
340 Summary(es): Soporte de Java para gcc
341 Summary(pl): Obs³uga Javy dla gcc
342 Group: Development/Languages/Java
343 Requires: %{name} = %{epoch}:%{version}-%{release}
344 Requires: libgcj = %{epoch}:%{version}-%{release}
345 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
346 Requires: java-shared
347 Provides: gcj = %{epoch}:%{version}-%{release}
350 This package adds experimental support for compiling Java(tm) programs
351 and bytecode into native code. To use this you will also need the
354 %description java -l es
355 Este paquete añade soporte experimental para compilar programas
356 Java(tm) y su bytecode en código nativo. Para usarlo también va a
357 necesitar el paquete libgcj.
359 %description java -l pl
360 Wsparcie dla kompilowania programów Java(tm) zarówno do bajt-kodu jak i
361 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
362 by³o przeprowadziæ kompilacjê.
365 Summary: Shared java tools
366 Summary(es): Herramientas compartidas de Java
367 Summary(pl): Wspó³dzielone narzêdzia javy
368 Group: Development/Languages/Java
369 Provides: jar = %{epoch}:%{version}-%{release}
370 Provides: java-shared
373 Obsoletes: java-shared
375 %description java-tools
376 This package contains tools that are common for every Java(tm)
377 implementation, such as rmic or jar.
379 %description java-tools -l es
380 Este paquete contiene herramientas que son comunes para cada
381 implementación de Java(tm), como rmic o jar.
383 %description java-tools -l pl
384 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
385 Javy(tm), takie jak rmic czy jar.
388 Summary: Java Class Libraries
389 Summary(es): Bibliotecas de clases de Java
390 Summary(pl): Biblioteki Klas Javy
395 %description -n libgcj
396 Java Class Libraries.
398 %description -n libgcj -l es
399 Bibliotecas de clases de Java.
401 %description -n libgcj -l pl
402 Biblioteki Klas Javy.
404 %package -n libgcj-devel
405 Summary: Development files for Java Class Libraries
406 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
407 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
408 Group: Development/Libraries
409 Requires: %{name}-java = %{epoch}:%{version}-%{release}
410 Requires: libgcj = %{epoch}:%{version}-%{release}
411 Obsoletes: libgcj3-devel
413 %description -n libgcj-devel
414 Development files for Java Class Libraries.
416 %description -n libgcj-devel -l es
417 Ficheros de desarrollo para las bibliotecas de clases de Java.
419 %description -n libgcj-devel -l pl
420 Pliki nag³ówkowe dla Bibliotek Klas Javy.
422 %package -n libgcj-static
423 Summary: Static Java Class Libraries
424 Summary(es): Bibliotecas estáticas de clases de Java
425 Summary(pl): Statyczne Biblioteki Klas Javy
426 Group: Development/Libraries
427 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
428 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
430 %description -n libgcj-static
431 Static Java Class Libraries.
433 %description -n libgcj-static -l es
434 Bibliotecas estáticas de clases de Java.
436 %description -n libgcj-static -l pl
437 Statyczne Biblioteki Klas Javy.
439 %package -n libstdc++
440 Summary: GNU c++ library
441 Summary(es): Biblioteca C++ de GNU
442 Summary(pl): Biblioteki GNU C++
443 Summary(pt_BR): Biblioteca C++ GNU
446 Obsoletes: libstdc++3
448 %description -n libstdc++
449 This is the GNU implementation of the standard C++ libraries, along
450 with additional GNU tools. This package includes the shared libraries
451 necessary to run C++ applications.
453 %description -n libstdc++ -l de
454 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
455 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
456 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
458 %description -n libstdc++ -l es
459 Este es el soporte de las bibliotecas padrón del C++, junto con
460 herramientas GNU adicionales. El paquete incluye las bibliotecas
461 compartidas necesarias para ejecutar aplicaciones C++.
463 %description -n libstdc++ -l fr
464 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
465 des outils GNU supplémentaires. Ce package comprend les librairies
466 partagées nécessaires à l'exécution d'application C++.
468 %description -n libstdc++ -l pl
469 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
470 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
471 uruchomienia aplikacji napisanych w C++.
473 %description -n libstdc++ -l pt_BR
474 Este pacote é uma implementação da biblioteca padrão C++ v3, um
475 subconjunto do padrão ISO 14882.
477 %description -n libstdc++ -l tr
478 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
479 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
481 %package -n libstdc++-devel
482 Summary: Header files and documentation for C++ development
483 Summary(de): Header-Dateien zur Entwicklung mit C++
484 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
485 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
486 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
487 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
488 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
489 Group: Development/Libraries
490 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
491 Requires: libstdc++ = %{epoch}:%{version}-%{release}
492 Obsoletes: libg++-devel
493 Obsoletes: libstdc++3-devel
495 %description -n libstdc++-devel
496 This is the GNU implementation of the standard C++ libraries. This
497 package includes the header files needed for C++ development and
498 library documentation.
500 %description -n libstdc++-devel -l es
501 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
502 paquete incluye los archivos de inclusión y bibliotecas necesarios
503 para desarrollo de programas en lenguaje C++.
505 %description -n libstdc++-devel -l pl
506 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
507 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
508 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
510 %description -n libstdc++-devel -l pt_BR
511 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
512 para desenvolvimento de programas C++.
514 %package -n libstdc++-static
515 Summary: Static C++ standard library
516 Summary(es): Biblioteca estándar estática de C++
517 Summary(pl): Statyczna biblioteka standardowa C++
518 Group: Development/Libraries
519 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
521 %description -n libstdc++-static
522 Static C++ standard library.
524 %description -n libstdc++-static -l es
525 Biblioteca estándar estática de C++.
527 %description -n libstdc++-static -l pl
528 Statyczna biblioteka standardowa C++.
531 Summary: Foreign Function Interface library
532 Summary(es): Biblioteca de interfaz de funciones ajenas
533 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
536 %description -n libffi
537 The libffi library provides a portable, high level programming
538 interface to various calling conventions. This allows a programmer to
539 call any function specified by a call interface description at run
542 %description -n libffi -l es
543 La biblioteca libffi provee una interfaz portable de programación de
544 alto nivel para varias convenciones de llamada. Ello permite que un
545 programador llame una función cualquiera especificada por una
546 descripción de interfaz de llamada en el tiempo de ejecución.
548 %description -n libffi -l pl
549 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
550 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
551 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
554 %package -n libffi-devel
555 Summary: Development files for Foreign Function Interface library
556 Summary(es): Ficheros de desarrollo para libffi
557 Summary(pl): Pliki nag³ówkowe dla libffi
558 Group: Development/Libraries
559 Requires: libffi = %{epoch}:%{version}-%{release}
561 %description -n libffi-devel
562 Development files for Foreign Function Interface library.
564 %description -n libffi-devel -l es
565 Ficheros de desarrollo para libffi.
567 %description -n libffi-devel -l pl
568 Pliki nag³ówkowe dla libffi.
570 %package -n libffi-static
571 Summary: Static Foreign Function Interface library
572 Summary(es): Biblioteca libffi estática
573 Summary(pl): Statyczna biblioteka libffi
574 Group: Development/Libraries
575 Requires: libffi-devel = %{epoch}:%{version}-%{release}
577 %description -n libffi-static
578 Static Foreign Function Interface library.
580 %description -n libffi-static -l es
581 Biblioteca libffi estática.
583 %description -n libffi-static -l pl
584 Statyczna biblioteka libffi.
587 Summary: Ada support for gcc
588 Summary(es): Soporte de Ada para gcc
589 Summary(pl): Obs³uga Ady do gcc
590 Group: Development/Languages
591 Requires: %{name} = %{epoch}:%{version}-%{release}
592 Requires: libgnat = %{epoch}:%{version}-%{release}
594 Obsoletes: gnat-devel
597 This package adds experimental support for compiling Ada programs.
599 %description ada -l es
600 Este paquete añade soporte experimental para compilar programas en
603 %description ada -l pl
604 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
608 Summary: Ada standard libraries
609 Summary(es): Bibliotecas estándares de Ada
610 Summary(pl): Biblioteki standardowe dla Ady
615 %description -n libgnat
616 This package contains shared libraries needed to run programs written
619 %description -n libgnat -l es
620 Este paquete contiene las bibliotecas compartidas necesarias para
621 ejecutar programas escritos en Ada.
623 %description -n libgnat -l pl
624 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
627 %package -n libgnat-static
628 Summary: Static Ada standard libraries
629 Summary(pl): Statyczne biblioteki standardowe dla Ady
631 Obsoletes: gnat-static
633 %description -n libgnat-static
634 This package contains static libraries for programs written in Ada.
636 %description -n libgnat-static -l pl
637 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
646 %{!?debug:%patch3 -p1}
647 %{?with_ssp:%patch4 -p1}
652 # needed for bootstrap using gcc 3.3.x on alpha
653 # and even using the same 3.4.x(!) (but not Debian's 3.3.x) on ia64
658 # because we distribute modified version of gcc...
659 perl -pi -e 's/(version.*)";/$1 %{?with_ssp:SSP }(PLD Linux)";/' gcc/version.c
660 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
662 mv ChangeLog ChangeLog.general
665 # because pr16276 patch modifies configure.ac
669 cp -f /usr/share/automake/config.sub .
671 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
673 CFLAGS="%{rpmcflags}" \
674 CXXFLAGS="%{rpmcflags}" \
675 TEXCONFIG=false ../configure \
676 --prefix=%{_prefix} \
677 --libdir=%{_libdir} \
678 --libexecdir=%{_libexecdir} \
679 --infodir=%{_infodir} \
680 --mandir=%{_mandir} \
682 --enable-threads=posix \
683 --enable-__cxa_atexit \
684 --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
696 --with-slibdir=%{_slibdir} \
700 PATH=$PATH:/sbin:%{_sbindir}
703 # - on alpha stage1 needs -O0 for 3.3->3.4 bootstrap (gnat from 3.3 is seriously broken)
704 # - on ia64 use bootstrap-lean as profiledbootstrap is broken (PR 13882, 15836, 16108)
705 %{__make} -C obj-%{_target_platform} \
711 GCJFLAGS="%{rpmcflags}" \
712 BOOT_CFLAGS="%{rpmcflags}" \
714 STAGE1_CFLAGS="%{rpmcflags} -O0" \
716 STAGE1_CFLAGS="%{rpmcflags}" \
718 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
723 # cannot build it in parallel
724 for tgt in gnatlib-shared gnattools gnatlib; do
725 %{__make} -C obj-%{_target_platform}/gcc $tgt \
726 BOOT_CFLAGS="%{rpmcflags}" \
727 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
734 rm -rf $RPM_BUILD_ROOT
735 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
737 cd obj-%{_target_platform}
738 PATH=$PATH:/sbin:%{_sbindir}
740 %{__make} -j1 install \
742 infodir=%{_infodir} \
743 DESTDIR=$RPM_BUILD_ROOT
746 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
747 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
750 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
751 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
753 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
754 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
757 # move ada shared libraries to proper place...
758 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
759 $RPM_BUILD_ROOT%{_libdir}
760 # check if symlink to be made is valid
761 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so.1
762 ln -sf libgnat-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so
763 ln -sf libgnarl-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.4.so
764 ln -sf libgnat-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
765 ln -sf libgnarl-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
768 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
774 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
775 cp -f fastjar/README java-doc/README.fastjar
776 cp -f libffi/README java-doc/README.libffi
777 cp -f libffi/LICENSE java-doc/LICENSE.libffi
781 cp -f libobjc/README gcc/objc/README.libobjc
784 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
785 for f in libstdc++.la libsupc++.la %{?with_java:libgcj.la} ; do
786 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
788 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
789 for f in libstdc++.la libsupc++.la libg2c.la \
790 %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
791 %{?with_objc:libobjc.la}; do
792 perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
795 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
796 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
798 # include/ contains install-tools/include/* and headers that were fixed up
799 # by fixincludes, we don't want former
800 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
802 # we have to save these however
803 mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,libffi/ffitarget.h,gcj}} $gccdir/tmp
804 rm -rf $gccdir/include
805 mv -f $gccdir/tmp $gccdir/include
806 cp $gccdir/install-tools/include/*.h $gccdir/include
807 # but we don't want anything more from install-tools
808 rm -rf $gccdir/install-tools
811 %find_lang libstdc\+\+
814 zcat %{SOURCE2} > $RPM_BUILD_ROOT%{_aclocaldir}/gcc_stack_protect.m4
816 install %{SOURCE3} $RPM_BUILD_ROOT%{_aclocaldir}/gcc_visibility.m4
819 rm -rf $RPM_BUILD_ROOT
822 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
825 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
828 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
831 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
834 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
837 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
839 %post -p /sbin/ldconfig -n libgcc
840 %postun -p /sbin/ldconfig -n libgcc
841 %post -p /sbin/ldconfig -n libstdc++
842 %postun -p /sbin/ldconfig -n libstdc++
843 %post -p /sbin/ldconfig -n libobjc
844 %postun -p /sbin/ldconfig -n libobjc
845 %post -p /sbin/ldconfig -n libg2c
846 %postun -p /sbin/ldconfig -n libg2c
847 %post -p /sbin/ldconfig -n libgcj
848 %postun -p /sbin/ldconfig -n libgcj
849 %post -p /sbin/ldconfig -n libgnat
850 %postun -p /sbin/ldconfig -n libgnat
851 %post -p /sbin/ldconfig -n libffi
852 %postun -p /sbin/ldconfig -n libffi
855 %defattr(644,root,root,755)
856 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
857 %doc gcc/{ChangeLog,ONEWS,README.Portability}
858 %dir %{_libdir}/gcc/*/*
859 %dir %{_libdir}/gcc/*/*/include
860 %{?with_ssp:%{_aclocaldir}/gcc_stack_protect.m4}
861 %{_aclocaldir}/gcc_visibility.m4
863 %attr(755,root,root) %{_bindir}/*-gcc*
864 %attr(755,root,root) %{_bindir}/gcc
865 %attr(755,root,root) %{_bindir}/gccbug
866 %attr(755,root,root) %{_bindir}/gcov
867 %attr(755,root,root) %{_bindir}/cc
868 %attr(755,root,root) %{_bindir}/cpp
870 %{_mandir}/man1/cc.1*
871 %{_mandir}/man1/cpp.1*
872 %lang(ja) %{_mandir}/ja/man1/cpp.1*
873 %{_mandir}/man1/gcc.1*
874 %lang(fr) %{_mandir}/fr/man1/gcc.1*
875 %lang(ja) %{_mandir}/ja/man1/gcc.1*
876 %{_mandir}/man1/gcov.1*
881 %attr(755,root,root) /lib/cpp
883 %attr(755,root,root) %{_slibdir}*/lib*.so
885 %{_slibdir}*/libunwind.a
887 %{_libdir}/gcc/*/*/libgcov.a
888 %{_libdir}/gcc/*/*/libgcc.a
889 %{_libdir}/gcc/*/*/libgcc_eh.a
890 %{_libdir}/gcc/*/*/specs
891 %attr(644,root,root) %{_libdir}*/gcc/*/*/crt*.o
893 %{_libdir}/gcc/*/*/*/libgcc.a
894 %{_libdir}/gcc/*/*/*/libgcc_eh.a
895 %attr(644,root,root) %{_libdir}*/gcc/*/*/*/crt*.o
898 %attr(644,root,root) %{_libdir}/gcc/*/*/ecrt*.o
899 %attr(644,root,root) %{_libdir}/gcc/*/*/ncrt*.o
900 %{_libdir}/gcc/*/*/nof
903 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
904 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
906 %{_libdir}/gcc/*/*/include/*.h
907 %exclude %{_libdir}/gcc/*/*/include/g2c.h
910 %defattr(644,root,root,755)
911 %attr(755,root,root) %{_slibdir}*/lib*.so.*
914 %defattr(644,root,root,755)
915 %doc gcc/cp/{ChangeLog,NEWS}
916 %attr(755,root,root) %{_bindir}/g++
917 %attr(755,root,root) %{_bindir}/*-g++
918 %attr(755,root,root) %{_bindir}/c++
919 %attr(755,root,root) %{_bindir}/*-c++
920 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
921 %{_libdir}*/libsupc++.la
923 %{_libdir}/nof/libsupc++.la
924 %{_libdir}/nof/libsupc++.a
926 %{_libdir}*/libsupc++.a
927 %{_mandir}/man1/g++.1*
928 %lang(ja) %{_mandir}/ja/man1/g++.1*
930 %files -n libstdc++ -f libstdc++.lang
931 %defattr(644,root,root,755)
932 %doc libstdc++-v3/{ChangeLog,README}
933 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
935 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
938 %files -n libstdc++-devel
939 %defattr(644,root,root,755)
940 %doc libstdc++-v3/docs/html
941 %dir %{_includedir}/c++
942 %{_includedir}/c++/%{version}
943 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
944 %attr(755,root,root) %{_libdir}*/libstdc++.so
945 %{_libdir}*/libstdc++.la
947 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
948 %{_libdir}/nof/libstdc++.la
951 %files -n libstdc++-static
952 %defattr(644,root,root,755)
953 %{_libdir}*/libstdc++.a
955 %{_libdir}/nof/libstdc++.a
960 %defattr(644,root,root,755)
962 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
963 %attr(755,root,root) %{_libdir}*/libobjc.so
964 %{_libdir}*/libobjc.la
966 %attr(755,root,root) %{_libdir}/nof/libobjc.so
967 %{_libdir}/nof/libobjc.la
969 %{_libdir}/gcc/*/*/include/objc
972 %defattr(644,root,root,755)
973 %doc libobjc/{ChangeLog,README*}
974 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
976 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
979 %files -n libobjc-static
980 %defattr(644,root,root,755)
981 %{_libdir}*/libobjc.a
983 %{_libdir}/nof/libobjc.a
988 %defattr(644,root,root,755)
989 %doc gcc/f/{BUGS,ChangeLog,NEWS}
990 %attr(755,root,root) %{_bindir}/g77
991 %attr(755,root,root) %{_bindir}/f77
993 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
994 %{_libdir}*/libfrtbegin.a
995 %{_libdir}*/libg2c.la
996 %attr(755,root,root) %{_libdir}*/libg2c.so
998 %{_libdir}/nof/libfrtbegin.a
999 %{_libdir}/nof/libg2c.la
1000 %attr(755,root,root) %{_libdir}/nof/libg2c.so
1002 %{_libdir}/gcc/*/*/include/g2c.h
1003 %{_mandir}/man1/g77.1*
1004 %{_mandir}/man1/f77.1*
1005 %lang(ja) %{_mandir}/ja/man1/g77.1*
1006 %lang(ja) %{_mandir}/ja/man1/f77.1*
1009 %defattr(644,root,root,755)
1010 %doc libf2c/{ChangeLog,README,TODO}
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)
1026 %doc gcc/java/ChangeLog java-doc/*
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 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1053 %attr(755,root,root) %{_bindir}/addr2name.awk
1054 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1055 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1057 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1059 %{_libdir}/logging.properties
1061 %files -n libgcj-devel
1062 %defattr(644,root,root,755)
1064 %{_includedir}/javax
1067 %{_includedir}/gnu/*
1068 %{_libdir}/gcc/*/*/include/gcj
1069 %dir %{_libdir}/security
1070 %{_libdir}/security/*
1071 %dir %{_datadir}/java
1072 %{_datadir}/java/libgcj*.jar
1073 %{_libdir}/lib*cj.spec
1074 %{_libdir}/lib*cj*.la
1075 %attr(755,root,root) %{_libdir}/lib*cj*.so
1076 %attr(755,root,root) %{_libdir}/lib-org-*.so
1077 %{_libdir}/lib-org-*.la
1079 %{_libdir}/nof/lib*cj*.la
1080 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1082 %{_pkgconfigdir}/libgcj.pc
1084 %files -n libgcj-static
1085 %defattr(644,root,root,755)
1086 %{_libdir}/lib*cj*.a
1087 %{_libdir}/lib-org-*.a
1089 %{_libdir}/nof/lib*cj*.a
1093 %defattr(644,root,root,755)
1094 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1095 %attr(755,root,root) %{_libdir}/libffi-*.so
1097 %files -n libffi-devel
1098 %defattr(644,root,root,755)
1099 %{_libdir}/gcc/*/*/include/ffitarget.h
1100 %attr(755,root,root) %{_libdir}/libffi.so
1101 %{_libdir}/libffi.la
1102 %{_includedir}/ffi.h
1104 %files -n libffi-static
1105 %defattr(644,root,root,755)
1111 %defattr(644,root,root,755)
1112 %doc gcc/ada/ChangeLog
1113 %attr(755,root,root) %{_bindir}/gnat*
1114 %attr(755,root,root) %{_bindir}/gpr*
1115 %attr(755,root,root) %{_libdir}/libgnarl*.so
1116 %attr(755,root,root) %{_libdir}/libgnat*.so
1117 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1118 %{_libdir}/gcc/*/*/adainclude
1119 %dir %{_libdir}/gcc/*/*/adalib
1120 %{_libdir}/gcc/*/*/adalib/*.ali
1121 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1122 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1124 %{_libdir}/gcc/*/*/adalib/libgmem.a
1130 %defattr(644,root,root,755)
1131 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1132 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1134 %files -n libgnat-static
1135 %defattr(644,root,root,755)
1136 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1137 %{_libdir}/gcc/*/*/adalib/libgnat.a