3 # _without_ada - build without 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.2.2
10 %define KSI_VERSION pre55
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}-slibdir.patch
25 Patch1: %{name}-paths.patch
26 Patch2: %{name}-ada-no-addr2line.patch
27 Patch3: %{name}-ada-no-prefix.o.patch
28 Patch4: %{name}-nolocalefiles.patch
29 Patch5: %{name}-gcc-page.c.patch
30 Patch6: %{name}-info.patch
31 Patch7: %{name}-ada-link-new-libgnat.patch
32 # -- stolen patches from RH --
33 Patch10: gcc32-ada-link.patch
34 Patch11: gcc32-attr-visibility.patch
35 Patch12: gcc32-attr-visibility2.patch
36 Patch13: gcc32-attr-visibility3.patch
37 Patch14: gcc32-attr-visibility4.patch
38 Patch15: gcc32-attr-visibility5.patch
39 Patch16: gcc32-boehm-gc-libs.patch
40 Patch17: gcc32-bogus-inline.patch
41 Patch18: gcc32-c++-nrv-test.patch
42 Patch19: gcc32-c++-pretty_function.patch
43 Patch20: gcc32-c++-tsubst-asm.patch
44 Patch21: gcc32-cfg-eh.patch
45 Patch22: gcc32-debug-pr7241.patch
47 Patch24: gcc32-duplicate-decl.patch
48 Patch25: gcc32-dwarf2-pr6381.patch
49 Patch26: gcc32-dwarf2-pr6436-test.patch
50 Patch27: gcc32-fde-merge-compat.patch
52 Patch29: gcc32-hard-reg-sharing.patch
53 Patch30: gcc32-hard-reg-sharing2.patch
54 Patch31: gcc32-i386-default-momit-leaf-frame-pointer.patch
55 Patch32: gcc32-i386-memtest-test.patch
56 Patch33: gcc32-i386-no-default-momit-leaf-frame-pointer.patch
57 Patch34: gcc32-i386-pic-label-thunk.patch
58 Patch35: gcc32-i386-profile-olfp.patch
59 Patch36: gcc32-inline-label.patch
60 Patch37: gcc32-java-no-rpath.patch
61 Patch38: gcc32-pr6842.patch
62 Patch39: gcc32-sparc-sll1.patch
63 Patch40: gcc32-test-rh65771.patch
64 Patch41: gcc32-test-rotate.patch
65 Patch42: gcc32-tls-dwarf2.patch
66 Patch43: gcc32-tls.patch
67 Patch44: gcc32-tls2.patch
68 Patch45: gcc32-tls3.patch
69 Patch46: gcc32-tls4.patch
70 Patch47: gcc32-tls5.patch
71 BuildRequires: autoconf
73 BuildRequires: fileutils >= 4.0.41
75 %{!?_without_ada:BuildRequires: gcc-ada}
76 BuildRequires: glibc-devel >= 2.2.5-20
77 BuildRequires: perl-devel
78 BuildRequires: texinfo >= 4.1
79 BuildRequires: zlib-devel
80 BuildRequires: gettext-devel
81 Requires: binutils >= 2.12.90.0.4
82 Requires: cpp = %{GCC_VERSION}
83 Requires: libgcc = %{GCC_VERSION}
84 Conflicts: glibc-devel < 2.2.5-20
85 URL: http://gcc.gnu.org/
86 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
91 A compiler aimed at integrating all the optimizations and features
92 necessary for a high-performance and stable development environment.
95 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
96 wyprodukowania szybkiego i stablinego kodu wynikowego.
99 Este pacote adiciona infraestrutura básica e suporte a linguagem C
100 ao Gnu Compiler Collection.
103 Summary: Shared gcc library
104 Summary(pl): Biblioteka gcc
105 Summary(pt_BR): Biblioteca runtime para o GCC
107 Version: %{GCC_VERSION}
110 %description -n libgcc
113 %description -n libgcc -l pl
114 Biblioteka dynamiczna gcc.
116 %description -n libgcc -l pt_BR
117 Biblioteca runtime para o GCC.
120 Summary: C++ support for gcc
121 Summary(pl): Obs³uga C++ dla gcc
122 Summary(pt_BR): Suporte C++ para o gcc
123 Group: Development/Languages
126 Requires: gcc = %{GCC_VERSION}
129 This package adds C++ support to the GNU C compiler. It includes
130 support for most of the current C++ specification, including templates
131 and exception handling. It does not include a standard C++ library,
132 which is available separately.
134 %description c++ -l de
135 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
136 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
137 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
138 sie ist getrennt erhältlich.
140 %description c++ -l fr
141 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
142 support pour la plupart des spécifications actuelles de C++, dont les
143 modéles et la gestion des exceptions. Il ne comprend pas une
144 bibliothéque C++ standard, qui est disponible séparément.
146 %description c++ -l pl
147 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
148 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
149 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
151 %description c++ -l pt_BR
152 Este pacote adiciona suporte C++ para o gcc.
154 %description c++ -l tr
155 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
156 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
157 C++ kitaplýðý bu pakette yer almaz.
160 Summary: Objective C support for gcc
161 Summary(de): Objektive C-Unterstützung für gcc
162 Summary(fr): Gestion d'Objective C pour gcc
163 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
164 Summary(tr): gcc için Objective C desteði
165 Group: Development/Languages
168 Requires: libobjc = %{GCC_VERSION}
169 Requires: gcc = %{GCC_VERSION}
172 This package adds Objective C support to the GNU C compiler. Objective
173 C is a object oriented derivative of the C language, mainly used on
174 systems running NeXTSTEP. This package does not include the standard
175 objective C object library.
177 %description objc -l de
178 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
179 Objective C ist ein objektorientiertes Derivat von C, das zur
180 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
181 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
183 %description objc -l fr
184 Ce package ajoute un support Objective C au compilateur C GNU.
185 L'Objective C est un langage orienté objetdérivé du langage C,
186 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
187 pas la bibliothéque Objective C standard.
189 %description objc -l pl
190 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
191 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
192 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
193 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
195 %description objc -l tr
196 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
197 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
198 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
199 kitaplýðý bu pakette yer almaz.
202 Summary: Objective C Libraries
203 Summary(pl): Biblioteki Obiektowego C
205 Version: %{GCC_VERSION}
208 %description -n libobjc
209 Objective C Libraries.
211 %description -n libobjc -l pl
212 Biblioteki Obiektowego C.
214 %package -n libobjc-static
215 Summary: Static Objective C Libraries
216 Summary(pl): Statyczne Biblioteki Obiektowego C
217 Group: Development/Libraries
218 Version: %{GCC_VERSION}
219 Requires: libobjc = %{GCC_VERSION}
221 %description -n libobjc-static
222 Static Objective C Libraries.
224 %description -n libobjc-static -l pl
225 Statyczne biblioteki Obiektowego C.
228 Summary: Fortran 77 support for gcc
229 Summary(pl): Obs³uga Fortranu 77 dla gcc
230 Summary(pt_BR): Suporte Fortran 77 para o GCC
231 Group: Development/Languages/Fortran
232 Version: %{GCC_VERSION}
234 Requires: libg2c = %{GCC_VERSION}
237 This apckage adds support for compiling Fortran 77 programs with the
240 %description g77 -l pl
241 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
242 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
244 %description g77 -l pt_BR
245 Suporte Fortran 77 para o GCC.
248 Summary: Fortran 77 Libraries
249 Summary(pl): Biblioteki Fortranu 77
251 Version: %{GCC_VERSION}
253 %description -n libg2c
254 Fortran 77 Libraries.
256 %description -n libg2c -l pl
257 Biblioteki Fortranu 77.
259 %package -n libg2c-static
260 Summary: Static Fortran 77 Libraries
261 Summary(pl): Statyczne Biblioteki Fortranu 77
262 Group: Development/Libraries
263 Version: %{GCC_VERSION}
264 Requires: libg2c = %{GCC_VERSION}
266 %description -n libg2c-static
267 Static Fortran 77 Libraries.
269 %description -n libg2c-static -l pl
270 Statyczne biblioteki Fortranu 77.
273 Summary: Java support for gcc
274 Summary(pl): Obs³uga Javy dla gcc
275 Group: Development/Languages/Java
276 Version: %{GCC_VERSION}
277 Requires: %{name} = %{version}
278 Requires: libgcj >= 3.0.0
279 Requires: libgcj-devel >= 3.0.0
280 Requires: java-shared
281 Provides: gcj = %{epoch}:%{GCC_VERSION}-%{release}
284 This package adds experimental support for compiling Java(tm) programs
285 and bytecode into native code. To use this you will also need the
288 %description -l pl java
289 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
290 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
291 by³o przeprowadziæ kompilacjê.
294 Summary: Shared java tools
295 Summary(pl): Wspó³dzielone narzêdzia javy
296 Group: Development/Languages/Java
297 Version: %{GCC_VERSION}
298 Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
299 Provides: java-shared
301 Obsoletes: java-shared
304 %description java-tools
305 This package contains tools that are common for every Java(tm) implementation,
308 %description java-tools -l pl
309 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
313 Summary: Java Class Libraries
314 Summary(pl): Biblioteki Klas Javy
316 Version: %{GCC_VERSION}
320 %description -n libgcj
321 Java Class Libraries.
323 %description -n libgcj -l pl
324 Biblioteki Klas Javy.
326 %package -n libgcj-devel
327 Summary: Development files for Java Class Libraries
328 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
329 Group: Development/Libraries
330 Version: %{GCC_VERSION}
331 Requires: libgcj = %{GCC_VERSION}
332 Requires: %{name}-java
333 Obsoletes: libgcj3-devel
335 %description -n libgcj-devel
336 Development files for Java Class Libraries.
338 %description -n libgcj-devel -l pl
339 Pliki nag³ówkowe dla Bibliotek Klas Javy.
341 %package -n libgcj-static
342 Summary: Static Java Class Libraries
343 Summary(pl): Statyczne Biblioteki Klas Javy
344 Group: Development/Libraries
345 Version: %{GCC_VERSION}
346 Requires: libstdc++-devel = %{GCC_VERSION}
347 Requires: libgcj-devel = %{GCC_VERSION}
349 %description -n libgcj-static
350 Static Java Class Libraries.
352 %description -n libgcj-static -l pl
353 Statyczne Biblioteki Klas Javy.
355 %package -n libstdc++
356 Summary: GNU c++ library
357 Summary(pl): Biblioteki GNU C++
358 Summary(pt_BR): Biblioteca C++ GNU
360 Version: %{GCC_VERSION}
362 Obsoletes: libstdc++3
364 %description -n libstdc++
365 This is the GNU implementation of the standard C++ libraries, along
366 with additional GNU tools. This package includes the shared libraries
367 necessary to run C++ applications.
369 %description -n libstdc++ -l de
370 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
371 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
372 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
374 %description -n libstdc++ -l es
375 Este es el soporte de las bibliotecas padrón del C++, junto con
376 herramientas GNU adicionales. El paquete incluye las bibliotecas
377 compartidas necesarias para ejecutar aplicaciones C++.
379 %description -n libstdc++ -l fr
380 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
381 des outils GNU supplémentaires. Ce package comprend les librairies
382 partagées nécessaires à l'exécution d'application C++.
384 %description -n libstdc++ -l pl
385 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
386 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
387 uruchomienia aplikacji napisanych w C++.
389 %description -n libstdc++ -l pt_BR
390 Este pacote é uma implementação da biblioteca padrão C++ v3, um
391 subconjunto do padrão ISO 14882.
393 %description -n libstdc++ -l tr
394 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
395 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
397 %package -n libstdc++-devel
398 Summary: Header files and documentatino for C++ development
399 Summary(de): Header-Dateien zur Entwicklung mit C++
400 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
401 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
402 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
403 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
404 Group: Development/Libraries
405 Version: %{GCC_VERSION}
406 Requires: libstdc++ = %{GCC_VERSION}
407 Requires: %{name}-c++
408 Obsoletes: libg++-devel
409 Obsoletes: libstdc++3-devel
411 %description -n libstdc++-devel
412 This is the GNU implementation of the standard C++ libraries. This
413 package includes the header files needed for C++ development and
414 library documentation.
416 %description -n libstdc++-static -l es
417 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este paquete
418 incluye los archivos de inclusión y bibliotecas necesarios para desarrollo de
419 programas en lenguaje C++.
421 %description -n libstdc++-devel -l pl
422 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
423 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
424 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
426 %description -n libstdc++-static -l pt_BR
427 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias para
428 desenvolvimento de programas C++.
430 %package -n libstdc++-static
431 Summary: Static C++ standard library
432 Summary(pl): Statyczna biblioteka standardowa C++
433 Group: Development/Libraries
434 Version: %{GCC_VERSION}
435 Requires: libstdc++-devel = %{GCC_VERSION}
437 %description -n libstdc++-static
438 Static C++ standard library.
440 %description -n libstdc++-static -l pl
441 Statycza biblioteka standardowa C++.
444 Summary: Ada support for gcc
445 Summary(pl): Obs³uga Ady do gcc
446 Group: Development/Languages
447 Version: %{GCC_VERSION}
448 Requires: libgnat = %{GCC_VERSION}
449 Requires: gcc = %{GCC_VERSION}
451 Obsoletes: gnat-devel
454 This package adds experimental support for compiling Ada programs.
456 %description -l pl ada
457 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
461 Summary: Ada standard libraries
462 Summary(pl): Biblioteki standardowe dla Ady
464 Version: %{GCC_VERSION}
468 %description -n libgnat
469 This package contains shared libraries needed to run programs written
472 %description -n libgnat -l pl
473 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
476 %package -n libgnat-static
477 Summary: Static Ada standard libraries
478 Summary(pl): Statyczne biblioteki standardowe dla Ady
480 Version: %{GCC_VERSION}
481 Obsoletes: gnat-static
483 %description -n libgnat-static
484 This package contains static libraries for programs written in Ada.
486 %description -n libgnat-static -l pl
487 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
491 Summary: Ksi support for gcc
492 Summary(pl): Obs³uga Ksi dla gcc
493 Version: %{GCC_VERSION}.%{KSI_VERSION}
494 Group: Development/Languages
495 Requires: gcc = %{GCC_VERSION}
498 This package adds experimental support for compiling Ksi programs
499 into native code. You proabably don't need it, unless your are going
500 to develop a compiler using Ksi as intermediate representation or
501 you are using such compiler (like Gont).
503 %description ksi -l pl
504 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
505 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
506 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
507 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
510 Summary: The C Pre Processor
511 Summary(pl): Preprocesor C
512 Summary(pt_BR): Preprocessador para a linguagem C
513 Group: Development/Languages
514 Version: %{GCC_VERSION}
519 The C preprocessor is a "macro processor" that is used automatically
520 by the C compiler to transform your program before actual compilation.
521 It is called a macro processor because it allows you to define
522 "macros", which are brief abbreviations for longer constructs.
524 The C preprocessor provides four separate facilities that you can use
527 - Inclusion of header files. These are files of declarations that can
528 be substituted into your program.
529 - Macro expansion. You can define "macros", which are abbreviations
530 for arbitrary fragments of C code, and then the C preprocessor will
531 replace the macros with their definitions throughout the program.
532 - Conditional compilation. Using special preprocessing directives, you
533 can include or exclude parts of the program according to various
535 - Line control. If you use a program to combine or rearrange source
536 files into an intermediate file which is then compiled, you can use
537 line control to inform the compiler of where each source line
538 originally came from.
540 %description -n cpp -l es
541 Um preprocessador para a linguagem C.
543 %description -n cpp -l pl
544 Przeprocesor C jest "makro procesorem" który jest automatycznie
545 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
546 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
547 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
548 d³ugich konstrukcji w jêzyku C.
550 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
552 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
553 deklaracji polecenia do³±czenia innego pliku.
554 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
555 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
556 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
557 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
558 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
559 fragmenty obrabianego strumienia tekstów.
560 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
561 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
562 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
563 odpowiada fragment pliku wynikowego.
565 %description -n cpp -l pt_BR
566 O preprocessador C é um "processador de macros", que é utilizado pelo
567 compilador C para fazer algumas modificações no seu programa, antes da
568 compilação em si. Ele é chamado de "processador de macros" porque
569 permite a você definir "macros", que são abreviações para construções
572 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
573 arquivos de cabeçalho; expansão de macros; compilação condicional;
574 e controle da numeração das linhas do programa.
577 %setup -q -a1 -n %{name}-%{GCC_VERSION}
578 mv ksi-%{KSI_VERSION} gcc/ksi
628 perl -p -i -e 's/";/ (PLD Linux)";/' gcc/version.c
631 # cd gcc && autoconf; cd ..
632 # autoconf is not needed!
633 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
635 CFLAGS="%{rpmcflags}" \
636 CXXFLAGS="%{rpmcflags}" \
637 TEXCONFIG=false ../configure \
638 --prefix=%{_prefix} \
639 --infodir=%{_infodir} \
640 --mandir=%{_mandir} \
642 --enable-threads=posix \
643 --enable-__cxa_atexit \
644 --enable-languages="c,c++,f77,gcov%{?!_without_objc:,objc},ksi%{!?_without_ada:,ada}%{!?_without_java:,java}" \
652 --with-slibdir=%{_slibdir} \
656 PATH=$PATH:/sbin:%{_sbindir}
658 # this dirty hack is relict of setting, where objdir is subdir of srcdir
659 %if %{!?_without_ada:1}%{?_without_ada:0}
660 sed -e 's/srcdir=\$(fsrcdir)/srcdir=\$(fsrcdir) VPATH=\$(fsrcdir)/' \
661 gcc/ada/Makefile > makefile.tmp
662 mv -f makefile.tmp gcc/ada/Makefile
666 %{__make} -C obj-%{_target_platform} bootstrap-lean \
667 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
671 %if %{!?_without_ada:1}%{?_without_ada:0}
672 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
673 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
677 # make Gnat Reference Manual
678 %{__make} -C obj-%{_target_platform}/gcc/ada doc
682 rm -rf $RPM_BUILD_ROOT
683 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
685 cd obj-%{_target_platform}
686 PATH=$PATH:/sbin:%{_sbindir}
689 prefix=$RPM_BUILD_ROOT%{_prefix} \
690 mandir=$RPM_BUILD_ROOT%{_mandir} \
691 infodir=$RPM_BUILD_ROOT%{_infodir} \
692 slibdir=$RPM_BUILD_ROOT/lib
694 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
695 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
697 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
698 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
700 %if %{!?_without_ada:1}%{?_without_ada:0}
701 # move ada shared libraries to proper place...
702 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*-*so.1 \
703 $RPM_BUILD_ROOT%{_libdir}
704 rm -f $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1
705 (cd $RPM_BUILD_ROOT%{_libdir} && \
706 ln -s libgnat-*so.1 libgnat.so.1 && ln -s libgnat-*so.1 libgnat.so && \
707 ln -s libgnarl-*so.1 libgnarl.so.1 && ln -s libgnarl-*so.1 libgnarl.so)
710 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
714 %if %{!?_without_ada:1}%{?_without_ada:0}
715 install obj-%{_target_platform}/gcc/ada/gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}
716 install obj-%{_target_platform}/gcc/ada/gnat_ug_unx.info* $RPM_BUILD_ROOT%{_infodir}
719 %if %{!?_without_java:1}%{?_without_java:0}
721 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
722 cp -f fastjar/README java-doc/README.fastjar
723 cp -f libffi/README java-doc/README.libffi
724 cp -f libffi/LICENSE java-doc/LICENSE.libffi
727 %if %{?!_without_objc:1}0
728 cp -f libobjc/README gcc/objc/README.libobjc
731 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
732 for f in libstdc++.la %{!?_without_java:libgcj.la} ; do
733 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
736 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
737 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
740 %find_lang libstdc\+\+
743 rm -rf $RPM_BUILD_ROOT
746 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
749 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
752 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
755 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
758 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
761 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
764 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
767 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
770 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
773 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
775 %post -p /sbin/ldconfig -n libgcc
776 %postun -p /sbin/ldconfig -n libgcc
777 %post -p /sbin/ldconfig -n libstdc++
778 %postun -p /sbin/ldconfig -n libstdc++
779 %post -p /sbin/ldconfig -n libobjc
780 %postun -p /sbin/ldconfig -n libobjc
781 %post -p /sbin/ldconfig -n libg2c
782 %postun -p /sbin/ldconfig -n libg2c
783 %post -p /sbin/ldconfig -n libgcj
784 %postun -p /sbin/ldconfig -n libgcj
785 %post -p /sbin/ldconfig -n libgnat
786 %postun -p /sbin/ldconfig -n libgnat
788 %files -f %{name}.lang
789 %defattr(644,root,root,755)
791 %dir %{_libdir}/gcc-lib
792 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
793 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
794 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
795 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
796 %attr(755,root,root) %{_bindir}/gcc
797 %attr(755,root,root) %{_bindir}/gccbug
798 %attr(755,root,root) %{_bindir}/gcov
799 %attr(755,root,root) %{_bindir}/cc
801 %{_mandir}/man1/gcc.1*
802 %{_mandir}/man1/cc.1*
803 %{_mandir}/man1/gcov.1*
804 %lang(fr) %{_mandir}/fr/man1/gcc.1*
805 %lang(ja) %{_mandir}/ja/man1/gcc.1*
808 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
809 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
810 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
811 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
813 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
814 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
815 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
818 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
819 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
821 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
822 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
823 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
824 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
825 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
826 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
827 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
828 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
830 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/mmintrin.h
831 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/xmmintrin.h
834 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/altivec.h
835 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/ppc-asm.h
839 %defattr(644,root,root,755)
840 %attr(755,root,root) %{_slibdir}/lib*.so*
843 %defattr(644,root,root,755)
844 %attr(755,root,root) %{_bindir}/g++
845 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
846 %attr(755,root,root) %{_bindir}/c++
847 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
848 %attr(755,root,root) %{_bindir}/c++filt
849 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
850 %{_libdir}/libsupc++.la
852 %{_libdir}/nof/libsupc++.la
853 %{_libdir}/nof/libsupc++.a
855 %{_libdir}/libsupc++.a
856 %{_mandir}/man1/g++.1*
857 %lang(es) %{_mandir}/es/man1/c++filt.1*
858 %lang(ja) %{_mandir}/ja/man1/g++.1*
860 %files -n libstdc++ -f libstdc++.lang
861 %defattr(644,root,root,755)
862 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
864 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
867 %files -n libstdc++-devel
868 %defattr(644,root,root,755)
869 %doc libstdc++-v3/docs/html
870 %dir %{_includedir}/c++
871 %{_includedir}/c++/%{GCC_VERSION}
872 %attr(755,root,root) %{_libdir}/libstdc++.so
873 %{_libdir}/libstdc++.la
875 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
876 %{_libdir}/nof/libstdc++.la
879 %files -n libstdc++-static
880 %defattr(644,root,root,755)
881 %{_libdir}/libstdc++.a
883 %{_libdir}/nof/libstdc++.a
886 %if %{?!_without_objc:1}0
888 %defattr(644,root,root,755)
890 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
891 %attr(755,root,root) %{_libdir}/libobjc.so
892 %{_libdir}/libobjc.la
894 %attr(755,root,root) %{_libdir}/nof/libobjc.so
895 %{_libdir}/nof/libobjc.la
897 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
900 %defattr(644,root,root,755)
901 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
903 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
906 %files -n libobjc-static
907 %defattr(644,root,root,755)
910 %{_libdir}/nof/libobjc.a
915 %defattr(644,root,root,755)
916 %attr(755,root,root) %{_bindir}/g77
917 %attr(755,root,root) %{_bindir}/f77
919 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
920 %{_libdir}/libfrtbegin.a
922 %attr(755,root,root) %{_libdir}/libg2c.so
924 %{_libdir}/nof/libfrtbegin.a
925 %{_libdir}/nof/libg2c.la
926 %attr(755,root,root) %{_libdir}/nof/libg2c.so
928 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
929 %{_mandir}/man1/g77.1*
930 %{_mandir}/man1/f77.1*
931 %lang(ja) %{_mandir}/ja/man1/g77.1*
932 %lang(ja) %{_mandir}/ja/man1/f77.1*
935 %defattr(644,root,root,755)
936 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
938 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
941 %files -n libg2c-static
942 %defattr(644,root,root,755)
945 %{_libdir}/nof/libg2c.a
948 %if %{!?_without_java:1}%{?_without_java:0}
950 %defattr(644,root,root,755)
952 %attr(755,root,root) %{_bindir}/gcj*
953 %attr(755,root,root) %{_bindir}/gij
954 %attr(755,root,root) %{_bindir}/jcf-dump
955 %attr(755,root,root) %{_bindir}/jv-*
956 %attr(755,root,root) %{_bindir}/grepjar
957 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
958 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
960 %{_mandir}/man1/jcf-*
966 %defattr(644,root,root,755)
967 %attr(755,root,root) %{_bindir}/rmi*
968 %attr(755,root,root) %{_bindir}/jar
972 %defattr(644,root,root,755)
973 %attr(755,root,root) %{_bindir}/addr2name.awk
974 %attr(755,root,root) %{_libdir}/lib*cj*.so.*
976 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
979 %files -n libgcj-devel
980 %defattr(644,root,root,755)
987 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
988 %dir %{_libdir}/security
989 %{_libdir}/security/*
990 %dir %{_datadir}/java
991 %{_datadir}/java/libgcj*.jar
992 %{_libdir}/lib*cj.spec
993 %{_libdir}/lib*cj*.la
994 %attr(755,root,root) %{_libdir}/lib*cj*.so
996 %{_libdir}/nof/lib*cj*.la
997 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1000 %files -n libgcj-static
1001 %defattr(644,root,root,755)
1002 %{_libdir}/lib*cj*.a
1004 %{_libdir}/nof/lib*cj*.a
1008 %if %{!?_without_ada:1}%{?_without_ada:0}
1010 %defattr(644,root,root,755)
1011 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
1012 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
1013 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
1014 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
1016 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
1018 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
1019 %attr(755,root,root) %{_bindir}/gnat*
1021 %attr(755,root,root) %{_libdir}/libgnat.so*
1022 %attr(755,root,root) %{_libdir}/libgnarl.so*
1025 %defattr(644,root,root,755)
1026 %attr(755,root,root) %{_libdir}/libgna*-*so.1
1028 %files -n libgnat-static
1029 %defattr(644,root,root,755)
1030 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
1034 %defattr(644,root,root,755)
1035 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
1037 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
1040 %defattr(644,root,root,755)
1041 %attr(755,root,root) %{_slibdir}/cpp
1042 %attr(755,root,root) %{_bindir}/cpp
1043 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
1044 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/tradcpp0
1045 %{_mandir}/man1/cpp.1*
1046 %lang(ja) %{_mandir}/ja/man1/cpp.1*