3 # _without_ada - build without ADA support
4 # _without_java - build without Java support
5 # _without_objc - build without objc support
8 # - make separate libffi{,-devel,-static}
10 %define DASHED_SNAP %{nil}
11 %define SNAP %(echo %{DASHED_SNAP} | sed -e "s#-##g")
12 %define GCC_VERSION 3.3
13 %define KSI_VERSION 1.1.0.1567
15 Summary: GNU C Compiler
16 Summary(pl): Kompilator C GNU
17 Summary(pt_BR): C Compilador GNU (GCC)
19 Version: %{GCC_VERSION}
23 Group: Development/Languages
24 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{GCC_VERSION}/%{name}-%{GCC_VERSION}.tar.bz2
25 Source1: ftp://ftp.pld.org.pl/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
26 Source2: %{name}-non-english-man-pages.tar.bz2
27 Patch0: %{name}-info.patch
28 Patch1: %{name}-paths.patch
29 Patch2: %{name}-ada-no-addr2line.patch
30 Patch3: %{name}-ada-no-prefix.o.patch
31 Patch4: %{name}-nolocalefiles.patch
32 Patch6: %{name}-ada-link-new-libgnat.patch
33 # -- stolen patches from RH --
34 Patch10: gcc32-ada-link.patch
35 Patch16: gcc32-boehm-gc-libs.patch
36 Patch17: gcc32-bogus-inline.patch
37 Patch18: gcc32-c++-nrv-test.patch
38 Patch20: gcc32-c++-tsubst-asm.patch
39 Patch22: gcc32-debug-pr7241.patch
41 Patch24: gcc32-duplicate-decl.patch
42 Patch25: gcc32-dwarf2-pr6381.patch
43 Patch26: gcc32-dwarf2-pr6436-test.patch
44 Patch27: gcc32-fde-merge-compat.patch
46 Patch32: gcc32-i386-memtest-test.patch
47 Patch36: gcc32-inline-label.patch
48 Patch37: gcc32-java-no-rpath.patch
49 Patch40: gcc32-test-rh65771.patch
50 Patch41: gcc32-test-rotate.patch
51 BuildRequires: autoconf
53 BuildRequires: fileutils >= 4.0.41
55 %{!?_without_ada:BuildRequires: gcc-ada}
56 BuildRequires: glibc-devel >= 2.2.5-20
57 BuildRequires: perl-devel
58 BuildRequires: texinfo >= 4.1
59 BuildRequires: zlib-devel
60 BuildRequires: gettext-devel
61 Requires: binutils >= 2.12.90.0.4
62 Requires: cpp = %{GCC_VERSION}
63 Requires: libgcc = %{GCC_VERSION}
64 Conflicts: glibc-devel < 2.2.5-20
65 URL: http://gcc.gnu.org/
66 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71 A compiler aimed at integrating all the optimizations and features
72 necessary for a high-performance and stable development environment.
75 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
76 wyprodukowania szybkiego i stablinego kodu wynikowego.
79 Este pacote adiciona infraestrutura básica e suporte a linguagem C
80 ao Gnu Compiler Collection.
83 Summary: Shared gcc library
84 Summary(pl): Biblioteka gcc
85 Summary(pt_BR): Biblioteca runtime para o GCC
87 Version: %{GCC_VERSION}
90 %description -n libgcc
93 %description -n libgcc -l pl
94 Biblioteka dynamiczna gcc.
96 %description -n libgcc -l pt_BR
97 Biblioteca runtime para o GCC.
100 Summary: C++ support for gcc
101 Summary(pl): Obs³uga C++ dla gcc
102 Summary(pt_BR): Suporte C++ para o gcc
103 Group: Development/Languages
106 Requires: gcc = %{GCC_VERSION}
109 This package adds C++ support to the GNU C compiler. It includes
110 support for most of the current C++ specification, including templates
111 and exception handling. It does not include a standard C++ library,
112 which is available separately.
114 %description c++ -l de
115 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
116 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
117 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
118 sie ist getrennt erhältlich.
120 %description c++ -l fr
121 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
122 support pour la plupart des spécifications actuelles de C++, dont les
123 modéles et la gestion des exceptions. Il ne comprend pas une
124 bibliothéque C++ standard, qui est disponible séparément.
126 %description c++ -l pl
127 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
128 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
129 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
131 %description c++ -l pt_BR
132 Este pacote adiciona suporte C++ para o gcc.
134 %description c++ -l tr
135 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
136 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
137 C++ kitaplýðý bu pakette yer almaz.
140 Summary: Objective C support for gcc
141 Summary(de): Objektive C-Unterstützung für gcc
142 Summary(fr): Gestion d'Objective C pour gcc
143 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
144 Summary(tr): gcc için Objective C desteði
145 Group: Development/Languages
148 Requires: libobjc = %{GCC_VERSION}
149 Requires: gcc = %{GCC_VERSION}
152 This package adds Objective C support to the GNU C compiler. Objective
153 C is a object oriented derivative of the C language, mainly used on
154 systems running NeXTSTEP. This package does not include the standard
155 objective C object library.
157 %description objc -l de
158 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
159 Objective C ist ein objektorientiertes Derivat von C, das zur
160 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
161 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
163 %description objc -l fr
164 Ce package ajoute un support Objective C au compilateur C GNU.
165 L'Objective C est un langage orienté objetdérivé du langage C,
166 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
167 pas la bibliothéque Objective C standard.
169 %description objc -l pl
170 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
171 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
172 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
173 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
175 %description objc -l tr
176 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
177 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
178 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
179 kitaplýðý bu pakette yer almaz.
182 Summary: Objective C Libraries
183 Summary(pl): Biblioteki Obiektowego C
185 Version: %{GCC_VERSION}
188 %description -n libobjc
189 Objective C Libraries.
191 %description -n libobjc -l pl
192 Biblioteki Obiektowego C.
194 %package -n libobjc-static
195 Summary: Static Objective C Libraries
196 Summary(pl): Statyczne Biblioteki Obiektowego C
197 Group: Development/Libraries
198 Version: %{GCC_VERSION}
199 Requires: libobjc = %{GCC_VERSION}
201 %description -n libobjc-static
202 Static Objective C Libraries.
204 %description -n libobjc-static -l pl
205 Statyczne biblioteki Obiektowego C.
208 Summary: Fortran 77 support for gcc
209 Summary(pl): Obs³uga Fortranu 77 dla gcc
210 Summary(pt_BR): Suporte Fortran 77 para o GCC
211 Group: Development/Languages/Fortran
212 Version: %{GCC_VERSION}
214 Requires: libg2c = %{GCC_VERSION}
217 This apckage adds support for compiling Fortran 77 programs with the
220 %description g77 -l pl
221 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
222 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
224 %description g77 -l pt_BR
225 Suporte Fortran 77 para o GCC.
228 Summary: Fortran 77 Libraries
229 Summary(pl): Biblioteki Fortranu 77
231 Version: %{GCC_VERSION}
233 %description -n libg2c
234 Fortran 77 Libraries.
236 %description -n libg2c -l pl
237 Biblioteki Fortranu 77.
239 %package -n libg2c-static
240 Summary: Static Fortran 77 Libraries
241 Summary(pl): Statyczne Biblioteki Fortranu 77
242 Group: Development/Libraries
243 Version: %{GCC_VERSION}
244 Requires: libg2c = %{GCC_VERSION}
246 %description -n libg2c-static
247 Static Fortran 77 Libraries.
249 %description -n libg2c-static -l pl
250 Statyczne biblioteki Fortranu 77.
253 Summary: Java support for gcc
254 Summary(pl): Obs³uga Javy dla gcc
255 Group: Development/Languages/Java
256 Version: %{GCC_VERSION}
257 Requires: %{name} = %{version}
258 Requires: libgcj >= 3.0.0
259 Requires: libgcj-devel >= 3.0.0
260 Requires: java-shared
261 Provides: gcj = %{epoch}:%{GCC_VERSION}-%{release}
264 This package adds experimental support for compiling Java(tm) programs
265 and bytecode into native code. To use this you will also need the
268 %description -l pl java
269 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
270 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
271 by³o przeprowadziæ kompilacjê.
274 Summary: Shared java tools
275 Summary(pl): Wspó³dzielone narzêdzia javy
276 Group: Development/Languages/Java
277 Version: %{GCC_VERSION}
278 Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
279 Provides: java-shared
281 Obsoletes: java-shared
284 %description java-tools
285 This package contains tools that are common for every Java(tm) implementation,
288 %description java-tools -l pl
289 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
293 Summary: Java Class Libraries
294 Summary(pl): Biblioteki Klas Javy
296 Version: %{GCC_VERSION}
300 %description -n libgcj
301 Java Class Libraries.
303 %description -n libgcj -l pl
304 Biblioteki Klas Javy.
306 %package -n libgcj-devel
307 Summary: Development files for Java Class Libraries
308 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
309 Group: Development/Libraries
310 Version: %{GCC_VERSION}
311 Requires: libgcj = %{GCC_VERSION}
312 Requires: %{name}-java
313 Obsoletes: libgcj3-devel
315 %description -n libgcj-devel
316 Development files for Java Class Libraries.
318 %description -n libgcj-devel -l pl
319 Pliki nag³ówkowe dla Bibliotek Klas Javy.
321 %package -n libgcj-static
322 Summary: Static Java Class Libraries
323 Summary(pl): Statyczne Biblioteki Klas Javy
324 Group: Development/Libraries
325 Version: %{GCC_VERSION}
326 Requires: libstdc++-devel = %{GCC_VERSION}
327 Requires: libgcj-devel = %{GCC_VERSION}
329 %description -n libgcj-static
330 Static Java Class Libraries.
332 %description -n libgcj-static -l pl
333 Statyczne Biblioteki Klas Javy.
335 %package -n libstdc++
336 Summary: GNU c++ library
337 Summary(pl): Biblioteki GNU C++
338 Summary(pt_BR): Biblioteca C++ GNU
340 Version: %{GCC_VERSION}
342 Obsoletes: libstdc++3
344 %description -n libstdc++
345 This is the GNU implementation of the standard C++ libraries, along
346 with additional GNU tools. This package includes the shared libraries
347 necessary to run C++ applications.
349 %description -n libstdc++ -l de
350 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
351 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
352 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
354 %description -n libstdc++ -l es
355 Este es el soporte de las bibliotecas padrón del C++, junto con
356 herramientas GNU adicionales. El paquete incluye las bibliotecas
357 compartidas necesarias para ejecutar aplicaciones C++.
359 %description -n libstdc++ -l fr
360 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
361 des outils GNU supplémentaires. Ce package comprend les librairies
362 partagées nécessaires à l'exécution d'application C++.
364 %description -n libstdc++ -l pl
365 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
366 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
367 uruchomienia aplikacji napisanych w C++.
369 %description -n libstdc++ -l pt_BR
370 Este pacote é uma implementação da biblioteca padrão C++ v3, um
371 subconjunto do padrão ISO 14882.
373 %description -n libstdc++ -l tr
374 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
375 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
377 %package -n libstdc++-devel
378 Summary: Header files and documentatino for C++ development
379 Summary(de): Header-Dateien zur Entwicklung mit C++
380 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
381 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
382 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
383 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
384 Group: Development/Libraries
385 Version: %{GCC_VERSION}
386 Requires: libstdc++ = %{GCC_VERSION}
387 Requires: %{name}-c++ = %{GCC_VERSION}
388 Obsoletes: libg++-devel
389 Obsoletes: libstdc++3-devel
391 %description -n libstdc++-devel
392 This is the GNU implementation of the standard C++ libraries. This
393 package includes the header files needed for C++ development and
394 library documentation.
396 %description -n libstdc++-devel -l es
397 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este paquete
398 incluye los archivos de inclusión y bibliotecas necesarios para desarrollo de
399 programas en lenguaje C++.
401 %description -n libstdc++-devel -l pl
402 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
403 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
404 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
406 %description -n libstdc++-devel -l pt_BR
407 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias para
408 desenvolvimento de programas C++.
410 %package -n libstdc++-static
411 Summary: Static C++ standard library
412 Summary(pl): Statyczna biblioteka standardowa C++
413 Group: Development/Libraries
414 Version: %{GCC_VERSION}
415 Requires: libstdc++-devel = %{GCC_VERSION}
417 %description -n libstdc++-static
418 Static C++ standard library.
420 %description -n libstdc++-static -l pl
421 Statycza biblioteka standardowa C++.
424 Summary: Ada support for gcc
425 Summary(pl): Obs³uga Ady do gcc
426 Group: Development/Languages
427 Version: %{GCC_VERSION}
428 Requires: libgnat = %{GCC_VERSION}
429 Requires: gcc = %{GCC_VERSION}
431 Obsoletes: gnat-devel
434 This package adds experimental support for compiling Ada programs.
436 %description -l pl ada
437 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
441 Summary: Ada standard libraries
442 Summary(pl): Biblioteki standardowe dla Ady
444 Version: %{GCC_VERSION}
448 %description -n libgnat
449 This package contains shared libraries needed to run programs written
452 %description -n libgnat -l pl
453 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
456 %package -n libgnat-static
457 Summary: Static Ada standard libraries
458 Summary(pl): Statyczne biblioteki standardowe dla Ady
460 Version: %{GCC_VERSION}
461 Obsoletes: gnat-static
463 %description -n libgnat-static
464 This package contains static libraries for programs written in Ada.
466 %description -n libgnat-static -l pl
467 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
471 Summary: Ksi support for gcc
472 Summary(pl): Obs³uga Ksi dla gcc
473 Version: %{GCC_VERSION}.%{KSI_VERSION}
474 Group: Development/Languages
475 Requires: gcc = %{GCC_VERSION}
478 This package adds experimental support for compiling Ksi programs
479 into native code. You proabably don't need it, unless your are going
480 to develop a compiler using Ksi as intermediate representation or
481 you are using such compiler (like Gont).
483 %description ksi -l pl
484 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
485 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
486 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
487 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
490 Summary: The C Pre Processor
491 Summary(pl): Preprocesor C
492 Summary(pt_BR): Preprocessador para a linguagem C
493 Group: Development/Languages
494 Version: %{GCC_VERSION}
499 The C preprocessor is a "macro processor" that is used automatically
500 by the C compiler to transform your program before actual compilation.
501 It is called a macro processor because it allows you to define
502 "macros", which are brief abbreviations for longer constructs.
504 The C preprocessor provides four separate facilities that you can use
507 - Inclusion of header files. These are files of declarations that can
508 be substituted into your program.
509 - Macro expansion. You can define "macros", which are abbreviations
510 for arbitrary fragments of C code, and then the C preprocessor will
511 replace the macros with their definitions throughout the program.
512 - Conditional compilation. Using special preprocessing directives, you
513 can include or exclude parts of the program according to various
515 - Line control. If you use a program to combine or rearrange source
516 files into an intermediate file which is then compiled, you can use
517 line control to inform the compiler of where each source line
518 originally came from.
520 %description -n cpp -l es
521 Um preprocessador para a linguagem C.
523 %description -n cpp -l pl
524 Przeprocesor C jest "makro procesorem" który jest automatycznie
525 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
526 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
527 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
528 d³ugich konstrukcji w jêzyku C.
530 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
532 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
533 deklaracji polecenia do³±czenia innego pliku.
534 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
535 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
536 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
537 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
538 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
539 fragmenty obrabianego strumienia tekstów.
540 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
541 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
542 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
543 odpowiada fragment pliku wynikowego.
545 %description -n cpp -l pt_BR
546 O preprocessador C é um "processador de macros", que é utilizado pelo
547 compilador C para fazer algumas modificações no seu programa, antes da
548 compilação em si. Ele é chamado de "processador de macros" porque
549 permite a você definir "macros", que são abreviações para construções
552 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
553 arquivos de cabeçalho; expansão de macros; compilação condicional;
554 e controle da numeração das linhas do programa.
557 %setup -q -a1 -n %{name}-%{GCC_VERSION}
558 mv ksi-%{KSI_VERSION} gcc/ksi
584 perl -p -i -e 's/";/ (PLD Linux)";/' gcc/version.c
587 # cd gcc && autoconf; cd ..
588 # autoconf is not needed!
589 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
591 CFLAGS="%{rpmcflags}" \
592 CXXFLAGS="%{rpmcflags}" \
593 TEXCONFIG=false ../configure \
594 --prefix=%{_prefix} \
595 --infodir=%{_infodir} \
596 --mandir=%{_mandir} \
598 --enable-threads=posix \
599 --enable-__cxa_atexit \
600 --enable-languages="c,c++,f77%{?!_without_objc:,objc}%{!?_without_ada:,ada}%{!?_without_java:,java},ksi" \
608 --with-slibdir=%{_slibdir} \
612 PATH=$PATH:/sbin:%{_sbindir}
614 # this dirty hack is relict of setting, where objdir is subdir of srcdir
615 %if %{!?_without_ada:1}%{?_without_ada:0}
616 sed -e 's/srcdir=\$(fsrcdir)/srcdir=\$(fsrcdir) VPATH=\$(fsrcdir)/' \
617 gcc/ada/Makefile > makefile.tmp
618 mv -f makefile.tmp gcc/ada/Makefile
622 %{__make} -C obj-%{_target_platform} bootstrap-lean \
623 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
627 %if %{!?_without_ada:1}%{?_without_ada:0}
628 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
629 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
635 rm -rf $RPM_BUILD_ROOT
636 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
638 cd obj-%{_target_platform}
639 PATH=$PATH:/sbin:%{_sbindir}
642 DESTDIR=$RPM_BUILD_ROOT
644 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
645 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
647 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
648 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
650 %if %{!?_without_ada:1}%{?_without_ada:0}
651 # move ada shared libraries to proper place...
652 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*-3.15.so \
653 $RPM_BUILD_ROOT%{_libdir}/
654 # these shouldn't be needed i guess
655 #ln -sf %{_libdir}/libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/
656 #ln -sf %{_libdir}/libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/
657 ln -sf libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
658 ln -sf libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
661 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
665 %if %{!?_without_java:1}%{?_without_java:0}
667 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
668 cp -f fastjar/README java-doc/README.fastjar
669 cp -f libffi/README java-doc/README.libffi
670 cp -f libffi/LICENSE java-doc/LICENSE.libffi
673 %if %{?!_without_objc:1}0
674 cp -f libobjc/README gcc/objc/README.libobjc
677 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
678 for f in libstdc++.la libsupc++.la %{!?_without_java:libgcj.la} ; do
679 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
681 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
682 for f in libstdc++.la libsupc++.la libg2c.la \
683 %{!?_without_java:libgcj.la} %{!?_without_objc:libobjc.la}; do
684 perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
687 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
688 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
690 # include/ contains install-tools/include/* and headers that were fixed up
691 # by fixincludes, we don't want former
692 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/)
694 # we have to save these however
695 mv -f $gccdir/include/{%{?!_without_objc:objc,}g2c.h,syslimits.h%{?!_without_java:,gcj}} $gccdir/tmp
696 rm -rf $gccdir/include
697 mv -f $gccdir/tmp $gccdir/include
698 cp $gccdir/install-tools/include/*.h $gccdir/include
699 # but we don't want anything more from install-tools
700 rm -rf $gccdir/install-tools/
703 %find_lang libstdc\+\+
706 rm -rf $RPM_BUILD_ROOT
709 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
712 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
715 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
718 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
721 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
724 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
727 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
730 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
733 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
736 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
738 %post -p /sbin/ldconfig -n libgcc
739 %postun -p /sbin/ldconfig -n libgcc
740 %post -p /sbin/ldconfig -n libstdc++
741 %postun -p /sbin/ldconfig -n libstdc++
742 %post -p /sbin/ldconfig -n libobjc
743 %postun -p /sbin/ldconfig -n libobjc
744 %post -p /sbin/ldconfig -n libg2c
745 %postun -p /sbin/ldconfig -n libg2c
746 %post -p /sbin/ldconfig -n libgcj
747 %postun -p /sbin/ldconfig -n libgcj
748 %post -p /sbin/ldconfig -n libgnat
749 %postun -p /sbin/ldconfig -n libgnat
751 %files -f %{name}.lang
752 %defattr(644,root,root,755)
754 %dir %{_libdir}/gcc-lib
755 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
756 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
757 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
758 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
759 %attr(755,root,root) %{_bindir}/gcc
760 %attr(755,root,root) %{_bindir}/gccbug
761 %attr(755,root,root) %{_bindir}/gcov
762 %attr(755,root,root) %{_bindir}/cc
764 %{_mandir}/man1/gcc.1*
765 %{_mandir}/man1/cc.1*
766 %{_mandir}/man1/gcov.1*
767 %lang(fr) %{_mandir}/fr/man1/gcc.1*
768 %lang(ja) %{_mandir}/ja/man1/gcc.1*
771 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
772 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
773 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
774 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
776 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
777 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
778 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
781 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
782 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
784 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/*.h
785 %exclude %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
788 %defattr(644,root,root,755)
789 %attr(755,root,root) %{_slibdir}/lib*.so*
792 %defattr(644,root,root,755)
793 %attr(755,root,root) %{_bindir}/g++
794 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
795 %attr(755,root,root) %{_bindir}/c++
796 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
797 #%%attr(755,root,root) %{_bindir}/c++filt
798 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
799 %{_libdir}/libsupc++.la
801 %{_libdir}/nof/libsupc++.la
802 %{_libdir}/nof/libsupc++.a
804 %{_libdir}/libsupc++.a
805 %{_mandir}/man1/g++.1*
806 %lang(es) %{_mandir}/es/man1/c++filt.1*
807 %lang(ja) %{_mandir}/ja/man1/g++.1*
809 %files -n libstdc++ -f libstdc++.lang
810 %defattr(644,root,root,755)
811 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
813 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
816 %files -n libstdc++-devel
817 %defattr(644,root,root,755)
818 %doc libstdc++-v3/docs/html
819 %dir %{_includedir}/c++
820 %{_includedir}/c++/%{GCC_VERSION}
821 %attr(755,root,root) %{_libdir}/libstdc++.so
822 %{_libdir}/libstdc++.la
824 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
825 %{_libdir}/nof/libstdc++.la
828 %files -n libstdc++-static
829 %defattr(644,root,root,755)
830 %{_libdir}/libstdc++.a
832 %{_libdir}/nof/libstdc++.a
835 %if %{?!_without_objc:1}0
837 %defattr(644,root,root,755)
839 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
840 %attr(755,root,root) %{_libdir}/libobjc.so
841 %{_libdir}/libobjc.la
843 %attr(755,root,root) %{_libdir}/nof/libobjc.so
844 %{_libdir}/nof/libobjc.la
846 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
849 %defattr(644,root,root,755)
850 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
852 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
855 %files -n libobjc-static
856 %defattr(644,root,root,755)
859 %{_libdir}/nof/libobjc.a
864 %defattr(644,root,root,755)
865 %attr(755,root,root) %{_bindir}/g77
866 %attr(755,root,root) %{_bindir}/f77
868 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
869 %{_libdir}/libfrtbegin.a
871 %attr(755,root,root) %{_libdir}/libg2c.so
873 %{_libdir}/nof/libfrtbegin.a
874 %{_libdir}/nof/libg2c.la
875 %attr(755,root,root) %{_libdir}/nof/libg2c.so
877 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
878 %{_mandir}/man1/g77.1*
879 %{_mandir}/man1/f77.1*
880 %lang(ja) %{_mandir}/ja/man1/g77.1*
881 %lang(ja) %{_mandir}/ja/man1/f77.1*
884 %defattr(644,root,root,755)
885 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
887 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
890 %files -n libg2c-static
891 %defattr(644,root,root,755)
894 %{_libdir}/nof/libg2c.a
897 %if %{!?_without_java:1}%{?_without_java:0}
899 %defattr(644,root,root,755)
901 %attr(755,root,root) %{_bindir}/gcj*
902 %attr(755,root,root) %{_bindir}/gij
903 %attr(755,root,root) %{_bindir}/jcf-dump
904 %attr(755,root,root) %{_bindir}/jv-*
905 %attr(755,root,root) %{_bindir}/grepjar
906 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcj
907 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
908 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
910 %{_mandir}/man1/jcf-*
914 %{_mandir}/man1/grepjar*
917 %defattr(644,root,root,755)
918 %attr(755,root,root) %{_bindir}/rmi*
919 %attr(755,root,root) %{_bindir}/jar
925 %defattr(644,root,root,755)
926 %attr(755,root,root) %{_bindir}/addr2name.awk
927 %attr(755,root,root) %{_libdir}/lib*cj*.so.*
928 %attr(755,root,root) %{_libdir}/lib-org*.so.*
930 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
933 %files -n libgcj-devel
934 %defattr(644,root,root,755)
941 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
942 %dir %{_libdir}/security
943 %{_libdir}/security/*
944 %dir %{_datadir}/java
945 %{_datadir}/java/libgcj*.jar
946 %{_libdir}/lib*cj.spec
947 %{_libdir}/lib*cj*.la
948 %attr(755,root,root) %{_libdir}/lib*cj*.so
949 %attr(755,root,root) %{_libdir}/lib-org-*.so
950 %attr(755,root,root) %{_libdir}/lib-org-*.la
952 %{_libdir}/nof/lib*cj*.la
953 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
956 %files -n libgcj-static
957 %defattr(644,root,root,755)
959 %{_libdir}/lib-org-*.a
961 %{_libdir}/nof/lib*cj*.a
965 %if %{!?_without_ada:1}%{?_without_ada:0}
967 %defattr(644,root,root,755)
968 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
969 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
970 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
971 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
973 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
975 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
976 %attr(755,root,root) %{_bindir}/gnat*
978 %attr(755,root,root) %{_libdir}/libgnat.so
979 %attr(755,root,root) %{_libdir}/libgnarl.so
982 %defattr(644,root,root,755)
983 %attr(755,root,root) %{_libdir}/libgna*-3*.so
985 %files -n libgnat-static
986 %defattr(644,root,root,755)
987 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
991 %defattr(644,root,root,755)
992 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
994 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
997 %defattr(644,root,root,755)
998 %attr(755,root,root) %{_slibdir}/cpp
999 %attr(755,root,root) %{_bindir}/cpp
1000 #%%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
1001 #%%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/tradcpp0
1002 %{_mandir}/man1/cpp.1*
1003 %lang(ja) %{_mandir}/ja/man1/cpp.1*