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 1.0.1.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 Patch1: %{name}-paths.patch
25 Patch2: %{name}-ada-no-addr2line.patch
26 Patch3: %{name}-ada-no-prefix.o.patch
27 Patch4: %{name}-nolocalefiles.patch
28 Patch5: %{name}-gcc-page.c.patch
29 Patch6: %{name}-info.patch
30 Patch7: %{name}-ada-link-new-libgnat.patch
31 # -- stolen patches from RH --
32 Patch10: gcc32-ada-link.patch
33 Patch11: gcc32-attr-visibility.patch
34 Patch12: gcc32-attr-visibility2.patch
35 Patch13: gcc32-attr-visibility3.patch
36 Patch14: gcc32-attr-visibility4.patch
37 Patch15: gcc32-attr-visibility5.patch
38 Patch16: gcc32-boehm-gc-libs.patch
39 Patch17: gcc32-bogus-inline.patch
40 Patch18: gcc32-c++-nrv-test.patch
41 Patch20: gcc32-c++-tsubst-asm.patch
42 Patch21: gcc32-cfg-eh.patch
43 Patch22: gcc32-debug-pr7241.patch
45 Patch24: gcc32-duplicate-decl.patch
46 Patch25: gcc32-dwarf2-pr6381.patch
47 Patch26: gcc32-dwarf2-pr6436-test.patch
48 Patch27: gcc32-fde-merge-compat.patch
50 Patch29: gcc32-hard-reg-sharing.patch
51 Patch30: gcc32-hard-reg-sharing2.patch
52 Patch31: gcc32-i386-default-momit-leaf-frame-pointer.patch
53 Patch32: gcc32-i386-memtest-test.patch
54 Patch33: gcc32-i386-no-default-momit-leaf-frame-pointer.patch
55 Patch34: gcc32-i386-pic-label-thunk.patch
56 Patch35: gcc32-i386-profile-olfp.patch
57 Patch36: gcc32-inline-label.patch
58 Patch37: gcc32-java-no-rpath.patch
59 Patch38: gcc32-pr6842.patch
60 Patch39: gcc32-sparc-sll1.patch
61 Patch40: gcc32-test-rh65771.patch
62 Patch41: gcc32-test-rotate.patch
63 Patch42: gcc32-tls-dwarf2.patch
64 Patch43: gcc32-tls.patch
65 Patch44: gcc32-tls2.patch
66 Patch45: gcc32-tls3.patch
67 Patch46: gcc32-tls4.patch
68 Patch47: gcc32-tls5.patch
69 BuildRequires: autoconf
71 BuildRequires: fileutils >= 4.0.41
73 %{!?_without_ada:BuildRequires: gcc-ada}
74 BuildRequires: glibc-devel >= 2.2.5-20
75 BuildRequires: perl-devel
76 BuildRequires: texinfo >= 4.1
77 BuildRequires: zlib-devel
78 BuildRequires: gettext-devel
79 Requires: binutils >= 2.12.90.0.4
80 Requires: cpp = %{GCC_VERSION}
81 Requires: libgcc = %{GCC_VERSION}
82 Conflicts: glibc-devel < 2.2.5-20
83 URL: http://gcc.gnu.org/
84 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
89 A compiler aimed at integrating all the optimizations and features
90 necessary for a high-performance and stable development environment.
93 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
94 wyprodukowania szybkiego i stablinego kodu wynikowego.
97 Este pacote adiciona infraestrutura básica e suporte a linguagem C
98 ao Gnu Compiler Collection.
101 Summary: Shared gcc library
102 Summary(pl): Biblioteka gcc
103 Summary(pt_BR): Biblioteca runtime para o GCC
105 Version: %{GCC_VERSION}
108 %description -n libgcc
111 %description -n libgcc -l pl
112 Biblioteka dynamiczna gcc.
114 %description -n libgcc -l pt_BR
115 Biblioteca runtime para o GCC.
118 Summary: C++ support for gcc
119 Summary(pl): Obs³uga C++ dla gcc
120 Summary(pt_BR): Suporte C++ para o gcc
121 Group: Development/Languages
124 Requires: gcc = %{GCC_VERSION}
127 This package adds C++ support to the GNU C compiler. It includes
128 support for most of the current C++ specification, including templates
129 and exception handling. It does not include a standard C++ library,
130 which is available separately.
132 %description c++ -l de
133 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
134 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
135 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
136 sie ist getrennt erhältlich.
138 %description c++ -l fr
139 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
140 support pour la plupart des spécifications actuelles de C++, dont les
141 modéles et la gestion des exceptions. Il ne comprend pas une
142 bibliothéque C++ standard, qui est disponible séparément.
144 %description c++ -l pl
145 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
146 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
147 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
149 %description c++ -l pt_BR
150 Este pacote adiciona suporte C++ para o gcc.
152 %description c++ -l tr
153 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
154 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
155 C++ kitaplýðý bu pakette yer almaz.
158 Summary: Objective C support for gcc
159 Summary(de): Objektive C-Unterstützung für gcc
160 Summary(fr): Gestion d'Objective C pour gcc
161 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
162 Summary(tr): gcc için Objective C desteði
163 Group: Development/Languages
166 Requires: libobjc = %{GCC_VERSION}
167 Requires: gcc = %{GCC_VERSION}
170 This package adds Objective C support to the GNU C compiler. Objective
171 C is a object oriented derivative of the C language, mainly used on
172 systems running NeXTSTEP. This package does not include the standard
173 objective C object library.
175 %description objc -l de
176 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
177 Objective C ist ein objektorientiertes Derivat von C, das zur
178 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
179 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
181 %description objc -l fr
182 Ce package ajoute un support Objective C au compilateur C GNU.
183 L'Objective C est un langage orienté objetdérivé du langage C,
184 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
185 pas la bibliothéque Objective C standard.
187 %description objc -l pl
188 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
189 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
190 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
191 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
193 %description objc -l tr
194 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
195 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
196 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
197 kitaplýðý bu pakette yer almaz.
200 Summary: Objective C Libraries
201 Summary(pl): Biblioteki Obiektowego C
203 Version: %{GCC_VERSION}
206 %description -n libobjc
207 Objective C Libraries.
209 %description -n libobjc -l pl
210 Biblioteki Obiektowego C.
212 %package -n libobjc-static
213 Summary: Static Objective C Libraries
214 Summary(pl): Statyczne Biblioteki Obiektowego C
215 Group: Development/Libraries
216 Version: %{GCC_VERSION}
217 Requires: libobjc = %{GCC_VERSION}
219 %description -n libobjc-static
220 Static Objective C Libraries.
222 %description -n libobjc-static -l pl
223 Statyczne biblioteki Obiektowego C.
226 Summary: Fortran 77 support for gcc
227 Summary(pl): Obs³uga Fortranu 77 dla gcc
228 Summary(pt_BR): Suporte Fortran 77 para o GCC
229 Group: Development/Languages/Fortran
230 Version: %{GCC_VERSION}
232 Requires: libg2c = %{GCC_VERSION}
235 This apckage adds support for compiling Fortran 77 programs with the
238 %description g77 -l pl
239 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
240 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
242 %description g77 -l pt_BR
243 Suporte Fortran 77 para o GCC.
246 Summary: Fortran 77 Libraries
247 Summary(pl): Biblioteki Fortranu 77
249 Version: %{GCC_VERSION}
251 %description -n libg2c
252 Fortran 77 Libraries.
254 %description -n libg2c -l pl
255 Biblioteki Fortranu 77.
257 %package -n libg2c-static
258 Summary: Static Fortran 77 Libraries
259 Summary(pl): Statyczne Biblioteki Fortranu 77
260 Group: Development/Libraries
261 Version: %{GCC_VERSION}
262 Requires: libg2c = %{GCC_VERSION}
264 %description -n libg2c-static
265 Static Fortran 77 Libraries.
267 %description -n libg2c-static -l pl
268 Statyczne biblioteki Fortranu 77.
271 Summary: Java support for gcc
272 Summary(pl): Obs³uga Javy dla gcc
273 Group: Development/Languages/Java
274 Version: %{GCC_VERSION}
275 Requires: %{name} = %{version}
276 Requires: libgcj >= 3.0.0
277 Requires: libgcj-devel >= 3.0.0
278 Requires: java-shared
279 Provides: gcj = %{epoch}:%{GCC_VERSION}-%{release}
282 This package adds experimental support for compiling Java(tm) programs
283 and bytecode into native code. To use this you will also need the
286 %description -l pl java
287 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
288 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
289 by³o przeprowadziæ kompilacjê.
292 Summary: Shared java tools
293 Summary(pl): Wspó³dzielone narzêdzia javy
294 Group: Development/Languages/Java
295 Version: %{GCC_VERSION}
296 Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
297 Provides: java-shared
299 Obsoletes: java-shared
302 %description java-tools
303 This package contains tools that are common for every Java(tm) implementation,
306 %description java-tools -l pl
307 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
311 Summary: Java Class Libraries
312 Summary(pl): Biblioteki Klas Javy
314 Version: %{GCC_VERSION}
318 %description -n libgcj
319 Java Class Libraries.
321 %description -n libgcj -l pl
322 Biblioteki Klas Javy.
324 %package -n libgcj-devel
325 Summary: Development files for Java Class Libraries
326 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
327 Group: Development/Libraries
328 Version: %{GCC_VERSION}
329 Requires: libgcj = %{GCC_VERSION}
330 Requires: %{name}-java
331 Obsoletes: libgcj3-devel
333 %description -n libgcj-devel
334 Development files for Java Class Libraries.
336 %description -n libgcj-devel -l pl
337 Pliki nag³ówkowe dla Bibliotek Klas Javy.
339 %package -n libgcj-static
340 Summary: Static Java Class Libraries
341 Summary(pl): Statyczne Biblioteki Klas Javy
342 Group: Development/Libraries
343 Version: %{GCC_VERSION}
344 Requires: libstdc++-devel = %{GCC_VERSION}
345 Requires: libgcj-devel = %{GCC_VERSION}
347 %description -n libgcj-static
348 Static Java Class Libraries.
350 %description -n libgcj-static -l pl
351 Statyczne Biblioteki Klas Javy.
353 %package -n libstdc++
354 Summary: GNU c++ library
355 Summary(pl): Biblioteki GNU C++
356 Summary(pt_BR): Biblioteca C++ GNU
358 Version: %{GCC_VERSION}
360 Obsoletes: libstdc++3
362 %description -n libstdc++
363 This is the GNU implementation of the standard C++ libraries, along
364 with additional GNU tools. This package includes the shared libraries
365 necessary to run C++ applications.
367 %description -n libstdc++ -l de
368 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
369 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
370 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
372 %description -n libstdc++ -l es
373 Este es el soporte de las bibliotecas padrón del C++, junto con
374 herramientas GNU adicionales. El paquete incluye las bibliotecas
375 compartidas necesarias para ejecutar aplicaciones C++.
377 %description -n libstdc++ -l fr
378 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
379 des outils GNU supplémentaires. Ce package comprend les librairies
380 partagées nécessaires à l'exécution d'application C++.
382 %description -n libstdc++ -l pl
383 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
384 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
385 uruchomienia aplikacji napisanych w C++.
387 %description -n libstdc++ -l pt_BR
388 Este pacote é uma implementação da biblioteca padrão C++ v3, um
389 subconjunto do padrão ISO 14882.
391 %description -n libstdc++ -l tr
392 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
393 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
395 %package -n libstdc++-devel
396 Summary: Header files and documentatino for C++ development
397 Summary(de): Header-Dateien zur Entwicklung mit C++
398 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
399 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
400 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
401 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
402 Group: Development/Libraries
403 Version: %{GCC_VERSION}
404 Requires: libstdc++ = %{GCC_VERSION}
405 Requires: %{name}-c++
406 Obsoletes: libg++-devel
407 Obsoletes: libstdc++3-devel
409 %description -n libstdc++-devel
410 This is the GNU implementation of the standard C++ libraries. This
411 package includes the header files needed for C++ development and
412 library documentation.
414 %description -n libstdc++-devel -l es
415 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este paquete
416 incluye los archivos de inclusión y bibliotecas necesarios para desarrollo de
417 programas en lenguaje C++.
419 %description -n libstdc++-devel -l pl
420 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
421 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
422 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
424 %description -n libstdc++-devel -l pt_BR
425 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias para
426 desenvolvimento de programas C++.
428 %package -n libstdc++-static
429 Summary: Static C++ standard library
430 Summary(pl): Statyczna biblioteka standardowa C++
431 Group: Development/Libraries
432 Version: %{GCC_VERSION}
433 Requires: libstdc++-devel = %{GCC_VERSION}
435 %description -n libstdc++-static
436 Static C++ standard library.
438 %description -n libstdc++-static -l pl
439 Statycza biblioteka standardowa C++.
442 Summary: Ada support for gcc
443 Summary(pl): Obs³uga Ady do gcc
444 Group: Development/Languages
445 Version: %{GCC_VERSION}
446 Requires: libgnat = %{GCC_VERSION}
447 Requires: gcc = %{GCC_VERSION}
449 Obsoletes: gnat-devel
452 This package adds experimental support for compiling Ada programs.
454 %description -l pl ada
455 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
459 Summary: Ada standard libraries
460 Summary(pl): Biblioteki standardowe dla Ady
462 Version: %{GCC_VERSION}
466 %description -n libgnat
467 This package contains shared libraries needed to run programs written
470 %description -n libgnat -l pl
471 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
474 %package -n libgnat-static
475 Summary: Static Ada standard libraries
476 Summary(pl): Statyczne biblioteki standardowe dla Ady
478 Version: %{GCC_VERSION}
479 Obsoletes: gnat-static
481 %description -n libgnat-static
482 This package contains static libraries for programs written in Ada.
484 %description -n libgnat-static -l pl
485 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
489 Summary: Ksi support for gcc
490 Summary(pl): Obs³uga Ksi dla gcc
491 Version: %{GCC_VERSION}.%{KSI_VERSION}
492 Group: Development/Languages
493 Requires: gcc = %{GCC_VERSION}
496 This package adds experimental support for compiling Ksi programs
497 into native code. You proabably don't need it, unless your are going
498 to develop a compiler using Ksi as intermediate representation or
499 you are using such compiler (like Gont).
501 %description ksi -l pl
502 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
503 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
504 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
505 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
508 Summary: The C Pre Processor
509 Summary(pl): Preprocesor C
510 Summary(pt_BR): Preprocessador para a linguagem C
511 Group: Development/Languages
512 Version: %{GCC_VERSION}
517 The C preprocessor is a "macro processor" that is used automatically
518 by the C compiler to transform your program before actual compilation.
519 It is called a macro processor because it allows you to define
520 "macros", which are brief abbreviations for longer constructs.
522 The C preprocessor provides four separate facilities that you can use
525 - Inclusion of header files. These are files of declarations that can
526 be substituted into your program.
527 - Macro expansion. You can define "macros", which are abbreviations
528 for arbitrary fragments of C code, and then the C preprocessor will
529 replace the macros with their definitions throughout the program.
530 - Conditional compilation. Using special preprocessing directives, you
531 can include or exclude parts of the program according to various
533 - Line control. If you use a program to combine or rearrange source
534 files into an intermediate file which is then compiled, you can use
535 line control to inform the compiler of where each source line
536 originally came from.
538 %description -n cpp -l es
539 Um preprocessador para a linguagem C.
541 %description -n cpp -l pl
542 Przeprocesor C jest "makro procesorem" który jest automatycznie
543 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
544 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
545 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
546 d³ugich konstrukcji w jêzyku C.
548 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
550 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
551 deklaracji polecenia do³±czenia innego pliku.
552 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
553 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
554 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
555 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
556 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
557 fragmenty obrabianego strumienia tekstów.
558 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
559 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
560 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
561 odpowiada fragment pliku wynikowego.
563 %description -n cpp -l pt_BR
564 O preprocessador C é um "processador de macros", que é utilizado pelo
565 compilador C para fazer algumas modificações no seu programa, antes da
566 compilação em si. Ele é chamado de "processador de macros" porque
567 permite a você definir "macros", que são abreviações para construções
570 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
571 arquivos de cabeçalho; expansão de macros; compilação condicional;
572 e controle da numeração das linhas do programa.
575 %setup -q -a1 -n %{name}-%{GCC_VERSION}
576 mv ksi-%{KSI_VERSION} gcc/ksi
624 perl -p -i -e 's/";/ (PLD Linux)";/' gcc/version.c
627 # cd gcc && autoconf; cd ..
628 # autoconf is not needed!
629 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
631 CFLAGS="%{rpmcflags}" \
632 CXXFLAGS="%{rpmcflags}" \
633 TEXCONFIG=false ../configure \
634 --prefix=%{_prefix} \
635 --infodir=%{_infodir} \
636 --mandir=%{_mandir} \
638 --enable-threads=posix \
639 --enable-__cxa_atexit \
640 --enable-languages="c,c++,f77,gcov%{?!_without_objc:,objc},ksi%{!?_without_ada:,ada}%{!?_without_java:,java}" \
648 --with-slibdir=%{_slibdir} \
652 PATH=$PATH:/sbin:%{_sbindir}
654 # this dirty hack is relict of setting, where objdir is subdir of srcdir
655 %if %{!?_without_ada:1}%{?_without_ada:0}
656 sed -e 's/srcdir=\$(fsrcdir)/srcdir=\$(fsrcdir) VPATH=\$(fsrcdir)/' \
657 gcc/ada/Makefile > makefile.tmp
658 mv -f makefile.tmp gcc/ada/Makefile
662 %{__make} -C obj-%{_target_platform} bootstrap-lean \
663 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
667 %if %{!?_without_ada:1}%{?_without_ada:0}
668 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
669 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
673 # make Gnat Reference Manual
674 %{__make} -C obj-%{_target_platform}/gcc/ada doc
678 rm -rf $RPM_BUILD_ROOT
679 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
681 cd obj-%{_target_platform}
682 PATH=$PATH:/sbin:%{_sbindir}
685 DESTDIR=$RPM_BUILD_ROOT
687 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
688 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
690 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
691 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
693 %if %{!?_without_ada:1}%{?_without_ada:0}
694 # move ada shared libraries to proper place...
695 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*-*so.1 \
696 $RPM_BUILD_ROOT%{_libdir}
697 rm -f $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1
698 (cd $RPM_BUILD_ROOT%{_libdir} && \
699 ln -s libgnat-*so.1 libgnat.so.1 && ln -s libgnat-*so.1 libgnat.so && \
700 ln -s libgnarl-*so.1 libgnarl.so.1 && ln -s libgnarl-*so.1 libgnarl.so)
703 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
707 %if %{!?_without_ada:1}%{?_without_ada:0}
708 install obj-%{_target_platform}/gcc/ada/gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}
709 install obj-%{_target_platform}/gcc/ada/gnat_ug_unx.info* $RPM_BUILD_ROOT%{_infodir}
712 %if %{!?_without_java:1}%{?_without_java:0}
714 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
715 cp -f fastjar/README java-doc/README.fastjar
716 cp -f libffi/README java-doc/README.libffi
717 cp -f libffi/LICENSE java-doc/LICENSE.libffi
720 %if %{?!_without_objc:1}0
721 cp -f libobjc/README gcc/objc/README.libobjc
724 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
725 for f in libstdc++.la libsupc++.la %{!?_without_java:libgcj.la} ; do
726 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
728 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
729 for f in libstdc++.la libsupc++.la libg2c.la \
730 %{!?_without_java:libgcj.la} %{!?_without_objc:libobjc.la}; do
731 perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
734 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
735 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
738 %find_lang libstdc\+\+
741 rm -rf $RPM_BUILD_ROOT
744 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
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
773 %post -p /sbin/ldconfig -n libgcc
774 %postun -p /sbin/ldconfig -n libgcc
775 %post -p /sbin/ldconfig -n libstdc++
776 %postun -p /sbin/ldconfig -n libstdc++
777 %post -p /sbin/ldconfig -n libobjc
778 %postun -p /sbin/ldconfig -n libobjc
779 %post -p /sbin/ldconfig -n libg2c
780 %postun -p /sbin/ldconfig -n libg2c
781 %post -p /sbin/ldconfig -n libgcj
782 %postun -p /sbin/ldconfig -n libgcj
783 %post -p /sbin/ldconfig -n libgnat
784 %postun -p /sbin/ldconfig -n libgnat
786 %files -f %{name}.lang
787 %defattr(644,root,root,755)
789 %dir %{_libdir}/gcc-lib
790 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
791 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
792 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
793 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
794 %attr(755,root,root) %{_bindir}/gcc
795 %attr(755,root,root) %{_bindir}/gccbug
796 %attr(755,root,root) %{_bindir}/gcov
797 %attr(755,root,root) %{_bindir}/cc
799 %{_mandir}/man1/gcc.1*
800 %{_mandir}/man1/cc.1*
801 %{_mandir}/man1/gcov.1*
802 %lang(fr) %{_mandir}/fr/man1/gcc.1*
803 %lang(ja) %{_mandir}/ja/man1/gcc.1*
806 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
807 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
808 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
809 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
811 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
812 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
813 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
816 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
817 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
819 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
820 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
821 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
822 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
823 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
824 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
825 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
826 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
828 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/mmintrin.h
829 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/xmmintrin.h
832 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/altivec.h
833 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/ppc-asm.h
837 %defattr(644,root,root,755)
838 %attr(755,root,root) %{_slibdir}/lib*.so*
841 %defattr(644,root,root,755)
842 %attr(755,root,root) %{_bindir}/g++
843 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
844 %attr(755,root,root) %{_bindir}/c++
845 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
846 %attr(755,root,root) %{_bindir}/c++filt
847 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
848 %{_libdir}/libsupc++.la
850 %{_libdir}/nof/libsupc++.la
851 %{_libdir}/nof/libsupc++.a
853 %{_libdir}/libsupc++.a
854 %{_mandir}/man1/g++.1*
855 %lang(es) %{_mandir}/es/man1/c++filt.1*
856 %lang(ja) %{_mandir}/ja/man1/g++.1*
858 %files -n libstdc++ -f libstdc++.lang
859 %defattr(644,root,root,755)
860 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
862 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
865 %files -n libstdc++-devel
866 %defattr(644,root,root,755)
867 %doc libstdc++-v3/docs/html
868 %dir %{_includedir}/c++
869 %{_includedir}/c++/%{GCC_VERSION}
870 %attr(755,root,root) %{_libdir}/libstdc++.so
871 %{_libdir}/libstdc++.la
873 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
874 %{_libdir}/nof/libstdc++.la
877 %files -n libstdc++-static
878 %defattr(644,root,root,755)
879 %{_libdir}/libstdc++.a
881 %{_libdir}/nof/libstdc++.a
884 %if %{?!_without_objc:1}0
886 %defattr(644,root,root,755)
888 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
889 %attr(755,root,root) %{_libdir}/libobjc.so
890 %{_libdir}/libobjc.la
892 %attr(755,root,root) %{_libdir}/nof/libobjc.so
893 %{_libdir}/nof/libobjc.la
895 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
898 %defattr(644,root,root,755)
899 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
901 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
904 %files -n libobjc-static
905 %defattr(644,root,root,755)
908 %{_libdir}/nof/libobjc.a
913 %defattr(644,root,root,755)
914 %attr(755,root,root) %{_bindir}/g77
915 %attr(755,root,root) %{_bindir}/f77
917 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
918 %{_libdir}/libfrtbegin.a
920 %attr(755,root,root) %{_libdir}/libg2c.so
922 %{_libdir}/nof/libfrtbegin.a
923 %{_libdir}/nof/libg2c.la
924 %attr(755,root,root) %{_libdir}/nof/libg2c.so
926 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
927 %{_mandir}/man1/g77.1*
928 %{_mandir}/man1/f77.1*
929 %lang(ja) %{_mandir}/ja/man1/g77.1*
930 %lang(ja) %{_mandir}/ja/man1/f77.1*
933 %defattr(644,root,root,755)
934 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
936 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
939 %files -n libg2c-static
940 %defattr(644,root,root,755)
943 %{_libdir}/nof/libg2c.a
946 %if %{!?_without_java:1}%{?_without_java:0}
948 %defattr(644,root,root,755)
950 %attr(755,root,root) %{_bindir}/gcj*
951 %attr(755,root,root) %{_bindir}/gij
952 %attr(755,root,root) %{_bindir}/jcf-dump
953 %attr(755,root,root) %{_bindir}/jv-*
954 %attr(755,root,root) %{_bindir}/grepjar
955 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
956 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
958 %{_mandir}/man1/jcf-*
964 %defattr(644,root,root,755)
965 %attr(755,root,root) %{_bindir}/rmi*
966 %attr(755,root,root) %{_bindir}/jar
970 %defattr(644,root,root,755)
971 %attr(755,root,root) %{_bindir}/addr2name.awk
972 %attr(755,root,root) %{_libdir}/lib*cj*.so.*
974 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
977 %files -n libgcj-devel
978 %defattr(644,root,root,755)
985 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
986 %dir %{_libdir}/security
987 %{_libdir}/security/*
988 %dir %{_datadir}/java
989 %{_datadir}/java/libgcj*.jar
990 %{_libdir}/lib*cj.spec
991 %{_libdir}/lib*cj*.la
992 %attr(755,root,root) %{_libdir}/lib*cj*.so
994 %{_libdir}/nof/lib*cj*.la
995 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
998 %files -n libgcj-static
999 %defattr(644,root,root,755)
1000 %{_libdir}/lib*cj*.a
1002 %{_libdir}/nof/lib*cj*.a
1006 %if %{!?_without_ada:1}%{?_without_ada:0}
1008 %defattr(644,root,root,755)
1009 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
1010 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
1011 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
1012 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
1014 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
1016 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
1017 %attr(755,root,root) %{_bindir}/gnat*
1019 %attr(755,root,root) %{_libdir}/libgnat.so*
1020 %attr(755,root,root) %{_libdir}/libgnarl.so*
1023 %defattr(644,root,root,755)
1024 %attr(755,root,root) %{_libdir}/libgna*-*so.1
1026 %files -n libgnat-static
1027 %defattr(644,root,root,755)
1028 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
1032 %defattr(644,root,root,755)
1033 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
1035 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
1038 %defattr(644,root,root,755)
1039 %attr(755,root,root) %{_slibdir}/cpp
1040 %attr(755,root,root) %{_bindir}/cpp
1041 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
1042 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/tradcpp0
1043 %{_mandir}/man1/cpp.1*
1044 %lang(ja) %{_mandir}/ja/man1/cpp.1*