3 # _without_ada - build without ADA support
4 # _without_java - build without Java support
5 # _without_objc - build without objc support
8 # - fix %%files (separate package for libffi ?)
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 Patch5: %{name}-gcc-page.c.patch
33 Patch6: %{name}-ada-link-new-libgnat.patch
34 # -- stolen patches from RH --
35 Patch10: gcc32-ada-link.patch
36 Patch16: gcc32-boehm-gc-libs.patch
37 Patch17: gcc32-bogus-inline.patch
38 Patch18: gcc32-c++-nrv-test.patch
39 Patch20: gcc32-c++-tsubst-asm.patch
40 Patch21: gcc32-cfg-eh.patch
41 Patch22: gcc32-debug-pr7241.patch
43 Patch24: gcc32-duplicate-decl.patch
44 Patch25: gcc32-dwarf2-pr6381.patch
45 Patch26: gcc32-dwarf2-pr6436-test.patch
46 Patch27: gcc32-fde-merge-compat.patch
48 Patch31: gcc32-i386-default-momit-leaf-frame-pointer.patch
49 Patch32: gcc32-i386-memtest-test.patch
50 Patch33: gcc32-i386-no-default-momit-leaf-frame-pointer.patch
51 Patch34: gcc32-i386-pic-label-thunk.patch
52 Patch36: gcc32-inline-label.patch
53 Patch37: gcc32-java-no-rpath.patch
54 Patch40: gcc32-test-rh65771.patch
55 Patch41: gcc32-test-rotate.patch
56 BuildRequires: autoconf
58 BuildRequires: fileutils >= 4.0.41
60 %{!?_without_ada:BuildRequires: gcc-ada}
61 BuildRequires: glibc-devel >= 2.2.5-20
62 BuildRequires: perl-devel
63 BuildRequires: texinfo >= 4.1
64 BuildRequires: zlib-devel
65 BuildRequires: gettext-devel
66 Requires: binutils >= 2.12.90.0.4
67 Requires: cpp = %{GCC_VERSION}
68 Requires: libgcc = %{GCC_VERSION}
69 Conflicts: glibc-devel < 2.2.5-20
70 URL: http://gcc.gnu.org/
71 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
76 A compiler aimed at integrating all the optimizations and features
77 necessary for a high-performance and stable development environment.
80 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
81 wyprodukowania szybkiego i stablinego kodu wynikowego.
84 Este pacote adiciona infraestrutura básica e suporte a linguagem C
85 ao Gnu Compiler Collection.
88 Summary: Shared gcc library
89 Summary(pl): Biblioteka gcc
90 Summary(pt_BR): Biblioteca runtime para o GCC
92 Version: %{GCC_VERSION}
95 %description -n libgcc
98 %description -n libgcc -l pl
99 Biblioteka dynamiczna gcc.
101 %description -n libgcc -l pt_BR
102 Biblioteca runtime para o GCC.
105 Summary: C++ support for gcc
106 Summary(pl): Obs³uga C++ dla gcc
107 Summary(pt_BR): Suporte C++ para o gcc
108 Group: Development/Languages
111 Requires: gcc = %{GCC_VERSION}
114 This package adds C++ support to the GNU C compiler. It includes
115 support for most of the current C++ specification, including templates
116 and exception handling. It does not include a standard C++ library,
117 which is available separately.
119 %description c++ -l de
120 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
121 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
122 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
123 sie ist getrennt erhältlich.
125 %description c++ -l fr
126 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
127 support pour la plupart des spécifications actuelles de C++, dont les
128 modéles et la gestion des exceptions. Il ne comprend pas une
129 bibliothéque C++ standard, qui est disponible séparément.
131 %description c++ -l pl
132 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
133 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
134 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
136 %description c++ -l pt_BR
137 Este pacote adiciona suporte C++ para o gcc.
139 %description c++ -l tr
140 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
141 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
142 C++ kitaplýðý bu pakette yer almaz.
145 Summary: Objective C support for gcc
146 Summary(de): Objektive C-Unterstützung für gcc
147 Summary(fr): Gestion d'Objective C pour gcc
148 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
149 Summary(tr): gcc için Objective C desteði
150 Group: Development/Languages
153 Requires: libobjc = %{GCC_VERSION}
154 Requires: gcc = %{GCC_VERSION}
157 This package adds Objective C support to the GNU C compiler. Objective
158 C is a object oriented derivative of the C language, mainly used on
159 systems running NeXTSTEP. This package does not include the standard
160 objective C object library.
162 %description objc -l de
163 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
164 Objective C ist ein objektorientiertes Derivat von C, das zur
165 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
166 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
168 %description objc -l fr
169 Ce package ajoute un support Objective C au compilateur C GNU.
170 L'Objective C est un langage orienté objetdérivé du langage C,
171 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
172 pas la bibliothéque Objective C standard.
174 %description objc -l pl
175 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
176 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
177 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
178 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
180 %description objc -l tr
181 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
182 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
183 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
184 kitaplýðý bu pakette yer almaz.
187 Summary: Objective C Libraries
188 Summary(pl): Biblioteki Obiektowego C
190 Version: %{GCC_VERSION}
193 %description -n libobjc
194 Objective C Libraries.
196 %description -n libobjc -l pl
197 Biblioteki Obiektowego C.
199 %package -n libobjc-static
200 Summary: Static Objective C Libraries
201 Summary(pl): Statyczne Biblioteki Obiektowego C
202 Group: Development/Libraries
203 Version: %{GCC_VERSION}
204 Requires: libobjc = %{GCC_VERSION}
206 %description -n libobjc-static
207 Static Objective C Libraries.
209 %description -n libobjc-static -l pl
210 Statyczne biblioteki Obiektowego C.
213 Summary: Fortran 77 support for gcc
214 Summary(pl): Obs³uga Fortranu 77 dla gcc
215 Summary(pt_BR): Suporte Fortran 77 para o GCC
216 Group: Development/Languages/Fortran
217 Version: %{GCC_VERSION}
219 Requires: libg2c = %{GCC_VERSION}
222 This apckage adds support for compiling Fortran 77 programs with the
225 %description g77 -l pl
226 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
227 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
229 %description g77 -l pt_BR
230 Suporte Fortran 77 para o GCC.
233 Summary: Fortran 77 Libraries
234 Summary(pl): Biblioteki Fortranu 77
236 Version: %{GCC_VERSION}
238 %description -n libg2c
239 Fortran 77 Libraries.
241 %description -n libg2c -l pl
242 Biblioteki Fortranu 77.
244 %package -n libg2c-static
245 Summary: Static Fortran 77 Libraries
246 Summary(pl): Statyczne Biblioteki Fortranu 77
247 Group: Development/Libraries
248 Version: %{GCC_VERSION}
249 Requires: libg2c = %{GCC_VERSION}
251 %description -n libg2c-static
252 Static Fortran 77 Libraries.
254 %description -n libg2c-static -l pl
255 Statyczne biblioteki Fortranu 77.
258 Summary: Java support for gcc
259 Summary(pl): Obs³uga Javy dla gcc
260 Group: Development/Languages/Java
261 Version: %{GCC_VERSION}
262 Requires: %{name} = %{version}
263 Requires: libgcj >= 3.0.0
264 Requires: libgcj-devel >= 3.0.0
265 Requires: java-shared
266 Provides: gcj = %{epoch}:%{GCC_VERSION}-%{release}
269 This package adds experimental support for compiling Java(tm) programs
270 and bytecode into native code. To use this you will also need the
273 %description -l pl java
274 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
275 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
276 by³o przeprowadziæ kompilacjê.
279 Summary: Shared java tools
280 Summary(pl): Wspó³dzielone narzêdzia javy
281 Group: Development/Languages/Java
282 Version: %{GCC_VERSION}
283 Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
284 Provides: java-shared
286 Obsoletes: java-shared
289 %description java-tools
290 This package contains tools that are common for every Java(tm) implementation,
293 %description java-tools -l pl
294 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
298 Summary: Java Class Libraries
299 Summary(pl): Biblioteki Klas Javy
301 Version: %{GCC_VERSION}
305 %description -n libgcj
306 Java Class Libraries.
308 %description -n libgcj -l pl
309 Biblioteki Klas Javy.
311 %package -n libgcj-devel
312 Summary: Development files for Java Class Libraries
313 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
314 Group: Development/Libraries
315 Version: %{GCC_VERSION}
316 Requires: libgcj = %{GCC_VERSION}
317 Requires: %{name}-java
318 Obsoletes: libgcj3-devel
320 %description -n libgcj-devel
321 Development files for Java Class Libraries.
323 %description -n libgcj-devel -l pl
324 Pliki nag³ówkowe dla Bibliotek Klas Javy.
326 %package -n libgcj-static
327 Summary: Static Java Class Libraries
328 Summary(pl): Statyczne Biblioteki Klas Javy
329 Group: Development/Libraries
330 Version: %{GCC_VERSION}
331 Requires: libstdc++-devel = %{GCC_VERSION}
332 Requires: libgcj-devel = %{GCC_VERSION}
334 %description -n libgcj-static
335 Static Java Class Libraries.
337 %description -n libgcj-static -l pl
338 Statyczne Biblioteki Klas Javy.
340 %package -n libstdc++
341 Summary: GNU c++ library
342 Summary(pl): Biblioteki GNU C++
343 Summary(pt_BR): Biblioteca C++ GNU
345 Version: %{GCC_VERSION}
347 Obsoletes: libstdc++3
349 %description -n libstdc++
350 This is the GNU implementation of the standard C++ libraries, along
351 with additional GNU tools. This package includes the shared libraries
352 necessary to run C++ applications.
354 %description -n libstdc++ -l de
355 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
356 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
357 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
359 %description -n libstdc++ -l es
360 Este es el soporte de las bibliotecas padrón del C++, junto con
361 herramientas GNU adicionales. El paquete incluye las bibliotecas
362 compartidas necesarias para ejecutar aplicaciones C++.
364 %description -n libstdc++ -l fr
365 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
366 des outils GNU supplémentaires. Ce package comprend les librairies
367 partagées nécessaires à l'exécution d'application C++.
369 %description -n libstdc++ -l pl
370 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
371 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
372 uruchomienia aplikacji napisanych w C++.
374 %description -n libstdc++ -l pt_BR
375 Este pacote é uma implementação da biblioteca padrão C++ v3, um
376 subconjunto do padrão ISO 14882.
378 %description -n libstdc++ -l tr
379 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
380 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
382 %package -n libstdc++-devel
383 Summary: Header files and documentatino for C++ development
384 Summary(de): Header-Dateien zur Entwicklung mit C++
385 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
386 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
387 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
388 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
389 Group: Development/Libraries
390 Version: %{GCC_VERSION}
391 Requires: libstdc++ = %{GCC_VERSION}
392 Requires: %{name}-c++ = %{GCC_VERSION}
393 Obsoletes: libg++-devel
394 Obsoletes: libstdc++3-devel
396 %description -n libstdc++-devel
397 This is the GNU implementation of the standard C++ libraries. This
398 package includes the header files needed for C++ development and
399 library documentation.
401 %description -n libstdc++-devel -l es
402 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este paquete
403 incluye los archivos de inclusión y bibliotecas necesarios para desarrollo de
404 programas en lenguaje C++.
406 %description -n libstdc++-devel -l pl
407 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
408 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
409 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
411 %description -n libstdc++-devel -l pt_BR
412 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias para
413 desenvolvimento de programas C++.
415 %package -n libstdc++-static
416 Summary: Static C++ standard library
417 Summary(pl): Statyczna biblioteka standardowa C++
418 Group: Development/Libraries
419 Version: %{GCC_VERSION}
420 Requires: libstdc++-devel = %{GCC_VERSION}
422 %description -n libstdc++-static
423 Static C++ standard library.
425 %description -n libstdc++-static -l pl
426 Statycza biblioteka standardowa C++.
429 Summary: Ada support for gcc
430 Summary(pl): Obs³uga Ady do gcc
431 Group: Development/Languages
432 Version: %{GCC_VERSION}
433 Requires: libgnat = %{GCC_VERSION}
434 Requires: gcc = %{GCC_VERSION}
436 Obsoletes: gnat-devel
439 This package adds experimental support for compiling Ada programs.
441 %description -l pl ada
442 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
446 Summary: Ada standard libraries
447 Summary(pl): Biblioteki standardowe dla Ady
449 Version: %{GCC_VERSION}
453 %description -n libgnat
454 This package contains shared libraries needed to run programs written
457 %description -n libgnat -l pl
458 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
461 %package -n libgnat-static
462 Summary: Static Ada standard libraries
463 Summary(pl): Statyczne biblioteki standardowe dla Ady
465 Version: %{GCC_VERSION}
466 Obsoletes: gnat-static
468 %description -n libgnat-static
469 This package contains static libraries for programs written in Ada.
471 %description -n libgnat-static -l pl
472 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
476 Summary: Ksi support for gcc
477 Summary(pl): Obs³uga Ksi dla gcc
478 Version: %{GCC_VERSION}.%{KSI_VERSION}
479 Group: Development/Languages
480 Requires: gcc = %{GCC_VERSION}
483 This package adds experimental support for compiling Ksi programs
484 into native code. You proabably don't need it, unless your are going
485 to develop a compiler using Ksi as intermediate representation or
486 you are using such compiler (like Gont).
488 %description ksi -l pl
489 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
490 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
491 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
492 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
495 Summary: The C Pre Processor
496 Summary(pl): Preprocesor C
497 Summary(pt_BR): Preprocessador para a linguagem C
498 Group: Development/Languages
499 Version: %{GCC_VERSION}
504 The C preprocessor is a "macro processor" that is used automatically
505 by the C compiler to transform your program before actual compilation.
506 It is called a macro processor because it allows you to define
507 "macros", which are brief abbreviations for longer constructs.
509 The C preprocessor provides four separate facilities that you can use
512 - Inclusion of header files. These are files of declarations that can
513 be substituted into your program.
514 - Macro expansion. You can define "macros", which are abbreviations
515 for arbitrary fragments of C code, and then the C preprocessor will
516 replace the macros with their definitions throughout the program.
517 - Conditional compilation. Using special preprocessing directives, you
518 can include or exclude parts of the program according to various
520 - Line control. If you use a program to combine or rearrange source
521 files into an intermediate file which is then compiled, you can use
522 line control to inform the compiler of where each source line
523 originally came from.
525 %description -n cpp -l es
526 Um preprocessador para a linguagem C.
528 %description -n cpp -l pl
529 Przeprocesor C jest "makro procesorem" który jest automatycznie
530 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
531 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
532 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
533 d³ugich konstrukcji w jêzyku C.
535 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
537 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
538 deklaracji polecenia do³±czenia innego pliku.
539 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
540 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
541 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
542 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
543 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
544 fragmenty obrabianego strumienia tekstów.
545 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
546 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
547 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
548 odpowiada fragment pliku wynikowego.
550 %description -n cpp -l pt_BR
551 O preprocessador C é um "processador de macros", que é utilizado pelo
552 compilador C para fazer algumas modificações no seu programa, antes da
553 compilação em si. Ele é chamado de "processador de macros" porque
554 permite a você definir "macros", que são abreviações para construções
557 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
558 arquivos de cabeçalho; expansão de macros; compilação condicional;
559 e controle da numeração das linhas do programa.
562 %setup -q -a1 -n %{name}-%{GCC_VERSION}
563 mv ksi-%{KSI_VERSION} gcc/ksi
594 perl -p -i -e 's/";/ (PLD Linux)";/' gcc/version.c
597 # cd gcc && autoconf; cd ..
598 # autoconf is not needed!
599 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
601 CFLAGS="%{rpmcflags}" \
602 CXXFLAGS="%{rpmcflags}" \
603 TEXCONFIG=false ../configure \
604 --prefix=%{_prefix} \
605 --infodir=%{_infodir} \
606 --mandir=%{_mandir} \
608 --enable-threads=posix \
609 --enable-__cxa_atexit \
610 --enable-languages="c,c++,f77%{?!_without_objc:,objc}%{!?_without_ada:,ada}%{!?_without_java:,java},ksi" \
618 --with-slibdir=%{_slibdir} \
622 PATH=$PATH:/sbin:%{_sbindir}
624 # this dirty hack is relict of setting, where objdir is subdir of srcdir
625 %if %{!?_without_ada:1}%{?_without_ada:0}
626 sed -e 's/srcdir=\$(fsrcdir)/srcdir=\$(fsrcdir) VPATH=\$(fsrcdir)/' \
627 gcc/ada/Makefile > makefile.tmp
628 mv -f makefile.tmp gcc/ada/Makefile
632 %{__make} -C obj-%{_target_platform} bootstrap-lean \
633 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
637 %if %{!?_without_ada:1}%{?_without_ada:0}
638 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
639 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
645 rm -rf $RPM_BUILD_ROOT
646 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
648 cd obj-%{_target_platform}
649 PATH=$PATH:/sbin:%{_sbindir}
652 DESTDIR=$RPM_BUILD_ROOT
654 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
655 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
657 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
658 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
660 %if %{!?_without_ada:1}%{?_without_ada:0}
661 # move ada shared libraries to proper place...
662 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*-3.15.so \
663 $RPM_BUILD_ROOT%{_libdir}/
664 # these shouldn't be needed i guess
665 #ln -sf %{_libdir}/libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/
666 #ln -sf %{_libdir}/libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/
667 ln -sf libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
668 ln -sf libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
671 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
675 %if %{!?_without_java:1}%{?_without_java:0}
677 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
678 cp -f fastjar/README java-doc/README.fastjar
679 cp -f libffi/README java-doc/README.libffi
680 cp -f libffi/LICENSE java-doc/LICENSE.libffi
683 %if %{?!_without_objc:1}0
684 cp -f libobjc/README gcc/objc/README.libobjc
687 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
688 for f in libstdc++.la libsupc++.la %{!?_without_java:libgcj.la} ; do
689 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
691 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
692 for f in libstdc++.la libsupc++.la libg2c.la \
693 %{!?_without_java:libgcj.la} %{!?_without_objc:libobjc.la}; do
694 perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
697 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
698 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
701 %find_lang libstdc\+\+
704 rm -rf $RPM_BUILD_ROOT
707 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
710 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
713 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
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
736 %post -p /sbin/ldconfig -n libgcc
737 %postun -p /sbin/ldconfig -n libgcc
738 %post -p /sbin/ldconfig -n libstdc++
739 %postun -p /sbin/ldconfig -n libstdc++
740 %post -p /sbin/ldconfig -n libobjc
741 %postun -p /sbin/ldconfig -n libobjc
742 %post -p /sbin/ldconfig -n libg2c
743 %postun -p /sbin/ldconfig -n libg2c
744 %post -p /sbin/ldconfig -n libgcj
745 %postun -p /sbin/ldconfig -n libgcj
746 %post -p /sbin/ldconfig -n libgnat
747 %postun -p /sbin/ldconfig -n libgnat
749 %files -f %{name}.lang
750 %defattr(644,root,root,755)
752 %dir %{_libdir}/gcc-lib
753 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
754 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
755 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
756 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
757 %attr(755,root,root) %{_bindir}/gcc
758 %attr(755,root,root) %{_bindir}/gccbug
759 %attr(755,root,root) %{_bindir}/gcov
760 %attr(755,root,root) %{_bindir}/cc
762 %{_mandir}/man1/gcc.1*
763 %{_mandir}/man1/cc.1*
764 %{_mandir}/man1/gcov.1*
765 %lang(fr) %{_mandir}/fr/man1/gcc.1*
766 %lang(ja) %{_mandir}/ja/man1/gcc.1*
769 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
770 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
771 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
772 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
774 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
775 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
776 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
779 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
780 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
782 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
783 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
784 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
785 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
786 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
787 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
788 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
789 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
791 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/mmintrin.h
792 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/xmmintrin.h
795 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/altivec.h
796 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/ppc-asm.h
800 %defattr(644,root,root,755)
801 %attr(755,root,root) %{_slibdir}/lib*.so*
804 %defattr(644,root,root,755)
805 %attr(755,root,root) %{_bindir}/g++
806 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
807 %attr(755,root,root) %{_bindir}/c++
808 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
809 #%%attr(755,root,root) %{_bindir}/c++filt
810 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
811 %{_libdir}/libsupc++.la
813 %{_libdir}/nof/libsupc++.la
814 %{_libdir}/nof/libsupc++.a
816 %{_libdir}/libsupc++.a
817 %{_mandir}/man1/g++.1*
818 %lang(es) %{_mandir}/es/man1/c++filt.1*
819 %lang(ja) %{_mandir}/ja/man1/g++.1*
821 %files -n libstdc++ -f libstdc++.lang
822 %defattr(644,root,root,755)
823 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
825 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
828 %files -n libstdc++-devel
829 %defattr(644,root,root,755)
830 %doc libstdc++-v3/docs/html
831 %dir %{_includedir}/c++
832 %{_includedir}/c++/%{GCC_VERSION}
833 %attr(755,root,root) %{_libdir}/libstdc++.so
834 %{_libdir}/libstdc++.la
836 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
837 %{_libdir}/nof/libstdc++.la
840 %files -n libstdc++-static
841 %defattr(644,root,root,755)
842 %{_libdir}/libstdc++.a
844 %{_libdir}/nof/libstdc++.a
847 %if %{?!_without_objc:1}0
849 %defattr(644,root,root,755)
851 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
852 %attr(755,root,root) %{_libdir}/libobjc.so
853 %{_libdir}/libobjc.la
855 %attr(755,root,root) %{_libdir}/nof/libobjc.so
856 %{_libdir}/nof/libobjc.la
858 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
861 %defattr(644,root,root,755)
862 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
864 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
867 %files -n libobjc-static
868 %defattr(644,root,root,755)
871 %{_libdir}/nof/libobjc.a
876 %defattr(644,root,root,755)
877 %attr(755,root,root) %{_bindir}/g77
878 %attr(755,root,root) %{_bindir}/f77
880 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
881 %{_libdir}/libfrtbegin.a
883 %attr(755,root,root) %{_libdir}/libg2c.so
885 %{_libdir}/nof/libfrtbegin.a
886 %{_libdir}/nof/libg2c.la
887 %attr(755,root,root) %{_libdir}/nof/libg2c.so
889 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
890 %{_mandir}/man1/g77.1*
891 %{_mandir}/man1/f77.1*
892 %lang(ja) %{_mandir}/ja/man1/g77.1*
893 %lang(ja) %{_mandir}/ja/man1/f77.1*
896 %defattr(644,root,root,755)
897 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
899 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
902 %files -n libg2c-static
903 %defattr(644,root,root,755)
906 %{_libdir}/nof/libg2c.a
909 %if %{!?_without_java:1}%{?_without_java:0}
911 %defattr(644,root,root,755)
913 %attr(755,root,root) %{_bindir}/gcj*
914 %attr(755,root,root) %{_bindir}/gij
915 %attr(755,root,root) %{_bindir}/jcf-dump
916 %attr(755,root,root) %{_bindir}/jv-*
917 %attr(755,root,root) %{_bindir}/grepjar
918 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcj
919 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
920 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
922 %{_mandir}/man1/jcf-*
928 %defattr(644,root,root,755)
929 %attr(755,root,root) %{_bindir}/rmi*
930 %attr(755,root,root) %{_bindir}/jar
934 %defattr(644,root,root,755)
935 %attr(755,root,root) %{_bindir}/addr2name.awk
936 %attr(755,root,root) %{_libdir}/lib*cj*.so.*
938 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
941 %files -n libgcj-devel
942 %defattr(644,root,root,755)
949 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
950 %dir %{_libdir}/security
951 %{_libdir}/security/*
952 %dir %{_datadir}/java
953 %{_datadir}/java/libgcj*.jar
954 %{_libdir}/lib*cj.spec
955 %{_libdir}/lib*cj*.la
956 %attr(755,root,root) %{_libdir}/lib*cj*.so
958 %{_libdir}/nof/lib*cj*.la
959 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
962 %files -n libgcj-static
963 %defattr(644,root,root,755)
966 %{_libdir}/nof/lib*cj*.a
970 %if %{!?_without_ada:1}%{?_without_ada:0}
972 %defattr(644,root,root,755)
973 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
974 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
975 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
976 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
978 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
980 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
981 %attr(755,root,root) %{_bindir}/gnat*
983 %attr(755,root,root) %{_libdir}/libgnat.so
984 %attr(755,root,root) %{_libdir}/libgnarl.so
987 %defattr(644,root,root,755)
988 %attr(755,root,root) %{_libdir}/libgna*-3*.so
990 %files -n libgnat-static
991 %defattr(644,root,root,755)
992 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
996 %defattr(644,root,root,755)
997 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
999 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
1002 %defattr(644,root,root,755)
1003 %attr(755,root,root) %{_slibdir}/cpp
1004 %attr(755,root,root) %{_bindir}/cpp
1005 #%%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
1006 #%%attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/tradcpp0
1007 %{_mandir}/man1/cpp.1*
1008 %lang(ja) %{_mandir}/ja/man1/cpp.1*