3 # _with_ada - build with ADA support
4 # _without_java - build without Java support
5 # _without_objc - build without objc support
7 %define DASHED_SNAP %{nil}
8 %define SNAP %(echo %{DASHED_SNAP} | sed -e "s#-##g")
9 %define GCC_VERSION 3.3
10 %define KSI_VERSION 1.1.0.1567
12 Summary: GNU C Compiler
13 Summary(pl): Kompilator C GNU
14 Summary(pt_BR): C Compilador GNU (GCC)
16 Version: %{GCC_VERSION}
20 Group: Development/Languages
21 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{GCC_VERSION}/%{name}-%{GCC_VERSION}.tar.bz2
22 Source1: ftp://ftp.pld.org.pl/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
23 Source2: %{name}-non-english-man-pages.tar.bz2
24 Patch0: %{name}-info.patch
25 Patch1: %{name}-paths.patch
26 Patch2: %{name}-nolocalefiles.patch
27 Patch3: %{name}-ada-link-new-libgnat.patch
28 # -- stolen patches from RH --
29 Patch10: gcc32-ada-link.patch
30 Patch11: gcc32-boehm-gc-libs.patch
31 Patch12: gcc32-bogus-inline.patch
32 Patch13: gcc32-c++-nrv-test.patch
33 Patch14: gcc32-c++-tsubst-asm.patch
34 Patch15: gcc32-debug-pr7241.patch
35 Patch16: gcc32-duplicate-decl.patch
36 Patch17: gcc32-dwarf2-pr6381.patch
37 Patch18: gcc32-dwarf2-pr6436-test.patch
38 Patch19: gcc32-fde-merge-compat.patch
39 Patch20: gcc32-i386-memtest-test.patch
40 Patch21: gcc32-inline-label.patch
41 Patch22: gcc32-java-no-rpath.patch
42 Patch23: gcc32-test-rh65771.patch
43 Patch24: gcc32-test-rotate.patch
44 BuildRequires: autoconf
46 BuildRequires: fileutils >= 4.0.41
48 %{?_with_ada:BuildRequires: gcc-ada}
49 BuildRequires: glibc-devel >= 2.2.5-20
50 BuildRequires: perl-devel
51 BuildRequires: texinfo >= 4.1
52 BuildRequires: zlib-devel
53 BuildRequires: gettext-devel
54 Requires: binutils >= 2.12.90.0.4
55 Requires: cpp = %{GCC_VERSION}
56 Requires: libgcc = %{GCC_VERSION}
57 Conflicts: glibc-devel < 2.2.5-20
58 URL: http://gcc.gnu.org/
59 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64 A compiler aimed at integrating all the optimizations and features
65 necessary for a high-performance and stable development environment.
68 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
69 wyprodukowania szybkiego i stablinego kodu wynikowego.
72 Este pacote adiciona infraestrutura básica e suporte a linguagem C
73 ao Gnu Compiler Collection.
76 Summary: Shared gcc library
77 Summary(pl): Biblioteka gcc
78 Summary(pt_BR): Biblioteca runtime para o GCC
80 Version: %{GCC_VERSION}
83 %description -n libgcc
86 %description -n libgcc -l pl
87 Biblioteka dynamiczna gcc.
89 %description -n libgcc -l pt_BR
90 Biblioteca runtime para o GCC.
93 Summary: C++ support for gcc
94 Summary(pl): Obs³uga C++ dla gcc
95 Summary(pt_BR): Suporte C++ para o gcc
96 Group: Development/Languages
99 Requires: gcc = %{GCC_VERSION}
102 This package adds C++ support to the GNU C compiler. It includes
103 support for most of the current C++ specification, including templates
104 and exception handling. It does not include a standard C++ library,
105 which is available separately.
107 %description c++ -l de
108 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
109 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
110 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
111 sie ist getrennt erhältlich.
113 %description c++ -l fr
114 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
115 support pour la plupart des spécifications actuelles de C++, dont les
116 modéles et la gestion des exceptions. Il ne comprend pas une
117 bibliothéque C++ standard, qui est disponible séparément.
119 %description c++ -l pl
120 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
121 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
122 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
124 %description c++ -l pt_BR
125 Este pacote adiciona suporte C++ para o gcc.
127 %description c++ -l tr
128 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
129 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
130 C++ kitaplýðý bu pakette yer almaz.
133 Summary: Objective C support for gcc
134 Summary(de): Objektive C-Unterstützung für gcc
135 Summary(fr): Gestion d'Objective C pour gcc
136 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
137 Summary(tr): gcc için Objective C desteði
138 Group: Development/Languages
141 Requires: libobjc = %{GCC_VERSION}
142 Requires: gcc = %{GCC_VERSION}
145 This package adds Objective C support to the GNU C compiler. Objective
146 C is a object oriented derivative of the C language, mainly used on
147 systems running NeXTSTEP. This package does not include the standard
148 objective C object library.
150 %description objc -l de
151 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
152 Objective C ist ein objektorientiertes Derivat von C, das zur
153 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
154 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
156 %description objc -l fr
157 Ce package ajoute un support Objective C au compilateur C GNU.
158 L'Objective C est un langage orienté objetdérivé du langage C,
159 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
160 pas la bibliothéque Objective C standard.
162 %description objc -l pl
163 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
164 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
165 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
166 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
168 %description objc -l tr
169 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
170 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
171 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
172 kitaplýðý bu pakette yer almaz.
175 Summary: Objective C Libraries
176 Summary(pl): Biblioteki Obiektowego C
178 Version: %{GCC_VERSION}
181 %description -n libobjc
182 Objective C Libraries.
184 %description -n libobjc -l pl
185 Biblioteki Obiektowego C.
187 %package -n libobjc-static
188 Summary: Static Objective C Libraries
189 Summary(pl): Statyczne Biblioteki Obiektowego C
190 Group: Development/Libraries
191 Version: %{GCC_VERSION}
192 Requires: libobjc = %{GCC_VERSION}
194 %description -n libobjc-static
195 Static Objective C Libraries.
197 %description -n libobjc-static -l pl
198 Statyczne biblioteki Obiektowego C.
201 Summary: Fortran 77 support for gcc
202 Summary(pl): Obs³uga Fortranu 77 dla gcc
203 Summary(pt_BR): Suporte Fortran 77 para o GCC
204 Group: Development/Languages/Fortran
205 Version: %{GCC_VERSION}
207 Requires: libg2c = %{GCC_VERSION}
210 This apckage adds support for compiling Fortran 77 programs with the
213 %description g77 -l pl
214 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
215 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
217 %description g77 -l pt_BR
218 Suporte Fortran 77 para o GCC.
221 Summary: Fortran 77 Libraries
222 Summary(pl): Biblioteki Fortranu 77
224 Version: %{GCC_VERSION}
226 %description -n libg2c
227 Fortran 77 Libraries.
229 %description -n libg2c -l pl
230 Biblioteki Fortranu 77.
232 %package -n libg2c-static
233 Summary: Static Fortran 77 Libraries
234 Summary(pl): Statyczne Biblioteki Fortranu 77
235 Group: Development/Libraries
236 Version: %{GCC_VERSION}
237 Requires: libg2c = %{GCC_VERSION}
239 %description -n libg2c-static
240 Static Fortran 77 Libraries.
242 %description -n libg2c-static -l pl
243 Statyczne biblioteki Fortranu 77.
246 Summary: Java support for gcc
247 Summary(pl): Obs³uga Javy dla gcc
248 Group: Development/Languages/Java
249 Version: %{GCC_VERSION}
250 Requires: %{name} = %{version}
251 Requires: libgcj >= 3.0.0
252 Requires: libgcj-devel >= 3.0.0
253 Requires: java-shared
254 Provides: gcj = %{epoch}:%{GCC_VERSION}-%{release}
257 This package adds experimental support for compiling Java(tm) programs
258 and bytecode into native code. To use this you will also need the
261 %description -l pl java
262 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
263 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
264 by³o przeprowadziæ kompilacjê.
267 Summary: Shared java tools
268 Summary(pl): Wspó³dzielone narzêdzia javy
269 Group: Development/Languages/Java
270 Version: %{GCC_VERSION}
271 Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
272 Provides: java-shared
274 Obsoletes: java-shared
277 %description java-tools
278 This package contains tools that are common for every Java(tm) implementation,
281 %description java-tools -l pl
282 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
286 Summary: Java Class Libraries
287 Summary(pl): Biblioteki Klas Javy
289 Version: %{GCC_VERSION}
293 %description -n libgcj
294 Java Class Libraries.
296 %description -n libgcj -l pl
297 Biblioteki Klas Javy.
299 %package -n libgcj-devel
300 Summary: Development files for Java Class Libraries
301 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
302 Group: Development/Libraries
303 Version: %{GCC_VERSION}
304 Requires: libgcj = %{GCC_VERSION}
305 Requires: %{name}-java
306 Obsoletes: libgcj3-devel
308 %description -n libgcj-devel
309 Development files for Java Class Libraries.
311 %description -n libgcj-devel -l pl
312 Pliki nag³ówkowe dla Bibliotek Klas Javy.
314 %package -n libgcj-static
315 Summary: Static Java Class Libraries
316 Summary(pl): Statyczne Biblioteki Klas Javy
317 Group: Development/Libraries
318 Version: %{GCC_VERSION}
319 Requires: libstdc++-devel = %{GCC_VERSION}
320 Requires: libgcj-devel = %{GCC_VERSION}
322 %description -n libgcj-static
323 Static Java Class Libraries.
325 %description -n libgcj-static -l pl
326 Statyczne Biblioteki Klas Javy.
328 %package -n libstdc++
329 Summary: GNU c++ library
330 Summary(pl): Biblioteki GNU C++
331 Summary(pt_BR): Biblioteca C++ GNU
333 Version: %{GCC_VERSION}
335 Obsoletes: libstdc++3
337 %description -n libstdc++
338 This is the GNU implementation of the standard C++ libraries, along
339 with additional GNU tools. This package includes the shared libraries
340 necessary to run C++ applications.
342 %description -n libstdc++ -l de
343 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
344 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
345 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
347 %description -n libstdc++ -l es
348 Este es el soporte de las bibliotecas padrón del C++, junto con
349 herramientas GNU adicionales. El paquete incluye las bibliotecas
350 compartidas necesarias para ejecutar aplicaciones C++.
352 %description -n libstdc++ -l fr
353 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
354 des outils GNU supplémentaires. Ce package comprend les librairies
355 partagées nécessaires à l'exécution d'application C++.
357 %description -n libstdc++ -l pl
358 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
359 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
360 uruchomienia aplikacji napisanych w C++.
362 %description -n libstdc++ -l pt_BR
363 Este pacote é uma implementação da biblioteca padrão C++ v3, um
364 subconjunto do padrão ISO 14882.
366 %description -n libstdc++ -l tr
367 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
368 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
370 %package -n libstdc++-devel
371 Summary: Header files and documentatino for C++ development
372 Summary(de): Header-Dateien zur Entwicklung mit C++
373 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
374 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
375 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
376 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
377 Group: Development/Libraries
378 Version: %{GCC_VERSION}
379 Requires: libstdc++ = %{GCC_VERSION}
380 Requires: %{name}-c++ = %{GCC_VERSION}
381 Obsoletes: libg++-devel
382 Obsoletes: libstdc++3-devel
384 %description -n libstdc++-devel
385 This is the GNU implementation of the standard C++ libraries. This
386 package includes the header files needed for C++ development and
387 library documentation.
389 %description -n libstdc++-devel -l es
390 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este paquete
391 incluye los archivos de inclusión y bibliotecas necesarios para desarrollo de
392 programas en lenguaje C++.
394 %description -n libstdc++-devel -l pl
395 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
396 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
397 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
399 %description -n libstdc++-devel -l pt_BR
400 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias para
401 desenvolvimento de programas C++.
403 %package -n libstdc++-static
404 Summary: Static C++ standard library
405 Summary(pl): Statyczna biblioteka standardowa C++
406 Group: Development/Libraries
407 Version: %{GCC_VERSION}
408 Requires: libstdc++-devel = %{GCC_VERSION}
410 %description -n libstdc++-static
411 Static C++ standard library.
413 %description -n libstdc++-static -l pl
414 Statycza biblioteka standardowa C++.
417 Summary: Foreign Function Interface library
418 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
420 Version: %{GCC_VERSION}
422 %description -n libffi
423 The libffi library provides a portable, high level programming
424 interface to various calling conventions. This allows a programmer to
425 call any function specified by a call interface description at run
428 %description -n libffi -l pl
429 Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego miêdzymordzia
430 do ró¿nych konwencji wywo³añ funkcji. Pozwala to programi¶cie wywo³ywaæ
431 dowolne funkcje podaj±c konwencjê wywo³ania w czasie wykonania.
433 %package -n libffi-devel
434 Summary: Development files for Foreign Function Interface library
435 Summary(pl): Pliki nag³ówkowe dla libffi
436 Group: Development/Libraries
437 Version: %{GCC_VERSION}
438 Requires: libffi = %{GCC_VERSION}
440 %description -n libffi-devel
441 Development files for Foreign Function Interface library.
443 %description -n libffi-devel -l pl
444 Pliki nag³ówkowe dla libffi.
446 %package -n libffi-static
447 Summary: Static Foreign Function Interface library
448 Summary(pl): Statyczna biblioteka libffi
449 Group: Development/Libraries
450 Version: %{GCC_VERSION}
451 Requires: libffi-devel = %{GCC_VERSION}
453 %description -n libffi-static
454 Static Foreign Function Interface library.
456 %description -n libffi-static -l pl
457 Statyczna biblioteka libffi.
460 Summary: Ada support for gcc
461 Summary(pl): Obs³uga Ady do gcc
462 Group: Development/Languages
463 Version: %{GCC_VERSION}
464 Requires: libgnat = %{GCC_VERSION}
465 Requires: gcc = %{GCC_VERSION}
467 Obsoletes: gnat-devel
470 This package adds experimental support for compiling Ada programs.
472 %description -l pl ada
473 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
477 Summary: Ada standard libraries
478 Summary(pl): Biblioteki standardowe dla Ady
480 Version: %{GCC_VERSION}
484 %description -n libgnat
485 This package contains shared libraries needed to run programs written
488 %description -n libgnat -l pl
489 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
492 %package -n libgnat-static
493 Summary: Static Ada standard libraries
494 Summary(pl): Statyczne biblioteki standardowe dla Ady
496 Version: %{GCC_VERSION}
497 Obsoletes: gnat-static
499 %description -n libgnat-static
500 This package contains static libraries for programs written in Ada.
502 %description -n libgnat-static -l pl
503 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
507 Summary: Ksi support for gcc
508 Summary(pl): Obs³uga Ksi dla gcc
509 Version: %{GCC_VERSION}.%{KSI_VERSION}
510 Group: Development/Languages
511 Requires: gcc = %{GCC_VERSION}
514 This package adds experimental support for compiling Ksi programs
515 into native code. You proabably don't need it, unless your are going
516 to develop a compiler using Ksi as intermediate representation or
517 you are using such compiler (like Gont).
519 %description ksi -l pl
520 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
521 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
522 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
523 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
526 Summary: The C Pre Processor
527 Summary(pl): Preprocesor C
528 Summary(pt_BR): Preprocessador para a linguagem C
529 Group: Development/Languages
530 Version: %{GCC_VERSION}
535 The C preprocessor is a "macro processor" that is used automatically
536 by the C compiler to transform your program before actual compilation.
537 It is called a macro processor because it allows you to define
538 "macros", which are brief abbreviations for longer constructs.
540 The C preprocessor provides four separate facilities that you can use
543 - Inclusion of header files. These are files of declarations that can
544 be substituted into your program.
545 - Macro expansion. You can define "macros", which are abbreviations
546 for arbitrary fragments of C code, and then the C preprocessor will
547 replace the macros with their definitions throughout the program.
548 - Conditional compilation. Using special preprocessing directives, you
549 can include or exclude parts of the program according to various
551 - Line control. If you use a program to combine or rearrange source
552 files into an intermediate file which is then compiled, you can use
553 line control to inform the compiler of where each source line
554 originally came from.
556 %description -n cpp -l es
557 Um preprocessador para a linguagem C.
559 %description -n cpp -l pl
560 Przeprocesor C jest "makro procesorem" który jest automatycznie
561 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
562 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
563 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
564 d³ugich konstrukcji w jêzyku C.
566 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
568 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
569 deklaracji polecenia do³±czenia innego pliku.
570 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
571 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
572 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
573 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
574 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
575 fragmenty obrabianego strumienia tekstów.
576 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
577 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
578 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
579 odpowiada fragment pliku wynikowego.
581 %description -n cpp -l pt_BR
582 O preprocessador C é um "processador de macros", que é utilizado pelo
583 compilador C para fazer algumas modificações no seu programa, antes da
584 compilação em si. Ele é chamado de "processador de macros" porque
585 permite a você definir "macros", que são abreviações para construções
588 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
589 arquivos de cabeçalho; expansão de macros; compilação condicional;
590 e controle da numeração das linhas do programa.
593 %setup -q -a1 -n %{name}-%{GCC_VERSION}
594 mv ksi-%{KSI_VERSION} gcc/ksi
618 # because we distribute modified version of gcc...
619 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
620 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld.org.pl/>";@' gcc/version.c
623 # cd gcc && autoconf; cd ..
624 # autoconf is not needed!
625 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
627 CFLAGS="%{rpmcflags}" \
628 CXXFLAGS="%{rpmcflags}" \
629 TEXCONFIG=false ../configure \
630 --prefix=%{_prefix} \
631 --infodir=%{_infodir} \
632 --mandir=%{_mandir} \
634 --enable-threads=posix \
635 --enable-__cxa_atexit \
636 --enable-languages="c,c++,f77%{?!_without_objc:,objc}%{?_with_ada:,ada}%{!?_without_java:,java},ksi" \
644 --with-slibdir=%{_slibdir} \
648 PATH=$PATH:/sbin:%{_sbindir}
650 # this dirty hack is relict of setting, where objdir is subdir of srcdir
652 sed -e 's/srcdir=\$(fsrcdir)/srcdir=\$(fsrcdir) VPATH=\$(fsrcdir)/' \
653 gcc/ada/Makefile > makefile.tmp
654 mv -f makefile.tmp gcc/ada/Makefile
658 %{__make} -C obj-%{_target_platform} bootstrap-lean \
659 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
664 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
665 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
671 rm -rf $RPM_BUILD_ROOT
672 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
674 cd obj-%{_target_platform}
675 PATH=$PATH:/sbin:%{_sbindir}
678 DESTDIR=$RPM_BUILD_ROOT
680 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
681 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
683 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
684 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
687 # move ada shared libraries to proper place...
688 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1 \
689 $RPM_BUILD_ROOT%{_libdir}/
690 # check if symlink to be made is valid
691 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so.1
692 ln -sf libgnat-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so
693 ln -sf libgnarl-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.15.so
694 ln -sf libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
695 ln -sf libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
698 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
702 %if %{!?_without_java:1}%{?_without_java:0}
704 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
705 cp -f fastjar/README java-doc/README.fastjar
706 cp -f libffi/README java-doc/README.libffi
707 cp -f libffi/LICENSE java-doc/LICENSE.libffi
710 %if %{?!_without_objc:1}0
711 cp -f libobjc/README gcc/objc/README.libobjc
714 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
715 for f in libstdc++.la libsupc++.la %{!?_without_java:libgcj.la} ; do
716 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
718 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
719 for f in libstdc++.la libsupc++.la libg2c.la \
720 %{!?_without_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
721 %{!?_without_objc:libobjc.la}; do
722 perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
725 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
726 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
728 # include/ contains install-tools/include/* and headers that were fixed up
729 # by fixincludes, we don't want former
730 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/)
732 # we have to save these however
733 mv -f $gccdir/include/{%{?!_without_objc:objc,}g2c.h,syslimits.h%{?!_without_java:,gcj}} $gccdir/tmp
734 rm -rf $gccdir/include
735 mv -f $gccdir/tmp $gccdir/include
736 cp $gccdir/install-tools/include/*.h $gccdir/include
737 # but we don't want anything more from install-tools
738 rm -rf $gccdir/install-tools/
741 %find_lang libstdc\+\+
744 rm -rf $RPM_BUILD_ROOT
747 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
750 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
753 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
756 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
759 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
762 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
765 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
768 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
771 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
774 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
776 %post -p /sbin/ldconfig -n libgcc
777 %postun -p /sbin/ldconfig -n libgcc
778 %post -p /sbin/ldconfig -n libstdc++
779 %postun -p /sbin/ldconfig -n libstdc++
780 %post -p /sbin/ldconfig -n libobjc
781 %postun -p /sbin/ldconfig -n libobjc
782 %post -p /sbin/ldconfig -n libg2c
783 %postun -p /sbin/ldconfig -n libg2c
784 %post -p /sbin/ldconfig -n libgcj
785 %postun -p /sbin/ldconfig -n libgcj
786 %post -p /sbin/ldconfig -n libgnat
787 %postun -p /sbin/ldconfig -n libgnat
788 %post -p /sbin/ldconfig -n libffi
789 %postun -p /sbin/ldconfig -n libffi
791 %files -f %{name}.lang
792 %defattr(644,root,root,755)
794 %dir %{_libdir}/gcc-lib
795 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
796 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
797 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
798 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
799 %attr(755,root,root) %{_bindir}/gcc
800 %attr(755,root,root) %{_bindir}/gccbug
801 %attr(755,root,root) %{_bindir}/gcov
802 %attr(755,root,root) %{_bindir}/cc
804 %{_mandir}/man1/gcc.1*
805 %{_mandir}/man1/cc.1*
806 %{_mandir}/man1/gcov.1*
807 %lang(fr) %{_mandir}/fr/man1/gcc.1*
808 %lang(ja) %{_mandir}/ja/man1/gcc.1*
811 %attr(755,root,root) %{_slibdir}/lib*.so
812 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
813 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
814 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
815 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
817 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
818 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
819 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
822 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
823 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
825 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/*.h
826 %exclude %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
829 %defattr(644,root,root,755)
830 %attr(755,root,root) %{_slibdir}/lib*.so.*
833 %defattr(644,root,root,755)
834 %attr(755,root,root) %{_bindir}/g++
835 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
836 %attr(755,root,root) %{_bindir}/c++
837 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
838 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
839 %{_libdir}/libsupc++.la
841 %{_libdir}/nof/libsupc++.la
842 %{_libdir}/nof/libsupc++.a
844 %{_libdir}/libsupc++.a
845 %{_mandir}/man1/g++.1*
846 %lang(ja) %{_mandir}/ja/man1/g++.1*
848 %files -n libstdc++ -f libstdc++.lang
849 %defattr(644,root,root,755)
850 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
852 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
855 %files -n libstdc++-devel
856 %defattr(644,root,root,755)
857 %doc libstdc++-v3/docs/html
858 %dir %{_includedir}/c++
859 %{_includedir}/c++/%{GCC_VERSION}
860 %attr(755,root,root) %{_libdir}/libstdc++.so
861 %{_libdir}/libstdc++.la
863 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
864 %{_libdir}/nof/libstdc++.la
867 %files -n libstdc++-static
868 %defattr(644,root,root,755)
869 %{_libdir}/libstdc++.a
871 %{_libdir}/nof/libstdc++.a
874 %if %{?!_without_objc:1}0
876 %defattr(644,root,root,755)
878 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
879 %attr(755,root,root) %{_libdir}/libobjc.so
880 %{_libdir}/libobjc.la
882 %attr(755,root,root) %{_libdir}/nof/libobjc.so
883 %{_libdir}/nof/libobjc.la
885 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
888 %defattr(644,root,root,755)
889 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
891 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
894 %files -n libobjc-static
895 %defattr(644,root,root,755)
898 %{_libdir}/nof/libobjc.a
903 %defattr(644,root,root,755)
904 %attr(755,root,root) %{_bindir}/g77
905 %attr(755,root,root) %{_bindir}/f77
907 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
908 %{_libdir}/libfrtbegin.a
910 %attr(755,root,root) %{_libdir}/libg2c.so
912 %{_libdir}/nof/libfrtbegin.a
913 %{_libdir}/nof/libg2c.la
914 %attr(755,root,root) %{_libdir}/nof/libg2c.so
916 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
917 %{_mandir}/man1/g77.1*
918 %{_mandir}/man1/f77.1*
919 %lang(ja) %{_mandir}/ja/man1/g77.1*
920 %lang(ja) %{_mandir}/ja/man1/f77.1*
923 %defattr(644,root,root,755)
924 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
926 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
929 %files -n libg2c-static
930 %defattr(644,root,root,755)
933 %{_libdir}/nof/libg2c.a
936 %if %{!?_without_java:1}%{?_without_java:0}
938 %defattr(644,root,root,755)
940 %attr(755,root,root) %{_bindir}/gcj*
941 %attr(755,root,root) %{_bindir}/gij
942 %attr(755,root,root) %{_bindir}/jcf-dump
943 %attr(755,root,root) %{_bindir}/jv-*
944 %attr(755,root,root) %{_bindir}/grepjar
945 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcj
946 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
947 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
949 %{_mandir}/man1/jcf-*
953 %{_mandir}/man1/grepjar*
956 %defattr(644,root,root,755)
957 %attr(755,root,root) %{_bindir}/rmi*
958 %attr(755,root,root) %{_bindir}/jar
964 %defattr(644,root,root,755)
965 %attr(755,root,root) %{_bindir}/addr2name.awk
966 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
967 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
969 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
972 %files -n libgcj-devel
973 %defattr(644,root,root,755)
980 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
981 %dir %{_libdir}/security
982 %{_libdir}/security/*
983 %dir %{_datadir}/java
984 %{_datadir}/java/libgcj*.jar
985 %{_libdir}/lib*cj.spec
986 %{_libdir}/lib*cj*.la
987 %attr(755,root,root) %{_libdir}/lib*cj*.so
988 %attr(755,root,root) %{_libdir}/lib-org-*.so
989 %{_libdir}/lib-org-*.la
991 %{_libdir}/nof/lib*cj*.la
992 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
995 %files -n libgcj-static
996 %defattr(644,root,root,755)
998 %{_libdir}/lib-org-*.a
1000 %{_libdir}/nof/lib*cj*.a
1004 %defattr(644,root,root,755)
1005 %attr(755,root,root) %{_libdir}/libffi-*.so
1007 %files -n libffi-devel
1008 %defattr(644,root,root,755)
1009 %attr(755,root,root) %{_libdir}/libffi.so
1010 %{_libdir}/libffi.la
1013 %files -n libffi-static
1014 %defattr(644,root,root,755)
1018 %if 0%{?_with_ada:1}
1020 %defattr(644,root,root,755)
1021 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
1022 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
1023 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
1024 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
1026 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
1028 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
1029 %attr(755,root,root) %{_bindir}/gnat*
1031 %attr(755,root,root) %{_libdir}/libgnat*.so
1032 %attr(755,root,root) %{_libdir}/libgnarl*.so
1035 %defattr(644,root,root,755)
1036 %attr(755,root,root) %{_libdir}/libgna*.so.1
1038 %files -n libgnat-static
1039 %defattr(644,root,root,755)
1040 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
1044 %defattr(644,root,root,755)
1045 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
1047 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
1050 %defattr(644,root,root,755)
1051 %attr(755,root,root) %{_slibdir}/cpp
1052 %attr(755,root,root) %{_bindir}/cpp
1053 %{_mandir}/man1/cpp.1*
1054 %lang(ja) %{_mandir}/ja/man1/cpp.1*