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-md5: 23d1146d5efa0e0bfad9968dbb418e1e
22 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{GCC_VERSION}/%{name}-%{GCC_VERSION}.tar.bz2
23 # Source1-md5: 9e4bdd6492a7d7b650599e572169ff7a
24 Source1: ftp://ftp.pld.org.pl/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
25 # Source2-md5: 112bb4ff756394c99285131a2c43c344
26 Source2: http://ep09.kernel.pl/~djrzulf/%{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 Patch11: gcc32-attr-visibility.patch
37 Patch12: gcc32-attr-visibility2.patch
38 Patch13: gcc32-attr-visibility3.patch
39 Patch14: gcc32-attr-visibility4.patch
40 Patch15: gcc32-attr-visibility5.patch
41 Patch16: gcc32-boehm-gc-libs.patch
42 Patch17: gcc32-bogus-inline.patch
43 Patch18: gcc32-c++-nrv-test.patch
44 Patch20: gcc32-c++-tsubst-asm.patch
45 Patch21: gcc32-cfg-eh.patch
46 Patch22: gcc32-debug-pr7241.patch
48 Patch24: gcc32-duplicate-decl.patch
49 Patch25: gcc32-dwarf2-pr6381.patch
50 Patch26: gcc32-dwarf2-pr6436-test.patch
51 Patch27: gcc32-fde-merge-compat.patch
53 Patch29: gcc32-hard-reg-sharing.patch
54 Patch30: gcc32-hard-reg-sharing2.patch
55 Patch31: gcc32-i386-default-momit-leaf-frame-pointer.patch
56 Patch32: gcc32-i386-memtest-test.patch
57 Patch33: gcc32-i386-no-default-momit-leaf-frame-pointer.patch
58 Patch34: gcc32-i386-pic-label-thunk.patch
59 Patch35: gcc32-i386-profile-olfp.patch
60 Patch36: gcc32-inline-label.patch
61 Patch37: gcc32-java-no-rpath.patch
62 Patch38: gcc32-pr6842.patch
63 Patch39: gcc32-sparc-sll1.patch
64 Patch40: gcc32-test-rh65771.patch
65 Patch41: gcc32-test-rotate.patch
66 Patch42: gcc32-tls-dwarf2.patch
67 Patch43: gcc32-tls.patch
68 Patch44: gcc32-tls2.patch
69 Patch45: gcc32-tls3.patch
70 Patch46: gcc32-tls4.patch
71 Patch47: gcc32-tls5.patch
72 BuildRequires: autoconf
74 BuildRequires: fileutils >= 4.0.41
76 %{!?_without_ada:BuildRequires: gcc-ada}
77 BuildRequires: glibc-devel >= 2.2.5-20
78 BuildRequires: perl-devel
79 BuildRequires: texinfo >= 4.1
80 BuildRequires: zlib-devel
81 BuildRequires: gettext-devel
82 Requires: binutils >= 2.12.90.0.4
83 Requires: cpp = %{GCC_VERSION}
84 Requires: libgcc = %{GCC_VERSION}
85 Conflicts: glibc-devel < 2.2.5-20
86 URL: http://gcc.gnu.org/
87 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
92 A compiler aimed at integrating all the optimizations and features
93 necessary for a high-performance and stable development environment.
96 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
97 wyprodukowania szybkiego i stablinego kodu wynikowego.
100 Este pacote adiciona infraestrutura básica e suporte a linguagem C
101 ao Gnu Compiler Collection.
104 Summary: Shared gcc library
105 Summary(pl): Biblioteka gcc
106 Summary(pt_BR): Biblioteca runtime para o GCC
108 Version: %{GCC_VERSION}
111 %description -n libgcc
114 %description -n libgcc -l pl
115 Biblioteka dynamiczna gcc.
117 %description -n libgcc -l pt_BR
118 Biblioteca runtime para o GCC.
121 Summary: C++ support for gcc
122 Summary(pl): Obs³uga C++ dla gcc
123 Summary(pt_BR): Suporte C++ para o gcc
124 Group: Development/Languages
127 Requires: gcc = %{GCC_VERSION}
130 This package adds C++ support to the GNU C compiler. It includes
131 support for most of the current C++ specification, including templates
132 and exception handling. It does not include a standard C++ library,
133 which is available separately.
135 %description c++ -l de
136 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
137 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
138 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
139 sie ist getrennt erhältlich.
141 %description c++ -l fr
142 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
143 support pour la plupart des spécifications actuelles de C++, dont les
144 modéles et la gestion des exceptions. Il ne comprend pas une
145 bibliothéque C++ standard, qui est disponible séparément.
147 %description c++ -l pl
148 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
149 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
150 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
152 %description c++ -l pt_BR
153 Este pacote adiciona suporte C++ para o gcc.
155 %description c++ -l tr
156 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
157 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
158 C++ kitaplýðý bu pakette yer almaz.
161 Summary: Objective C support for gcc
162 Summary(de): Objektive C-Unterstützung für gcc
163 Summary(fr): Gestion d'Objective C pour gcc
164 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
165 Summary(tr): gcc için Objective C desteði
166 Group: Development/Languages
169 Requires: libobjc = %{GCC_VERSION}
170 Requires: gcc = %{GCC_VERSION}
173 This package adds Objective C support to the GNU C compiler. Objective
174 C is a object oriented derivative of the C language, mainly used on
175 systems running NeXTSTEP. This package does not include the standard
176 objective C object library.
178 %description objc -l de
179 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
180 Objective C ist ein objektorientiertes Derivat von C, das zur
181 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
182 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
184 %description objc -l fr
185 Ce package ajoute un support Objective C au compilateur C GNU.
186 L'Objective C est un langage orienté objetdérivé du langage C,
187 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
188 pas la bibliothéque Objective C standard.
190 %description objc -l pl
191 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
192 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
193 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
194 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
196 %description objc -l tr
197 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
198 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
199 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
200 kitaplýðý bu pakette yer almaz.
203 Summary: Objective C Libraries
204 Summary(pl): Biblioteki Obiektowego C
206 Version: %{GCC_VERSION}
209 %description -n libobjc
210 Objective C Libraries.
212 %description -n libobjc -l pl
213 Biblioteki Obiektowego C.
215 %package -n libobjc-static
216 Summary: Static Objective C Libraries
217 Summary(pl): Statyczne Biblioteki Obiektowego C
218 Group: Development/Libraries
219 Version: %{GCC_VERSION}
220 Requires: libobjc = %{GCC_VERSION}
222 %description -n libobjc-static
223 Static Objective C Libraries.
225 %description -n libobjc-static -l pl
226 Statyczne biblioteki Obiektowego C.
229 Summary: Fortran 77 support for gcc
230 Summary(pl): Obs³uga Fortranu 77 dla gcc
231 Summary(pt_BR): Suporte Fortran 77 para o GCC
232 Group: Development/Languages/Fortran
233 Version: %{GCC_VERSION}
235 Requires: libg2c = %{GCC_VERSION}
238 This apckage adds support for compiling Fortran 77 programs with the
241 %description g77 -l pl
242 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
243 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
245 %description g77 -l pt_BR
246 Suporte Fortran 77 para o GCC.
249 Summary: Fortran 77 Libraries
250 Summary(pl): Biblioteki Fortranu 77
252 Version: %{GCC_VERSION}
254 %description -n libg2c
255 Fortran 77 Libraries.
257 %description -n libg2c -l pl
258 Biblioteki Fortranu 77.
260 %package -n libg2c-static
261 Summary: Static Fortran 77 Libraries
262 Summary(pl): Statyczne Biblioteki Fortranu 77
263 Group: Development/Libraries
264 Version: %{GCC_VERSION}
265 Requires: libg2c = %{GCC_VERSION}
267 %description -n libg2c-static
268 Static Fortran 77 Libraries.
270 %description -n libg2c-static -l pl
271 Statyczne biblioteki Fortranu 77.
274 Summary: Java support for gcc
275 Summary(pl): Obs³uga Javy dla gcc
276 Group: Development/Languages/Java
277 Version: %{GCC_VERSION}
278 Requires: %{name} = %{version}
279 Requires: libgcj >= 3.0.0
280 Requires: libgcj-devel >= 3.0.0
281 Requires: java-shared
282 Provides: gcj = %{epoch}:%{GCC_VERSION}-%{release}
285 This package adds experimental support for compiling Java(tm) programs
286 and bytecode into native code. To use this you will also need the
289 %description -l pl java
290 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
291 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
292 by³o przeprowadziæ kompilacjê.
295 Summary: Shared java tools
296 Summary(pl): Wspó³dzielone narzêdzia javy
297 Group: Development/Languages/Java
298 Version: %{GCC_VERSION}
299 Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
300 Provides: java-shared
302 Obsoletes: java-shared
305 %description java-tools
306 This package contains tools that are common for every Java(tm) implementation,
309 %description java-tools -l pl
310 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
314 Summary: Java Class Libraries
315 Summary(pl): Biblioteki Klas Javy
317 Version: %{GCC_VERSION}
321 %description -n libgcj
322 Java Class Libraries.
324 %description -n libgcj -l pl
325 Biblioteki Klas Javy.
327 %package -n libgcj-devel
328 Summary: Development files for Java Class Libraries
329 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
330 Group: Development/Libraries
331 Version: %{GCC_VERSION}
332 Requires: libgcj = %{GCC_VERSION}
333 Requires: %{name}-java
334 Obsoletes: libgcj3-devel
336 %description -n libgcj-devel
337 Development files for Java Class Libraries.
339 %description -n libgcj-devel -l pl
340 Pliki nag³ówkowe dla Bibliotek Klas Javy.
342 %package -n libgcj-static
343 Summary: Static Java Class Libraries
344 Summary(pl): Statyczne Biblioteki Klas Javy
345 Group: Development/Libraries
346 Version: %{GCC_VERSION}
347 Requires: libstdc++-devel = %{GCC_VERSION}
348 Requires: libgcj-devel = %{GCC_VERSION}
350 %description -n libgcj-static
351 Static Java Class Libraries.
353 %description -n libgcj-static -l pl
354 Statyczne Biblioteki Klas Javy.
356 %package -n libstdc++
357 Summary: GNU c++ library
358 Summary(pl): Biblioteki GNU C++
359 Summary(pt_BR): Biblioteca C++ GNU
361 Version: %{GCC_VERSION}
363 Obsoletes: libstdc++3
365 %description -n libstdc++
366 This is the GNU implementation of the standard C++ libraries, along
367 with additional GNU tools. This package includes the shared libraries
368 necessary to run C++ applications.
370 %description -n libstdc++ -l de
371 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
372 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
373 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
375 %description -n libstdc++ -l es
376 Este es el soporte de las bibliotecas padrón del C++, junto con
377 herramientas GNU adicionales. El paquete incluye las bibliotecas
378 compartidas necesarias para ejecutar aplicaciones C++.
380 %description -n libstdc++ -l fr
381 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
382 des outils GNU supplémentaires. Ce package comprend les librairies
383 partagées nécessaires à l'exécution d'application C++.
385 %description -n libstdc++ -l pl
386 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
387 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
388 uruchomienia aplikacji napisanych w C++.
390 %description -n libstdc++ -l pt_BR
391 Este pacote é uma implementação da biblioteca padrão C++ v3, um
392 subconjunto do padrão ISO 14882.
394 %description -n libstdc++ -l tr
395 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
396 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
398 %package -n libstdc++-devel
399 Summary: Header files and documentatino for C++ development
400 Summary(de): Header-Dateien zur Entwicklung mit C++
401 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
402 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
403 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
404 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
405 Group: Development/Libraries
406 Version: %{GCC_VERSION}
407 Requires: libstdc++ = %{GCC_VERSION}
408 Requires: %{name}-c++ = %{GCC_VERSION}
409 Obsoletes: libg++-devel
410 Obsoletes: libstdc++3-devel
412 %description -n libstdc++-devel
413 This is the GNU implementation of the standard C++ libraries. This
414 package includes the header files needed for C++ development and
415 library documentation.
417 %description -n libstdc++-devel -l es
418 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este paquete
419 incluye los archivos de inclusión y bibliotecas necesarios para desarrollo de
420 programas en lenguaje C++.
422 %description -n libstdc++-devel -l pl
423 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
424 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
425 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
427 %description -n libstdc++-devel -l pt_BR
428 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias para
429 desenvolvimento de programas C++.
431 %package -n libstdc++-static
432 Summary: Static C++ standard library
433 Summary(pl): Statyczna biblioteka standardowa C++
434 Group: Development/Libraries
435 Version: %{GCC_VERSION}
436 Requires: libstdc++-devel = %{GCC_VERSION}
438 %description -n libstdc++-static
439 Static C++ standard library.
441 %description -n libstdc++-static -l pl
442 Statycza biblioteka standardowa C++.
445 Summary: Ada support for gcc
446 Summary(pl): Obs³uga Ady do gcc
447 Group: Development/Languages
448 Version: %{GCC_VERSION}
449 Requires: libgnat = %{GCC_VERSION}
450 Requires: gcc = %{GCC_VERSION}
452 Obsoletes: gnat-devel
455 This package adds experimental support for compiling Ada programs.
457 %description -l pl ada
458 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
462 Summary: Ada standard libraries
463 Summary(pl): Biblioteki standardowe dla Ady
465 Version: %{GCC_VERSION}
469 %description -n libgnat
470 This package contains shared libraries needed to run programs written
473 %description -n libgnat -l pl
474 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
477 %package -n libgnat-static
478 Summary: Static Ada standard libraries
479 Summary(pl): Statyczne biblioteki standardowe dla Ady
481 Version: %{GCC_VERSION}
482 Obsoletes: gnat-static
484 %description -n libgnat-static
485 This package contains static libraries for programs written in Ada.
487 %description -n libgnat-static -l pl
488 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
492 Summary: Ksi support for gcc
493 Summary(pl): Obs³uga Ksi dla gcc
494 Version: %{GCC_VERSION}.%{KSI_VERSION}
495 Group: Development/Languages
496 Requires: gcc = %{GCC_VERSION}
499 This package adds experimental support for compiling Ksi programs
500 into native code. You proabably don't need it, unless your are going
501 to develop a compiler using Ksi as intermediate representation or
502 you are using such compiler (like Gont).
504 %description ksi -l pl
505 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
506 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
507 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
508 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
511 Summary: The C Pre Processor
512 Summary(pl): Preprocesor C
513 Summary(pt_BR): Preprocessador para a linguagem C
514 Group: Development/Languages
515 Version: %{GCC_VERSION}
520 The C preprocessor is a "macro processor" that is used automatically
521 by the C compiler to transform your program before actual compilation.
522 It is called a macro processor because it allows you to define
523 "macros", which are brief abbreviations for longer constructs.
525 The C preprocessor provides four separate facilities that you can use
528 - Inclusion of header files. These are files of declarations that can
529 be substituted into your program.
530 - Macro expansion. You can define "macros", which are abbreviations
531 for arbitrary fragments of C code, and then the C preprocessor will
532 replace the macros with their definitions throughout the program.
533 - Conditional compilation. Using special preprocessing directives, you
534 can include or exclude parts of the program according to various
536 - Line control. If you use a program to combine or rearrange source
537 files into an intermediate file which is then compiled, you can use
538 line control to inform the compiler of where each source line
539 originally came from.
541 %description -n cpp -l es
542 Um preprocessador para a linguagem C.
544 %description -n cpp -l pl
545 Przeprocesor C jest "makro procesorem" który jest automatycznie
546 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
547 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
548 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
549 d³ugich konstrukcji w jêzyku C.
551 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
553 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
554 deklaracji polecenia do³±czenia innego pliku.
555 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
556 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
557 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
558 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
559 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
560 fragmenty obrabianego strumienia tekstów.
561 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
562 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
563 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
564 odpowiada fragment pliku wynikowego.
566 %description -n cpp -l pt_BR
567 O preprocessador C é um "processador de macros", que é utilizado pelo
568 compilador C para fazer algumas modificações no seu programa, antes da
569 compilação em si. Ele é chamado de "processador de macros" porque
570 permite a você definir "macros", que são abreviações para construções
573 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
574 arquivos de cabeçalho; expansão de macros; compilação condicional;
575 e controle da numeração das linhas do programa.
578 %setup -q -a1 -n %{name}-%{GCC_VERSION}
579 mv ksi-%{KSI_VERSION} gcc/ksi
626 perl -p -i -e 's/";/ (PLD Linux)";/' gcc/version.c
629 # cd gcc && autoconf; cd ..
630 # autoconf is not needed!
631 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
633 CFLAGS="%{rpmcflags}" \
634 CXXFLAGS="%{rpmcflags}" \
635 TEXCONFIG=false ../configure \
636 --prefix=%{_prefix} \
637 --infodir=%{_infodir} \
638 --mandir=%{_mandir} \
640 --enable-threads=posix \
641 --enable-__cxa_atexit \
642 --enable-languages="c,c++,f77,gcov%{?!_without_objc:,objc},ksi%{!?_without_ada:,ada}%{!?_without_java:,java}" \
650 --with-slibdir=%{_slibdir} \
654 PATH=$PATH:/sbin:%{_sbindir}
656 # this dirty hack is relict of setting, where objdir is subdir of srcdir
657 %if %{!?_without_ada:1}%{?_without_ada:0}
658 sed -e 's/srcdir=\$(fsrcdir)/srcdir=\$(fsrcdir) VPATH=\$(fsrcdir)/' \
659 gcc/ada/Makefile > makefile.tmp
660 mv -f makefile.tmp gcc/ada/Makefile
664 %{__make} -C obj-%{_target_platform} bootstrap-lean \
665 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
669 %if %{!?_without_ada:1}%{?_without_ada:0}
670 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
671 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
675 # make Gnat Reference Manual
676 %{__make} -C obj-%{_target_platform}/gcc/ada doc
680 rm -rf $RPM_BUILD_ROOT
681 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
683 cd obj-%{_target_platform}
684 PATH=$PATH:/sbin:%{_sbindir}
687 DESTDIR=$RPM_BUILD_ROOT
689 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
690 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
692 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
693 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
695 %if %{!?_without_ada:1}%{?_without_ada:0}
696 # move ada shared libraries to proper place...
697 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*-*so.1 \
698 $RPM_BUILD_ROOT%{_libdir}
699 rm -f $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1
700 (cd $RPM_BUILD_ROOT%{_libdir} && \
701 ln -s libgnat-*so.1 libgnat.so.1 && ln -s libgnat-*so.1 libgnat.so && \
702 ln -s libgnarl-*so.1 libgnarl.so.1 && ln -s libgnarl-*so.1 libgnarl.so)
705 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
709 %if %{!?_without_ada:1}%{?_without_ada:0}
710 install obj-%{_target_platform}/gcc/ada/gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}
711 install obj-%{_target_platform}/gcc/ada/gnat_ug_unx.info* $RPM_BUILD_ROOT%{_infodir}
714 %if %{!?_without_java:1}%{?_without_java:0}
716 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
717 cp -f fastjar/README java-doc/README.fastjar
718 cp -f libffi/README java-doc/README.libffi
719 cp -f libffi/LICENSE java-doc/LICENSE.libffi
722 %if %{?!_without_objc:1}0
723 cp -f libobjc/README gcc/objc/README.libobjc
726 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
727 for f in libstdc++.la libsupc++.la %{!?_without_java:libgcj.la} ; do
728 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
730 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
731 for f in libstdc++.la libsupc++.la libg2c.la \
732 %{!?_without_java:libgcj.la} %{!?_without_objc:libobjc.la}; do
733 perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
736 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
737 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
740 %find_lang libstdc\+\+
743 rm -rf $RPM_BUILD_ROOT
746 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
749 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
752 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
755 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
758 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
761 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
764 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
767 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
770 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
773 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
775 %post -p /sbin/ldconfig -n libgcc
776 %postun -p /sbin/ldconfig -n libgcc
777 %post -p /sbin/ldconfig -n libstdc++
778 %postun -p /sbin/ldconfig -n libstdc++
779 %post -p /sbin/ldconfig -n libobjc
780 %postun -p /sbin/ldconfig -n libobjc
781 %post -p /sbin/ldconfig -n libg2c
782 %postun -p /sbin/ldconfig -n libg2c
783 %post -p /sbin/ldconfig -n libgcj
784 %postun -p /sbin/ldconfig -n libgcj
785 %post -p /sbin/ldconfig -n libgnat
786 %postun -p /sbin/ldconfig -n libgnat
788 %files -f %{name}.lang
789 %defattr(644,root,root,755)
791 %dir %{_libdir}/gcc-lib
792 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
793 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
794 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
795 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
796 %attr(755,root,root) %{_bindir}/gcc
797 %attr(755,root,root) %{_bindir}/gccbug
798 %attr(755,root,root) %{_bindir}/gcov
799 %attr(755,root,root) %{_bindir}/cc
801 %{_mandir}/man1/gcc.1*
802 %{_mandir}/man1/cc.1*
803 %{_mandir}/man1/gcov.1*
804 %lang(fr) %{_mandir}/fr/man1/gcc.1*
805 %lang(ja) %{_mandir}/ja/man1/gcc.1*
808 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
809 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
810 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
811 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
813 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
814 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
815 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
818 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
819 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
821 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
822 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
823 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
824 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
825 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
826 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
827 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
828 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
830 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/mmintrin.h
831 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/xmmintrin.h
834 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/altivec.h
835 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/ppc-asm.h
839 %defattr(644,root,root,755)
840 %attr(755,root,root) %{_slibdir}/lib*.so*
843 %defattr(644,root,root,755)
844 %attr(755,root,root) %{_bindir}/g++
845 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
846 %attr(755,root,root) %{_bindir}/c++
847 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
848 %attr(755,root,root) %{_bindir}/c++filt
849 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
850 %{_libdir}/libsupc++.la
852 %{_libdir}/nof/libsupc++.la
853 %{_libdir}/nof/libsupc++.a
855 %{_libdir}/libsupc++.a
856 %{_mandir}/man1/g++.1*
857 %lang(es) %{_mandir}/es/man1/c++filt.1*
858 %lang(ja) %{_mandir}/ja/man1/g++.1*
860 %files -n libstdc++ -f libstdc++.lang
861 %defattr(644,root,root,755)
862 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
864 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
867 %files -n libstdc++-devel
868 %defattr(644,root,root,755)
869 %doc libstdc++-v3/docs/html
870 %dir %{_includedir}/c++
871 %{_includedir}/c++/%{GCC_VERSION}
872 %attr(755,root,root) %{_libdir}/libstdc++.so
873 %{_libdir}/libstdc++.la
875 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
876 %{_libdir}/nof/libstdc++.la
879 %files -n libstdc++-static
880 %defattr(644,root,root,755)
881 %{_libdir}/libstdc++.a
883 %{_libdir}/nof/libstdc++.a
886 %if %{?!_without_objc:1}0
888 %defattr(644,root,root,755)
890 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
891 %attr(755,root,root) %{_libdir}/libobjc.so
892 %{_libdir}/libobjc.la
894 %attr(755,root,root) %{_libdir}/nof/libobjc.so
895 %{_libdir}/nof/libobjc.la
897 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
900 %defattr(644,root,root,755)
901 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
903 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
906 %files -n libobjc-static
907 %defattr(644,root,root,755)
910 %{_libdir}/nof/libobjc.a
915 %defattr(644,root,root,755)
916 %attr(755,root,root) %{_bindir}/g77
917 %attr(755,root,root) %{_bindir}/f77
919 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
920 %{_libdir}/libfrtbegin.a
922 %attr(755,root,root) %{_libdir}/libg2c.so
924 %{_libdir}/nof/libfrtbegin.a
925 %{_libdir}/nof/libg2c.la
926 %attr(755,root,root) %{_libdir}/nof/libg2c.so
928 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
929 %{_mandir}/man1/g77.1*
930 %{_mandir}/man1/f77.1*
931 %lang(ja) %{_mandir}/ja/man1/g77.1*
932 %lang(ja) %{_mandir}/ja/man1/f77.1*
935 %defattr(644,root,root,755)
936 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
938 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
941 %files -n libg2c-static
942 %defattr(644,root,root,755)
945 %{_libdir}/nof/libg2c.a
948 %if %{!?_without_java:1}%{?_without_java:0}
950 %defattr(644,root,root,755)
952 %attr(755,root,root) %{_bindir}/gcj*
953 %attr(755,root,root) %{_bindir}/gij
954 %attr(755,root,root) %{_bindir}/jcf-dump
955 %attr(755,root,root) %{_bindir}/jv-*
956 %attr(755,root,root) %{_bindir}/grepjar
957 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
958 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
960 %{_mandir}/man1/jcf-*
966 %defattr(644,root,root,755)
967 %attr(755,root,root) %{_bindir}/rmi*
968 %attr(755,root,root) %{_bindir}/jar
972 %defattr(644,root,root,755)
973 %attr(755,root,root) %{_bindir}/addr2name.awk
974 %attr(755,root,root) %{_libdir}/lib*cj*.so.*
976 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
979 %files -n libgcj-devel
980 %defattr(644,root,root,755)
987 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
988 %dir %{_libdir}/security
989 %{_libdir}/security/*
990 %dir %{_datadir}/java
991 %{_datadir}/java/libgcj*.jar
992 %{_libdir}/lib*cj.spec
993 %{_libdir}/lib*cj*.la
994 %attr(755,root,root) %{_libdir}/lib*cj*.so
996 %{_libdir}/nof/lib*cj*.la
997 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1000 %files -n libgcj-static
1001 %defattr(644,root,root,755)
1002 %{_libdir}/lib*cj*.a
1004 %{_libdir}/nof/lib*cj*.a
1008 %if %{!?_without_ada:1}%{?_without_ada:0}
1010 %defattr(644,root,root,755)
1011 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
1012 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
1013 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
1014 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
1016 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
1018 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
1019 %attr(755,root,root) %{_bindir}/gnat*
1021 %attr(755,root,root) %{_libdir}/libgnat.so*
1022 %attr(755,root,root) %{_libdir}/libgnarl.so*
1025 %defattr(644,root,root,755)
1026 %attr(755,root,root) %{_libdir}/libgna*-*so.1
1028 %files -n libgnat-static
1029 %defattr(644,root,root,755)
1030 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
1034 %defattr(644,root,root,755)
1035 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
1037 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
1040 %defattr(644,root,root,755)
1041 %attr(755,root,root) %{_slibdir}/cpp
1042 %attr(755,root,root) %{_bindir}/cpp
1043 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
1044 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/tradcpp0
1045 %{_mandir}/man1/cpp.1*
1046 %lang(ja) %{_mandir}/ja/man1/cpp.1*