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.1
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: 1135a104e9fa36fdf7c663598fab5c40
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 BuildRequires: glibc-devel >= 2.2.5-20
56 BuildRequires: perl-devel
57 BuildRequires: texinfo >= 4.1
58 BuildRequires: zlib-devel
59 BuildRequires: gettext-devel
60 Requires: binutils >= 2.14
61 Requires: cpp = %{epoch}:%{GCC_VERSION}
62 Requires: libgcc = %{epoch}:%{GCC_VERSION}
63 Conflicts: glibc-devel < 2.2.5-20
64 URL: http://gcc.gnu.org/
65 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69 %define _slibdir64 /lib64
70 %define _libdir /usr/lib
71 %define rpmcflags -O2 -mtune=ultrasparc
75 A compiler aimed at integrating all the optimizations and features
76 necessary for a high-performance and stable development environment.
79 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
80 wyprodukowania szybkiego i stablinego kodu wynikowego.
83 Este pacote adiciona infraestrutura básica e suporte a linguagem C
84 ao Gnu Compiler Collection.
87 Summary: Shared gcc library
88 Summary(pl): Biblioteka gcc
89 Summary(pt_BR): Biblioteca runtime para o GCC
91 Version: %{GCC_VERSION}
94 %description -n libgcc
97 %description -n libgcc -l pl
98 Biblioteka dynamiczna gcc.
100 %description -n libgcc -l pt_BR
101 Biblioteca runtime para o GCC.
104 Summary: C++ support for gcc
105 Summary(pl): Obs³uga C++ dla gcc
106 Summary(pt_BR): Suporte C++ para o gcc
107 Group: Development/Languages
110 Requires: gcc = %{epoch}:%{GCC_VERSION}
113 This package adds C++ support to the GNU C compiler. It includes
114 support for most of the current C++ specification, including templates
115 and exception handling. It does not include a standard C++ library,
116 which is available separately.
118 %description c++ -l de
119 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
120 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
121 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
122 sie ist getrennt erhältlich.
124 %description c++ -l fr
125 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
126 support pour la plupart des spécifications actuelles de C++, dont les
127 modéles et la gestion des exceptions. Il ne comprend pas une
128 bibliothéque C++ standard, qui est disponible séparément.
130 %description c++ -l pl
131 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
132 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
133 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
135 %description c++ -l pt_BR
136 Este pacote adiciona suporte C++ para o gcc.
138 %description c++ -l tr
139 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
140 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
141 C++ kitaplýðý bu pakette yer almaz.
144 Summary: Objective C support for gcc
145 Summary(de): Objektive C-Unterstützung für gcc
146 Summary(fr): Gestion d'Objective C pour gcc
147 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
148 Summary(tr): gcc için Objective C desteði
149 Group: Development/Languages
152 Requires: libobjc = %{epoch}:%{GCC_VERSION}
153 Requires: gcc = %{epoch}:%{GCC_VERSION}
156 This package adds Objective C support to the GNU C compiler. Objective
157 C is a object oriented derivative of the C language, mainly used on
158 systems running NeXTSTEP. This package does not include the standard
159 objective C object library.
161 %description objc -l de
162 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
163 Objective C ist ein objektorientiertes Derivat von C, das zur
164 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
165 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
167 %description objc -l fr
168 Ce package ajoute un support Objective C au compilateur C GNU.
169 L'Objective C est un langage orienté objetdérivé du langage C,
170 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
171 pas la bibliothéque Objective C standard.
173 %description objc -l pl
174 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
175 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
176 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
177 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
179 %description objc -l tr
180 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
181 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
182 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
183 kitaplýðý bu pakette yer almaz.
186 Summary: Objective C Libraries
187 Summary(pl): Biblioteki Obiektowego C
189 Version: %{GCC_VERSION}
192 %description -n libobjc
193 Objective C Libraries.
195 %description -n libobjc -l pl
196 Biblioteki Obiektowego C.
198 %package -n libobjc-static
199 Summary: Static Objective C Libraries
200 Summary(pl): Statyczne Biblioteki Obiektowego C
201 Group: Development/Libraries
202 Version: %{GCC_VERSION}
203 Requires: libobjc = %{epoch}:%{GCC_VERSION}
205 %description -n libobjc-static
206 Static Objective C Libraries.
208 %description -n libobjc-static -l pl
209 Statyczne biblioteki Obiektowego C.
212 Summary: Fortran 77 support for gcc
213 Summary(pl): Obs³uga Fortranu 77 dla gcc
214 Summary(pt_BR): Suporte Fortran 77 para o GCC
215 Group: Development/Languages/Fortran
216 Version: %{GCC_VERSION}
218 Requires: libg2c = %{epoch}:%{GCC_VERSION}
221 This apckage adds support for compiling Fortran 77 programs with the
224 %description g77 -l pl
225 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
226 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
228 %description g77 -l pt_BR
229 Suporte Fortran 77 para o GCC.
232 Summary: Fortran 77 Libraries
233 Summary(pl): Biblioteki Fortranu 77
235 Version: %{GCC_VERSION}
237 %description -n libg2c
238 Fortran 77 Libraries.
240 %description -n libg2c -l pl
241 Biblioteki Fortranu 77.
243 %package -n libg2c-static
244 Summary: Static Fortran 77 Libraries
245 Summary(pl): Statyczne Biblioteki Fortranu 77
246 Group: Development/Libraries
247 Version: %{GCC_VERSION}
248 Requires: libg2c = %{epoch}:%{GCC_VERSION}
250 %description -n libg2c-static
251 Static Fortran 77 Libraries.
253 %description -n libg2c-static -l pl
254 Statyczne biblioteki Fortranu 77.
257 Summary: Java support for gcc
258 Summary(pl): Obs³uga Javy dla gcc
259 Group: Development/Languages/Java
260 Version: %{GCC_VERSION}
261 Requires: %{name} = %{epoch}:%{version}
262 Requires: libgcj >= 3.0.0
263 Requires: libgcj-devel >= 3.0.0
264 Requires: java-shared
265 Provides: gcj = %{epoch}:%{GCC_VERSION}-%{release}
268 This package adds experimental support for compiling Java(tm) programs
269 and bytecode into native code. To use this you will also need the
272 %description -l pl java
273 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
274 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
275 by³o przeprowadziæ kompilacjê.
278 Summary: Shared java tools
279 Summary(pl): Wspó³dzielone narzêdzia javy
280 Group: Development/Languages/Java
281 Version: %{GCC_VERSION}
282 Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
283 Provides: java-shared
285 Obsoletes: java-shared
288 %description java-tools
289 This package contains tools that are common for every Java(tm) implementation,
292 %description java-tools -l pl
293 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
297 Summary: Java Class Libraries
298 Summary(pl): Biblioteki Klas Javy
300 Version: %{GCC_VERSION}
304 %description -n libgcj
305 Java Class Libraries.
307 %description -n libgcj -l pl
308 Biblioteki Klas Javy.
310 %package -n libgcj-devel
311 Summary: Development files for Java Class Libraries
312 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
313 Group: Development/Libraries
314 Version: %{GCC_VERSION}
315 Requires: libgcj = %{epoch}:%{GCC_VERSION}
316 Requires: %{name}-java
317 Obsoletes: libgcj3-devel
319 %description -n libgcj-devel
320 Development files for Java Class Libraries.
322 %description -n libgcj-devel -l pl
323 Pliki nag³ówkowe dla Bibliotek Klas Javy.
325 %package -n libgcj-static
326 Summary: Static Java Class Libraries
327 Summary(pl): Statyczne Biblioteki Klas Javy
328 Group: Development/Libraries
329 Version: %{GCC_VERSION}
330 Requires: libstdc++-devel = %{epoch}:%{GCC_VERSION}
331 Requires: libgcj-devel = %{epoch}:%{GCC_VERSION}
333 %description -n libgcj-static
334 Static Java Class Libraries.
336 %description -n libgcj-static -l pl
337 Statyczne Biblioteki Klas Javy.
339 %package -n libstdc++
340 Summary: GNU c++ library
341 Summary(pl): Biblioteki GNU C++
342 Summary(pt_BR): Biblioteca C++ GNU
344 Version: %{GCC_VERSION}
346 Obsoletes: libstdc++3
348 %description -n libstdc++
349 This is the GNU implementation of the standard C++ libraries, along
350 with additional GNU tools. This package includes the shared libraries
351 necessary to run C++ applications.
353 %description -n libstdc++ -l de
354 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
355 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
356 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
358 %description -n libstdc++ -l es
359 Este es el soporte de las bibliotecas padrón del C++, junto con
360 herramientas GNU adicionales. El paquete incluye las bibliotecas
361 compartidas necesarias para ejecutar aplicaciones C++.
363 %description -n libstdc++ -l fr
364 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
365 des outils GNU supplémentaires. Ce package comprend les librairies
366 partagées nécessaires à l'exécution d'application C++.
368 %description -n libstdc++ -l pl
369 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
370 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
371 uruchomienia aplikacji napisanych w C++.
373 %description -n libstdc++ -l pt_BR
374 Este pacote é uma implementação da biblioteca padrão C++ v3, um
375 subconjunto do padrão ISO 14882.
377 %description -n libstdc++ -l tr
378 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
379 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
381 %package -n libstdc++-devel
382 Summary: Header files and documentatino for C++ development
383 Summary(de): Header-Dateien zur Entwicklung mit C++
384 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
385 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
386 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
387 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
388 Group: Development/Libraries
389 Version: %{GCC_VERSION}
390 Requires: libstdc++ = %{epoch}:%{GCC_VERSION}
391 Requires: %{name}-c++ = %{epoch}:%{GCC_VERSION}
392 Obsoletes: libg++-devel
393 Obsoletes: libstdc++3-devel
395 %description -n libstdc++-devel
396 This is the GNU implementation of the standard C++ libraries. This
397 package includes the header files needed for C++ development and
398 library documentation.
400 %description -n libstdc++-devel -l es
401 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este paquete
402 incluye los archivos de inclusión y bibliotecas necesarios para desarrollo de
403 programas en lenguaje C++.
405 %description -n libstdc++-devel -l pl
406 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
407 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
408 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
410 %description -n libstdc++-devel -l pt_BR
411 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias para
412 desenvolvimento de programas C++.
414 %package -n libstdc++-static
415 Summary: Static C++ standard library
416 Summary(pl): Statyczna biblioteka standardowa C++
417 Group: Development/Libraries
418 Version: %{GCC_VERSION}
419 Requires: libstdc++-devel = %{epoch}:%{GCC_VERSION}
421 %description -n libstdc++-static
422 Static C++ standard library.
424 %description -n libstdc++-static -l pl
425 Statycza biblioteka standardowa C++.
428 Summary: Foreign Function Interface library
429 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
431 Version: %{GCC_VERSION}
433 %description -n libffi
434 The libffi library provides a portable, high level programming
435 interface to various calling conventions. This allows a programmer to
436 call any function specified by a call interface description at run
439 %description -n libffi -l pl
440 Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego miêdzymordzia
441 do ró¿nych konwencji wywo³añ funkcji. Pozwala to programi¶cie wywo³ywaæ
442 dowolne funkcje podaj±c konwencjê wywo³ania w czasie wykonania.
444 %package -n libffi-devel
445 Summary: Development files for Foreign Function Interface library
446 Summary(pl): Pliki nag³ówkowe dla libffi
447 Group: Development/Libraries
448 Version: %{GCC_VERSION}
449 Requires: libffi = %{epoch}:%{GCC_VERSION}
451 %description -n libffi-devel
452 Development files for Foreign Function Interface library.
454 %description -n libffi-devel -l pl
455 Pliki nag³ówkowe dla libffi.
457 %package -n libffi-static
458 Summary: Static Foreign Function Interface library
459 Summary(pl): Statyczna biblioteka libffi
460 Group: Development/Libraries
461 Version: %{GCC_VERSION}
462 Requires: libffi-devel = %{epoch}:%{GCC_VERSION}
464 %description -n libffi-static
465 Static Foreign Function Interface library.
467 %description -n libffi-static -l pl
468 Statyczna biblioteka libffi.
471 Summary: Ada support for gcc
472 Summary(pl): Obs³uga Ady do gcc
473 Group: Development/Languages
474 Version: %{GCC_VERSION}
475 Requires: libgnat = %{epoch}:%{GCC_VERSION}
476 Requires: gcc = %{epoch}:%{GCC_VERSION}
478 Obsoletes: gnat-devel
481 This package adds experimental support for compiling Ada programs.
483 %description -l pl ada
484 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
488 Summary: Ada standard libraries
489 Summary(pl): Biblioteki standardowe dla Ady
491 Version: %{GCC_VERSION}
495 %description -n libgnat
496 This package contains shared libraries needed to run programs written
499 %description -n libgnat -l pl
500 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
503 %package -n libgnat-static
504 Summary: Static Ada standard libraries
505 Summary(pl): Statyczne biblioteki standardowe dla Ady
507 Version: %{GCC_VERSION}
508 Obsoletes: gnat-static
510 %description -n libgnat-static
511 This package contains static libraries for programs written in Ada.
513 %description -n libgnat-static -l pl
514 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
518 Summary: Ksi support for gcc
519 Summary(pl): Obs³uga Ksi dla gcc
520 Version: %{GCC_VERSION}.%{KSI_VERSION}
521 Group: Development/Languages
522 Requires: gcc = %{epoch}:%{GCC_VERSION}
525 This package adds experimental support for compiling Ksi programs
526 into native code. You proabably don't need it, unless your are going
527 to develop a compiler using Ksi as intermediate representation or
528 you are using such compiler (like Gont).
530 %description ksi -l pl
531 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
532 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
533 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
534 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
537 Summary: The C Pre Processor
538 Summary(pl): Preprocesor C
539 Summary(pt_BR): Preprocessador para a linguagem C
540 Group: Development/Languages
541 Version: %{GCC_VERSION}
546 The C preprocessor is a "macro processor" that is used automatically
547 by the C compiler to transform your program before actual compilation.
548 It is called a macro processor because it allows you to define
549 "macros", which are brief abbreviations for longer constructs.
551 The C preprocessor provides four separate facilities that you can use
554 - Inclusion of header files. These are files of declarations that can
555 be substituted into your program.
556 - Macro expansion. You can define "macros", which are abbreviations
557 for arbitrary fragments of C code, and then the C preprocessor will
558 replace the macros with their definitions throughout the program.
559 - Conditional compilation. Using special preprocessing directives, you
560 can include or exclude parts of the program according to various
562 - Line control. If you use a program to combine or rearrange source
563 files into an intermediate file which is then compiled, you can use
564 line control to inform the compiler of where each source line
565 originally came from.
567 %description -n cpp -l es
568 Um preprocessador para a linguagem C.
570 %description -n cpp -l pl
571 Przeprocesor C jest "makro procesorem" który jest automatycznie
572 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
573 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
574 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
575 d³ugich konstrukcji w jêzyku C.
577 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
579 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
580 deklaracji polecenia do³±czenia innego pliku.
581 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
582 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
583 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
584 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
585 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
586 fragmenty obrabianego strumienia tekstów.
587 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
588 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
589 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
590 odpowiada fragment pliku wynikowego.
592 %description -n cpp -l pt_BR
593 O preprocessador C é um "processador de macros", que é utilizado pelo
594 compilador C para fazer algumas modificações no seu programa, antes da
595 compilação em si. Ele é chamado de "processador de macros" porque
596 permite a você definir "macros", que são abreviações para construções
599 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
600 arquivos de cabeçalho; expansão de macros; compilação condicional;
601 e controle da numeração das linhas do programa.
604 %setup -q -a1 -n %{name}-%{GCC_VERSION}
605 mv ksi-%{KSI_VERSION} gcc/ksi
628 %{?_with_pp:%patch25 -p1}
630 # because we distribute modified version of gcc...
631 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
632 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
635 # cd gcc && autoconf; cd ..
636 # autoconf is not needed!
637 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
639 CFLAGS="%{rpmcflags}" \
640 CXXFLAGS="%{rpmcflags}" \
641 TEXCONFIG=false ../configure \
642 --prefix=%{_prefix} \
643 --infodir=%{_infodir} \
644 --mandir=%{_mandir} \
646 --enable-threads=posix \
647 --enable-__cxa_atexit \
648 --enable-languages="c,c++,f77%{!?_without_objc:,objc}%{!?_without_ada:,ada}%{!?_without_java:,java},ksi" \
656 --with-slibdir=%{_slibdir} \
660 PATH=$PATH:/sbin:%{_sbindir}
663 %{__make} -C obj-%{_target_platform} bootstrap-lean \
664 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
668 %if 0%{!?_without_ada:1}
669 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
670 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
676 rm -rf $RPM_BUILD_ROOT
677 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
679 cd obj-%{_target_platform}
680 PATH=$PATH:/sbin:%{_sbindir}
683 DESTDIR=$RPM_BUILD_ROOT
686 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
687 $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
690 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
691 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
693 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
694 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
696 %if 0%{!?_without_ada:1}
697 # move ada shared libraries to proper place...
698 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1 \
699 $RPM_BUILD_ROOT%{_libdir}/
700 # check if symlink to be made is valid
701 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so.1
702 ln -sf libgnat-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so
703 ln -sf libgnarl-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.15.so
704 ln -sf libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
705 ln -sf libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
708 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
712 %if %{!?_without_java:1}%{?_without_java:0}
714 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
715 cp -f fastjar/README java-doc/README.fastjar
716 cp -f libffi/README java-doc/README.libffi
717 cp -f libffi/LICENSE java-doc/LICENSE.libffi
720 %if %{!?_without_objc:1}0
721 cp -f libobjc/README gcc/objc/README.libobjc
724 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
725 for f in libstdc++.la libsupc++.la %{!?_without_java:libgcj.la} ; do
726 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
728 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
729 for f in libstdc++.la libsupc++.la libg2c.la \
730 %{!?_without_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
731 %{!?_without_objc:libobjc.la}; do
732 perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
735 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
736 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
738 # include/ contains install-tools/include/* and headers that were fixed up
739 # by fixincludes, we don't want former
740 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/)
742 # we have to save these however
743 mv -f $gccdir/include/{%{!?_without_objc:objc,}g2c.h,syslimits.h%{!?_without_java:,gcj}} $gccdir/tmp
744 rm -rf $gccdir/include
745 mv -f $gccdir/tmp $gccdir/include
746 cp $gccdir/install-tools/include/*.h $gccdir/include
747 # but we don't want anything more from install-tools
748 rm -rf $gccdir/install-tools/
751 %find_lang libstdc\+\+
754 rm -rf $RPM_BUILD_ROOT
757 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
760 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
763 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
766 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
769 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
772 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
775 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
778 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
781 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
784 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
786 %post -p /sbin/ldconfig -n libgcc
787 %postun -p /sbin/ldconfig -n libgcc
788 %post -p /sbin/ldconfig -n libstdc++
789 %postun -p /sbin/ldconfig -n libstdc++
790 %post -p /sbin/ldconfig -n libobjc
791 %postun -p /sbin/ldconfig -n libobjc
792 %post -p /sbin/ldconfig -n libg2c
793 %postun -p /sbin/ldconfig -n libg2c
794 %post -p /sbin/ldconfig -n libgcj
795 %postun -p /sbin/ldconfig -n libgcj
796 %post -p /sbin/ldconfig -n libgnat
797 %postun -p /sbin/ldconfig -n libgnat
798 %post -p /sbin/ldconfig -n libffi
799 %postun -p /sbin/ldconfig -n libffi
801 %files -f %{name}.lang
802 %defattr(644,root,root,755)
804 %dir %{_libdir}/gcc-lib
805 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
806 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
807 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
808 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc*
809 %attr(755,root,root) %{_bindir}/gcc
810 %attr(755,root,root) %{_bindir}/gccbug
811 %attr(755,root,root) %{_bindir}/gcov
812 %attr(755,root,root) %{_bindir}/cc
814 %{_mandir}/man1/gcc.1*
815 %{_mandir}/man1/cc.1*
816 %{_mandir}/man1/gcov.1*
817 %lang(fr) %{_mandir}/fr/man1/gcc.1*
818 %lang(ja) %{_mandir}/ja/man1/gcc.1*
821 %attr(755,root,root) %{_slibdir}*/lib*.so
822 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
823 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
824 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
825 %attr(644,root,root) %{_libdir}*/gcc-lib/%{_target_cpu}*/*/crt*.o
827 %{_libdir}/gcc-lib/%{_target_cpu}*/*/*/libgcc.a
828 %{_libdir}/gcc-lib/%{_target_cpu}*/*/*/libgcc_eh.a
829 %attr(644,root,root) %{_libdir}*/gcc-lib/%{_target_cpu}*/*/*/crt*.o
832 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
833 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
834 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
837 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
838 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
840 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/*.h
841 %exclude %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
844 %defattr(644,root,root,755)
845 %attr(755,root,root) %{_slibdir}*/lib*.so.*
848 %defattr(644,root,root,755)
849 %attr(755,root,root) %{_bindir}/g++
850 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
851 %attr(755,root,root) %{_bindir}/c++
852 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
853 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
854 %{_libdir}*/libsupc++.la
856 %{_libdir}/nof/libsupc++.la
857 %{_libdir}/nof/libsupc++.a
859 %{_libdir}*/libsupc++.a
860 %{_mandir}/man1/g++.1*
861 %lang(ja) %{_mandir}/ja/man1/g++.1*
863 %files -n libstdc++ -f libstdc++.lang
864 %defattr(644,root,root,755)
865 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
867 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
870 %files -n libstdc++-devel
871 %defattr(644,root,root,755)
872 %doc libstdc++-v3/docs/html
873 %dir %{_includedir}/c++
874 %{_includedir}/c++/%{GCC_VERSION}
875 %attr(755,root,root) %{_libdir}*/libstdc++.so
876 %{_libdir}*/libstdc++.la
878 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
879 %{_libdir}/nof/libstdc++.la
882 %files -n libstdc++-static
883 %defattr(644,root,root,755)
884 %{_libdir}*/libstdc++.a
886 %{_libdir}/nof/libstdc++.a
889 %if %{!?_without_objc:1}0
891 %defattr(644,root,root,755)
893 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
894 %attr(755,root,root) %{_libdir}*/libobjc.so
895 %{_libdir}*/libobjc.la
897 %attr(755,root,root) %{_libdir}/nof/libobjc.so
898 %{_libdir}/nof/libobjc.la
900 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
903 %defattr(644,root,root,755)
904 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
906 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
909 %files -n libobjc-static
910 %defattr(644,root,root,755)
911 %{_libdir}*/libobjc.a
913 %{_libdir}/nof/libobjc.a
918 %defattr(644,root,root,755)
919 %attr(755,root,root) %{_bindir}/g77
920 %attr(755,root,root) %{_bindir}/f77
922 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
923 %{_libdir}*/libfrtbegin.a
924 %{_libdir}*/libg2c.la
925 %attr(755,root,root) %{_libdir}*/libg2c.so
927 %{_libdir}/nof/libfrtbegin.a
928 %{_libdir}/nof/libg2c.la
929 %attr(755,root,root) %{_libdir}/nof/libg2c.so
931 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
932 %{_mandir}/man1/g77.1*
933 %{_mandir}/man1/f77.1*
934 %lang(ja) %{_mandir}/ja/man1/g77.1*
935 %lang(ja) %{_mandir}/ja/man1/f77.1*
938 %defattr(644,root,root,755)
939 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
941 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
944 %files -n libg2c-static
945 %defattr(644,root,root,755)
948 %{_libdir}/nof/libg2c.a
951 %if %{!?_without_java:1}%{?_without_java:0}
953 %defattr(644,root,root,755)
955 %attr(755,root,root) %{_bindir}/gcj*
956 %attr(755,root,root) %{_bindir}/gij
957 %attr(755,root,root) %{_bindir}/jcf-dump
958 %attr(755,root,root) %{_bindir}/jv-*
959 %attr(755,root,root) %{_bindir}/grepjar
960 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcj
961 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
962 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
964 %{_mandir}/man1/jcf-*
968 %{_mandir}/man1/grepjar*
971 %defattr(644,root,root,755)
972 %attr(755,root,root) %{_bindir}/rmi*
973 %attr(755,root,root) %{_bindir}/jar
979 %defattr(644,root,root,755)
980 %attr(755,root,root) %{_bindir}/addr2name.awk
981 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
982 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
984 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
987 %files -n libgcj-devel
988 %defattr(644,root,root,755)
995 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
996 %dir %{_libdir}/security
997 %{_libdir}/security/*
998 %dir %{_datadir}/java
999 %{_datadir}/java/libgcj*.jar
1000 %{_libdir}/lib*cj.spec
1001 %{_libdir}/lib*cj*.la
1002 %attr(755,root,root) %{_libdir}/lib*cj*.so
1003 %attr(755,root,root) %{_libdir}/lib-org-*.so
1004 %{_libdir}/lib-org-*.la
1006 %{_libdir}/nof/lib*cj*.la
1007 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1010 %files -n libgcj-static
1011 %defattr(644,root,root,755)
1012 %{_libdir}/lib*cj*.a
1013 %{_libdir}/lib-org-*.a
1015 %{_libdir}/nof/lib*cj*.a
1019 %defattr(644,root,root,755)
1020 %attr(755,root,root) %{_libdir}/libffi-*.so
1022 %files -n libffi-devel
1023 %defattr(644,root,root,755)
1024 %attr(755,root,root) %{_libdir}/libffi.so
1025 %{_libdir}/libffi.la
1028 %files -n libffi-static
1029 %defattr(644,root,root,755)
1033 %if 0%{!?_without_ada:1}
1035 %defattr(644,root,root,755)
1036 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
1037 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
1038 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
1039 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
1041 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
1043 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
1044 %attr(755,root,root) %{_bindir}/gnat*
1046 %attr(755,root,root) %{_libdir}/libgnat*.so
1047 %attr(755,root,root) %{_libdir}/libgnarl*.so
1050 %defattr(644,root,root,755)
1051 %attr(755,root,root) %{_libdir}/libgna*.so.1
1053 %files -n libgnat-static
1054 %defattr(644,root,root,755)
1055 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
1059 %defattr(644,root,root,755)
1060 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
1062 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
1065 %defattr(644,root,root,755)
1066 %attr(755,root,root) %{_slibdir}/cpp
1067 %attr(755,root,root) %{_bindir}/cpp
1068 %{_mandir}/man1/cpp.1*
1069 %lang(ja) %{_mandir}/ja/man1/cpp.1*