3 # _without_ada - build without ADA support
4 # _without_java - build without Java support
5 # _without_objc - build without objc support
10 # - fix %%files (separate package for libffi ?)
12 %define DASHED_SNAP %{nil}
13 %define SNAP %(echo %{DASHED_SNAP} | sed -e "s#-##g")
14 %define GCC_VERSION 3.3
15 %define KSI_VERSION 1.1.0.1567
17 Summary: GNU C Compiler
18 Summary(pl): Kompilator C GNU
19 Summary(pt_BR): C Compilador GNU (GCC)
21 Version: %{GCC_VERSION}
25 Group: Development/Languages
26 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{GCC_VERSION}/%{name}-%{GCC_VERSION}.tar.bz2
27 Source1: ftp://ftp.pld.org.pl/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
28 Source2: %{name}-non-english-man-pages.tar.bz2
29 Patch0: %{name}-info.patch
30 Patch1: %{name}-paths.patch
31 Patch2: %{name}-ada-no-addr2line.patch
32 Patch3: %{name}-ada-no-prefix.o.patch
33 Patch4: %{name}-nolocalefiles.patch
34 Patch5: %{name}-gcc-page.c.patch
35 Patch6: %{name}-ada-link-new-libgnat.patch
36 # -- stolen patches from RH --
37 Patch10: gcc32-ada-link.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 Patch31: gcc32-i386-default-momit-leaf-frame-pointer.patch
51 Patch32: gcc32-i386-memtest-test.patch
52 Patch33: gcc32-i386-no-default-momit-leaf-frame-pointer.patch
53 Patch34: gcc32-i386-pic-label-thunk.patch
54 Patch36: gcc32-inline-label.patch
55 Patch37: gcc32-java-no-rpath.patch
56 Patch40: gcc32-test-rh65771.patch
57 Patch41: gcc32-test-rotate.patch
58 BuildRequires: autoconf
60 BuildRequires: fileutils >= 4.0.41
62 %{!?_without_ada:BuildRequires: gcc-ada}
63 BuildRequires: glibc-devel >= 2.2.5-20
64 BuildRequires: perl-devel
65 BuildRequires: texinfo >= 4.1
66 BuildRequires: zlib-devel
67 BuildRequires: gettext-devel
68 Requires: binutils >= 2.12.90.0.4
69 Requires: cpp = %{GCC_VERSION}
70 Requires: libgcc = %{GCC_VERSION}
71 Conflicts: glibc-devel < 2.2.5-20
72 URL: http://gcc.gnu.org/
73 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
78 A compiler aimed at integrating all the optimizations and features
79 necessary for a high-performance and stable development environment.
82 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
83 wyprodukowania szybkiego i stablinego kodu wynikowego.
86 Este pacote adiciona infraestrutura básica e suporte a linguagem C
87 ao Gnu Compiler Collection.
90 Summary: Shared gcc library
91 Summary(pl): Biblioteka gcc
92 Summary(pt_BR): Biblioteca runtime para o GCC
94 Version: %{GCC_VERSION}
97 %description -n libgcc
100 %description -n libgcc -l pl
101 Biblioteka dynamiczna gcc.
103 %description -n libgcc -l pt_BR
104 Biblioteca runtime para o GCC.
107 Summary: C++ support for gcc
108 Summary(pl): Obs³uga C++ dla gcc
109 Summary(pt_BR): Suporte C++ para o gcc
110 Group: Development/Languages
113 Requires: gcc = %{GCC_VERSION}
116 This package adds C++ support to the GNU C compiler. It includes
117 support for most of the current C++ specification, including templates
118 and exception handling. It does not include a standard C++ library,
119 which is available separately.
121 %description c++ -l de
122 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
123 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
124 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
125 sie ist getrennt erhältlich.
127 %description c++ -l fr
128 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
129 support pour la plupart des spécifications actuelles de C++, dont les
130 modéles et la gestion des exceptions. Il ne comprend pas une
131 bibliothéque C++ standard, qui est disponible séparément.
133 %description c++ -l pl
134 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
135 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
136 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
138 %description c++ -l pt_BR
139 Este pacote adiciona suporte C++ para o gcc.
141 %description c++ -l tr
142 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
143 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
144 C++ kitaplýðý bu pakette yer almaz.
147 Summary: Objective C support for gcc
148 Summary(de): Objektive C-Unterstützung für gcc
149 Summary(fr): Gestion d'Objective C pour gcc
150 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
151 Summary(tr): gcc için Objective C desteði
152 Group: Development/Languages
155 Requires: libobjc = %{GCC_VERSION}
156 Requires: gcc = %{GCC_VERSION}
159 This package adds Objective C support to the GNU C compiler. Objective
160 C is a object oriented derivative of the C language, mainly used on
161 systems running NeXTSTEP. This package does not include the standard
162 objective C object library.
164 %description objc -l de
165 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
166 Objective C ist ein objektorientiertes Derivat von C, das zur
167 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
168 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
170 %description objc -l fr
171 Ce package ajoute un support Objective C au compilateur C GNU.
172 L'Objective C est un langage orienté objetdérivé du langage C,
173 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
174 pas la bibliothéque Objective C standard.
176 %description objc -l pl
177 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
178 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
179 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
180 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
182 %description objc -l tr
183 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
184 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
185 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
186 kitaplýðý bu pakette yer almaz.
189 Summary: Objective C Libraries
190 Summary(pl): Biblioteki Obiektowego C
192 Version: %{GCC_VERSION}
195 %description -n libobjc
196 Objective C Libraries.
198 %description -n libobjc -l pl
199 Biblioteki Obiektowego C.
201 %package -n libobjc-static
202 Summary: Static Objective C Libraries
203 Summary(pl): Statyczne Biblioteki Obiektowego C
204 Group: Development/Libraries
205 Version: %{GCC_VERSION}
206 Requires: libobjc = %{GCC_VERSION}
208 %description -n libobjc-static
209 Static Objective C Libraries.
211 %description -n libobjc-static -l pl
212 Statyczne biblioteki Obiektowego C.
215 Summary: Fortran 77 support for gcc
216 Summary(pl): Obs³uga Fortranu 77 dla gcc
217 Summary(pt_BR): Suporte Fortran 77 para o GCC
218 Group: Development/Languages/Fortran
219 Version: %{GCC_VERSION}
221 Requires: libg2c = %{GCC_VERSION}
224 This apckage adds support for compiling Fortran 77 programs with the
227 %description g77 -l pl
228 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
229 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
231 %description g77 -l pt_BR
232 Suporte Fortran 77 para o GCC.
235 Summary: Fortran 77 Libraries
236 Summary(pl): Biblioteki Fortranu 77
238 Version: %{GCC_VERSION}
240 %description -n libg2c
241 Fortran 77 Libraries.
243 %description -n libg2c -l pl
244 Biblioteki Fortranu 77.
246 %package -n libg2c-static
247 Summary: Static Fortran 77 Libraries
248 Summary(pl): Statyczne Biblioteki Fortranu 77
249 Group: Development/Libraries
250 Version: %{GCC_VERSION}
251 Requires: libg2c = %{GCC_VERSION}
253 %description -n libg2c-static
254 Static Fortran 77 Libraries.
256 %description -n libg2c-static -l pl
257 Statyczne biblioteki Fortranu 77.
260 Summary: Java support for gcc
261 Summary(pl): Obs³uga Javy dla gcc
262 Group: Development/Languages/Java
263 Version: %{GCC_VERSION}
264 Requires: %{name} = %{version}
265 Requires: libgcj >= 3.0.0
266 Requires: libgcj-devel >= 3.0.0
267 Requires: java-shared
268 Provides: gcj = %{epoch}:%{GCC_VERSION}-%{release}
271 This package adds experimental support for compiling Java(tm) programs
272 and bytecode into native code. To use this you will also need the
275 %description -l pl java
276 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
277 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
278 by³o przeprowadziæ kompilacjê.
281 Summary: Shared java tools
282 Summary(pl): Wspó³dzielone narzêdzia javy
283 Group: Development/Languages/Java
284 Version: %{GCC_VERSION}
285 Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
286 Provides: java-shared
288 Obsoletes: java-shared
291 %description java-tools
292 This package contains tools that are common for every Java(tm) implementation,
295 %description java-tools -l pl
296 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
300 Summary: Java Class Libraries
301 Summary(pl): Biblioteki Klas Javy
303 Version: %{GCC_VERSION}
307 %description -n libgcj
308 Java Class Libraries.
310 %description -n libgcj -l pl
311 Biblioteki Klas Javy.
313 %package -n libgcj-devel
314 Summary: Development files for Java Class Libraries
315 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
316 Group: Development/Libraries
317 Version: %{GCC_VERSION}
318 Requires: libgcj = %{GCC_VERSION}
319 Requires: %{name}-java
320 Obsoletes: libgcj3-devel
322 %description -n libgcj-devel
323 Development files for Java Class Libraries.
325 %description -n libgcj-devel -l pl
326 Pliki nag³ówkowe dla Bibliotek Klas Javy.
328 %package -n libgcj-static
329 Summary: Static Java Class Libraries
330 Summary(pl): Statyczne Biblioteki Klas Javy
331 Group: Development/Libraries
332 Version: %{GCC_VERSION}
333 Requires: libstdc++-devel = %{GCC_VERSION}
334 Requires: libgcj-devel = %{GCC_VERSION}
336 %description -n libgcj-static
337 Static Java Class Libraries.
339 %description -n libgcj-static -l pl
340 Statyczne Biblioteki Klas Javy.
342 %package -n libstdc++
343 Summary: GNU c++ library
344 Summary(pl): Biblioteki GNU C++
345 Summary(pt_BR): Biblioteca C++ GNU
347 Version: %{GCC_VERSION}
349 Obsoletes: libstdc++3
351 %description -n libstdc++
352 This is the GNU implementation of the standard C++ libraries, along
353 with additional GNU tools. This package includes the shared libraries
354 necessary to run C++ applications.
356 %description -n libstdc++ -l de
357 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
358 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
359 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
361 %description -n libstdc++ -l es
362 Este es el soporte de las bibliotecas padrón del C++, junto con
363 herramientas GNU adicionales. El paquete incluye las bibliotecas
364 compartidas necesarias para ejecutar aplicaciones C++.
366 %description -n libstdc++ -l fr
367 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
368 des outils GNU supplémentaires. Ce package comprend les librairies
369 partagées nécessaires à l'exécution d'application C++.
371 %description -n libstdc++ -l pl
372 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
373 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
374 uruchomienia aplikacji napisanych w C++.
376 %description -n libstdc++ -l pt_BR
377 Este pacote é uma implementação da biblioteca padrão C++ v3, um
378 subconjunto do padrão ISO 14882.
380 %description -n libstdc++ -l tr
381 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
382 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
384 %package -n libstdc++-devel
385 Summary: Header files and documentatino for C++ development
386 Summary(de): Header-Dateien zur Entwicklung mit C++
387 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
388 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
389 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
390 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
391 Group: Development/Libraries
392 Version: %{GCC_VERSION}
393 Requires: libstdc++ = %{GCC_VERSION}
394 Requires: %{name}-c++ = %{GCC_VERSION}
395 Obsoletes: libg++-devel
396 Obsoletes: libstdc++3-devel
398 %description -n libstdc++-devel
399 This is the GNU implementation of the standard C++ libraries. This
400 package includes the header files needed for C++ development and
401 library documentation.
403 %description -n libstdc++-devel -l es
404 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este paquete
405 incluye los archivos de inclusión y bibliotecas necesarios para desarrollo de
406 programas en lenguaje C++.
408 %description -n libstdc++-devel -l pl
409 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
410 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
411 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
413 %description -n libstdc++-devel -l pt_BR
414 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias para
415 desenvolvimento de programas C++.
417 %package -n libstdc++-static
418 Summary: Static C++ standard library
419 Summary(pl): Statyczna biblioteka standardowa C++
420 Group: Development/Libraries
421 Version: %{GCC_VERSION}
422 Requires: libstdc++-devel = %{GCC_VERSION}
424 %description -n libstdc++-static
425 Static C++ standard library.
427 %description -n libstdc++-static -l pl
428 Statycza biblioteka standardowa C++.
431 Summary: Ada support for gcc
432 Summary(pl): Obs³uga Ady do gcc
433 Group: Development/Languages
434 Version: %{GCC_VERSION}
435 Requires: libgnat = %{GCC_VERSION}
436 Requires: gcc = %{GCC_VERSION}
438 Obsoletes: gnat-devel
441 This package adds experimental support for compiling Ada programs.
443 %description -l pl ada
444 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
448 Summary: Ada standard libraries
449 Summary(pl): Biblioteki standardowe dla Ady
451 Version: %{GCC_VERSION}
455 %description -n libgnat
456 This package contains shared libraries needed to run programs written
459 %description -n libgnat -l pl
460 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
463 %package -n libgnat-static
464 Summary: Static Ada standard libraries
465 Summary(pl): Statyczne biblioteki standardowe dla Ady
467 Version: %{GCC_VERSION}
468 Obsoletes: gnat-static
470 %description -n libgnat-static
471 This package contains static libraries for programs written in Ada.
473 %description -n libgnat-static -l pl
474 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
478 Summary: Ksi support for gcc
479 Summary(pl): Obs³uga Ksi dla gcc
480 Version: %{GCC_VERSION}.%{KSI_VERSION}
481 Group: Development/Languages
482 Requires: gcc = %{GCC_VERSION}
485 This package adds experimental support for compiling Ksi programs
486 into native code. You proabably don't need it, unless your are going
487 to develop a compiler using Ksi as intermediate representation or
488 you are using such compiler (like Gont).
490 %description ksi -l pl
491 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
492 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
493 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
494 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
497 Summary: The C Pre Processor
498 Summary(pl): Preprocesor C
499 Summary(pt_BR): Preprocessador para a linguagem C
500 Group: Development/Languages
501 Version: %{GCC_VERSION}
506 The C preprocessor is a "macro processor" that is used automatically
507 by the C compiler to transform your program before actual compilation.
508 It is called a macro processor because it allows you to define
509 "macros", which are brief abbreviations for longer constructs.
511 The C preprocessor provides four separate facilities that you can use
514 - Inclusion of header files. These are files of declarations that can
515 be substituted into your program.
516 - Macro expansion. You can define "macros", which are abbreviations
517 for arbitrary fragments of C code, and then the C preprocessor will
518 replace the macros with their definitions throughout the program.
519 - Conditional compilation. Using special preprocessing directives, you
520 can include or exclude parts of the program according to various
522 - Line control. If you use a program to combine or rearrange source
523 files into an intermediate file which is then compiled, you can use
524 line control to inform the compiler of where each source line
525 originally came from.
527 %description -n cpp -l es
528 Um preprocessador para a linguagem C.
530 %description -n cpp -l pl
531 Przeprocesor C jest "makro procesorem" który jest automatycznie
532 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
533 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
534 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
535 d³ugich konstrukcji w jêzyku C.
537 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
539 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
540 deklaracji polecenia do³±czenia innego pliku.
541 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
542 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
543 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
544 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
545 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
546 fragmenty obrabianego strumienia tekstów.
547 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
548 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
549 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
550 odpowiada fragment pliku wynikowego.
552 %description -n cpp -l pt_BR
553 O preprocessador C é um "processador de macros", que é utilizado pelo
554 compilador C para fazer algumas modificações no seu programa, antes da
555 compilação em si. Ele é chamado de "processador de macros" porque
556 permite a você definir "macros", que são abreviações para construções
559 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
560 arquivos de cabeçalho; expansão de macros; compilação condicional;
561 e controle da numeração das linhas do programa.
564 %setup -q -a1 -n %{name}-%{GCC_VERSION}
565 mv ksi-%{KSI_VERSION} gcc/ksi
596 perl -p -i -e 's/";/ (PLD Linux)";/' gcc/version.c
599 # cd gcc && autoconf; cd ..
600 # autoconf is not needed!
601 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
603 CFLAGS="%{rpmcflags}" \
604 CXXFLAGS="%{rpmcflags}" \
605 TEXCONFIG=false ../configure \
606 --prefix=%{_prefix} \
607 --infodir=%{_infodir} \
608 --mandir=%{_mandir} \
610 --enable-threads=posix \
611 --enable-__cxa_atexit \
612 --enable-languages="c,c++,f77%{?!_without_objc:,objc}%{!?_without_ada:,ada}%{!?_without_java:,java},ksi" \
620 --with-slibdir=%{_slibdir} \
624 PATH=$PATH:/sbin:%{_sbindir}
626 # this dirty hack is relict of setting, where objdir is subdir of srcdir
627 %if %{!?_without_ada:1}%{?_without_ada:0}
628 sed -e 's/srcdir=\$(fsrcdir)/srcdir=\$(fsrcdir) VPATH=\$(fsrcdir)/' \
629 gcc/ada/Makefile > makefile.tmp
630 mv -f makefile.tmp gcc/ada/Makefile
634 %{__make} -C obj-%{_target_platform} bootstrap-lean \
635 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
639 %if %{!?_without_ada:1}%{?_without_ada:0}
640 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
641 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
645 # make Gnat Reference Manual
646 %{__make} -C obj-%{_target_platform}/gcc/ada doc
650 rm -rf $RPM_BUILD_ROOT
651 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
653 cd obj-%{_target_platform}
654 PATH=$PATH:/sbin:%{_sbindir}
657 DESTDIR=$RPM_BUILD_ROOT
659 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
660 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
662 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
663 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
665 %if %{!?_without_ada:1}%{?_without_ada:0}
666 # move ada shared libraries to proper place...
667 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*-*so.1 \
668 $RPM_BUILD_ROOT%{_libdir}
669 rm -f $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1
670 (cd $RPM_BUILD_ROOT%{_libdir} && \
671 ln -s libgnat-*so.1 libgnat.so.1 && ln -s libgnat-*so.1 libgnat.so && \
672 ln -s libgnarl-*so.1 libgnarl.so.1 && ln -s libgnarl-*so.1 libgnarl.so)
675 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
679 %if %{!?_without_ada:1}%{?_without_ada:0}
680 install obj-%{_target_platform}/gcc/ada/gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}
681 install obj-%{_target_platform}/gcc/ada/gnat_ug_unx.info* $RPM_BUILD_ROOT%{_infodir}
684 %if %{!?_without_java:1}%{?_without_java:0}
686 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
687 cp -f fastjar/README java-doc/README.fastjar
688 cp -f libffi/README java-doc/README.libffi
689 cp -f libffi/LICENSE java-doc/LICENSE.libffi
692 %if %{?!_without_objc:1}0
693 cp -f libobjc/README gcc/objc/README.libobjc
696 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
697 for f in libstdc++.la libsupc++.la %{!?_without_java:libgcj.la} ; do
698 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
700 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
701 for f in libstdc++.la libsupc++.la libg2c.la \
702 %{!?_without_java:libgcj.la} %{!?_without_objc:libobjc.la}; do
703 perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
706 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
707 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
710 %find_lang libstdc\+\+
713 rm -rf $RPM_BUILD_ROOT
716 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
719 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
722 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
725 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
728 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
731 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
734 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
737 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
740 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
743 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
745 %post -p /sbin/ldconfig -n libgcc
746 %postun -p /sbin/ldconfig -n libgcc
747 %post -p /sbin/ldconfig -n libstdc++
748 %postun -p /sbin/ldconfig -n libstdc++
749 %post -p /sbin/ldconfig -n libobjc
750 %postun -p /sbin/ldconfig -n libobjc
751 %post -p /sbin/ldconfig -n libg2c
752 %postun -p /sbin/ldconfig -n libg2c
753 %post -p /sbin/ldconfig -n libgcj
754 %postun -p /sbin/ldconfig -n libgcj
755 %post -p /sbin/ldconfig -n libgnat
756 %postun -p /sbin/ldconfig -n libgnat
758 %files -f %{name}.lang
759 %defattr(644,root,root,755)
761 %dir %{_libdir}/gcc-lib
762 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
763 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
764 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
765 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
766 %attr(755,root,root) %{_bindir}/gcc
767 %attr(755,root,root) %{_bindir}/gccbug
768 %attr(755,root,root) %{_bindir}/gcov
769 %attr(755,root,root) %{_bindir}/cc
771 %{_mandir}/man1/gcc.1*
772 %{_mandir}/man1/cc.1*
773 %{_mandir}/man1/gcov.1*
774 %lang(fr) %{_mandir}/fr/man1/gcc.1*
775 %lang(ja) %{_mandir}/ja/man1/gcc.1*
778 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
779 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
780 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
781 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
783 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
784 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
785 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
788 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
789 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
791 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
792 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
793 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
794 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
795 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
796 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
797 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
798 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
800 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/mmintrin.h
801 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/xmmintrin.h
804 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/altivec.h
805 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/ppc-asm.h
809 %defattr(644,root,root,755)
810 %attr(755,root,root) %{_slibdir}/lib*.so*
813 %defattr(644,root,root,755)
814 %attr(755,root,root) %{_bindir}/g++
815 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
816 %attr(755,root,root) %{_bindir}/c++
817 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
818 #%%attr(755,root,root) %{_bindir}/c++filt
819 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
820 %{_libdir}/libsupc++.la
822 %{_libdir}/nof/libsupc++.la
823 %{_libdir}/nof/libsupc++.a
825 %{_libdir}/libsupc++.a
826 %{_mandir}/man1/g++.1*
827 %lang(es) %{_mandir}/es/man1/c++filt.1*
828 %lang(ja) %{_mandir}/ja/man1/g++.1*
830 %files -n libstdc++ -f libstdc++.lang
831 %defattr(644,root,root,755)
832 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
834 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
837 %files -n libstdc++-devel
838 %defattr(644,root,root,755)
839 %doc libstdc++-v3/docs/html
840 %dir %{_includedir}/c++
841 %{_includedir}/c++/%{GCC_VERSION}
842 %attr(755,root,root) %{_libdir}/libstdc++.so
843 %{_libdir}/libstdc++.la
845 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
846 %{_libdir}/nof/libstdc++.la
849 %files -n libstdc++-static
850 %defattr(644,root,root,755)
851 %{_libdir}/libstdc++.a
853 %{_libdir}/nof/libstdc++.a
856 %if %{?!_without_objc:1}0
858 %defattr(644,root,root,755)
860 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
861 %attr(755,root,root) %{_libdir}/libobjc.so
862 %{_libdir}/libobjc.la
864 %attr(755,root,root) %{_libdir}/nof/libobjc.so
865 %{_libdir}/nof/libobjc.la
867 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
870 %defattr(644,root,root,755)
871 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
873 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
876 %files -n libobjc-static
877 %defattr(644,root,root,755)
880 %{_libdir}/nof/libobjc.a
885 %defattr(644,root,root,755)
886 %attr(755,root,root) %{_bindir}/g77
887 %attr(755,root,root) %{_bindir}/f77
889 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
890 %{_libdir}/libfrtbegin.a
892 %attr(755,root,root) %{_libdir}/libg2c.so
894 %{_libdir}/nof/libfrtbegin.a
895 %{_libdir}/nof/libg2c.la
896 %attr(755,root,root) %{_libdir}/nof/libg2c.so
898 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
899 %{_mandir}/man1/g77.1*
900 %{_mandir}/man1/f77.1*
901 %lang(ja) %{_mandir}/ja/man1/g77.1*
902 %lang(ja) %{_mandir}/ja/man1/f77.1*
905 %defattr(644,root,root,755)
906 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
908 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
911 %files -n libg2c-static
912 %defattr(644,root,root,755)
915 %{_libdir}/nof/libg2c.a
918 %if %{!?_without_java:1}%{?_without_java:0}
920 %defattr(644,root,root,755)
922 %attr(755,root,root) %{_bindir}/gcj*
923 %attr(755,root,root) %{_bindir}/gij
924 %attr(755,root,root) %{_bindir}/jcf-dump
925 %attr(755,root,root) %{_bindir}/jv-*
926 %attr(755,root,root) %{_bindir}/grepjar
927 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcj
928 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
929 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
931 %{_mandir}/man1/jcf-*
937 %defattr(644,root,root,755)
938 %attr(755,root,root) %{_bindir}/rmi*
939 %attr(755,root,root) %{_bindir}/jar
943 %defattr(644,root,root,755)
944 %attr(755,root,root) %{_bindir}/addr2name.awk
945 %attr(755,root,root) %{_libdir}/lib*cj*.so.*
947 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
950 %files -n libgcj-devel
951 %defattr(644,root,root,755)
958 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
959 %dir %{_libdir}/security
960 %{_libdir}/security/*
961 %dir %{_datadir}/java
962 %{_datadir}/java/libgcj*.jar
963 %{_libdir}/lib*cj.spec
964 %{_libdir}/lib*cj*.la
965 %attr(755,root,root) %{_libdir}/lib*cj*.so
967 %{_libdir}/nof/lib*cj*.la
968 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
971 %files -n libgcj-static
972 %defattr(644,root,root,755)
975 %{_libdir}/nof/lib*cj*.a
979 %if %{!?_without_ada:1}%{?_without_ada:0}
981 %defattr(644,root,root,755)
982 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
983 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
984 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
985 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
987 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
989 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
990 %attr(755,root,root) %{_bindir}/gnat*
992 %attr(755,root,root) %{_libdir}/libgnat.so*
993 %attr(755,root,root) %{_libdir}/libgnarl.so*
996 %defattr(644,root,root,755)
997 %attr(755,root,root) %{_libdir}/libgna*-*so.1
999 %files -n libgnat-static
1000 %defattr(644,root,root,755)
1001 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
1005 %defattr(644,root,root,755)
1006 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
1008 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
1011 %defattr(644,root,root,755)
1012 %attr(755,root,root) %{_slibdir}/cpp
1013 %attr(755,root,root) %{_bindir}/cpp
1014 #%%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
1015 #%%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/tradcpp0
1016 %{_mandir}/man1/cpp.1*
1017 %lang(ja) %{_mandir}/ja/man1/cpp.1*