3 # - http://gcc.gnu.org/PR11203
4 # - http://gcc.gnu.org/PR17384
5 # - http://gcc.gnu.org/PR17567
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 %define _snap 20041008
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
25 Group: Development/Languages
26 #Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
27 #Source0: ftp://gcc.gnu.org/pub/gcc/prerelease-%{version}-%{_snap}/gcc-%{version}-%{_snap}.tar.bz2
28 Source0: ftp://gcc.gnu.org/pub/gcc/snapshots/3.4-%{_snap}/gcc-3.4-%{_snap}.tar.bz2
29 # Source0-md5: 9e5a58db111be1b31227b5a1139a740b
30 Source1: http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
31 # Source1-md5: 4736f3422ddfb808423b745629acc321
32 Source2: http://www.trl.ibm.com/projects/security/ssp/gcc2_95_3/gcc_stack_protect.m4.gz
33 # Source2-md5: 07d93ad5fc07ca44cdaba46c658820de
34 Patch0: %{name}-info.patch
35 Patch1: %{name}-nolocalefiles.patch
36 Patch2: %{name}-ada-link-new-libgnat.patch
37 Patch3: %{name}-nodebug.patch
38 Patch4: %{name}-ssp.patch
39 Patch5: %{name}-ada-link.patch
40 Patch6: %{name}-pr15666.patch
41 Patch7: %{name}-pr16276.patch
42 Patch8: %{name}-ada-bootstrap.patch
44 # -fvisibility={default|internal|hidden|protected}
46 # Set the default ELF image symbol visibility to the specified option.
47 # All symbols will be marked with this unless overrided within the code.
48 # Using this feature can very substantially improve linking and load times
49 # of shared object libraries, produce more optimised code, provide near-perfect
50 # API export and prevent symbol clashes. It is strongly recommended that you
51 # use this in any shared objects you distribute.
53 # -fvisibility-inlines-hidden
55 # Causes all inlined methods to be marked with __attribute__((visibility("hidden")))
56 # so that they do not appear in the export table of a DSO and do not require a PLT
57 # indirection when used within the DSO. Enabling this option can have a dramatic
58 # effect on load and link times of a DSO as it massively reduces the size
59 # of the dynamic export table when the library makes heavy use of templates.
60 # While it can cause bloating through duplication of code within each DSO
61 # where it is used, often the wastage is less than the considerable space
62 # occupied by a long symbol name in the export table which is typical when using
63 # templates and namespaces.
65 # How to Write Shared Libraries: http://people.redhat.com/drepper/dsohowto.pdf
67 Patch9: %{name}-visibility.patch
69 URL: http://gcc.gnu.org/
70 BuildRequires: autoconf
71 BuildRequires: automake
72 BuildRequires: binutils >= 2.15.91.0.2
74 BuildRequires: fileutils >= 4.0.41
77 BuildRequires: gcc(ada)
78 BuildRequires: gcc-ada
80 BuildRequires: gettext-devel
81 BuildRequires: glibc-devel >= 2.2.5-20
83 BuildRequires: perl-devel
84 BuildRequires: texinfo >= 4.1
85 BuildRequires: zlib-devel
86 Requires: binutils >= 2.15.91.0.2
87 Requires: libgcc = %{epoch}:%{version}-%{release}
88 Provides: cpp = %{epoch}:%{version}-%{release}
89 %{?with_ada:Provides: gcc(ada)}
90 %{?with_ssp:Provides: gcc(ssp)}
91 # ksi for gcc > 3.3.x not ready yet
97 Conflicts: glibc-devel < 2.2.5-20
98 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
100 %define _slibdir /%{_lib}
102 %define _slibdir64 /lib64
103 %define _libdir /usr/lib
104 %define rpmcflags -O2 -mtune=ultrasparc
108 A compiler aimed at integrating all the optimizations and features
109 necessary for a high-performance and stable development environment.
111 This package contains the C compiler and some files shared by various
112 parts of the GNU Compiler Collection. In order to use another GCC
113 compiler you will need to install the appropriate subpackage.
116 Un compilador destinado a la integración de todas las optimalizaciones
117 y características necesarias para un entorno de desarrollo eficaz y
120 Este paquete contiene el compilador de C y unos ficheros compartidos
121 por varias parted de la colección de compiladores GNU (GCC). Para usar
122 otro compilador de GCC será necesario que instale el subpaquete
126 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
127 wyprodukowania szybkiego i stabilnego kodu wynikowego.
129 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
130 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
131 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
133 %description -l pt_BR
134 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
135 GNU Compiler Collection.
138 Summary: Shared gcc library
139 Summary(es): Biblioteca compartida de gcc
140 Summary(pl): Biblioteka gcc
141 Summary(pt_BR): Biblioteca runtime para o GCC
145 %description -n libgcc
148 %description -n libgcc -l es
149 Biblioteca compartida de gcc.
151 %description -n libgcc -l pl
152 Biblioteka dynamiczna gcc.
154 %description -n libgcc -l pt_BR
155 Biblioteca runtime para o GCC.
158 Summary: C++ support for gcc
159 Summary(es): Soporte de C++ para gcc
160 Summary(pl): Obs³uga C++ dla gcc
161 Summary(pt_BR): Suporte C++ para o gcc
162 Group: Development/Languages
163 Requires: %{name} = %{epoch}:%{version}-%{release}
168 This package adds C++ support to the GNU Compiler Collection. It
169 includes support for most of the current C++ specification, including
170 templates and exception handling. It does not include a standard C++
171 library, which is available separately.
173 %description c++ -l de
174 Dieses Paket enthält die C++-Unterstützung für den
175 GNU-Compiler-Collection. Es unterstützt die aktuelle
176 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
177 C++-Standard-Library ist nicht enthalten - sie ist getrennt
180 %description c++ -l es
181 Este paquete añade soporte de C++ al GCC (colección de compiladores
182 GNU). Ello incluye el soporte para la mayoría de la especificación
183 actual de C++, incluyendo plantillas y manejo de excepciones. No
184 incluye la biblioteca estándar de C++, la que es disponible separada.
186 %description c++ -l fr
187 Ce package ajoute un support C++ a la collection de compilateurs GNU.
188 Il comprend un support pour la plupart des spécifications actuelles de
189 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
190 une bibliothéque C++ standard, qui est disponible séparément.
192 %description c++ -l pl
193 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
194 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
195 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
197 %description c++ -l pt_BR
198 Este pacote adiciona suporte C++ para o gcc.
200 %description c++ -l tr
201 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
202 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
203 C++ kitaplýðý bu pakette yer almaz.
206 Summary: Objective C support for gcc
207 Summary(de): Objektive C-Unterstützung für gcc
208 Summary(es): Soporte de Objective C para gcc
209 Summary(fr): Gestion d'Objective C pour gcc
210 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
211 Summary(tr): gcc için Objective C desteði
212 Group: Development/Languages
213 Requires: %{name} = %{epoch}:%{version}-%{release}
214 Requires: libobjc = %{epoch}:%{version}-%{release}
219 This package adds Objective C support to the GNU Compiler Collection.
220 Objective C is a object oriented derivative of the C language, mainly
221 used on systems running NeXTSTEP. This package does not include the
222 standard objective C object library.
224 %description objc -l de
225 Dieses Paket ergänzt den GNU-Compiler-Collection durch
226 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
227 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
228 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
230 %description objc -l es
231 Este paquete añade soporte de Objective C al GCC (colección de
232 compiladores GNU). Objective C es un lenguaje orientado a objetos
233 derivado de C, principalmente usado en sistemas que funcionan bajo
234 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
237 %description objc -l fr
238 Ce package ajoute un support Objective C a la collection de
239 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
240 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
241 package n'inclue pas la bibliothéque Objective C standard.
243 %description objc -l pl
244 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
245 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
246 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
247 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
249 %description objc -l tr
250 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
251 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
252 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
253 kitaplýðý bu pakette yer almaz.
256 Summary: Objective C Libraries
257 Summary(es): Bibliotecas de Objective C
258 Summary(pl): Biblioteki Obiektowego C
262 %description -n libobjc
263 Objective C Libraries.
265 %description -n libobjc -l es
266 Bibliotecas de Objective C.
268 %description -n libobjc -l pl
269 Biblioteki Obiektowego C.
271 %package -n libobjc-static
272 Summary: Static Objective C Libraries
273 Summary(es): Bibliotecas estáticas de Objective C
274 Summary(pl): Statyczne Biblioteki Obiektowego C
275 Group: Development/Libraries
276 Requires: libobjc = %{epoch}:%{version}-%{release}
278 %description -n libobjc-static
279 Static Objective C Libraries.
281 %description -n libobjc-static -l es
282 Bibliotecas estáticas de Objective C.
284 %description -n libobjc-static -l pl
285 Statyczne biblioteki Obiektowego C.
288 Summary: Fortran 77 support for gcc
289 Summary(es): Soporte de Fortran 77 para gcc
290 Summary(pl): Obs³uga Fortranu 77 dla gcc
291 Summary(pt_BR): Suporte Fortran 77 para o GCC
292 Group: Development/Languages/Fortran
293 Requires: libg2c = %{epoch}:%{version}-%{release}
297 This package adds support for compiling Fortran 77 programs with the
300 %description g77 -l es
301 Este paquete añade soporte para compilar programas escritos en Fortran
302 77 con el compilador GNU.
304 %description g77 -l pl
305 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
306 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
308 %description g77 -l pt_BR
309 Suporte Fortran 77 para o GCC.
312 Summary: Fortran 77 Libraries
313 Summary(es): Bibliotecas de Fortran 77
314 Summary(pl): Biblioteki Fortranu 77
317 %description -n libg2c
318 Fortran 77 Libraries.
320 %description -n libg2c -l es
321 Bibliotecas de Fortran 77.
323 %description -n libg2c -l pl
324 Biblioteki Fortranu 77.
326 %package -n libg2c-static
327 Summary: Static Fortran 77 Libraries
328 Summary(es): Bibliotecas estáticas de Fortran 77
329 Summary(pl): Statyczne Biblioteki Fortranu 77
330 Group: Development/Libraries
331 Requires: libg2c = %{epoch}:%{version}-%{release}
333 %description -n libg2c-static
334 Static Fortran 77 Libraries.
336 %description -n libg2c -l es
337 Bibliotecas estáticas de Fortran 77.
339 %description -n libg2c-static -l pl
340 Statyczne biblioteki Fortranu 77.
343 Summary: Java support for gcc
344 Summary(es): Soporte de Java para gcc
345 Summary(pl): Obs³uga Javy dla gcc
346 Group: Development/Languages/Java
347 Requires: %{name} = %{epoch}:%{version}-%{release}
348 Requires: libgcj = %{epoch}:%{version}-%{release}
349 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
350 Requires: java-shared
351 Provides: gcj = %{epoch}:%{version}-%{release}
354 This package adds experimental support for compiling Java(tm) programs
355 and bytecode into native code. To use this you will also need the
358 %description java -l es
359 Este paquete añade soporte experimental para compilar programas
360 Java(tm) y su bytecode en código nativo. Para usarlo también va a
361 necesitar el paquete libgcj.
363 %description java -l pl
364 Wsparcie dla kompilowania programów Java(tm) zarówno do bajt-kodu jak i
365 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
366 by³o przeprowadziæ kompilacjê.
369 Summary: Shared java tools
370 Summary(es): Herramientas compartidas de Java
371 Summary(pl): Wspó³dzielone narzêdzia javy
372 Group: Development/Languages/Java
373 Provides: jar = %{epoch}:%{version}-%{release}
374 Provides: java-shared
377 Obsoletes: java-shared
379 %description java-tools
380 This package contains tools that are common for every Java(tm)
381 implementation, such as rmic or jar.
383 %description java-tools -l es
384 Este paquete contiene herramientas que son comunes para cada
385 implementación de Java(tm), como rmic o jar.
387 %description java-tools -l pl
388 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
389 Javy(tm), takie jak rmic czy jar.
392 Summary: Java Class Libraries
393 Summary(es): Bibliotecas de clases de Java
394 Summary(pl): Biblioteki Klas Javy
399 %description -n libgcj
400 Java Class Libraries.
402 %description -n libgcj -l es
403 Bibliotecas de clases de Java.
405 %description -n libgcj -l pl
406 Biblioteki Klas Javy.
408 %package -n libgcj-devel
409 Summary: Development files for Java Class Libraries
410 Summary(es): Ficheros de desarrollo para las bibliotecas de clases de Java
411 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
412 Group: Development/Libraries
413 Requires: %{name}-java = %{epoch}:%{version}-%{release}
414 Requires: libgcj = %{epoch}:%{version}-%{release}
415 Obsoletes: libgcj3-devel
417 %description -n libgcj-devel
418 Development files for Java Class Libraries.
420 %description -n libgcj-devel -l es
421 Ficheros de desarrollo para las bibliotecas de clases de Java.
423 %description -n libgcj-devel -l pl
424 Pliki nag³ówkowe dla Bibliotek Klas Javy.
426 %package -n libgcj-static
427 Summary: Static Java Class Libraries
428 Summary(es): Bibliotecas estáticas de clases de Java
429 Summary(pl): Statyczne Biblioteki Klas Javy
430 Group: Development/Libraries
431 Requires: libgcj-devel = %{epoch}:%{version}-%{release}
432 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
434 %description -n libgcj-static
435 Static Java Class Libraries.
437 %description -n libgcj-static -l es
438 Bibliotecas estáticas de clases de Java.
440 %description -n libgcj-static -l pl
441 Statyczne Biblioteki Klas Javy.
443 %package -n libstdc++
444 Summary: GNU c++ library
445 Summary(es): Biblioteca C++ de GNU
446 Summary(pl): Biblioteki GNU C++
447 Summary(pt_BR): Biblioteca C++ GNU
450 Obsoletes: libstdc++3
452 %description -n libstdc++
453 This is the GNU implementation of the standard C++ libraries, along
454 with additional GNU tools. This package includes the shared libraries
455 necessary to run C++ applications.
457 %description -n libstdc++ -l de
458 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
459 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
460 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
462 %description -n libstdc++ -l es
463 Este es el soporte de las bibliotecas padrón del C++, junto con
464 herramientas GNU adicionales. El paquete incluye las bibliotecas
465 compartidas necesarias para ejecutar aplicaciones C++.
467 %description -n libstdc++ -l fr
468 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
469 des outils GNU supplémentaires. Ce package comprend les librairies
470 partagées nécessaires à l'exécution d'application C++.
472 %description -n libstdc++ -l pl
473 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
474 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
475 uruchomienia aplikacji napisanych w C++.
477 %description -n libstdc++ -l pt_BR
478 Este pacote é uma implementação da biblioteca padrão C++ v3, um
479 subconjunto do padrão ISO 14882.
481 %description -n libstdc++ -l tr
482 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
483 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
485 %package -n libstdc++-devel
486 Summary: Header files and documentation for C++ development
487 Summary(de): Header-Dateien zur Entwicklung mit C++
488 Summary(es): Ficheros de cabecera y documentación para desarrollo C++
489 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
490 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
491 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
492 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
493 Group: Development/Libraries
494 Requires: %{name}-c++ = %{epoch}:%{version}-%{release}
495 Requires: libstdc++ = %{epoch}:%{version}-%{release}
496 Obsoletes: libg++-devel
497 Obsoletes: libstdc++3-devel
499 %description -n libstdc++-devel
500 This is the GNU implementation of the standard C++ libraries. This
501 package includes the header files needed for C++ development and
502 library documentation.
504 %description -n libstdc++-devel -l es
505 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
506 paquete incluye los archivos de inclusión y bibliotecas necesarios
507 para desarrollo de programas en lenguaje C++.
509 %description -n libstdc++-devel -l pl
510 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
511 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
512 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
514 %description -n libstdc++-devel -l pt_BR
515 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
516 para desenvolvimento de programas C++.
518 %package -n libstdc++-static
519 Summary: Static C++ standard library
520 Summary(es): Biblioteca estándar estática de C++
521 Summary(pl): Statyczna biblioteka standardowa C++
522 Group: Development/Libraries
523 Requires: libstdc++-devel = %{epoch}:%{version}-%{release}
525 %description -n libstdc++-static
526 Static C++ standard library.
528 %description -n libstdc++-static -l es
529 Biblioteca estándar estática de C++.
531 %description -n libstdc++-static -l pl
532 Statyczna biblioteka standardowa C++.
535 Summary: Foreign Function Interface library
536 Summary(es): Biblioteca de interfaz de funciones ajenas
537 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
540 %description -n libffi
541 The libffi library provides a portable, high level programming
542 interface to various calling conventions. This allows a programmer to
543 call any function specified by a call interface description at run
546 %description -n libffi -l es
547 La biblioteca libffi provee una interfaz portable de programación de
548 alto nivel para varias convenciones de llamada. Ello permite que un
549 programador llame una función cualquiera especificada por una
550 descripción de interfaz de llamada en el tiempo de ejecución.
552 %description -n libffi -l pl
553 Biblioteka libffi dostarcza przeno¶nego, wysokopoziomowego
554 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
555 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
558 %package -n libffi-devel
559 Summary: Development files for Foreign Function Interface library
560 Summary(es): Ficheros de desarrollo para libffi
561 Summary(pl): Pliki nag³ówkowe dla libffi
562 Group: Development/Libraries
563 Requires: libffi = %{epoch}:%{version}-%{release}
565 %description -n libffi-devel
566 Development files for Foreign Function Interface library.
568 %description -n libffi-devel -l es
569 Ficheros de desarrollo para libffi.
571 %description -n libffi-devel -l pl
572 Pliki nag³ówkowe dla libffi.
574 %package -n libffi-static
575 Summary: Static Foreign Function Interface library
576 Summary(es): Biblioteca libffi estática
577 Summary(pl): Statyczna biblioteka libffi
578 Group: Development/Libraries
579 Requires: libffi-devel = %{epoch}:%{version}-%{release}
581 %description -n libffi-static
582 Static Foreign Function Interface library.
584 %description -n libffi-static -l es
585 Biblioteca libffi estática.
587 %description -n libffi-static -l pl
588 Statyczna biblioteka libffi.
591 Summary: Ada support for gcc
592 Summary(es): Soporte de Ada para gcc
593 Summary(pl): Obs³uga Ady do gcc
594 Group: Development/Languages
595 Requires: %{name} = %{epoch}:%{version}-%{release}
596 Requires: libgnat = %{epoch}:%{version}-%{release}
598 Obsoletes: gnat-devel
601 This package adds experimental support for compiling Ada programs.
603 %description ada -l es
604 Este paquete añade soporte experimental para compilar programas en
607 %description ada -l pl
608 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
612 Summary: Ada standard libraries
613 Summary(es): Bibliotecas estándares de Ada
614 Summary(pl): Biblioteki standardowe dla Ady
619 %description -n libgnat
620 This package contains shared libraries needed to run programs written
623 %description -n libgnat -l es
624 Este paquete contiene las bibliotecas compartidas necesarias para
625 ejecutar programas escritos en Ada.
627 %description -n libgnat -l pl
628 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
631 %package -n libgnat-static
632 Summary: Static Ada standard libraries
633 Summary(pl): Statyczne biblioteki standardowe dla Ady
635 Obsoletes: gnat-static
637 %description -n libgnat-static
638 This package contains static libraries for programs written in Ada.
640 %description -n libgnat-static -l pl
641 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
646 #setup -q -n %{name}-%{version}-%{_snap} -a1
648 %setup -q -n %{name}-3.4-%{_snap} -a1
650 #setup -q -n %{name}-%{version} -a1
655 %{!?debug:%patch3 -p1}
656 %{?with_ssp:%patch4 -p1}
661 # needed for bootstrap using gcc 3.3.x on alpha
662 # and even using the same 3.4.x(!) (but not Debian's 3.3.x) on ia64
667 # because we distribute modified version of gcc...
668 perl -pi -e 's/(version.*)";/$1 %{?with_ssp:SSP }(PLD Linux)";/' gcc/version.c
669 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
671 mv ChangeLog ChangeLog.general
674 # because pr16276 patch modifies configure.ac
678 cp -f /usr/share/automake/config.sub .
680 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
682 CFLAGS="%{rpmcflags}" \
683 CXXFLAGS="%{rpmcflags}" \
684 TEXCONFIG=false ../configure \
685 --prefix=%{_prefix} \
686 --libdir=%{_libdir} \
687 --libexecdir=%{_libexecdir} \
688 --infodir=%{_infodir} \
689 --mandir=%{_mandir} \
691 --enable-threads=posix \
692 --enable-__cxa_atexit \
693 --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
705 --with-slibdir=%{_slibdir} \
709 PATH=$PATH:/sbin:%{_sbindir}
712 # - on alpha stage1 needs -O0 for 3.3->3.4 bootstrap (gnat from 3.3 is seriously broken)
713 # - on ia64 use bootstrap-lean as profiledbootstrap is broken (PR 13882, 15836, 16108)
714 %{__make} -C obj-%{_target_platform} \
720 GCJFLAGS="%{rpmcflags}" \
721 BOOT_CFLAGS="%{rpmcflags}" \
723 STAGE1_CFLAGS="%{rpmcflags} -O0" \
725 STAGE1_CFLAGS="%{rpmcflags}" \
727 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
732 # cannot build it in parallel
733 for tgt in gnatlib-shared gnattools gnatlib; do
734 %{__make} -C obj-%{_target_platform}/gcc $tgt \
735 BOOT_CFLAGS="%{rpmcflags}" \
736 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
742 # snapshot doesn't contain these files...
743 [ -r "NEWS" ] || touch NEWS
744 [ -r "gcc/f/BUGS" ] || touch gcc/f/BUGS
745 [ -r "gcc/f/NEWS" ] || touch gcc/f/NEWS
748 rm -rf $RPM_BUILD_ROOT
749 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
751 cd obj-%{_target_platform}
752 PATH=$PATH:/sbin:%{_sbindir}
754 %{__make} -j1 install \
756 infodir=%{_infodir} \
757 DESTDIR=$RPM_BUILD_ROOT
760 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
761 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
764 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
765 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
767 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
768 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
771 # move ada shared libraries to proper place...
772 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
773 $RPM_BUILD_ROOT%{_libdir}
774 # check if symlink to be made is valid
775 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so.1
776 ln -sf libgnat-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so
777 ln -sf libgnarl-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.4.so
778 ln -sf libgnat-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
779 ln -sf libgnarl-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
782 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
788 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
789 cp -f fastjar/README java-doc/README.fastjar
790 cp -f libffi/README java-doc/README.libffi
791 cp -f libffi/LICENSE java-doc/LICENSE.libffi
795 cp -f libobjc/README gcc/objc/README.libobjc
798 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
799 for f in libstdc++.la libsupc++.la %{?with_java:libgcj.la} ; do
800 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
802 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
803 for f in libstdc++.la libsupc++.la libg2c.la \
804 %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
805 %{?with_objc:libobjc.la}; do
806 perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
809 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
810 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
812 # include/ contains install-tools/include/* and headers that were fixed up
813 # by fixincludes, we don't want former
814 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
816 # we have to save these however
817 mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,libffi/ffitarget.h,gcj}} $gccdir/tmp
818 rm -rf $gccdir/include
819 mv -f $gccdir/tmp $gccdir/include
820 cp $gccdir/install-tools/include/*.h $gccdir/include
821 # but we don't want anything more from install-tools
822 rm -rf $gccdir/install-tools
825 %find_lang libstdc\+\+
828 zcat %{SOURCE2} > $RPM_BUILD_ROOT%{_aclocaldir}/gcc_stack_protect.m4
832 rm -rf $RPM_BUILD_ROOT
835 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
838 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
841 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
844 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
847 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
850 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
852 %post -p /sbin/ldconfig -n libgcc
853 %postun -p /sbin/ldconfig -n libgcc
854 %post -p /sbin/ldconfig -n libstdc++
855 %postun -p /sbin/ldconfig -n libstdc++
856 %post -p /sbin/ldconfig -n libobjc
857 %postun -p /sbin/ldconfig -n libobjc
858 %post -p /sbin/ldconfig -n libg2c
859 %postun -p /sbin/ldconfig -n libg2c
860 %post -p /sbin/ldconfig -n libgcj
861 %postun -p /sbin/ldconfig -n libgcj
862 %post -p /sbin/ldconfig -n libgnat
863 %postun -p /sbin/ldconfig -n libgnat
864 %post -p /sbin/ldconfig -n libffi
865 %postun -p /sbin/ldconfig -n libffi
868 %defattr(644,root,root,755)
869 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
870 %doc gcc/{ChangeLog,ONEWS,README.Portability}
872 %dir %{_libdir}/gcc/*
873 %dir %{_libdir}/gcc/*/*
874 %dir %{_libdir}/gcc/*/*/include
875 %{?with_ssp:%{_aclocaldir}/gcc_stack_protect.m4}
877 %attr(755,root,root) %{_bindir}/*-gcc*
878 %attr(755,root,root) %{_bindir}/gcc
879 %attr(755,root,root) %{_bindir}/gccbug
880 %attr(755,root,root) %{_bindir}/gcov
881 %attr(755,root,root) %{_bindir}/cc
882 %attr(755,root,root) %{_bindir}/cpp
884 %{_mandir}/man1/cc.1*
885 %{_mandir}/man1/cpp.1*
886 %lang(ja) %{_mandir}/ja/man1/cpp.1*
887 %{_mandir}/man1/gcc.1*
888 %lang(fr) %{_mandir}/fr/man1/gcc.1*
889 %lang(ja) %{_mandir}/ja/man1/gcc.1*
890 %{_mandir}/man1/gcov.1*
895 %attr(755,root,root) /lib/cpp
897 %attr(755,root,root) %{_slibdir}*/lib*.so
898 %{_libdir}/gcc/*/*/libgcov.a
899 %{_libdir}/gcc/*/*/libgcc.a
900 %{_libdir}/gcc/*/*/libgcc_eh.a
901 %{_libdir}/gcc/*/*/specs
902 %attr(644,root,root) %{_libdir}*/gcc/*/*/crt*.o
904 %{_libdir}/gcc/*/*/*/libgcc.a
905 %{_libdir}/gcc/*/*/*/libgcc_eh.a
906 %attr(644,root,root) %{_libdir}*/gcc/*/*/*/crt*.o
909 %attr(644,root,root) %{_libdir}/gcc/*/*/ecrt*.o
910 %attr(644,root,root) %{_libdir}/gcc/*/*/ncrt*.o
911 %{_libdir}/gcc/*/*/nof
914 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
915 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
917 %{_libdir}/gcc/*/*/include/*.h
918 %exclude %{_libdir}/gcc/*/*/include/g2c.h
921 %defattr(644,root,root,755)
922 %attr(755,root,root) %{_slibdir}*/lib*.so.*
925 %defattr(644,root,root,755)
926 %doc gcc/cp/{ChangeLog,NEWS}
927 %attr(755,root,root) %{_bindir}/g++
928 %attr(755,root,root) %{_bindir}/*-g++
929 %attr(755,root,root) %{_bindir}/c++
930 %attr(755,root,root) %{_bindir}/*-c++
931 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
932 %{_libdir}*/libsupc++.la
934 %{_libdir}/nof/libsupc++.la
935 %{_libdir}/nof/libsupc++.a
937 %{_libdir}*/libsupc++.a
938 %{_mandir}/man1/g++.1*
939 %lang(ja) %{_mandir}/ja/man1/g++.1*
941 %files -n libstdc++ -f libstdc++.lang
942 %defattr(644,root,root,755)
943 %doc libstdc++-v3/{ChangeLog,README}
944 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
946 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
949 %files -n libstdc++-devel
950 %defattr(644,root,root,755)
951 %doc libstdc++-v3/docs/html
952 %dir %{_includedir}/c++
953 %{_includedir}/c++/%{version}
954 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
955 %attr(755,root,root) %{_libdir}*/libstdc++.so
956 %{_libdir}*/libstdc++.la
958 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
959 %{_libdir}/nof/libstdc++.la
962 %files -n libstdc++-static
963 %defattr(644,root,root,755)
964 %{_libdir}*/libstdc++.a
966 %{_libdir}/nof/libstdc++.a
971 %defattr(644,root,root,755)
973 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
974 %attr(755,root,root) %{_libdir}*/libobjc.so
975 %{_libdir}*/libobjc.la
977 %attr(755,root,root) %{_libdir}/nof/libobjc.so
978 %{_libdir}/nof/libobjc.la
980 %{_libdir}/gcc/*/*/include/objc
983 %defattr(644,root,root,755)
984 %doc libobjc/{ChangeLog,README*}
985 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
987 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
990 %files -n libobjc-static
991 %defattr(644,root,root,755)
992 %{_libdir}*/libobjc.a
994 %{_libdir}/nof/libobjc.a
999 %defattr(644,root,root,755)
1000 %doc gcc/f/{BUGS,ChangeLog,NEWS}
1001 %attr(755,root,root) %{_bindir}/g77
1002 %attr(755,root,root) %{_bindir}/f77
1004 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
1005 %{_libdir}*/libfrtbegin.a
1006 %{_libdir}*/libg2c.la
1007 %attr(755,root,root) %{_libdir}*/libg2c.so
1009 %{_libdir}/nof/libfrtbegin.a
1010 %{_libdir}/nof/libg2c.la
1011 %attr(755,root,root) %{_libdir}/nof/libg2c.so
1013 %{_libdir}/gcc/*/*/include/g2c.h
1014 %{_mandir}/man1/g77.1*
1015 %{_mandir}/man1/f77.1*
1016 %lang(ja) %{_mandir}/ja/man1/g77.1*
1017 %lang(ja) %{_mandir}/ja/man1/f77.1*
1020 %defattr(644,root,root,755)
1021 %doc libf2c/{ChangeLog,README,TODO}
1022 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
1024 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
1027 %files -n libg2c-static
1028 %defattr(644,root,root,755)
1029 %{_libdir}*/libg2c.a
1031 %{_libdir}/nof/libg2c.a
1036 %defattr(644,root,root,755)
1037 %doc gcc/java/ChangeLog java-doc/*
1038 %attr(755,root,root) %{_bindir}/gcj*
1039 %attr(755,root,root) %{_bindir}/gij
1040 %attr(755,root,root) %{_bindir}/jcf-dump
1041 %attr(755,root,root) %{_bindir}/jv-*
1042 %attr(755,root,root) %{_bindir}/grepjar
1043 %attr(755,root,root) %{_bindir}/*-gcj*
1044 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1045 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1047 %{_mandir}/man1/jcf-*
1048 %{_mandir}/man1/jv-*
1049 %{_mandir}/man1/gij*
1050 %{_mandir}/man1/gcj*
1051 %{_mandir}/man1/grepjar*
1054 %defattr(644,root,root,755)
1055 %attr(755,root,root) %{_bindir}/rmi*
1056 %attr(755,root,root) %{_bindir}/jar
1057 %{_mandir}/man1/rmi*
1058 %{_mandir}/man1/jar*
1059 %{_infodir}/fastjar*
1062 %defattr(644,root,root,755)
1063 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1064 %attr(755,root,root) %{_bindir}/addr2name.awk
1065 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1066 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1068 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1070 %{_libdir}/logging.properties
1072 %files -n libgcj-devel
1073 %defattr(644,root,root,755)
1075 %{_includedir}/javax
1078 %{_includedir}/gnu/*
1079 %{_libdir}/gcc/*/*/include/gcj
1080 %dir %{_libdir}/security
1081 %{_libdir}/security/*
1082 %dir %{_datadir}/java
1083 %{_datadir}/java/libgcj*.jar
1084 %{_libdir}/lib*cj.spec
1085 %{_libdir}/lib*cj*.la
1086 %attr(755,root,root) %{_libdir}/lib*cj*.so
1087 %attr(755,root,root) %{_libdir}/lib-org-*.so
1088 %{_libdir}/lib-org-*.la
1090 %{_libdir}/nof/lib*cj*.la
1091 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1093 %{_pkgconfigdir}/libgcj.pc
1095 %files -n libgcj-static
1096 %defattr(644,root,root,755)
1097 %{_libdir}/lib*cj*.a
1098 %{_libdir}/lib-org-*.a
1100 %{_libdir}/nof/lib*cj*.a
1104 %defattr(644,root,root,755)
1105 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1106 %attr(755,root,root) %{_libdir}/libffi-*.so
1108 %files -n libffi-devel
1109 %defattr(644,root,root,755)
1110 %{_libdir}/gcc/*/*/include/ffitarget.h
1111 %attr(755,root,root) %{_libdir}/libffi.so
1112 %{_libdir}/libffi.la
1113 %{_includedir}/ffi.h
1115 %files -n libffi-static
1116 %defattr(644,root,root,755)
1122 %defattr(644,root,root,755)
1123 %doc gcc/ada/ChangeLog
1124 %attr(755,root,root) %{_bindir}/gnat*
1125 %attr(755,root,root) %{_bindir}/gpr*
1126 %attr(755,root,root) %{_libdir}/libgnarl*.so
1127 %attr(755,root,root) %{_libdir}/libgnat*.so
1128 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1129 %{_libdir}/gcc/*/*/adainclude
1130 %dir %{_libdir}/gcc/*/*/adalib
1131 %{_libdir}/gcc/*/*/adalib/*.ali
1132 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1133 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1135 %{_libdir}/gcc/*/*/adalib/libgmem.a
1141 %defattr(644,root,root,755)
1142 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1143 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1145 %files -n libgnat-static
1146 %defattr(644,root,root,755)
1147 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1148 %{_libdir}/gcc/*/*/adalib/libgnat.a