3 # _without_ada - build without ADA support
4 # _without_java - build without Java support
5 # _without_objc - build without objc support
6 # _with_pp - build with ProPolice
8 %define DASHED_SNAP %{nil}
9 %define SNAP %(echo %{DASHED_SNAP} | sed -e "s#-##g")
10 %define GCC_VERSION 3.3.2
11 %define KSI_VERSION 1.1.0.1567
13 Summary: GNU C Compiler
14 Summary(pl): Kompilator C GNU
15 Summary(pt_BR): C Compilador GNU (GCC)
17 Version: %{GCC_VERSION}
21 Group: Development/Languages
22 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{GCC_VERSION}/%{name}-%{GCC_VERSION}.tar.bz2
23 # Source0-md5: 65999f654102f5438ac8562d13a6eced
24 Source1: ftp://ftp.pld-linux.org/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
25 # Source1-md5: 66f07491b44f06928fd95b0e65bb8cd3
26 Source2: http://ep09.kernel.pl/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
27 # Source2-md5: 4736f3422ddfb808423b745629acc321
28 Patch0: %{name}-info.patch
29 Patch1: %{name}-paths.patch
30 Patch2: %{name}-nolocalefiles.patch
31 Patch3: %{name}-ada-link-new-libgnat.patch
32 # -- stolen patches from RH --
33 Patch10: gcc32-ada-link.patch
34 Patch11: gcc32-boehm-gc-libs.patch
35 Patch12: gcc32-bogus-inline.patch
36 Patch13: gcc32-c++-nrv-test.patch
37 Patch14: gcc32-c++-tsubst-asm.patch
38 Patch15: gcc32-debug-pr7241.patch
39 Patch16: gcc32-duplicate-decl.patch
40 Patch17: gcc32-dwarf2-pr6381.patch
41 Patch18: gcc32-dwarf2-pr6436-test.patch
42 Patch19: gcc32-fde-merge-compat.patch
43 Patch20: gcc32-i386-memtest-test.patch
44 Patch21: gcc32-inline-label.patch
45 Patch22: gcc32-java-no-rpath.patch
46 Patch23: gcc32-test-rh65771.patch
47 Patch24: gcc32-test-rotate.patch
48 Patch25: %{name}-3.3.1-propolice.patch
49 BuildRequires: autoconf
50 BuildRequires: binutils >= 2.14
52 BuildRequires: fileutils >= 4.0.41
54 %{!?_without_ada:BuildRequires: gcc(ada)}
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.14
62 Requires: cpp = %{epoch}:%{GCC_VERSION}
63 Requires: libgcc = %{epoch}:%{GCC_VERSION}
64 %{!?_without_ada:Provides: gcc(ada)}
65 Conflicts: glibc-devel < 2.2.5-20
66 URL: http://gcc.gnu.org/
67 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71 %define _slibdir64 /lib64
72 %define _libdir /usr/lib
73 %define rpmcflags -O2 -mtune=ultrasparc
77 A compiler aimed at integrating all the optimizations and features
78 necessary for a high-performance and stable development environment.
81 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
82 wyprodukowania szybkiego i stablinego kodu wynikowego.
85 Este pacote adiciona infraestrutura básica e suporte a linguagem C
86 ao Gnu Compiler Collection.
89 Summary: Shared gcc library
90 Summary(pl): Biblioteka gcc
91 Summary(pt_BR): Biblioteca runtime para o GCC
93 Version: %{GCC_VERSION}
96 %description -n libgcc
99 %description -n libgcc -l pl
100 Biblioteka dynamiczna gcc.
102 %description -n libgcc -l pt_BR
103 Biblioteca runtime para o GCC.
106 Summary: C++ support for gcc
107 Summary(pl): Obs³uga C++ dla gcc
108 Summary(pt_BR): Suporte C++ para o gcc
109 Group: Development/Languages
112 Requires: gcc = %{epoch}:%{GCC_VERSION}
115 This package adds C++ support to the GNU C compiler. It includes
116 support for most of the current C++ specification, including templates
117 and exception handling. It does not include a standard C++ library,
118 which is available separately.
120 %description c++ -l de
121 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
122 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
123 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
124 sie ist getrennt erhältlich.
126 %description c++ -l fr
127 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
128 support pour la plupart des spécifications actuelles de C++, dont les
129 modéles et la gestion des exceptions. Il ne comprend pas une
130 bibliothéque C++ standard, qui est disponible séparément.
132 %description c++ -l pl
133 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
134 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
135 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
137 %description c++ -l pt_BR
138 Este pacote adiciona suporte C++ para o gcc.
140 %description c++ -l tr
141 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
142 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
143 C++ kitaplýðý bu pakette yer almaz.
146 Summary: Objective C support for gcc
147 Summary(de): Objektive C-Unterstützung für gcc
148 Summary(fr): Gestion d'Objective C pour gcc
149 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
150 Summary(tr): gcc için Objective C desteði
151 Group: Development/Languages
154 Requires: libobjc = %{epoch}:%{GCC_VERSION}
155 Requires: gcc = %{epoch}:%{GCC_VERSION}
158 This package adds Objective C support to the GNU C compiler. Objective
159 C is a object oriented derivative of the C language, mainly used on
160 systems running NeXTSTEP. This package does not include the standard
161 objective C object library.
163 %description objc -l de
164 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
165 Objective C ist ein objektorientiertes Derivat von C, das zur
166 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
167 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
169 %description objc -l fr
170 Ce package ajoute un support Objective C au compilateur C GNU.
171 L'Objective C est un langage orienté objetdérivé du langage C,
172 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
173 pas la bibliothéque Objective C standard.
175 %description objc -l pl
176 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
177 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
178 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
179 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
181 %description objc -l tr
182 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
183 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
184 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
185 kitaplýðý bu pakette yer almaz.
188 Summary: Objective C Libraries
189 Summary(pl): Biblioteki Obiektowego C
191 Version: %{GCC_VERSION}
194 %description -n libobjc
195 Objective C Libraries.
197 %description -n libobjc -l pl
198 Biblioteki Obiektowego C.
200 %package -n libobjc-static
201 Summary: Static Objective C Libraries
202 Summary(pl): Statyczne Biblioteki Obiektowego C
203 Group: Development/Libraries
204 Version: %{GCC_VERSION}
205 Requires: libobjc = %{epoch}:%{GCC_VERSION}
207 %description -n libobjc-static
208 Static Objective C Libraries.
210 %description -n libobjc-static -l pl
211 Statyczne biblioteki Obiektowego C.
214 Summary: Fortran 77 support for gcc
215 Summary(pl): Obs³uga Fortranu 77 dla gcc
216 Summary(pt_BR): Suporte Fortran 77 para o GCC
217 Group: Development/Languages/Fortran
218 Version: %{GCC_VERSION}
220 Requires: libg2c = %{epoch}:%{GCC_VERSION}
223 This apckage adds support for compiling Fortran 77 programs with the
226 %description g77 -l pl
227 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
228 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
230 %description g77 -l pt_BR
231 Suporte Fortran 77 para o GCC.
234 Summary: Fortran 77 Libraries
235 Summary(pl): Biblioteki Fortranu 77
237 Version: %{GCC_VERSION}
239 %description -n libg2c
240 Fortran 77 Libraries.
242 %description -n libg2c -l pl
243 Biblioteki Fortranu 77.
245 %package -n libg2c-static
246 Summary: Static Fortran 77 Libraries
247 Summary(pl): Statyczne Biblioteki Fortranu 77
248 Group: Development/Libraries
249 Version: %{GCC_VERSION}
250 Requires: libg2c = %{epoch}:%{GCC_VERSION}
252 %description -n libg2c-static
253 Static Fortran 77 Libraries.
255 %description -n libg2c-static -l pl
256 Statyczne biblioteki Fortranu 77.
259 Summary: Java support for gcc
260 Summary(pl): Obs³uga Javy dla gcc
261 Group: Development/Languages/Java
262 Version: %{GCC_VERSION}
263 Requires: %{name} = %{epoch}:%{version}
264 Requires: libgcj >= 3.0.0
265 Requires: libgcj-devel >= 3.0.0
266 Requires: java-shared
267 Provides: gcj = %{epoch}:%{GCC_VERSION}-%{release}
270 This package adds experimental support for compiling Java(tm) programs
271 and bytecode into native code. To use this you will also need the
274 %description java -l pl
275 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
276 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
277 by³o przeprowadziæ kompilacjê.
280 Summary: Shared java tools
281 Summary(pl): Wspó³dzielone narzêdzia javy
282 Group: Development/Languages/Java
283 Version: %{GCC_VERSION}
284 Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
285 Provides: java-shared
287 Obsoletes: java-shared
290 %description java-tools
291 This package contains tools that are common for every Java(tm) implementation,
294 %description java-tools -l pl
295 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
299 Summary: Java Class Libraries
300 Summary(pl): Biblioteki Klas Javy
302 Version: %{GCC_VERSION}
306 %description -n libgcj
307 Java Class Libraries.
309 %description -n libgcj -l pl
310 Biblioteki Klas Javy.
312 %package -n libgcj-devel
313 Summary: Development files for Java Class Libraries
314 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
315 Group: Development/Libraries
316 Version: %{GCC_VERSION}
317 Requires: libgcj = %{epoch}:%{GCC_VERSION}
318 Requires: %{name}-java
319 Obsoletes: libgcj3-devel
321 %description -n libgcj-devel
322 Development files for Java Class Libraries.
324 %description -n libgcj-devel -l pl
325 Pliki nag³ówkowe dla Bibliotek Klas Javy.
327 %package -n libgcj-static
328 Summary: Static Java Class Libraries
329 Summary(pl): Statyczne Biblioteki Klas Javy
330 Group: Development/Libraries
331 Version: %{GCC_VERSION}
332 Requires: libstdc++-devel = %{epoch}:%{GCC_VERSION}
333 Requires: libgcj-devel = %{epoch}:%{GCC_VERSION}
335 %description -n libgcj-static
336 Static Java Class Libraries.
338 %description -n libgcj-static -l pl
339 Statyczne Biblioteki Klas Javy.
341 %package -n libstdc++
342 Summary: GNU c++ library
343 Summary(pl): Biblioteki GNU C++
344 Summary(pt_BR): Biblioteca C++ GNU
346 Version: %{GCC_VERSION}
348 Obsoletes: libstdc++3
350 %description -n libstdc++
351 This is the GNU implementation of the standard C++ libraries, along
352 with additional GNU tools. This package includes the shared libraries
353 necessary to run C++ applications.
355 %description -n libstdc++ -l de
356 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
357 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
358 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
360 %description -n libstdc++ -l es
361 Este es el soporte de las bibliotecas padrón del C++, junto con
362 herramientas GNU adicionales. El paquete incluye las bibliotecas
363 compartidas necesarias para ejecutar aplicaciones C++.
365 %description -n libstdc++ -l fr
366 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
367 des outils GNU supplémentaires. Ce package comprend les librairies
368 partagées nécessaires à l'exécution d'application C++.
370 %description -n libstdc++ -l pl
371 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
372 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
373 uruchomienia aplikacji napisanych w C++.
375 %description -n libstdc++ -l pt_BR
376 Este pacote é uma implementação da biblioteca padrão C++ v3, um
377 subconjunto do padrão ISO 14882.
379 %description -n libstdc++ -l tr
380 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
381 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
383 %package -n libstdc++-devel
384 Summary: Header files and documentatino for C++ development
385 Summary(de): Header-Dateien zur Entwicklung mit C++
386 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
387 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
388 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
389 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
390 Group: Development/Libraries
391 Version: %{GCC_VERSION}
392 Requires: libstdc++ = %{epoch}:%{GCC_VERSION}
393 Requires: %{name}-c++ = %{epoch}:%{GCC_VERSION}
394 Obsoletes: libg++-devel
395 Obsoletes: libstdc++3-devel
397 %description -n libstdc++-devel
398 This is the GNU implementation of the standard C++ libraries. This
399 package includes the header files needed for C++ development and
400 library documentation.
402 %description -n libstdc++-devel -l es
403 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este paquete
404 incluye los archivos de inclusión y bibliotecas necesarios para desarrollo de
405 programas en lenguaje C++.
407 %description -n libstdc++-devel -l pl
408 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
409 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
410 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
412 %description -n libstdc++-devel -l pt_BR
413 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias para
414 desenvolvimento de programas C++.
416 %package -n libstdc++-static
417 Summary: Static C++ standard library
418 Summary(pl): Statyczna biblioteka standardowa C++
419 Group: Development/Libraries
420 Version: %{GCC_VERSION}
421 Requires: libstdc++-devel = %{epoch}:%{GCC_VERSION}
423 %description -n libstdc++-static
424 Static C++ standard library.
426 %description -n libstdc++-static -l pl
427 Statycza biblioteka standardowa C++.
430 Summary: Foreign Function Interface library
431 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
433 Version: %{GCC_VERSION}
435 %description -n libffi
436 The libffi library provides a portable, high level programming
437 interface to various calling conventions. This allows a programmer to
438 call any function specified by a call interface description at run
441 %description -n libffi -l pl
442 Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego miêdzymordzia
443 do ró¿nych konwencji wywo³añ funkcji. Pozwala to programi¶cie wywo³ywaæ
444 dowolne funkcje podaj±c konwencjê wywo³ania w czasie wykonania.
446 %package -n libffi-devel
447 Summary: Development files for Foreign Function Interface library
448 Summary(pl): Pliki nag³ówkowe dla libffi
449 Group: Development/Libraries
450 Version: %{GCC_VERSION}
451 Requires: libffi = %{epoch}:%{GCC_VERSION}
453 %description -n libffi-devel
454 Development files for Foreign Function Interface library.
456 %description -n libffi-devel -l pl
457 Pliki nag³ówkowe dla libffi.
459 %package -n libffi-static
460 Summary: Static Foreign Function Interface library
461 Summary(pl): Statyczna biblioteka libffi
462 Group: Development/Libraries
463 Version: %{GCC_VERSION}
464 Requires: libffi-devel = %{epoch}:%{GCC_VERSION}
466 %description -n libffi-static
467 Static Foreign Function Interface library.
469 %description -n libffi-static -l pl
470 Statyczna biblioteka libffi.
473 Summary: Ada support for gcc
474 Summary(pl): Obs³uga Ady do gcc
475 Group: Development/Languages
476 Version: %{GCC_VERSION}
477 Requires: libgnat = %{epoch}:%{GCC_VERSION}
478 Requires: gcc = %{epoch}:%{GCC_VERSION}
480 Obsoletes: gnat-devel
483 This package adds experimental support for compiling Ada programs.
485 %description ada -l pl
486 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
490 Summary: Ada standard libraries
491 Summary(pl): Biblioteki standardowe dla Ady
493 Version: %{GCC_VERSION}
497 %description -n libgnat
498 This package contains shared libraries needed to run programs written
501 %description -n libgnat -l pl
502 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
505 %package -n libgnat-static
506 Summary: Static Ada standard libraries
507 Summary(pl): Statyczne biblioteki standardowe dla Ady
509 Version: %{GCC_VERSION}
510 Obsoletes: gnat-static
512 %description -n libgnat-static
513 This package contains static libraries for programs written in Ada.
515 %description -n libgnat-static -l pl
516 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
520 Summary: Ksi support for gcc
521 Summary(pl): Obs³uga Ksi dla gcc
522 Version: %{GCC_VERSION}.%{KSI_VERSION}
523 Group: Development/Languages
524 Requires: gcc = %{epoch}:%{GCC_VERSION}
527 This package adds experimental support for compiling Ksi programs
528 into native code. You proabably don't need it, unless your are going
529 to develop a compiler using Ksi as intermediate representation or
530 you are using such compiler (like Gont).
532 %description ksi -l pl
533 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
534 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
535 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
536 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
539 Summary: The C Pre Processor
540 Summary(pl): Preprocesor C
541 Summary(pt_BR): Preprocessador para a linguagem C
542 Group: Development/Languages
543 Version: %{GCC_VERSION}
548 The C preprocessor is a "macro processor" that is used automatically
549 by the C compiler to transform your program before actual compilation.
550 It is called a macro processor because it allows you to define
551 "macros", which are brief abbreviations for longer constructs.
553 The C preprocessor provides four separate facilities that you can use
556 - Inclusion of header files. These are files of declarations that can
557 be substituted into your program.
558 - Macro expansion. You can define "macros", which are abbreviations
559 for arbitrary fragments of C code, and then the C preprocessor will
560 replace the macros with their definitions throughout the program.
561 - Conditional compilation. Using special preprocessing directives, you
562 can include or exclude parts of the program according to various
564 - Line control. If you use a program to combine or rearrange source
565 files into an intermediate file which is then compiled, you can use
566 line control to inform the compiler of where each source line
567 originally came from.
569 %description -n cpp -l es
570 Um preprocessador para a linguagem C.
572 %description -n cpp -l pl
573 Przeprocesor C jest "makro procesorem" który jest automatycznie
574 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
575 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
576 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
577 d³ugich konstrukcji w jêzyku C.
579 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
581 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
582 deklaracji polecenia do³±czenia innego pliku.
583 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
584 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
585 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
586 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
587 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
588 fragmenty obrabianego strumienia tekstów.
589 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
590 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
591 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
592 odpowiada fragment pliku wynikowego.
594 %description -n cpp -l pt_BR
595 O preprocessador C é um "processador de macros", que é utilizado pelo
596 compilador C para fazer algumas modificações no seu programa, antes da
597 compilação em si. Ele é chamado de "processador de macros" porque
598 permite a você definir "macros", que são abreviações para construções
601 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
602 arquivos de cabeçalho; expansão de macros; compilação condicional;
603 e controle da numeração das linhas do programa.
606 %setup -q -a1 -n %{name}-%{GCC_VERSION}
607 mv ksi-%{KSI_VERSION} gcc/ksi
630 %{?_with_pp:%patch25 -p1}
632 # because we distribute modified version of gcc...
633 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
634 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
637 # cd gcc && autoconf; cd ..
638 # autoconf is not needed!
639 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
641 CFLAGS="%{rpmcflags}" \
642 CXXFLAGS="%{rpmcflags}" \
643 TEXCONFIG=false ../configure \
644 --prefix=%{_prefix} \
645 --infodir=%{_infodir} \
646 --mandir=%{_mandir} \
648 --enable-threads=posix \
649 --enable-__cxa_atexit \
650 --enable-languages="c,c++,f77%{!?_without_objc:,objc}%{!?_without_ada:,ada}%{!?_without_java:,java},ksi" \
658 --with-slibdir=%{_slibdir} \
662 PATH=$PATH:/sbin:%{_sbindir}
665 %{__make} -C obj-%{_target_platform} bootstrap-lean \
666 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
670 %if 0%{!?_without_ada:1}
671 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
672 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
678 rm -rf $RPM_BUILD_ROOT
679 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
681 cd obj-%{_target_platform}
682 PATH=$PATH:/sbin:%{_sbindir}
685 DESTDIR=$RPM_BUILD_ROOT
688 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
689 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
692 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
693 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
695 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
696 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
698 %if 0%{!?_without_ada:1}
699 # move ada shared libraries to proper place...
700 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1 \
701 $RPM_BUILD_ROOT%{_libdir}/
702 # check if symlink to be made is valid
703 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so.1
704 ln -sf libgnat-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so
705 ln -sf libgnarl-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.15.so
706 ln -sf libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
707 ln -sf libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
710 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
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 lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
733 %{!?_without_objc:libobjc.la}; do
734 perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
737 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
738 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
740 # include/ contains install-tools/include/* and headers that were fixed up
741 # by fixincludes, we don't want former
742 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/)
744 # we have to save these however
745 mv -f $gccdir/include/{%{!?_without_objc:objc,}g2c.h,syslimits.h%{!?_without_java:,gcj}} $gccdir/tmp
746 rm -rf $gccdir/include
747 mv -f $gccdir/tmp $gccdir/include
748 cp $gccdir/install-tools/include/*.h $gccdir/include
749 # but we don't want anything more from install-tools
750 rm -rf $gccdir/install-tools/
753 %find_lang libstdc\+\+
756 rm -rf $RPM_BUILD_ROOT
759 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
762 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
765 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
768 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
771 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
774 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
777 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
780 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
783 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
786 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
788 %post -p /sbin/ldconfig -n libgcc
789 %postun -p /sbin/ldconfig -n libgcc
790 %post -p /sbin/ldconfig -n libstdc++
791 %postun -p /sbin/ldconfig -n libstdc++
792 %post -p /sbin/ldconfig -n libobjc
793 %postun -p /sbin/ldconfig -n libobjc
794 %post -p /sbin/ldconfig -n libg2c
795 %postun -p /sbin/ldconfig -n libg2c
796 %post -p /sbin/ldconfig -n libgcj
797 %postun -p /sbin/ldconfig -n libgcj
798 %post -p /sbin/ldconfig -n libgnat
799 %postun -p /sbin/ldconfig -n libgnat
800 %post -p /sbin/ldconfig -n libffi
801 %postun -p /sbin/ldconfig -n libffi
803 %files -f %{name}.lang
804 %defattr(644,root,root,755)
806 %dir %{_libdir}/gcc-lib
807 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
808 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
809 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
810 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc*
811 %attr(755,root,root) %{_bindir}/gcc
812 %attr(755,root,root) %{_bindir}/gccbug
813 %attr(755,root,root) %{_bindir}/gcov
814 %attr(755,root,root) %{_bindir}/cc
816 %{_mandir}/man1/gcc.1*
817 %{_mandir}/man1/cc.1*
818 %{_mandir}/man1/gcov.1*
819 %lang(fr) %{_mandir}/fr/man1/gcc.1*
820 %lang(ja) %{_mandir}/ja/man1/gcc.1*
823 %attr(755,root,root) %{_slibdir}*/lib*.so
824 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
825 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
826 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
827 %attr(644,root,root) %{_libdir}*/gcc-lib/%{_target_cpu}*/*/crt*.o
829 %{_libdir}/gcc-lib/%{_target_cpu}*/*/*/libgcc.a
830 %{_libdir}/gcc-lib/%{_target_cpu}*/*/*/libgcc_eh.a
831 %attr(644,root,root) %{_libdir}*/gcc-lib/%{_target_cpu}*/*/*/crt*.o
834 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
835 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
836 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
839 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
840 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
842 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/*.h
843 %exclude %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
846 %defattr(644,root,root,755)
847 %attr(755,root,root) %{_slibdir}*/lib*.so.*
850 %defattr(644,root,root,755)
851 %attr(755,root,root) %{_bindir}/g++
852 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
853 %attr(755,root,root) %{_bindir}/c++
854 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
855 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
856 %{_libdir}*/libsupc++.la
858 %{_libdir}/nof/libsupc++.la
859 %{_libdir}/nof/libsupc++.a
861 %{_libdir}*/libsupc++.a
862 %{_mandir}/man1/g++.1*
863 %lang(ja) %{_mandir}/ja/man1/g++.1*
865 %files -n libstdc++ -f libstdc++.lang
866 %defattr(644,root,root,755)
867 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
869 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
872 %files -n libstdc++-devel
873 %defattr(644,root,root,755)
874 %doc libstdc++-v3/docs/html
875 %dir %{_includedir}/c++
876 %{_includedir}/c++/%{GCC_VERSION}
877 %attr(755,root,root) %{_libdir}*/libstdc++.so
878 %{_libdir}*/libstdc++.la
880 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
881 %{_libdir}/nof/libstdc++.la
884 %files -n libstdc++-static
885 %defattr(644,root,root,755)
886 %{_libdir}*/libstdc++.a
888 %{_libdir}/nof/libstdc++.a
891 %if %{!?_without_objc:1}0
893 %defattr(644,root,root,755)
895 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
896 %attr(755,root,root) %{_libdir}*/libobjc.so
897 %{_libdir}*/libobjc.la
899 %attr(755,root,root) %{_libdir}/nof/libobjc.so
900 %{_libdir}/nof/libobjc.la
902 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
905 %defattr(644,root,root,755)
906 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
908 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
911 %files -n libobjc-static
912 %defattr(644,root,root,755)
913 %{_libdir}*/libobjc.a
915 %{_libdir}/nof/libobjc.a
920 %defattr(644,root,root,755)
921 %attr(755,root,root) %{_bindir}/g77
922 %attr(755,root,root) %{_bindir}/f77
924 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
925 %{_libdir}*/libfrtbegin.a
926 %{_libdir}*/libg2c.la
927 %attr(755,root,root) %{_libdir}*/libg2c.so
929 %{_libdir}/nof/libfrtbegin.a
930 %{_libdir}/nof/libg2c.la
931 %attr(755,root,root) %{_libdir}/nof/libg2c.so
933 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
934 %{_mandir}/man1/g77.1*
935 %{_mandir}/man1/f77.1*
936 %lang(ja) %{_mandir}/ja/man1/g77.1*
937 %lang(ja) %{_mandir}/ja/man1/f77.1*
940 %defattr(644,root,root,755)
941 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
943 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
946 %files -n libg2c-static
947 %defattr(644,root,root,755)
950 %{_libdir}/nof/libg2c.a
953 %if %{!?_without_java:1}%{?_without_java:0}
955 %defattr(644,root,root,755)
957 %attr(755,root,root) %{_bindir}/gcj*
958 %attr(755,root,root) %{_bindir}/gij
959 %attr(755,root,root) %{_bindir}/jcf-dump
960 %attr(755,root,root) %{_bindir}/jv-*
961 %attr(755,root,root) %{_bindir}/grepjar
962 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcj
963 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
964 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
966 %{_mandir}/man1/jcf-*
970 %{_mandir}/man1/grepjar*
973 %defattr(644,root,root,755)
974 %attr(755,root,root) %{_bindir}/rmi*
975 %attr(755,root,root) %{_bindir}/jar
981 %defattr(644,root,root,755)
982 %attr(755,root,root) %{_bindir}/addr2name.awk
983 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
984 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
986 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
989 %files -n libgcj-devel
990 %defattr(644,root,root,755)
997 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
998 %dir %{_libdir}/security
999 %{_libdir}/security/*
1000 %dir %{_datadir}/java
1001 %{_datadir}/java/libgcj*.jar
1002 %{_libdir}/lib*cj.spec
1003 %{_libdir}/lib*cj*.la
1004 %attr(755,root,root) %{_libdir}/lib*cj*.so
1005 %attr(755,root,root) %{_libdir}/lib-org-*.so
1006 %{_libdir}/lib-org-*.la
1008 %{_libdir}/nof/lib*cj*.la
1009 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1012 %files -n libgcj-static
1013 %defattr(644,root,root,755)
1014 %{_libdir}/lib*cj*.a
1015 %{_libdir}/lib-org-*.a
1017 %{_libdir}/nof/lib*cj*.a
1021 %defattr(644,root,root,755)
1022 %attr(755,root,root) %{_libdir}/libffi-*.so
1024 %files -n libffi-devel
1025 %defattr(644,root,root,755)
1026 %attr(755,root,root) %{_libdir}/libffi.so
1027 %{_libdir}/libffi.la
1030 %files -n libffi-static
1031 %defattr(644,root,root,755)
1035 %if 0%{!?_without_ada:1}
1037 %defattr(644,root,root,755)
1038 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
1039 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
1040 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
1041 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
1043 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
1045 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
1046 %attr(755,root,root) %{_bindir}/gnat*
1048 %attr(755,root,root) %{_libdir}/libgnat*.so
1049 %attr(755,root,root) %{_libdir}/libgnarl*.so
1052 %defattr(644,root,root,755)
1053 %attr(755,root,root) %{_libdir}/libgna*.so.1
1055 %files -n libgnat-static
1056 %defattr(644,root,root,755)
1057 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
1061 %defattr(644,root,root,755)
1062 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
1064 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
1067 %defattr(644,root,root,755)
1068 %attr(755,root,root) %{_slibdir}/cpp
1069 %attr(755,root,root) %{_bindir}/cpp
1070 %{_mandir}/man1/cpp.1*
1071 %lang(ja) %{_mandir}/ja/man1/cpp.1*