3 %bcond_without ada # build without ADA support
4 %bcond_without cxx # build without C++ support
5 %bcond_without fortran # build without Fortran support
6 %bcond_without java # build without Java support
7 %bcond_without objc # build without ObjC support
8 %bcond_with ssp # build with stack-smashing protector support
9 %bcond_with multilib # build with multilib support
11 %ifnarch amd64 ppc64 s390x sparc64
12 %undefine with_multilib
15 Summary: GNU Compiler Collection: the C compiler and shared files
16 Summary(es): Colección de compiladores GNU: el compilador C y ficheros compartidos
17 Summary(pl): Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
18 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
24 Group: Development/Languages
25 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
26 # Source0-md5: 7c3c3c3e764dcee5eb771432062d69e1
27 Source1: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
28 # Source1-md5: 4736f3422ddfb808423b745629acc321
29 Source2: http://www.trl.ibm.com/projects/security/ssp/gcc2_95_3/gcc_stack_protect.m4.gz
30 # Source2-md5: 07d93ad5fc07ca44cdaba46c658820de
31 Patch0: %{name}-info.patch
32 Patch1: %{name}-nolocalefiles.patch
33 Patch2: %{name}-ada-link-new-libgnat.patch
34 Patch3: %{name}-ada-bootstrap.patch
35 Patch4: %{name}-nodebug.patch
36 Patch5: %{name}-ssp.patch
37 Patch6: %{name}-ada-link.patch
38 Patch7: %{name}-pr13676.patch
39 URL: http://gcc.gnu.org/
40 BuildRequires: autoconf
41 BuildRequires: automake
42 BuildRequires: binutils >= 2:2.15.91.0.2
44 BuildRequires: fileutils >= 4.0.41
47 BuildRequires: gcc(ada)
48 BuildRequires: gcc-ada
50 BuildRequires: gettext-devel
51 BuildRequires: glibc-devel >= 2.2.5-20
52 BuildRequires: perl-devel
53 BuildRequires: texinfo >= 4.1
54 BuildRequires: zlib-devel
55 Requires: binutils >= 2:2.15.91.0.2
56 Requires: gcc-dirs >= 1.0-3
57 Requires: libgcc = %{epoch}:%{version}-%{release}
58 Provides: cpp = %{epoch}:%{version}-%{release}
59 %{?with_ada:Provides: gcc(ada)}
60 %{?with_ssp:Provides: gcc(ssp)}
66 Conflicts: glibc-devel < 2.2.5-20
67 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69 %define _slibdir /%{_lib}
70 %ifarch %{x8664} ppc64 s390x sparc64
71 %define _slibdir32 /lib
72 %define _libdir32 /usr/lib
75 %define rpmcflags -O2 -mtune=ultrasparc
79 A compiler aimed at integrating all the optimizations and features
80 necessary for a high-performance and stable development environment.
82 This package contains the C compiler and some files shared by various
83 parts of the GNU Compiler Collection. In order to use another GCC
84 compiler you will need to install the appropriate subpackage.
87 Un compilador que intenta integrar todas las optimalizaciones y
88 características necesarias para un entorno de desarrollo eficaz y
91 Este paquete contiene el compilador de C y unos ficheros compartidos
92 por varias partes de la colección de compiladores GNU (GCC). Para usar
93 otro compilador de GCC será necesario que instale el subpaquete
97 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
98 wyprodukowania szybkiego i stabilnego kodu wynikowego.
100 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
101 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
102 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
104 %description -l pt_BR
105 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
106 GNU Compiler Collection.
109 Summary: Shared gcc library
110 Summary(es): Biblioteca compartida de gcc
111 Summary(pl): Biblioteka gcc
112 Summary(pt_BR): Biblioteca runtime para o GCC
116 %description -n libgcc
119 %description -n libgcc -l es
120 Biblioteca compartida de gcc.
122 %description -n libgcc -l pl
123 Biblioteka dynamiczna gcc.
125 %description -n libgcc -l pt_BR
126 Biblioteca runtime para o GCC.
129 Summary: C++ support for gcc
130 Summary(es): Soporte de C++ para gcc
131 Summary(pl): Obs³uga C++ dla gcc
132 Summary(pt_BR): Suporte C++ para o gcc
133 Group: Development/Languages
134 Requires: %{name} = %{epoch}:%{version}-%{release}
139 This package adds C++ support to the GNU Compiler Collection. It
140 includes support for most of the current C++ specification, including
141 templates and exception handling. It does not include a standard C++
142 library, which is available separately.
144 %description c++ -l de
145 Dieses Paket enthält die C++-Unterstützung für den
146 GNU-Compiler-Collection. Es unterstützt die aktuelle
147 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
148 C++-Standard-Library ist nicht enthalten - sie ist getrennt
151 %description c++ -l es
152 Este paquete añade soporte de C++ al GCC (colección de compiladores
153 GNU). Ello incluye el soporte para la mayoría de la especificación
154 actual de C++, incluyendo plantillas y manejo de excepciones. No
155 incluye la biblioteca estándar de C++, la que es disponible separada.
157 %description c++ -l fr
158 Ce package ajoute un support C++ a la collection de compilateurs GNU.
159 Il comprend un support pour la plupart des spécifications actuelles de
160 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
161 une bibliothéque C++ standard, qui est disponible séparément.
163 %description c++ -l pl
164 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
165 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
166 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
168 %description c++ -l pt_BR
169 Este pacote adiciona suporte C++ para o gcc.
171 %description c++ -l tr
172 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
173 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
174 C++ kitaplýðý bu pakette yer almaz.
177 Summary: Objective C support for gcc
178 Summary(de): Objektive C-Unterstützung für gcc
179 Summary(es): Soporte de Objective C para gcc
180 Summary(fr): Gestion d'Objective C pour gcc
181 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
182 Summary(tr): gcc için Objective C desteði
183 Group: Development/Languages
184 Requires: %{name} = %{epoch}:%{version}-%{release}
185 Requires: libobjc = %{epoch}:%{version}-%{release}
190 This package adds Objective C support to the GNU Compiler Collection.
191 Objective C is a object oriented derivative of the C language, mainly
192 used on systems running NeXTSTEP. This package does not include the
193 standard objective C object library.
195 %description objc -l de
196 Dieses Paket ergänzt den GNU-Compiler-Collection durch
197 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
198 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
199 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
201 %description objc -l es
202 Este paquete añade soporte de Objective C al GCC (colección de
203 compiladores GNU). Objective C es un lenguaje orientado a objetos
204 derivado de C, principalmente usado en sistemas que funcionan bajo
205 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
208 %description objc -l fr
209 Ce package ajoute un support Objective C a la collection de
210 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
211 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
212 package n'inclue pas la bibliothéque Objective C standard.
214 %description objc -l pl
215 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
216 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
217 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
218 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
220 %description objc -l tr
221 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
222 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
223 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
224 kitaplýðý bu pakette yer almaz.
227 Summary: Objective C Libraries
228 Summary(es): Bibliotecas de Objective C
229 Summary(pl): Biblioteki Obiektowego C
233 %description -n libobjc
234 Objective C Libraries.
236 %description -n libobjc -l es
237 Bibliotecas de Objective C.
239 %description -n libobjc -l pl
240 Biblioteki Obiektowego C.
242 %package -n libobjc-static
243 Summary: Static Objective C Libraries
244 Summary(es): Bibliotecas estáticas de Objective C
245 Summary(pl): Statyczne Biblioteki Obiektowego C
246 Group: Development/Libraries
247 Requires: libobjc = %{epoch}:%{version}-%{release}
249 %description -n libobjc-static
250 Static Objective C Libraries.
252 %description -n libobjc-static -l es
253 Bibliotecas estáticas de Objective C.
255 %description -n libobjc-static -l pl
256 Statyczne biblioteki Obiektowego C.
259 Summary: Fortran 77 support for gcc
260 Summary(es): Soporte de Fortran 77 para gcc
261 Summary(pl): Obs³uga Fortranu 77 dla gcc
262 Summary(pt_BR): Suporte Fortran 77 para o GCC
263 Group: Development/Languages/Fortran
264 Requires: libg2c = %{epoch}:%{version}-%{release}
268 This package adds support for compiling Fortran 77 programs with the
271 %description g77 -l es
272 Este paquete añade soporte para compilar programas escritos en Fortran
273 77 con el compilador GNU.
275 %description g77 -l pl
276 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
277 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
279 %description g77 -l pt_BR
280 Suporte Fortran 77 para o GCC.
283 Summary: Fortran 77 Libraries
284 Summary(es): Bibliotecas de Fortran 77
285 Summary(pl): Biblioteki Fortranu 77
288 %description -n libg2c
289 Fortran 77 Libraries.
291 %description -n libg2c -l es
292 Bibliotecas de Fortran 77.
294 %description -n libg2c -l pl
295 Biblioteki Fortranu 77.
297 %package -n libg2c-static
298 Summary: Static Fortran 77 Libraries
299 Summary(es): Bibliotecas estáticas de Fortran 77
300 Summary(pl): Statyczne Biblioteki Fortranu 77
301 Group: Development/Libraries
302 Requires: libg2c = %{epoch}:%{version}-%{release}
304 %description -n libg2c-static
305 Static Fortran 77 Libraries.
307 %description -n libg2c -l es
308 Bibliotecas estáticas de Fortran 77.
310 %description -n libg2c-static -l pl
311 Statyczne biblioteki Fortranu 77.
314 Summary: Java support for gcc
315 Summary(es): Soporte de Java para gcc
316 Summary(pl): Obs³uga Javy dla gcc
317 Group: Development/Languages/Java
318 Requires: %{name} = %{epoch}:%{version}-%{release}
319 Requires: libgcj = %{epoch}:%{version}-%{release}
320 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
321 Requires: java-shared
322 Provides: gcj = %{epoch}:%{version}-%{release}
325 This package adds experimental support for compiling Java(tm) programs
326 and bytecode into native code. To use this you will also need the
329 %description java -l es
330 Este paquete añade soporte experimental para compilar programas
331 Java(tm) y su bytecode en código nativo. Para usarlo también va a
332 necesitar el paquete libgcj.
334 %description java -l pl
335 Wsparcie dla kompilowania programów Java(tm) zarówno do bajt-kodu jak i
336 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
337 by³o przeprowadziæ kompilacjê.
340 Summary: Shared java tools
341 Summary(es): Herramientas compartidas de Java
342 Summary(pl): Wspó³dzielone narzêdzia javy
343 Group: Development/Languages/Java
344 Provides: jar = %{epoch}:%{version}-%{release}
345 Provides: java-shared
348 Obsoletes: java-shared
350 %description java-tools
351 This package contains tools that are common for every Java(tm)
352 implementation, such as rmic or jar.
354 %description java-tools -l es
355 Este paquete contiene herramientas que son comunes para cada
356 implementación de Java(tm), como rmic o jar.
358 %description java-tools -l pl
359 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
360 Javy(tm), takie jak rmic czy jar.
363 Summary: Java Class Libraries
364 Summary(es): Bibliotecas de clases de Java
365 Summary(pl): Biblioteki Klas Javy
370 %description -n libgcj
371 Java Class Libraries.
373 %description -n libgcj -l es
374 Bibliotecas de clases de Java.
376 %description -n libgcj -l pl
377 Biblioteki Klas Javy.
379 %package -n libgcj-devel
380 Summary: Development files for Java Class Libraries
381 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
382 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
383 Group: Development/Libraries
384 Requires: %{name}-java = %{epoch}:%{version}-%{release}
385 Requires: libgcj = %{epoch}:%{version}-%{release}
386 Obsoletes: libgcj3-devel
388 %description -n libgcj-devel
389 Development files for Java Class Libraries.
391 %description -n libgcj-devel -l es
392 Ficheros de desarrollo para las bibliotecas de clases de Java.
394 %description -n libgcj-devel -l pl
395 Pliki nag³ówkowe dla Bibliotek Klas Javy.
397 %package -n libgcj-static
398 Summary: Static Java Class Libraries
399 Summary(es): Bibliotecas estáticas de clases de Java
400 Summary(pl): Statyczne Biblioteki Klas Javy
401 Group: Development/Libraries
402 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
403 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
405 %description -n libgcj-static
406 Static Java Class Libraries.
408 %description -n libgcj-static -l es
409 Bibliotecas estáticas de clases de Java.
411 %description -n libgcj-static -l pl
412 Statyczne Biblioteki Klas Javy.
414 %package -n libstdc++
415 Summary: GNU c++ library
416 Summary(es): Biblioteca C++ de GNU
417 Summary(pl): Biblioteki GNU C++
418 Summary(pt_BR): Biblioteca C++ GNU
421 Obsoletes: libstdc++3
423 %description -n libstdc++
424 This is the GNU implementation of the standard C++ libraries, along
425 with additional GNU tools. This package includes the shared libraries
426 necessary to run C++ applications.
428 %description -n libstdc++ -l de
429 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
430 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
431 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
433 %description -n libstdc++ -l es
434 Este es el soporte de las bibliotecas padrón del C++, junto con
435 herramientas GNU adicionales. El paquete incluye las bibliotecas
436 compartidas necesarias para ejecutar aplicaciones C++.
438 %description -n libstdc++ -l fr
439 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
440 des outils GNU supplémentaires. Ce package comprend les librairies
441 partagées nécessaires à l'exécution d'application C++.
443 %description -n libstdc++ -l pl
444 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
445 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
446 uruchomienia aplikacji napisanych w C++.
448 %description -n libstdc++ -l pt_BR
449 Este pacote é uma implementação da biblioteca padrão C++ v3, um
450 subconjunto do padrão ISO 14882.
452 %description -n libstdc++ -l tr
453 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
454 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
456 %package -n libstdc++-devel
457 Summary: Header files and documentation for C++ development
458 Summary(de): Header-Dateien zur Entwicklung mit C++
459 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
460 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
461 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
462 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
463 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
464 Group: Development/Libraries
465 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
466 Requires: libstdc++ = %{epoch}:%{version}-%{release}
467 Requires: glibc-devel
468 Obsoletes: libg++-devel
469 Obsoletes: libstdc++3-devel
471 %description -n libstdc++-devel
472 This is the GNU implementation of the standard C++ libraries. This
473 package includes the header files needed for C++ development and
474 library documentation.
476 %description -n libstdc++-devel -l es
477 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
478 paquete incluye los archivos de inclusión y bibliotecas necesarios
479 para desarrollo de programas en lenguaje C++.
481 %description -n libstdc++-devel -l pl
482 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
483 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
484 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
486 %description -n libstdc++-devel -l pt_BR
487 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
488 para desenvolvimento de programas C++.
490 %package -n libstdc++-static
491 Summary: Static C++ standard library
492 Summary(es): Biblioteca estándar estática de C++
493 Summary(pl): Statyczna biblioteka standardowa C++
494 Group: Development/Libraries
495 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
497 %description -n libstdc++-static
498 Static C++ standard library.
500 %description -n libstdc++-static -l es
501 Biblioteca estándar estática de C++.
503 %description -n libstdc++-static -l pl
504 Statyczna biblioteka standardowa C++.
507 Summary: Foreign Function Interface library
508 Summary(es): Biblioteca de interfaz de funciones ajenas
509 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
512 %description -n libffi
513 The libffi library provides a portable, high level programming
514 interface to various calling conventions. This allows a programmer to
515 call any function specified by a call interface description at run
518 %description -n libffi -l es
519 La biblioteca libffi provee una interfaz portable de programación de
520 alto nivel para varias convenciones de llamada. Ello permite que un
521 programador llame una función cualquiera especificada por una
522 descripción de interfaz de llamada en el tiempo de ejecución.
524 %description -n libffi -l pl
525 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
526 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
527 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
530 %package -n libffi-devel
531 Summary: Development files for Foreign Function Interface library
532 Summary(es): Ficheros de desarrollo para libffi
533 Summary(pl): Pliki nag³ówkowe dla libffi
534 Group: Development/Libraries
535 Requires: libffi = %{epoch}:%{version}-%{release}
537 %description -n libffi-devel
538 Development files for Foreign Function Interface library.
540 %description -n libffi-devel -l es
541 Ficheros de desarrollo para libffi.
543 %description -n libffi-devel -l pl
544 Pliki nag³ówkowe dla libffi.
546 %package -n libffi-static
547 Summary: Static Foreign Function Interface library
548 Summary(es): Biblioteca libffi estática
549 Summary(pl): Statyczna biblioteka libffi
550 Group: Development/Libraries
551 Requires: libffi-devel = %{epoch}:%{version}-%{release}
553 %description -n libffi-static
554 Static Foreign Function Interface library.
556 %description -n libffi-static -l es
557 Biblioteca libffi estática.
559 %description -n libffi-static -l pl
560 Statyczna biblioteka libffi.
563 Summary: Ada support for gcc
564 Summary(es): Soporte de Ada para gcc
565 Summary(pl): Obs³uga Ady do gcc
566 Group: Development/Languages
567 Requires: %{name} = %{epoch}:%{version}-%{release}
568 Requires: libgnat = %{epoch}:%{version}-%{release}
570 Obsoletes: gnat-devel
573 This package adds experimental support for compiling Ada programs.
575 %description ada -l es
576 Este paquete añade soporte experimental para compilar programas en
579 %description ada -l pl
580 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
584 Summary: Ada standard libraries
585 Summary(es): Bibliotecas estándares de Ada
586 Summary(pl): Biblioteki standardowe dla Ady
591 %description -n libgnat
592 This package contains shared libraries needed to run programs written
595 %description -n libgnat -l es
596 Este paquete contiene las bibliotecas compartidas necesarias para
597 ejecutar programas escritos en Ada.
599 %description -n libgnat -l pl
600 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
603 %package -n libgnat-static
604 Summary: Static Ada standard libraries
605 Summary(pl): Statyczne biblioteki standardowe dla Ady
607 Obsoletes: gnat-static
609 %description -n libgnat-static
610 This package contains static libraries for programs written in Ada.
612 %description -n libgnat-static -l pl
613 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
623 # needed for bootstrap using gcc 3.3.x on alpha
624 # and even using the same 3.4.x(!) (but not Debian's 3.3.x) on ia64
627 %{!?debug:%patch4 -p1}
628 %{?with_ssp:%patch5 -p1}
632 # because we distribute modified version of gcc...
633 perl -pi -e 's/(version.*)";/$1 %{?with_ssp:SSP }(PLD Linux)";/' gcc/version.c
634 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
636 mv ChangeLog ChangeLog.general
639 cp -f /usr/share/automake/config.sub .
641 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
643 CFLAGS="%{rpmcflags}" \
644 CXXFLAGS="%{rpmcflags}" \
648 --prefix=%{_prefix} \
649 --libdir=%{_libdir} \
650 --libexecdir=%{_libdir} \
651 --infodir=%{_infodir} \
652 --mandir=%{_mandir} \
654 --enable-threads=posix \
655 --enable-__cxa_atexit \
656 --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,f77}%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
660 %if %{without multilib}
668 --with-slibdir=%{_slibdir} \
672 PATH=$PATH:/sbin:%{_sbindir}
675 %{__make} -C obj-%{_target_platform} \
677 GCJFLAGS="%{rpmcflags}" \
678 BOOT_CFLAGS="%{rpmcflags}" \
679 STAGE1_CFLAGS="%{rpmcflags} -O0" \
680 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
685 # cannot build it in parallel
686 for tgt in gnatlib-shared gnattools gnatlib; do
687 %{__make} -C obj-%{_target_platform}/gcc $tgt \
688 BOOT_CFLAGS="%{rpmcflags}" \
689 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
696 rm -rf $RPM_BUILD_ROOT
697 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
699 cd obj-%{_target_platform}
700 PATH=$PATH:/sbin:%{_sbindir}
702 %{__make} -j1 install \
704 infodir=%{_infodir} \
705 DESTDIR=$RPM_BUILD_ROOT
708 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
709 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
712 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
713 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
716 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
717 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
721 # move ada shared libraries to proper place...
722 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
723 $RPM_BUILD_ROOT%{_libdir}
724 # check if symlink to be made is valid
725 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so.1
726 ln -sf libgnat-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so
727 ln -sf libgnarl-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.4.so
728 ln -sf libgnat-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
729 ln -sf libgnarl-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
732 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
738 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
739 cp -f fastjar/README java-doc/README.fastjar
740 cp -f libffi/README java-doc/README.libffi
741 cp -f libffi/LICENSE java-doc/LICENSE.libffi
745 cp -f libobjc/README gcc/objc/README.libobjc
748 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
749 for f in %{?with_cxx:libstdc++.la libsupc++.la} %{?with_java:libgcj.la} ; do
750 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
752 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
755 %{?with_cxx:libstdc++.la libsupc++.la} \
756 %{?with_fortran:libg2c.la} \
757 %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
758 %{?with_objc:libobjc.la}; do
759 perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
762 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
763 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
765 # include/ contains install-tools/include/* and headers that were fixed up
766 # by fixincludes, we don't want former
767 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
769 # we have to save these however
770 for f in syslimits.h %{?with_fortran:g2c.h} %{?with_java:libffi/ffitarget.h gcj} %{?with_objc:objc}; do
771 mv -f $gccdir/include/$f $gccdir/tmp
773 rm -rf $gccdir/include
774 mv -f $gccdir/tmp $gccdir/include
775 cp $gccdir/install-tools/include/*.h $gccdir/include
776 # but we don't want anything more from install-tools
777 rm -rf $gccdir/install-tools
780 ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
781 ln -sf %{_slibdir32}/libgcc_s.so.1 $gccdir/libgcc_s_32.so
786 %find_lang libstdc\+\+
790 zcat %{SOURCE2} > $RPM_BUILD_ROOT%{_aclocaldir}/gcc_stack_protect.m4
793 # kill unpackaged files
794 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
795 %{?with_multilib:rm -f $RPM_BUILD_ROOT%{_libdir}/32/libiberty.a}
796 rm -f $RPM_BUILD_ROOT%{_infodir}/dir*
797 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/{fsf-funding,gfdl,gpl}*
800 rm -rf $RPM_BUILD_ROOT
803 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
806 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
809 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
812 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
815 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
818 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
820 %post -p /sbin/ldconfig -n libgcc
821 %postun -p /sbin/ldconfig -n libgcc
822 %post -p /sbin/ldconfig -n libstdc++
823 %postun -p /sbin/ldconfig -n libstdc++
824 %post -p /sbin/ldconfig -n libobjc
825 %postun -p /sbin/ldconfig -n libobjc
826 %post -p /sbin/ldconfig -n libg2c
827 %postun -p /sbin/ldconfig -n libg2c
828 %post -p /sbin/ldconfig -n libgcj
829 %postun -p /sbin/ldconfig -n libgcj
830 %post -p /sbin/ldconfig -n libgnat
831 %postun -p /sbin/ldconfig -n libgnat
832 %post -p /sbin/ldconfig -n libffi
833 %postun -p /sbin/ldconfig -n libffi
836 %defattr(644,root,root,755)
837 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
838 %doc gcc/{ChangeLog,ONEWS,README.Portability}
839 %dir %{_libdir}/gcc/*/*
840 %dir %{_libdir}/gcc/*/*/include
841 %{?with_ssp:%{_aclocaldir}/gcc_stack_protect.m4}
843 %attr(755,root,root) %{_bindir}/*-gcc*
844 %attr(755,root,root) %{_bindir}/gcc
845 %attr(755,root,root) %{_bindir}/gccbug
846 %attr(755,root,root) %{_bindir}/gcov
847 %attr(755,root,root) %{_bindir}/cc
848 %attr(755,root,root) %{_bindir}/cpp
850 %{_mandir}/man1/cc.1*
851 %{_mandir}/man1/cpp.1*
852 %lang(ja) %{_mandir}/ja/man1/cpp.1*
853 %{_mandir}/man1/gcc.1*
854 %lang(fr) %{_mandir}/fr/man1/gcc.1*
855 %lang(ja) %{_mandir}/ja/man1/gcc.1*
856 %{_mandir}/man1/gcov.1*
861 %attr(755,root,root) /lib/cpp
863 %attr(755,root,root) %{_slibdir}/lib*.so
865 %{_slibdir}/libunwind.a
867 %{_libdir}/gcc/*/*/libgcov.a
868 %{_libdir}/gcc/*/*/libgcc.a
869 %{_libdir}/gcc/*/*/libgcc_eh.a
870 %{_libdir}/gcc/*/*/specs
871 %{_libdir}/gcc/*/*/crt*.o
873 %attr(755,root,root) %{_libdir}/gcc/*/*/libgcc_s*.so
874 %{_libdir}/gcc/*/*/32/libgcc.a
875 %{_libdir}/gcc/*/*/32/libgcc_eh.a
876 %{_libdir}/gcc/*/*/32/libgcov.a
877 %{_libdir}/gcc/*/*/32/crt*.o
880 %{_libdir}/gcc/*/*/ecrt*.o
881 %{_libdir}/gcc/*/*/ncrt*.o
882 %{_libdir}/gcc/*/*/nof
885 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
886 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
888 %{_libdir}/gcc/*/*/include/*.h
889 %{?with_fortran:%exclude %{_libdir}/gcc/*/*/include/g2c.h}
892 %defattr(644,root,root,755)
893 %attr(755,root,root) %{_slibdir}*/lib*.so.*
895 %attr(755,root,root) %{_slibdir32}/lib*.so.*
900 %defattr(644,root,root,755)
901 %doc gcc/cp/{ChangeLog,NEWS}
902 %attr(755,root,root) %{_bindir}/g++
903 %attr(755,root,root) %{_bindir}/*-g++
904 %attr(755,root,root) %{_bindir}/c++
905 %attr(755,root,root) %{_bindir}/*-c++
906 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
907 %{_libdir}/libsupc++.la
908 %{_libdir}/libsupc++.a
910 %{_libdir}/nof/libsupc++.la
911 %{_libdir}/nof/libsupc++.a
914 %{_libdir32}/libsupc++.la
915 %{_libdir32}/libsupc++.a
917 %{_mandir}/man1/g++.1*
918 %lang(ja) %{_mandir}/ja/man1/g++.1*
920 %files -n libstdc++ -f libstdc++.lang
921 %defattr(644,root,root,755)
922 %doc libstdc++-v3/{ChangeLog,README}
923 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
925 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
928 %attr(755,root,root) %{_libdir32}/libstdc++.so.*.*.*
931 %files -n libstdc++-devel
932 %defattr(644,root,root,755)
933 %doc libstdc++-v3/docs/html
934 %dir %{_includedir}/c++
935 %{_includedir}/c++/%{version}
936 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
937 %attr(755,root,root) %{_libdir}/libstdc++.so
938 %{_libdir}/libstdc++.la
940 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
941 %{_libdir}/nof/libstdc++.la
944 %attr(755,root,root) %{_libdir32}/libstdc++.so
945 %{_libdir32}/libstdc++.la
948 %files -n libstdc++-static
949 %defattr(644,root,root,755)
950 %{_libdir}/libstdc++.a
952 %{_libdir}/nof/libstdc++.a
955 %{_libdir32}/libstdc++.a
961 %defattr(644,root,root,755)
963 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
964 %attr(755,root,root) %{_libdir}/libobjc.so
965 %{_libdir}/libobjc.la
967 %attr(755,root,root) %{_libdir}/nof/libobjc.so
968 %{_libdir}/nof/libobjc.la
971 %attr(755,root,root) %{_libdir32}/libobjc.so
972 %{_libdir32}/libobjc.la
974 %{_libdir}/gcc/*/*/include/objc
977 %defattr(644,root,root,755)
978 %doc libobjc/{ChangeLog,README*}
979 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
981 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
984 %attr(755,root,root) %{_libdir32}/libobjc.so.*.*.*
987 %files -n libobjc-static
988 %defattr(644,root,root,755)
991 %{_libdir}/nof/libobjc.a
994 %{_libdir32}/libobjc.a
1000 %defattr(644,root,root,755)
1001 %doc gcc/f/{BUGS,ChangeLog,NEWS}
1002 %attr(755,root,root) %{_bindir}/g77
1003 %attr(755,root,root) %{_bindir}/f77
1005 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
1006 %{_libdir}/libfrtbegin.a
1007 %{_libdir}/libg2c.la
1008 %attr(755,root,root) %{_libdir}/libg2c.so
1010 %{_libdir}/nof/libfrtbegin.a
1011 %{_libdir}/nof/libg2c.la
1012 %attr(755,root,root) %{_libdir}/nof/libg2c.so
1014 %if %{with multilib}
1015 %{_libdir32}/libfrtbegin.a
1016 %{_libdir32}/libg2c.la
1017 %attr(755,root,root) %{_libdir32}/libg2c.so
1019 %{_libdir}/gcc/*/*/include/g2c.h
1020 %{_mandir}/man1/g77.1*
1021 %{_mandir}/man1/f77.1*
1022 %lang(ja) %{_mandir}/ja/man1/g77.1*
1023 %lang(ja) %{_mandir}/ja/man1/f77.1*
1026 %defattr(644,root,root,755)
1027 %doc libf2c/{ChangeLog,README,TODO}
1028 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
1030 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
1032 %if %{with multilib}
1033 %attr(755,root,root) %{_libdir32}/libg2c.so.*.*.*
1036 %files -n libg2c-static
1037 %defattr(644,root,root,755)
1040 %{_libdir}/nof/libg2c.a
1042 %if %{with multilib}
1043 %{_libdir32}/libg2c.a
1049 %defattr(644,root,root,755)
1050 %doc gcc/java/ChangeLog java-doc/*
1051 %attr(755,root,root) %{_bindir}/gcj*
1052 %attr(755,root,root) %{_bindir}/gij
1053 %attr(755,root,root) %{_bindir}/jcf-dump
1054 %attr(755,root,root) %{_bindir}/jv-*
1055 %attr(755,root,root) %{_bindir}/grepjar
1056 %attr(755,root,root) %{_bindir}/*-gcj*
1057 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1058 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1060 %{_mandir}/man1/jcf-*
1061 %{_mandir}/man1/jv-*
1062 %{_mandir}/man1/gij*
1063 %{_mandir}/man1/gcj*
1064 %{_mandir}/man1/grepjar*
1067 %defattr(644,root,root,755)
1068 %attr(755,root,root) %{_bindir}/rmi*
1069 %attr(755,root,root) %{_bindir}/jar
1070 %{_mandir}/man1/rmi*
1071 %{_mandir}/man1/jar*
1072 %{_infodir}/fastjar*
1075 %defattr(644,root,root,755)
1076 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1077 %attr(755,root,root) %{_bindir}/addr2name.awk
1078 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1079 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1080 %if %{with multilib}
1081 %attr(755,root,root) %{_libdir32}/lib*cj*.so.*.*.*
1082 %attr(755,root,root) %{_libdir32}/lib-org*.so.*.*.*
1085 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1087 %{_libdir}/logging.properties
1089 %files -n libgcj-devel
1090 %defattr(644,root,root,755)
1092 %{_includedir}/javax
1095 %{_includedir}/gnu/*
1096 %{_libdir}/gcc/*/*/include/gcj
1097 %dir %{_libdir}/security
1098 %{_libdir}/security/*
1099 %dir %{_datadir}/java
1100 %{_datadir}/java/libgcj*.jar
1101 %{_libdir}/lib*cj.spec
1102 %attr(755,root,root) %{_libdir}/lib*cj*.so
1103 %attr(755,root,root) %{_libdir}/lib-org-*.so
1104 %{_libdir}/lib*cj*.la
1105 %{_libdir}/lib-org-*.la
1106 %if %{with multilib}
1107 %attr(755,root,root) %{_libdir32}/lib*cj*.so
1108 %attr(755,root,root) %{_libdir32}/lib-org-*.so
1109 %{_libdir32}/lib*cj*.la
1110 %{_libdir32}/lib-org-*.la
1113 %{_libdir}/nof/lib*cj*.la
1114 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1116 %{_pkgconfigdir}/libgcj.pc
1118 %files -n libgcj-static
1119 %defattr(644,root,root,755)
1120 %{_libdir}/lib*cj*.a
1121 %{_libdir}/lib-org-*.a
1122 %if %{with multilib}
1123 %{_libdir32}/lib*cj*.a
1124 %{_libdir32}/lib-org-*.a
1127 %{_libdir}/nof/lib*cj*.a
1131 %defattr(644,root,root,755)
1132 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1133 %attr(755,root,root) %{_libdir}/libffi-*.so
1134 %{?with_multilib:%attr(755,root,root) %{_libdir32}/libffi-*.so}
1136 %files -n libffi-devel
1137 %defattr(644,root,root,755)
1138 %{_libdir}/gcc/*/*/include/ffitarget.h
1139 %attr(755,root,root) %{_libdir}/libffi.so
1140 %{_libdir}/libffi.la
1141 %if %{with multilib}
1142 %attr(755,root,root) %{_libdir32}/libffi.so
1143 %{_libdir32}/libffi.la
1145 %{_includedir}/ffi.h
1147 %files -n libffi-static
1148 %defattr(644,root,root,755)
1150 %{?with_multilib:%{_libdir32}/libffi.a}
1155 %defattr(644,root,root,755)
1156 %doc gcc/ada/ChangeLog
1157 %attr(755,root,root) %{_bindir}/gnat*
1158 %attr(755,root,root) %{_bindir}/gpr*
1159 %attr(755,root,root) %{_libdir}/libgnarl*.so
1160 %attr(755,root,root) %{_libdir}/libgnat*.so
1161 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1162 %{_libdir}/gcc/*/*/adainclude
1163 %dir %{_libdir}/gcc/*/*/adalib
1164 %{_libdir}/gcc/*/*/adalib/*.ali
1165 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1166 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1168 %{_libdir}/gcc/*/*/adalib/libgmem.a
1174 %defattr(644,root,root,755)
1175 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1176 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1178 %files -n libgnat-static
1179 %defattr(644,root,root,755)
1180 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1181 %{_libdir}/gcc/*/*/adalib/libgnat.a