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.3.1
10 %define KSI_VERSION 1.1.0.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: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{GCC_VERSION}/%{name}-%{GCC_VERSION}.tar.bz2
22 # Source0-md5: 1135a104e9fa36fdf7c663598fab5c40
23 Source1: ftp://ftp.pld-linux.org/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
24 # Source1-md5: 66f07491b44f06928fd95b0e65bb8cd3
25 Source2: http://ep09.kernel.pl/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
26 # Source2-md5: 4736f3422ddfb808423b745629acc321
27 Patch0: %{name}-info.patch
28 Patch1: %{name}-paths.patch
29 Patch2: %{name}-nolocalefiles.patch
30 Patch3: %{name}-ada-link-new-libgnat.patch
31 # -- stolen patches from RH --
32 Patch10: gcc32-ada-link.patch
33 Patch11: gcc32-boehm-gc-libs.patch
34 Patch12: gcc32-bogus-inline.patch
35 Patch13: gcc32-c++-nrv-test.patch
36 Patch14: gcc32-c++-tsubst-asm.patch
37 Patch15: gcc32-debug-pr7241.patch
38 Patch16: gcc32-duplicate-decl.patch
39 Patch17: gcc32-dwarf2-pr6381.patch
40 Patch18: gcc32-dwarf2-pr6436-test.patch
41 Patch19: gcc32-fde-merge-compat.patch
42 Patch20: gcc32-i386-memtest-test.patch
43 Patch21: gcc32-inline-label.patch
44 Patch22: gcc32-java-no-rpath.patch
45 Patch23: gcc32-test-rh65771.patch
46 Patch24: gcc32-test-rotate.patch
47 BuildRequires: autoconf
48 BuildRequires: binutils >= 2.14
50 BuildRequires: fileutils >= 4.0.41
52 %{!?_without_ada:BuildRequires: gcc-ada}
53 BuildRequires: glibc-devel >= 2.2.5-20
54 BuildRequires: perl-devel
55 BuildRequires: texinfo >= 4.1
56 BuildRequires: zlib-devel
57 BuildRequires: gettext-devel
58 Requires: binutils >= 2.14
59 Requires: cpp = %{epoch}:%{GCC_VERSION}
60 Requires: libgcc = %{epoch}:%{GCC_VERSION}
61 Conflicts: glibc-devel < 2.2.5-20
62 URL: http://gcc.gnu.org/
63 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
67 %define _slibdir64 /lib64
68 %define _libdir /usr/lib
69 %define rpmcflags -mtune=ultrasparc
73 A compiler aimed at integrating all the optimizations and features
74 necessary for a high-performance and stable development environment.
77 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
78 wyprodukowania szybkiego i stablinego kodu wynikowego.
81 Este pacote adiciona infraestrutura básica e suporte a linguagem C
82 ao Gnu Compiler Collection.
85 Summary: Shared gcc library
86 Summary(pl): Biblioteka gcc
87 Summary(pt_BR): Biblioteca runtime para o GCC
89 Version: %{GCC_VERSION}
92 %description -n libgcc
95 %description -n libgcc -l pl
96 Biblioteka dynamiczna gcc.
98 %description -n libgcc -l pt_BR
99 Biblioteca runtime para o GCC.
102 Summary: C++ support for gcc
103 Summary(pl): Obs³uga C++ dla gcc
104 Summary(pt_BR): Suporte C++ para o gcc
105 Group: Development/Languages
108 Requires: gcc = %{epoch}:%{GCC_VERSION}
111 This package adds C++ support to the GNU C compiler. It includes
112 support for most of the current C++ specification, including templates
113 and exception handling. It does not include a standard C++ library,
114 which is available separately.
116 %description c++ -l de
117 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
118 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
119 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
120 sie ist getrennt erhältlich.
122 %description c++ -l fr
123 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
124 support pour la plupart des spécifications actuelles de C++, dont les
125 modéles et la gestion des exceptions. Il ne comprend pas une
126 bibliothéque C++ standard, qui est disponible séparément.
128 %description c++ -l pl
129 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
130 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
131 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
133 %description c++ -l pt_BR
134 Este pacote adiciona suporte C++ para o gcc.
136 %description c++ -l tr
137 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
138 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
139 C++ kitaplýðý bu pakette yer almaz.
142 Summary: Objective C support for gcc
143 Summary(de): Objektive C-Unterstützung für gcc
144 Summary(fr): Gestion d'Objective C pour gcc
145 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
146 Summary(tr): gcc için Objective C desteði
147 Group: Development/Languages
150 Requires: libobjc = %{epoch}:%{GCC_VERSION}
151 Requires: gcc = %{epoch}:%{GCC_VERSION}
154 This package adds Objective C support to the GNU C compiler. Objective
155 C is a object oriented derivative of the C language, mainly used on
156 systems running NeXTSTEP. This package does not include the standard
157 objective C object library.
159 %description objc -l de
160 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
161 Objective C ist ein objektorientiertes Derivat von C, das zur
162 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
163 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
165 %description objc -l fr
166 Ce package ajoute un support Objective C au compilateur C GNU.
167 L'Objective C est un langage orienté objetdérivé du langage C,
168 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
169 pas la bibliothéque Objective C standard.
171 %description objc -l pl
172 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
173 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
174 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
175 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
177 %description objc -l tr
178 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
179 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
180 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
181 kitaplýðý bu pakette yer almaz.
184 Summary: Objective C Libraries
185 Summary(pl): Biblioteki Obiektowego C
187 Version: %{GCC_VERSION}
190 %description -n libobjc
191 Objective C Libraries.
193 %description -n libobjc -l pl
194 Biblioteki Obiektowego C.
196 %package -n libobjc-static
197 Summary: Static Objective C Libraries
198 Summary(pl): Statyczne Biblioteki Obiektowego C
199 Group: Development/Libraries
200 Version: %{GCC_VERSION}
201 Requires: libobjc = %{epoch}:%{GCC_VERSION}
203 %description -n libobjc-static
204 Static Objective C Libraries.
206 %description -n libobjc-static -l pl
207 Statyczne biblioteki Obiektowego C.
210 Summary: Fortran 77 support for gcc
211 Summary(pl): Obs³uga Fortranu 77 dla gcc
212 Summary(pt_BR): Suporte Fortran 77 para o GCC
213 Group: Development/Languages/Fortran
214 Version: %{GCC_VERSION}
216 Requires: libg2c = %{epoch}:%{GCC_VERSION}
219 This apckage adds support for compiling Fortran 77 programs with the
222 %description g77 -l pl
223 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
224 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
226 %description g77 -l pt_BR
227 Suporte Fortran 77 para o GCC.
230 Summary: Fortran 77 Libraries
231 Summary(pl): Biblioteki Fortranu 77
233 Version: %{GCC_VERSION}
235 %description -n libg2c
236 Fortran 77 Libraries.
238 %description -n libg2c -l pl
239 Biblioteki Fortranu 77.
241 %package -n libg2c-static
242 Summary: Static Fortran 77 Libraries
243 Summary(pl): Statyczne Biblioteki Fortranu 77
244 Group: Development/Libraries
245 Version: %{GCC_VERSION}
246 Requires: libg2c = %{epoch}:%{GCC_VERSION}
248 %description -n libg2c-static
249 Static Fortran 77 Libraries.
251 %description -n libg2c-static -l pl
252 Statyczne biblioteki Fortranu 77.
255 Summary: Java support for gcc
256 Summary(pl): Obs³uga Javy dla gcc
257 Group: Development/Languages/Java
258 Version: %{GCC_VERSION}
259 Requires: %{name} = %{epoch}:%{version}
260 Requires: libgcj >= 3.0.0
261 Requires: libgcj-devel >= 3.0.0
262 Requires: java-shared
263 Provides: gcj = %{epoch}:%{GCC_VERSION}-%{release}
266 This package adds experimental support for compiling Java(tm) programs
267 and bytecode into native code. To use this you will also need the
270 %description -l pl java
271 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
272 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
273 by³o przeprowadziæ kompilacjê.
276 Summary: Shared java tools
277 Summary(pl): Wspó³dzielone narzêdzia javy
278 Group: Development/Languages/Java
279 Version: %{GCC_VERSION}
280 Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
281 Provides: java-shared
283 Obsoletes: java-shared
286 %description java-tools
287 This package contains tools that are common for every Java(tm) implementation,
290 %description java-tools -l pl
291 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
295 Summary: Java Class Libraries
296 Summary(pl): Biblioteki Klas Javy
298 Version: %{GCC_VERSION}
302 %description -n libgcj
303 Java Class Libraries.
305 %description -n libgcj -l pl
306 Biblioteki Klas Javy.
308 %package -n libgcj-devel
309 Summary: Development files for Java Class Libraries
310 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
311 Group: Development/Libraries
312 Version: %{GCC_VERSION}
313 Requires: libgcj = %{epoch}:%{GCC_VERSION}
314 Requires: %{name}-java
315 Obsoletes: libgcj3-devel
317 %description -n libgcj-devel
318 Development files for Java Class Libraries.
320 %description -n libgcj-devel -l pl
321 Pliki nag³ówkowe dla Bibliotek Klas Javy.
323 %package -n libgcj-static
324 Summary: Static Java Class Libraries
325 Summary(pl): Statyczne Biblioteki Klas Javy
326 Group: Development/Libraries
327 Version: %{GCC_VERSION}
328 Requires: libstdc++-devel = %{epoch}:%{GCC_VERSION}
329 Requires: libgcj-devel = %{epoch}:%{GCC_VERSION}
331 %description -n libgcj-static
332 Static Java Class Libraries.
334 %description -n libgcj-static -l pl
335 Statyczne Biblioteki Klas Javy.
337 %package -n libstdc++
338 Summary: GNU c++ library
339 Summary(pl): Biblioteki GNU C++
340 Summary(pt_BR): Biblioteca C++ GNU
342 Version: %{GCC_VERSION}
344 Obsoletes: libstdc++3
346 %description -n libstdc++
347 This is the GNU implementation of the standard C++ libraries, along
348 with additional GNU tools. This package includes the shared libraries
349 necessary to run C++ applications.
351 %description -n libstdc++ -l de
352 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
353 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
354 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
356 %description -n libstdc++ -l es
357 Este es el soporte de las bibliotecas padrón del C++, junto con
358 herramientas GNU adicionales. El paquete incluye las bibliotecas
359 compartidas necesarias para ejecutar aplicaciones C++.
361 %description -n libstdc++ -l fr
362 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
363 des outils GNU supplémentaires. Ce package comprend les librairies
364 partagées nécessaires à l'exécution d'application C++.
366 %description -n libstdc++ -l pl
367 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
368 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
369 uruchomienia aplikacji napisanych w C++.
371 %description -n libstdc++ -l pt_BR
372 Este pacote é uma implementação da biblioteca padrão C++ v3, um
373 subconjunto do padrão ISO 14882.
375 %description -n libstdc++ -l tr
376 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
377 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
379 %package -n libstdc++-devel
380 Summary: Header files and documentatino for C++ development
381 Summary(de): Header-Dateien zur Entwicklung mit C++
382 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
383 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
384 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
385 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
386 Group: Development/Libraries
387 Version: %{GCC_VERSION}
388 Requires: libstdc++ = %{epoch}:%{GCC_VERSION}
389 Requires: %{name}-c++ = %{epoch}:%{GCC_VERSION}
390 Obsoletes: libg++-devel
391 Obsoletes: libstdc++3-devel
393 %description -n libstdc++-devel
394 This is the GNU implementation of the standard C++ libraries. This
395 package includes the header files needed for C++ development and
396 library documentation.
398 %description -n libstdc++-devel -l es
399 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este paquete
400 incluye los archivos de inclusión y bibliotecas necesarios para desarrollo de
401 programas en lenguaje C++.
403 %description -n libstdc++-devel -l pl
404 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
405 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
406 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
408 %description -n libstdc++-devel -l pt_BR
409 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias para
410 desenvolvimento de programas C++.
412 %package -n libstdc++-static
413 Summary: Static C++ standard library
414 Summary(pl): Statyczna biblioteka standardowa C++
415 Group: Development/Libraries
416 Version: %{GCC_VERSION}
417 Requires: libstdc++-devel = %{epoch}:%{GCC_VERSION}
419 %description -n libstdc++-static
420 Static C++ standard library.
422 %description -n libstdc++-static -l pl
423 Statycza biblioteka standardowa C++.
426 Summary: Foreign Function Interface library
427 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
429 Version: %{GCC_VERSION}
431 %description -n libffi
432 The libffi library provides a portable, high level programming
433 interface to various calling conventions. This allows a programmer to
434 call any function specified by a call interface description at run
437 %description -n libffi -l pl
438 Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego miêdzymordzia
439 do ró¿nych konwencji wywo³añ funkcji. Pozwala to programi¶cie wywo³ywaæ
440 dowolne funkcje podaj±c konwencjê wywo³ania w czasie wykonania.
442 %package -n libffi-devel
443 Summary: Development files for Foreign Function Interface library
444 Summary(pl): Pliki nag³ówkowe dla libffi
445 Group: Development/Libraries
446 Version: %{GCC_VERSION}
447 Requires: libffi = %{epoch}:%{GCC_VERSION}
449 %description -n libffi-devel
450 Development files for Foreign Function Interface library.
452 %description -n libffi-devel -l pl
453 Pliki nag³ówkowe dla libffi.
455 %package -n libffi-static
456 Summary: Static Foreign Function Interface library
457 Summary(pl): Statyczna biblioteka libffi
458 Group: Development/Libraries
459 Version: %{GCC_VERSION}
460 Requires: libffi-devel = %{epoch}:%{GCC_VERSION}
462 %description -n libffi-static
463 Static Foreign Function Interface library.
465 %description -n libffi-static -l pl
466 Statyczna biblioteka libffi.
469 Summary: Ada support for gcc
470 Summary(pl): Obs³uga Ady do gcc
471 Group: Development/Languages
472 Version: %{GCC_VERSION}
473 Requires: libgnat = %{epoch}:%{GCC_VERSION}
474 Requires: gcc = %{epoch}:%{GCC_VERSION}
476 Obsoletes: gnat-devel
479 This package adds experimental support for compiling Ada programs.
481 %description -l pl ada
482 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
486 Summary: Ada standard libraries
487 Summary(pl): Biblioteki standardowe dla Ady
489 Version: %{GCC_VERSION}
493 %description -n libgnat
494 This package contains shared libraries needed to run programs written
497 %description -n libgnat -l pl
498 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
501 %package -n libgnat-static
502 Summary: Static Ada standard libraries
503 Summary(pl): Statyczne biblioteki standardowe dla Ady
505 Version: %{GCC_VERSION}
506 Obsoletes: gnat-static
508 %description -n libgnat-static
509 This package contains static libraries for programs written in Ada.
511 %description -n libgnat-static -l pl
512 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
516 Summary: Ksi support for gcc
517 Summary(pl): Obs³uga Ksi dla gcc
518 Version: %{GCC_VERSION}.%{KSI_VERSION}
519 Group: Development/Languages
520 Requires: gcc = %{epoch}:%{GCC_VERSION}
523 This package adds experimental support for compiling Ksi programs
524 into native code. You proabably don't need it, unless your are going
525 to develop a compiler using Ksi as intermediate representation or
526 you are using such compiler (like Gont).
528 %description ksi -l pl
529 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
530 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
531 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
532 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
535 Summary: The C Pre Processor
536 Summary(pl): Preprocesor C
537 Summary(pt_BR): Preprocessador para a linguagem C
538 Group: Development/Languages
539 Version: %{GCC_VERSION}
544 The C preprocessor is a "macro processor" that is used automatically
545 by the C compiler to transform your program before actual compilation.
546 It is called a macro processor because it allows you to define
547 "macros", which are brief abbreviations for longer constructs.
549 The C preprocessor provides four separate facilities that you can use
552 - Inclusion of header files. These are files of declarations that can
553 be substituted into your program.
554 - Macro expansion. You can define "macros", which are abbreviations
555 for arbitrary fragments of C code, and then the C preprocessor will
556 replace the macros with their definitions throughout the program.
557 - Conditional compilation. Using special preprocessing directives, you
558 can include or exclude parts of the program according to various
560 - Line control. If you use a program to combine or rearrange source
561 files into an intermediate file which is then compiled, you can use
562 line control to inform the compiler of where each source line
563 originally came from.
565 %description -n cpp -l es
566 Um preprocessador para a linguagem C.
568 %description -n cpp -l pl
569 Przeprocesor C jest "makro procesorem" który jest automatycznie
570 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
571 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
572 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
573 d³ugich konstrukcji w jêzyku C.
575 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
577 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
578 deklaracji polecenia do³±czenia innego pliku.
579 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
580 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
581 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
582 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
583 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
584 fragmenty obrabianego strumienia tekstów.
585 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
586 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
587 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
588 odpowiada fragment pliku wynikowego.
590 %description -n cpp -l pt_BR
591 O preprocessador C é um "processador de macros", que é utilizado pelo
592 compilador C para fazer algumas modificações no seu programa, antes da
593 compilação em si. Ele é chamado de "processador de macros" porque
594 permite a você definir "macros", que são abreviações para construções
597 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
598 arquivos de cabeçalho; expansão de macros; compilação condicional;
599 e controle da numeração das linhas do programa.
602 %setup -q -a1 -n %{name}-%{GCC_VERSION}
603 mv ksi-%{KSI_VERSION} gcc/ksi
627 # because we distribute modified version of gcc...
628 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
629 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
632 # cd gcc && autoconf; cd ..
633 # autoconf is not needed!
634 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
637 CFLAGS="%{rpmcflags}" \
638 CXXFLAGS="%{rpmcflags}" \
639 TEXCONFIG=false ../configure \
640 --prefix=%{_prefix} \
641 --infodir=%{_infodir} \
642 --mandir=%{_mandir} \
644 --enable-threads=posix \
645 --enable-__cxa_atexit \
646 --enable-languages="c,c++,f77%{!?_without_objc:,objc}%{!?_without_ada:,ada}%{!?_without_java:,java},ksi" \
654 --with-slibdir=%{_slibdir} \
658 PATH=$PATH:/sbin:%{_sbindir}
661 %{__make} -C obj-%{_target_platform} bootstrap-lean \
662 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
666 %if 0%{!?_without_ada:1}
667 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
668 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
674 rm -rf $RPM_BUILD_ROOT
675 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
677 cd obj-%{_target_platform}
678 PATH=$PATH:/sbin:%{_sbindir}
681 DESTDIR=$RPM_BUILD_ROOT
683 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
684 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
686 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
687 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
689 %if 0%{!?_without_ada:1}
690 # move ada shared libraries to proper place...
691 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1 \
692 $RPM_BUILD_ROOT%{_libdir}/
693 # check if symlink to be made is valid
694 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so.1
695 ln -sf libgnat-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so
696 ln -sf libgnarl-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.15.so
697 ln -sf libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
698 ln -sf libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
701 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
705 %if %{!?_without_java:1}%{?_without_java:0}
707 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
708 cp -f fastjar/README java-doc/README.fastjar
709 cp -f libffi/README java-doc/README.libffi
710 cp -f libffi/LICENSE java-doc/LICENSE.libffi
713 %if %{!?_without_objc:1}0
714 cp -f libobjc/README gcc/objc/README.libobjc
717 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
718 for f in libstdc++.la libsupc++.la %{!?_without_java:libgcj.la} ; do
719 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
721 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
722 for f in libstdc++.la libsupc++.la libg2c.la \
723 %{!?_without_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
724 %{!?_without_objc:libobjc.la}; do
725 perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
728 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
729 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
731 # include/ contains install-tools/include/* and headers that were fixed up
732 # by fixincludes, we don't want former
733 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/)
735 # we have to save these however
736 mv -f $gccdir/include/{%{!?_without_objc:objc,}g2c.h,syslimits.h%{!?_without_java:,gcj}} $gccdir/tmp
737 rm -rf $gccdir/include
738 mv -f $gccdir/tmp $gccdir/include
739 cp $gccdir/install-tools/include/*.h $gccdir/include
740 # but we don't want anything more from install-tools
741 rm -rf $gccdir/install-tools/
744 %find_lang libstdc\+\+
747 rm -rf $RPM_BUILD_ROOT
750 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
753 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
756 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
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
779 %post -p /sbin/ldconfig -n libgcc
780 %postun -p /sbin/ldconfig -n libgcc
781 %post -p /sbin/ldconfig -n libstdc++
782 %postun -p /sbin/ldconfig -n libstdc++
783 %post -p /sbin/ldconfig -n libobjc
784 %postun -p /sbin/ldconfig -n libobjc
785 %post -p /sbin/ldconfig -n libg2c
786 %postun -p /sbin/ldconfig -n libg2c
787 %post -p /sbin/ldconfig -n libgcj
788 %postun -p /sbin/ldconfig -n libgcj
789 %post -p /sbin/ldconfig -n libgnat
790 %postun -p /sbin/ldconfig -n libgnat
791 %post -p /sbin/ldconfig -n libffi
792 %postun -p /sbin/ldconfig -n libffi
794 %files -f %{name}.lang
795 %defattr(644,root,root,755)
797 %dir %{_libdir}/gcc-lib
798 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
799 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
800 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
801 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc*
802 %attr(755,root,root) %{_bindir}/gcc
803 %attr(755,root,root) %{_bindir}/gccbug
804 %attr(755,root,root) %{_bindir}/gcov
805 %attr(755,root,root) %{_bindir}/cc
807 %{_mandir}/man1/gcc.1*
808 %{_mandir}/man1/cc.1*
809 %{_mandir}/man1/gcov.1*
810 %lang(fr) %{_mandir}/fr/man1/gcc.1*
811 %lang(ja) %{_mandir}/ja/man1/gcc.1*
814 %attr(755,root,root) %{_slibdir}*/lib*.so
815 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
816 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
817 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
818 %attr(644,root,root) %{_libdir}*/gcc-lib/%{_target_cpu}*/*/crt*.o
820 %{_libdir}/gcc-lib/%{_target_cpu}*/*/*/libgcc.a
821 %{_libdir}/gcc-lib/%{_target_cpu}*/*/*/libgcc_eh.a
822 %attr(644,root,root) %{_libdir}*/gcc-lib/%{_target_cpu}*/*/*/crt*.o
825 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
826 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
827 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
830 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
831 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
833 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/*.h
834 %exclude %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
837 %defattr(644,root,root,755)
838 %attr(755,root,root) %{_slibdir}*/lib*.so.*
841 %defattr(644,root,root,755)
842 %attr(755,root,root) %{_bindir}/g++
843 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
844 %attr(755,root,root) %{_bindir}/c++
845 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
846 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
847 %{_libdir}*/libsupc++.la
849 %{_libdir}/nof/libsupc++.la
850 %{_libdir}/nof/libsupc++.a
852 %{_libdir}*/libsupc++.a
853 %{_mandir}/man1/g++.1*
854 %lang(ja) %{_mandir}/ja/man1/g++.1*
856 %files -n libstdc++ -f libstdc++.lang
857 %defattr(644,root,root,755)
858 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
860 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
863 %files -n libstdc++-devel
864 %defattr(644,root,root,755)
865 %doc libstdc++-v3/docs/html
866 %dir %{_includedir}/c++
867 %{_includedir}/c++/%{GCC_VERSION}
868 %attr(755,root,root) %{_libdir}*/libstdc++.so
869 %{_libdir}*/libstdc++.la
871 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
872 %{_libdir}/nof/libstdc++.la
875 %files -n libstdc++-static
876 %defattr(644,root,root,755)
877 %{_libdir}*/libstdc++.a
879 %{_libdir}/nof/libstdc++.a
882 %if %{!?_without_objc:1}0
884 %defattr(644,root,root,755)
886 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
887 %attr(755,root,root) %{_libdir}*/libobjc.so
888 %{_libdir}*/libobjc.la
890 %attr(755,root,root) %{_libdir}/nof/libobjc.so
891 %{_libdir}/nof/libobjc.la
893 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
896 %defattr(644,root,root,755)
897 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
899 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
902 %files -n libobjc-static
903 %defattr(644,root,root,755)
904 %{_libdir}*/libobjc.a
906 %{_libdir}/nof/libobjc.a
911 %defattr(644,root,root,755)
912 %attr(755,root,root) %{_bindir}/g77
913 %attr(755,root,root) %{_bindir}/f77
915 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
916 %{_libdir}*/libfrtbegin.a
917 %{_libdir}*/libg2c.la
918 %attr(755,root,root) %{_libdir}*/libg2c.so
920 %{_libdir}/nof/libfrtbegin.a
921 %{_libdir}/nof/libg2c.la
922 %attr(755,root,root) %{_libdir}/nof/libg2c.so
924 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
925 %{_mandir}/man1/g77.1*
926 %{_mandir}/man1/f77.1*
927 %lang(ja) %{_mandir}/ja/man1/g77.1*
928 %lang(ja) %{_mandir}/ja/man1/f77.1*
931 %defattr(644,root,root,755)
932 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
934 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
937 %files -n libg2c-static
938 %defattr(644,root,root,755)
941 %{_libdir}/nof/libg2c.a
944 %if %{!?_without_java:1}%{?_without_java:0}
946 %defattr(644,root,root,755)
948 %attr(755,root,root) %{_bindir}/gcj*
949 %attr(755,root,root) %{_bindir}/gij
950 %attr(755,root,root) %{_bindir}/jcf-dump
951 %attr(755,root,root) %{_bindir}/jv-*
952 %attr(755,root,root) %{_bindir}/grepjar
953 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcj
954 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
955 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
957 %{_mandir}/man1/jcf-*
961 %{_mandir}/man1/grepjar*
964 %defattr(644,root,root,755)
965 %attr(755,root,root) %{_bindir}/rmi*
966 %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.*.*.*
975 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
977 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
980 %files -n libgcj-devel
981 %defattr(644,root,root,755)
988 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
989 %dir %{_libdir}/security
990 %{_libdir}/security/*
991 %dir %{_datadir}/java
992 %{_datadir}/java/libgcj*.jar
993 %{_libdir}/lib*cj.spec
994 %{_libdir}/lib*cj*.la
995 %attr(755,root,root) %{_libdir}/lib*cj*.so
996 %attr(755,root,root) %{_libdir}/lib-org-*.so
997 %{_libdir}/lib-org-*.la
999 %{_libdir}/nof/lib*cj*.la
1000 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1003 %files -n libgcj-static
1004 %defattr(644,root,root,755)
1005 %{_libdir}/lib*cj*.a
1006 %{_libdir}/lib-org-*.a
1008 %{_libdir}/nof/lib*cj*.a
1012 %defattr(644,root,root,755)
1013 %attr(755,root,root) %{_libdir}/libffi-*.so
1015 %files -n libffi-devel
1016 %defattr(644,root,root,755)
1017 %attr(755,root,root) %{_libdir}/libffi.so
1018 %{_libdir}/libffi.la
1021 %files -n libffi-static
1022 %defattr(644,root,root,755)
1026 %if 0%{!?_without_ada:1}
1028 %defattr(644,root,root,755)
1029 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
1030 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
1031 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
1032 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
1034 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
1036 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
1037 %attr(755,root,root) %{_bindir}/gnat*
1039 %attr(755,root,root) %{_libdir}/libgnat*.so
1040 %attr(755,root,root) %{_libdir}/libgnarl*.so
1043 %defattr(644,root,root,755)
1044 %attr(755,root,root) %{_libdir}/libgna*.so.1
1046 %files -n libgnat-static
1047 %defattr(644,root,root,755)
1048 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
1052 %defattr(644,root,root,755)
1053 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
1055 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
1058 %defattr(644,root,root,755)
1059 %attr(755,root,root) %{_slibdir}/cpp
1060 %attr(755,root,root) %{_bindir}/cpp
1061 %{_mandir}/man1/cpp.1*
1062 %lang(ja) %{_mandir}/ja/man1/cpp.1*