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.3
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 Patch20: gcc32-c++-tsubst-asm.patch
43 Patch21: gcc32-cfg-eh.patch
44 Patch22: gcc32-debug-pr7241.patch
46 Patch24: gcc32-duplicate-decl.patch
47 Patch25: gcc32-dwarf2-pr6381.patch
48 Patch26: gcc32-dwarf2-pr6436-test.patch
49 Patch27: gcc32-fde-merge-compat.patch
51 Patch29: gcc32-hard-reg-sharing.patch
52 Patch30: gcc32-hard-reg-sharing2.patch
53 Patch31: gcc32-i386-default-momit-leaf-frame-pointer.patch
54 Patch32: gcc32-i386-memtest-test.patch
55 Patch33: gcc32-i386-no-default-momit-leaf-frame-pointer.patch
56 Patch34: gcc32-i386-pic-label-thunk.patch
57 Patch35: gcc32-i386-profile-olfp.patch
58 Patch36: gcc32-inline-label.patch
59 Patch37: gcc32-java-no-rpath.patch
60 Patch38: gcc32-pr6842.patch
61 Patch39: gcc32-sparc-sll1.patch
62 Patch40: gcc32-test-rh65771.patch
63 Patch41: gcc32-test-rotate.patch
64 Patch42: gcc32-tls-dwarf2.patch
65 Patch43: gcc32-tls.patch
66 Patch44: gcc32-tls2.patch
67 Patch45: gcc32-tls3.patch
68 Patch46: gcc32-tls4.patch
69 Patch47: gcc32-tls5.patch
70 BuildRequires: autoconf
72 BuildRequires: fileutils >= 4.0.41
74 %{!?_without_ada:BuildRequires: gcc-ada}
75 BuildRequires: glibc-devel >= 2.2.5-20
76 BuildRequires: perl-devel
77 BuildRequires: texinfo >= 4.1
78 BuildRequires: zlib-devel
79 BuildRequires: gettext-devel
80 Requires: binutils >= 2.12.90.0.4
81 Requires: cpp = %{GCC_VERSION}
82 Requires: libgcc = %{GCC_VERSION}
83 Conflicts: glibc-devel < 2.2.5-20
84 URL: http://gcc.gnu.org/
85 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
90 A compiler aimed at integrating all the optimizations and features
91 necessary for a high-performance and stable development environment.
94 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
95 wyprodukowania szybkiego i stablinego kodu wynikowego.
98 Este pacote adiciona infraestrutura básica e suporte a linguagem C
99 ao Gnu Compiler Collection.
102 Summary: Shared gcc library
103 Summary(pl): Biblioteka gcc
104 Summary(pt_BR): Biblioteca runtime para o GCC
106 Version: %{GCC_VERSION}
109 %description -n libgcc
112 %description -n libgcc -l pl
113 Biblioteka dynamiczna gcc.
115 %description -n libgcc -l pt_BR
116 Biblioteca runtime para o GCC.
119 Summary: C++ support for gcc
120 Summary(pl): Obs³uga C++ dla gcc
121 Summary(pt_BR): Suporte C++ para o gcc
122 Group: Development/Languages
125 Requires: gcc = %{GCC_VERSION}
128 This package adds C++ support to the GNU C compiler. It includes
129 support for most of the current C++ specification, including templates
130 and exception handling. It does not include a standard C++ library,
131 which is available separately.
133 %description c++ -l de
134 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
135 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
136 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
137 sie ist getrennt erhältlich.
139 %description c++ -l fr
140 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
141 support pour la plupart des spécifications actuelles de C++, dont les
142 modéles et la gestion des exceptions. Il ne comprend pas une
143 bibliothéque C++ standard, qui est disponible séparément.
145 %description c++ -l pl
146 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
147 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
148 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
150 %description c++ -l pt_BR
151 Este pacote adiciona suporte C++ para o gcc.
153 %description c++ -l tr
154 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
155 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
156 C++ kitaplýðý bu pakette yer almaz.
159 Summary: Objective C support for gcc
160 Summary(de): Objektive C-Unterstützung für gcc
161 Summary(fr): Gestion d'Objective C pour gcc
162 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
163 Summary(tr): gcc için Objective C desteði
164 Group: Development/Languages
167 Requires: libobjc = %{GCC_VERSION}
168 Requires: gcc = %{GCC_VERSION}
171 This package adds Objective C support to the GNU C compiler. Objective
172 C is a object oriented derivative of the C language, mainly used on
173 systems running NeXTSTEP. This package does not include the standard
174 objective C object library.
176 %description objc -l de
177 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
178 Objective C ist ein objektorientiertes Derivat von C, das zur
179 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
180 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
182 %description objc -l fr
183 Ce package ajoute un support Objective C au compilateur C GNU.
184 L'Objective C est un langage orienté objetdérivé du langage C,
185 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
186 pas la bibliothéque Objective C standard.
188 %description objc -l pl
189 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
190 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
191 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
192 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
194 %description objc -l tr
195 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
196 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
197 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
198 kitaplýðý bu pakette yer almaz.
201 Summary: Objective C Libraries
202 Summary(pl): Biblioteki Obiektowego C
204 Version: %{GCC_VERSION}
207 %description -n libobjc
208 Objective C Libraries.
210 %description -n libobjc -l pl
211 Biblioteki Obiektowego C.
213 %package -n libobjc-static
214 Summary: Static Objective C Libraries
215 Summary(pl): Statyczne Biblioteki Obiektowego C
216 Group: Development/Libraries
217 Version: %{GCC_VERSION}
218 Requires: libobjc = %{GCC_VERSION}
220 %description -n libobjc-static
221 Static Objective C Libraries.
223 %description -n libobjc-static -l pl
224 Statyczne biblioteki Obiektowego C.
227 Summary: Fortran 77 support for gcc
228 Summary(pl): Obs³uga Fortranu 77 dla gcc
229 Summary(pt_BR): Suporte Fortran 77 para o GCC
230 Group: Development/Languages/Fortran
231 Version: %{GCC_VERSION}
233 Requires: libg2c = %{GCC_VERSION}
236 This apckage adds support for compiling Fortran 77 programs with the
239 %description g77 -l pl
240 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
241 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
243 %description g77 -l pt_BR
244 Suporte Fortran 77 para o GCC.
247 Summary: Fortran 77 Libraries
248 Summary(pl): Biblioteki Fortranu 77
250 Version: %{GCC_VERSION}
252 %description -n libg2c
253 Fortran 77 Libraries.
255 %description -n libg2c -l pl
256 Biblioteki Fortranu 77.
258 %package -n libg2c-static
259 Summary: Static Fortran 77 Libraries
260 Summary(pl): Statyczne Biblioteki Fortranu 77
261 Group: Development/Libraries
262 Version: %{GCC_VERSION}
263 Requires: libg2c = %{GCC_VERSION}
265 %description -n libg2c-static
266 Static Fortran 77 Libraries.
268 %description -n libg2c-static -l pl
269 Statyczne biblioteki Fortranu 77.
272 Summary: Java support for gcc
273 Summary(pl): Obs³uga Javy dla gcc
274 Group: Development/Languages/Java
275 Version: %{GCC_VERSION}
276 Requires: %{name} = %{version}
277 Requires: libgcj >= 3.0.0
278 Requires: libgcj-devel >= 3.0.0
279 Requires: java-shared
280 Provides: gcj = %{epoch}:%{GCC_VERSION}-%{release}
283 This package adds experimental support for compiling Java(tm) programs
284 and bytecode into native code. To use this you will also need the
287 %description -l pl java
288 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
289 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
290 by³o przeprowadziæ kompilacjê.
293 Summary: Shared java tools
294 Summary(pl): Wspó³dzielone narzêdzia javy
295 Group: Development/Languages/Java
296 Version: %{GCC_VERSION}
297 Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
298 Provides: java-shared
300 Obsoletes: java-shared
303 %description java-tools
304 This package contains tools that are common for every Java(tm) implementation,
307 %description java-tools -l pl
308 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
312 Summary: Java Class Libraries
313 Summary(pl): Biblioteki Klas Javy
315 Version: %{GCC_VERSION}
319 %description -n libgcj
320 Java Class Libraries.
322 %description -n libgcj -l pl
323 Biblioteki Klas Javy.
325 %package -n libgcj-devel
326 Summary: Development files for Java Class Libraries
327 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
328 Group: Development/Libraries
329 Version: %{GCC_VERSION}
330 Requires: libgcj = %{GCC_VERSION}
331 Requires: %{name}-java
332 Obsoletes: libgcj3-devel
334 %description -n libgcj-devel
335 Development files for Java Class Libraries.
337 %description -n libgcj-devel -l pl
338 Pliki nag³ówkowe dla Bibliotek Klas Javy.
340 %package -n libgcj-static
341 Summary: Static Java Class Libraries
342 Summary(pl): Statyczne Biblioteki Klas Javy
343 Group: Development/Libraries
344 Version: %{GCC_VERSION}
345 Requires: libstdc++-devel = %{GCC_VERSION}
346 Requires: libgcj-devel = %{GCC_VERSION}
348 %description -n libgcj-static
349 Static Java Class Libraries.
351 %description -n libgcj-static -l pl
352 Statyczne Biblioteki Klas Javy.
354 %package -n libstdc++
355 Summary: GNU c++ library
356 Summary(pl): Biblioteki GNU C++
357 Summary(pt_BR): Biblioteca C++ GNU
359 Version: %{GCC_VERSION}
361 Obsoletes: libstdc++3
363 %description -n libstdc++
364 This is the GNU implementation of the standard C++ libraries, along
365 with additional GNU tools. This package includes the shared libraries
366 necessary to run C++ applications.
368 %description -n libstdc++ -l de
369 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
370 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
371 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
373 %description -n libstdc++ -l es
374 Este es el soporte de las bibliotecas padrón del C++, junto con
375 herramientas GNU adicionales. El paquete incluye las bibliotecas
376 compartidas necesarias para ejecutar aplicaciones C++.
378 %description -n libstdc++ -l fr
379 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
380 des outils GNU supplémentaires. Ce package comprend les librairies
381 partagées nécessaires à l'exécution d'application C++.
383 %description -n libstdc++ -l pl
384 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
385 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
386 uruchomienia aplikacji napisanych w C++.
388 %description -n libstdc++ -l pt_BR
389 Este pacote é uma implementação da biblioteca padrão C++ v3, um
390 subconjunto do padrão ISO 14882.
392 %description -n libstdc++ -l tr
393 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
394 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
396 %package -n libstdc++-devel
397 Summary: Header files and documentatino for C++ development
398 Summary(de): Header-Dateien zur Entwicklung mit C++
399 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
400 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
401 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
402 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
403 Group: Development/Libraries
404 Version: %{GCC_VERSION}
405 Requires: libstdc++ = %{GCC_VERSION}
406 Requires: %{name}-c++
407 Obsoletes: libg++-devel
408 Obsoletes: libstdc++3-devel
410 %description -n libstdc++-devel
411 This is the GNU implementation of the standard C++ libraries. This
412 package includes the header files needed for C++ development and
413 library documentation.
415 %description -n libstdc++-devel -l es
416 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este paquete
417 incluye los archivos de inclusión y bibliotecas necesarios para desarrollo de
418 programas en lenguaje C++.
420 %description -n libstdc++-devel -l pl
421 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
422 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
423 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
425 %description -n libstdc++-devel -l pt_BR
426 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias para
427 desenvolvimento de programas C++.
429 %package -n libstdc++-static
430 Summary: Static C++ standard library
431 Summary(pl): Statyczna biblioteka standardowa C++
432 Group: Development/Libraries
433 Version: %{GCC_VERSION}
434 Requires: libstdc++-devel = %{GCC_VERSION}
436 %description -n libstdc++-static
437 Static C++ standard library.
439 %description -n libstdc++-static -l pl
440 Statycza biblioteka standardowa C++.
443 Summary: Ada support for gcc
444 Summary(pl): Obs³uga Ady do gcc
445 Group: Development/Languages
446 Version: %{GCC_VERSION}
447 Requires: libgnat = %{GCC_VERSION}
448 Requires: gcc = %{GCC_VERSION}
450 Obsoletes: gnat-devel
453 This package adds experimental support for compiling Ada programs.
455 %description -l pl ada
456 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
460 Summary: Ada standard libraries
461 Summary(pl): Biblioteki standardowe dla Ady
463 Version: %{GCC_VERSION}
467 %description -n libgnat
468 This package contains shared libraries needed to run programs written
471 %description -n libgnat -l pl
472 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
475 %package -n libgnat-static
476 Summary: Static Ada standard libraries
477 Summary(pl): Statyczne biblioteki standardowe dla Ady
479 Version: %{GCC_VERSION}
480 Obsoletes: gnat-static
482 %description -n libgnat-static
483 This package contains static libraries for programs written in Ada.
485 %description -n libgnat-static -l pl
486 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
490 Summary: Ksi support for gcc
491 Summary(pl): Obs³uga Ksi dla gcc
492 Version: %{GCC_VERSION}.%{KSI_VERSION}
493 Group: Development/Languages
494 Requires: gcc = %{GCC_VERSION}
497 This package adds experimental support for compiling Ksi programs
498 into native code. You proabably don't need it, unless your are going
499 to develop a compiler using Ksi as intermediate representation or
500 you are using such compiler (like Gont).
502 %description ksi -l pl
503 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
504 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
505 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
506 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
509 Summary: The C Pre Processor
510 Summary(pl): Preprocesor C
511 Summary(pt_BR): Preprocessador para a linguagem C
512 Group: Development/Languages
513 Version: %{GCC_VERSION}
518 The C preprocessor is a "macro processor" that is used automatically
519 by the C compiler to transform your program before actual compilation.
520 It is called a macro processor because it allows you to define
521 "macros", which are brief abbreviations for longer constructs.
523 The C preprocessor provides four separate facilities that you can use
526 - Inclusion of header files. These are files of declarations that can
527 be substituted into your program.
528 - Macro expansion. You can define "macros", which are abbreviations
529 for arbitrary fragments of C code, and then the C preprocessor will
530 replace the macros with their definitions throughout the program.
531 - Conditional compilation. Using special preprocessing directives, you
532 can include or exclude parts of the program according to various
534 - Line control. If you use a program to combine or rearrange source
535 files into an intermediate file which is then compiled, you can use
536 line control to inform the compiler of where each source line
537 originally came from.
539 %description -n cpp -l es
540 Um preprocessador para a linguagem C.
542 %description -n cpp -l pl
543 Przeprocesor C jest "makro procesorem" który jest automatycznie
544 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
545 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
546 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
547 d³ugich konstrukcji w jêzyku C.
549 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
551 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
552 deklaracji polecenia do³±czenia innego pliku.
553 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
554 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
555 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
556 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
557 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
558 fragmenty obrabianego strumienia tekstów.
559 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
560 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
561 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
562 odpowiada fragment pliku wynikowego.
564 %description -n cpp -l pt_BR
565 O preprocessador C é um "processador de macros", que é utilizado pelo
566 compilador C para fazer algumas modificações no seu programa, antes da
567 compilação em si. Ele é chamado de "processador de macros" porque
568 permite a você definir "macros", que são abreviações para construções
571 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
572 arquivos de cabeçalho; expansão de macros; compilação condicional;
573 e controle da numeração das linhas do programa.
576 %setup -q -a1 -n %{name}-%{GCC_VERSION}
577 mv ksi-%{KSI_VERSION} gcc/ksi
626 perl -p -i -e 's/";/ (PLD Linux)";/' gcc/version.c
629 # cd gcc && autoconf; cd ..
630 # autoconf is not needed!
631 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
633 CFLAGS="%{rpmcflags}" \
634 CXXFLAGS="%{rpmcflags}" \
635 TEXCONFIG=false ../configure \
636 --prefix=%{_prefix} \
637 --infodir=%{_infodir} \
638 --mandir=%{_mandir} \
640 --enable-threads=posix \
641 --enable-__cxa_atexit \
642 --enable-languages="c,c++,f77,gcov%{?!_without_objc:,objc},ksi%{!?_without_ada:,ada}%{!?_without_java:,java}" \
650 --with-slibdir=%{_slibdir} \
654 PATH=$PATH:/sbin:%{_sbindir}
656 # this dirty hack is relict of setting, where objdir is subdir of srcdir
657 %if %{!?_without_ada:1}%{?_without_ada:0}
658 sed -e 's/srcdir=\$(fsrcdir)/srcdir=\$(fsrcdir) VPATH=\$(fsrcdir)/' \
659 gcc/ada/Makefile > makefile.tmp
660 mv -f makefile.tmp gcc/ada/Makefile
664 %{__make} -C obj-%{_target_platform} bootstrap-lean \
665 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
669 %if %{!?_without_ada:1}%{?_without_ada:0}
670 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
671 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
675 # make Gnat Reference Manual
676 %{__make} -C obj-%{_target_platform}/gcc/ada doc
680 rm -rf $RPM_BUILD_ROOT
681 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
683 cd obj-%{_target_platform}
684 PATH=$PATH:/sbin:%{_sbindir}
687 prefix=$RPM_BUILD_ROOT%{_prefix} \
688 mandir=$RPM_BUILD_ROOT%{_mandir} \
689 infodir=$RPM_BUILD_ROOT%{_infodir} \
690 slibdir=$RPM_BUILD_ROOT/lib
692 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
693 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
695 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
696 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
698 %if %{!?_without_ada:1}%{?_without_ada:0}
699 # move ada shared libraries to proper place...
700 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*-*so.1 \
701 $RPM_BUILD_ROOT%{_libdir}
702 rm -f $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1
703 (cd $RPM_BUILD_ROOT%{_libdir} && \
704 ln -s libgnat-*so.1 libgnat.so.1 && ln -s libgnat-*so.1 libgnat.so && \
705 ln -s libgnarl-*so.1 libgnarl.so.1 && ln -s libgnarl-*so.1 libgnarl.so)
708 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
712 %if %{!?_without_ada:1}%{?_without_ada:0}
713 install obj-%{_target_platform}/gcc/ada/gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}
714 install obj-%{_target_platform}/gcc/ada/gnat_ug_unx.info* $RPM_BUILD_ROOT%{_infodir}
717 %if %{!?_without_java:1}%{?_without_java:0}
719 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
720 cp -f fastjar/README java-doc/README.fastjar
721 cp -f libffi/README java-doc/README.libffi
722 cp -f libffi/LICENSE java-doc/LICENSE.libffi
725 %if %{?!_without_objc:1}0
726 cp -f libobjc/README gcc/objc/README.libobjc
729 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
730 for f in libstdc++.la libsupc++.la %{!?_without_java:libgcj.la} ; do
731 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
733 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
734 for f in libstdc++.la libsupc++.la libg2c.la \
735 %{!?_without_java:libgcj.la} %{!?_without_objc:libobjc.la}; do
736 perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
739 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
740 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
743 %find_lang libstdc\+\+
746 rm -rf $RPM_BUILD_ROOT
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
776 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
778 %post -p /sbin/ldconfig -n libgcc
779 %postun -p /sbin/ldconfig -n libgcc
780 %post -p /sbin/ldconfig -n libstdc++
781 %postun -p /sbin/ldconfig -n libstdc++
782 %post -p /sbin/ldconfig -n libobjc
783 %postun -p /sbin/ldconfig -n libobjc
784 %post -p /sbin/ldconfig -n libg2c
785 %postun -p /sbin/ldconfig -n libg2c
786 %post -p /sbin/ldconfig -n libgcj
787 %postun -p /sbin/ldconfig -n libgcj
788 %post -p /sbin/ldconfig -n libgnat
789 %postun -p /sbin/ldconfig -n libgnat
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 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
812 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
813 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
814 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
816 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
817 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
818 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
821 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
822 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
824 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
825 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
826 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
827 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
828 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
829 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
830 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
831 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
833 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/mmintrin.h
834 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/xmmintrin.h
837 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/altivec.h
838 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/ppc-asm.h
842 %defattr(644,root,root,755)
843 %attr(755,root,root) %{_slibdir}/lib*.so*
846 %defattr(644,root,root,755)
847 %attr(755,root,root) %{_bindir}/g++
848 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
849 %attr(755,root,root) %{_bindir}/c++
850 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
851 %attr(755,root,root) %{_bindir}/c++filt
852 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
853 %{_libdir}/libsupc++.la
855 %{_libdir}/nof/libsupc++.la
856 %{_libdir}/nof/libsupc++.a
858 %{_libdir}/libsupc++.a
859 %{_mandir}/man1/g++.1*
860 %lang(es) %{_mandir}/es/man1/c++filt.1*
861 %lang(ja) %{_mandir}/ja/man1/g++.1*
863 %files -n libstdc++ -f libstdc++.lang
864 %defattr(644,root,root,755)
865 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
867 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
870 %files -n libstdc++-devel
871 %defattr(644,root,root,755)
872 %doc libstdc++-v3/docs/html
873 %dir %{_includedir}/c++
874 %{_includedir}/c++/%{GCC_VERSION}
875 %attr(755,root,root) %{_libdir}/libstdc++.so
876 %{_libdir}/libstdc++.la
878 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
879 %{_libdir}/nof/libstdc++.la
882 %files -n libstdc++-static
883 %defattr(644,root,root,755)
884 %{_libdir}/libstdc++.a
886 %{_libdir}/nof/libstdc++.a
889 %if %{?!_without_objc:1}0
891 %defattr(644,root,root,755)
893 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
894 %attr(755,root,root) %{_libdir}/libobjc.so
895 %{_libdir}/libobjc.la
897 %attr(755,root,root) %{_libdir}/nof/libobjc.so
898 %{_libdir}/nof/libobjc.la
900 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
903 %defattr(644,root,root,755)
904 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
906 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
909 %files -n libobjc-static
910 %defattr(644,root,root,755)
913 %{_libdir}/nof/libobjc.a
918 %defattr(644,root,root,755)
919 %attr(755,root,root) %{_bindir}/g77
920 %attr(755,root,root) %{_bindir}/f77
922 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
923 %{_libdir}/libfrtbegin.a
925 %attr(755,root,root) %{_libdir}/libg2c.so
927 %{_libdir}/nof/libfrtbegin.a
928 %{_libdir}/nof/libg2c.la
929 %attr(755,root,root) %{_libdir}/nof/libg2c.so
931 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
932 %{_mandir}/man1/g77.1*
933 %{_mandir}/man1/f77.1*
934 %lang(ja) %{_mandir}/ja/man1/g77.1*
935 %lang(ja) %{_mandir}/ja/man1/f77.1*
938 %defattr(644,root,root,755)
939 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
941 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
944 %files -n libg2c-static
945 %defattr(644,root,root,755)
948 %{_libdir}/nof/libg2c.a
951 %if %{!?_without_java:1}%{?_without_java:0}
953 %defattr(644,root,root,755)
955 %attr(755,root,root) %{_bindir}/gcj*
956 %attr(755,root,root) %{_bindir}/gij
957 %attr(755,root,root) %{_bindir}/jcf-dump
958 %attr(755,root,root) %{_bindir}/jv-*
959 %attr(755,root,root) %{_bindir}/grepjar
960 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
961 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
963 %{_mandir}/man1/jcf-*
969 %defattr(644,root,root,755)
970 %attr(755,root,root) %{_bindir}/rmi*
971 %attr(755,root,root) %{_bindir}/jar
975 %defattr(644,root,root,755)
976 %attr(755,root,root) %{_bindir}/addr2name.awk
977 %attr(755,root,root) %{_libdir}/lib*cj*.so.*
979 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
982 %files -n libgcj-devel
983 %defattr(644,root,root,755)
990 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
991 %dir %{_libdir}/security
992 %{_libdir}/security/*
993 %dir %{_datadir}/java
994 %{_datadir}/java/libgcj*.jar
995 %{_libdir}/lib*cj.spec
996 %{_libdir}/lib*cj*.la
997 %attr(755,root,root) %{_libdir}/lib*cj*.so
999 %{_libdir}/nof/lib*cj*.la
1000 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1003 %files -n libgcj-static
1004 %defattr(644,root,root,755)
1005 %{_libdir}/lib*cj*.a
1007 %{_libdir}/nof/lib*cj*.a
1011 %if %{!?_without_ada:1}%{?_without_ada:0}
1013 %defattr(644,root,root,755)
1014 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
1015 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
1016 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
1017 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
1019 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
1021 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
1022 %attr(755,root,root) %{_bindir}/gnat*
1024 %attr(755,root,root) %{_libdir}/libgnat.so*
1025 %attr(755,root,root) %{_libdir}/libgnarl.so*
1028 %defattr(644,root,root,755)
1029 %attr(755,root,root) %{_libdir}/libgna*-*so.1
1031 %files -n libgnat-static
1032 %defattr(644,root,root,755)
1033 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
1037 %defattr(644,root,root,755)
1038 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
1040 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
1043 %defattr(644,root,root,755)
1044 %attr(755,root,root) %{_slibdir}/cpp
1045 %attr(755,root,root) %{_bindir}/cpp
1046 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
1047 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/tradcpp0
1048 %{_mandir}/man1/cpp.1*
1049 %lang(ja) %{_mandir}/ja/man1/cpp.1*