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 #Patch25: %{name}-unwind.patch -- obsolete?
48 BuildRequires: autoconf
49 BuildRequires: binutils >= 2.14
51 BuildRequires: fileutils >= 4.0.41
53 %{!?_without_ada:BuildRequires: gcc-ada}
54 BuildRequires: glibc-devel >= 2.2.5-20
55 BuildRequires: perl-devel
56 BuildRequires: texinfo >= 4.1
57 BuildRequires: zlib-devel
58 BuildRequires: gettext-devel
59 Requires: binutils >= 2.14
60 Requires: cpp = %{epoch}:%{GCC_VERSION}
61 Requires: libgcc = %{epoch}:%{GCC_VERSION}
62 Conflicts: glibc-devel < 2.2.5-20
63 URL: http://gcc.gnu.org/
64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69 A compiler aimed at integrating all the optimizations and features
70 necessary for a high-performance and stable development environment.
73 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
74 wyprodukowania szybkiego i stablinego kodu wynikowego.
77 Este pacote adiciona infraestrutura básica e suporte a linguagem C
78 ao Gnu Compiler Collection.
81 Summary: Shared gcc library
82 Summary(pl): Biblioteka gcc
83 Summary(pt_BR): Biblioteca runtime para o GCC
85 Version: %{GCC_VERSION}
88 %description -n libgcc
91 %description -n libgcc -l pl
92 Biblioteka dynamiczna gcc.
94 %description -n libgcc -l pt_BR
95 Biblioteca runtime para o GCC.
98 Summary: C++ support for gcc
99 Summary(pl): Obs³uga C++ dla gcc
100 Summary(pt_BR): Suporte C++ para o gcc
101 Group: Development/Languages
104 Requires: gcc = %{epoch}:%{GCC_VERSION}
107 This package adds C++ support to the GNU C compiler. It includes
108 support for most of the current C++ specification, including templates
109 and exception handling. It does not include a standard C++ library,
110 which is available separately.
112 %description c++ -l de
113 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
114 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
115 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
116 sie ist getrennt erhältlich.
118 %description c++ -l fr
119 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
120 support pour la plupart des spécifications actuelles de C++, dont les
121 modéles et la gestion des exceptions. Il ne comprend pas une
122 bibliothéque C++ standard, qui est disponible séparément.
124 %description c++ -l pl
125 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
126 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
127 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
129 %description c++ -l pt_BR
130 Este pacote adiciona suporte C++ para o gcc.
132 %description c++ -l tr
133 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
134 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
135 C++ kitaplýðý bu pakette yer almaz.
138 Summary: Objective C support for gcc
139 Summary(de): Objektive C-Unterstützung für gcc
140 Summary(fr): Gestion d'Objective C pour gcc
141 Summary(pl): Obs³uga obiektowego C dla kompilatora gcc
142 Summary(tr): gcc için Objective C desteði
143 Group: Development/Languages
146 Requires: libobjc = %{epoch}:%{GCC_VERSION}
147 Requires: gcc = %{epoch}:%{GCC_VERSION}
150 This package adds Objective C support to the GNU C compiler. Objective
151 C is a object oriented derivative of the C language, mainly used on
152 systems running NeXTSTEP. This package does not include the standard
153 objective C object library.
155 %description objc -l de
156 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
157 Objective C ist ein objektorientiertes Derivat von C, das zur
158 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
159 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
161 %description objc -l fr
162 Ce package ajoute un support Objective C au compilateur C GNU.
163 L'Objective C est un langage orienté objetdérivé du langage C,
164 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
165 pas la bibliothéque Objective C standard.
167 %description objc -l pl
168 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
169 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
170 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
171 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
173 %description objc -l tr
174 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
175 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
176 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
177 kitaplýðý bu pakette yer almaz.
180 Summary: Objective C Libraries
181 Summary(pl): Biblioteki Obiektowego C
183 Version: %{GCC_VERSION}
186 %description -n libobjc
187 Objective C Libraries.
189 %description -n libobjc -l pl
190 Biblioteki Obiektowego C.
192 %package -n libobjc-static
193 Summary: Static Objective C Libraries
194 Summary(pl): Statyczne Biblioteki Obiektowego C
195 Group: Development/Libraries
196 Version: %{GCC_VERSION}
197 Requires: libobjc = %{epoch}:%{GCC_VERSION}
199 %description -n libobjc-static
200 Static Objective C Libraries.
202 %description -n libobjc-static -l pl
203 Statyczne biblioteki Obiektowego C.
206 Summary: Fortran 77 support for gcc
207 Summary(pl): Obs³uga Fortranu 77 dla gcc
208 Summary(pt_BR): Suporte Fortran 77 para o GCC
209 Group: Development/Languages/Fortran
210 Version: %{GCC_VERSION}
212 Requires: libg2c = %{epoch}:%{GCC_VERSION}
215 This apckage adds support for compiling Fortran 77 programs with the
218 %description g77 -l pl
219 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
220 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
222 %description g77 -l pt_BR
223 Suporte Fortran 77 para o GCC.
226 Summary: Fortran 77 Libraries
227 Summary(pl): Biblioteki Fortranu 77
229 Version: %{GCC_VERSION}
231 %description -n libg2c
232 Fortran 77 Libraries.
234 %description -n libg2c -l pl
235 Biblioteki Fortranu 77.
237 %package -n libg2c-static
238 Summary: Static Fortran 77 Libraries
239 Summary(pl): Statyczne Biblioteki Fortranu 77
240 Group: Development/Libraries
241 Version: %{GCC_VERSION}
242 Requires: libg2c = %{epoch}:%{GCC_VERSION}
244 %description -n libg2c-static
245 Static Fortran 77 Libraries.
247 %description -n libg2c-static -l pl
248 Statyczne biblioteki Fortranu 77.
251 Summary: Java support for gcc
252 Summary(pl): Obs³uga Javy dla gcc
253 Group: Development/Languages/Java
254 Version: %{GCC_VERSION}
255 Requires: %{name} = %{epoch}:%{version}
256 Requires: libgcj >= 3.0.0
257 Requires: libgcj-devel >= 3.0.0
258 Requires: java-shared
259 Provides: gcj = %{epoch}:%{GCC_VERSION}-%{release}
262 This package adds experimental support for compiling Java(tm) programs
263 and bytecode into native code. To use this you will also need the
266 %description -l pl java
267 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
268 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
269 by³o przeprowadziæ kompilacjê.
272 Summary: Shared java tools
273 Summary(pl): Wspó³dzielone narzêdzia javy
274 Group: Development/Languages/Java
275 Version: %{GCC_VERSION}
276 Provides: jar = %{epoch}:%{GCC_VERSION}-%{release}
277 Provides: java-shared
279 Obsoletes: java-shared
282 %description java-tools
283 This package contains tools that are common for every Java(tm) implementation,
286 %description java-tools -l pl
287 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
291 Summary: Java Class Libraries
292 Summary(pl): Biblioteki Klas Javy
294 Version: %{GCC_VERSION}
298 %description -n libgcj
299 Java Class Libraries.
301 %description -n libgcj -l pl
302 Biblioteki Klas Javy.
304 %package -n libgcj-devel
305 Summary: Development files for Java Class Libraries
306 Summary(pl): Pliki nag³ówkowe dla Bibliotek Klas Javy
307 Group: Development/Libraries
308 Version: %{GCC_VERSION}
309 Requires: libgcj = %{epoch}:%{GCC_VERSION}
310 Requires: %{name}-java
311 Obsoletes: libgcj3-devel
313 %description -n libgcj-devel
314 Development files for Java Class Libraries.
316 %description -n libgcj-devel -l pl
317 Pliki nag³ówkowe dla Bibliotek Klas Javy.
319 %package -n libgcj-static
320 Summary: Static Java Class Libraries
321 Summary(pl): Statyczne Biblioteki Klas Javy
322 Group: Development/Libraries
323 Version: %{GCC_VERSION}
324 Requires: libstdc++-devel = %{epoch}:%{GCC_VERSION}
325 Requires: libgcj-devel = %{epoch}:%{GCC_VERSION}
327 %description -n libgcj-static
328 Static Java Class Libraries.
330 %description -n libgcj-static -l pl
331 Statyczne Biblioteki Klas Javy.
333 %package -n libstdc++
334 Summary: GNU c++ library
335 Summary(pl): Biblioteki GNU C++
336 Summary(pt_BR): Biblioteca C++ GNU
338 Version: %{GCC_VERSION}
340 Obsoletes: libstdc++3
342 %description -n libstdc++
343 This is the GNU implementation of the standard C++ libraries, along
344 with additional GNU tools. This package includes the shared libraries
345 necessary to run C++ applications.
347 %description -n libstdc++ -l de
348 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
349 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
350 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
352 %description -n libstdc++ -l es
353 Este es el soporte de las bibliotecas padrón del C++, junto con
354 herramientas GNU adicionales. El paquete incluye las bibliotecas
355 compartidas necesarias para ejecutar aplicaciones C++.
357 %description -n libstdc++ -l fr
358 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
359 des outils GNU supplémentaires. Ce package comprend les librairies
360 partagées nécessaires à l'exécution d'application C++.
362 %description -n libstdc++ -l pl
363 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
364 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
365 uruchomienia aplikacji napisanych w C++.
367 %description -n libstdc++ -l pt_BR
368 Este pacote é uma implementação da biblioteca padrão C++ v3, um
369 subconjunto do padrão ISO 14882.
371 %description -n libstdc++ -l tr
372 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
373 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
375 %package -n libstdc++-devel
376 Summary: Header files and documentatino for C++ development
377 Summary(de): Header-Dateien zur Entwicklung mit C++
378 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
379 Summary(pl): Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
380 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
381 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
382 Group: Development/Libraries
383 Version: %{GCC_VERSION}
384 Requires: libstdc++ = %{epoch}:%{GCC_VERSION}
385 Requires: %{name}-c++ = %{epoch}:%{GCC_VERSION}
386 Obsoletes: libg++-devel
387 Obsoletes: libstdc++3-devel
389 %description -n libstdc++-devel
390 This is the GNU implementation of the standard C++ libraries. This
391 package includes the header files needed for C++ development and
392 library documentation.
394 %description -n libstdc++-devel -l es
395 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este paquete
396 incluye los archivos de inclusión y bibliotecas necesarios para desarrollo de
397 programas en lenguaje C++.
399 %description -n libstdc++-devel -l pl
400 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
401 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
402 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
404 %description -n libstdc++-devel -l pt_BR
405 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias para
406 desenvolvimento de programas C++.
408 %package -n libstdc++-static
409 Summary: Static C++ standard library
410 Summary(pl): Statyczna biblioteka standardowa C++
411 Group: Development/Libraries
412 Version: %{GCC_VERSION}
413 Requires: libstdc++-devel = %{epoch}:%{GCC_VERSION}
415 %description -n libstdc++-static
416 Static C++ standard library.
418 %description -n libstdc++-static -l pl
419 Statycza biblioteka standardowa C++.
422 Summary: Foreign Function Interface library
423 Summary(pl): Biblioteka zewnêtrznych wywo³añ funkcji
425 Version: %{GCC_VERSION}
427 %description -n libffi
428 The libffi library provides a portable, high level programming
429 interface to various calling conventions. This allows a programmer to
430 call any function specified by a call interface description at run
433 %description -n libffi -l pl
434 Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego miêdzymordzia
435 do ró¿nych konwencji wywo³añ funkcji. Pozwala to programi¶cie wywo³ywaæ
436 dowolne funkcje podaj±c konwencjê wywo³ania w czasie wykonania.
438 %package -n libffi-devel
439 Summary: Development files for Foreign Function Interface library
440 Summary(pl): Pliki nag³ówkowe dla libffi
441 Group: Development/Libraries
442 Version: %{GCC_VERSION}
443 Requires: libffi = %{epoch}:%{GCC_VERSION}
445 %description -n libffi-devel
446 Development files for Foreign Function Interface library.
448 %description -n libffi-devel -l pl
449 Pliki nag³ówkowe dla libffi.
451 %package -n libffi-static
452 Summary: Static Foreign Function Interface library
453 Summary(pl): Statyczna biblioteka libffi
454 Group: Development/Libraries
455 Version: %{GCC_VERSION}
456 Requires: libffi-devel = %{epoch}:%{GCC_VERSION}
458 %description -n libffi-static
459 Static Foreign Function Interface library.
461 %description -n libffi-static -l pl
462 Statyczna biblioteka libffi.
465 Summary: Ada support for gcc
466 Summary(pl): Obs³uga Ady do gcc
467 Group: Development/Languages
468 Version: %{GCC_VERSION}
469 Requires: libgnat = %{epoch}:%{GCC_VERSION}
470 Requires: gcc = %{epoch}:%{GCC_VERSION}
472 Obsoletes: gnat-devel
475 This package adds experimental support for compiling Ada programs.
477 %description -l pl ada
478 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
482 Summary: Ada standard libraries
483 Summary(pl): Biblioteki standardowe dla Ady
485 Version: %{GCC_VERSION}
489 %description -n libgnat
490 This package contains shared libraries needed to run programs written
493 %description -n libgnat -l pl
494 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
497 %package -n libgnat-static
498 Summary: Static Ada standard libraries
499 Summary(pl): Statyczne biblioteki standardowe dla Ady
501 Version: %{GCC_VERSION}
502 Obsoletes: gnat-static
504 %description -n libgnat-static
505 This package contains static libraries for programs written in Ada.
507 %description -n libgnat-static -l pl
508 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
512 Summary: Ksi support for gcc
513 Summary(pl): Obs³uga Ksi dla gcc
514 Version: %{GCC_VERSION}.%{KSI_VERSION}
515 Group: Development/Languages
516 Requires: gcc = %{epoch}:%{GCC_VERSION}
519 This package adds experimental support for compiling Ksi programs
520 into native code. You proabably don't need it, unless your are going
521 to develop a compiler using Ksi as intermediate representation or
522 you are using such compiler (like Gont).
524 %description ksi -l pl
525 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
526 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
527 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
528 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
531 Summary: The C Pre Processor
532 Summary(pl): Preprocesor C
533 Summary(pt_BR): Preprocessador para a linguagem C
534 Group: Development/Languages
535 Version: %{GCC_VERSION}
540 The C preprocessor is a "macro processor" that is used automatically
541 by the C compiler to transform your program before actual compilation.
542 It is called a macro processor because it allows you to define
543 "macros", which are brief abbreviations for longer constructs.
545 The C preprocessor provides four separate facilities that you can use
548 - Inclusion of header files. These are files of declarations that can
549 be substituted into your program.
550 - Macro expansion. You can define "macros", which are abbreviations
551 for arbitrary fragments of C code, and then the C preprocessor will
552 replace the macros with their definitions throughout the program.
553 - Conditional compilation. Using special preprocessing directives, you
554 can include or exclude parts of the program according to various
556 - Line control. If you use a program to combine or rearrange source
557 files into an intermediate file which is then compiled, you can use
558 line control to inform the compiler of where each source line
559 originally came from.
561 %description -n cpp -l es
562 Um preprocessador para a linguagem C.
564 %description -n cpp -l pl
565 Przeprocesor C jest "makro procesorem" który jest automatycznie
566 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
567 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
568 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
569 d³ugich konstrukcji w jêzyku C.
571 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
573 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
574 deklaracji polecenia do³±czenia innego pliku.
575 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
576 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
577 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
578 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
579 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
580 fragmenty obrabianego strumienia tekstów.
581 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
582 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
583 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
584 odpowiada fragment pliku wynikowego.
586 %description -n cpp -l pt_BR
587 O preprocessador C é um "processador de macros", que é utilizado pelo
588 compilador C para fazer algumas modificações no seu programa, antes da
589 compilação em si. Ele é chamado de "processador de macros" porque
590 permite a você definir "macros", que são abreviações para construções
593 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
594 arquivos de cabeçalho; expansão de macros; compilação condicional;
595 e controle da numeração das linhas do programa.
598 %setup -q -a1 -n %{name}-%{GCC_VERSION}
599 mv ksi-%{KSI_VERSION} gcc/ksi
623 # because we distribute modified version of gcc...
624 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
625 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
628 # cd gcc && autoconf; cd ..
629 # autoconf is not needed!
630 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
632 CFLAGS="%{rpmcflags}" \
633 CXXFLAGS="%{rpmcflags}" \
634 TEXCONFIG=false ../configure \
635 --prefix=%{_prefix} \
636 --infodir=%{_infodir} \
637 --mandir=%{_mandir} \
639 --enable-threads=posix \
640 --enable-__cxa_atexit \
641 --enable-languages="c,c++,f77%{!?_without_objc:,objc}%{!?_without_ada:,ada}%{!?_without_java:,java},ksi" \
649 --with-slibdir=%{_slibdir} \
653 PATH=$PATH:/sbin:%{_sbindir}
656 %{__make} -C obj-%{_target_platform} bootstrap-lean \
657 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
661 %if 0%{!?_without_ada:1}
662 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
663 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
669 rm -rf $RPM_BUILD_ROOT
670 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
672 cd obj-%{_target_platform}
673 PATH=$PATH:/sbin:%{_sbindir}
676 DESTDIR=$RPM_BUILD_ROOT
678 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
679 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
681 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
682 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
684 %if 0%{!?_without_ada:1}
685 # move ada shared libraries to proper place...
686 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1 \
687 $RPM_BUILD_ROOT%{_libdir}/
688 # check if symlink to be made is valid
689 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so.1
690 ln -sf libgnat-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so
691 ln -sf libgnarl-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.15.so
692 ln -sf libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
693 ln -sf libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
696 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
700 %if %{!?_without_java:1}%{?_without_java:0}
702 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
703 cp -f fastjar/README java-doc/README.fastjar
704 cp -f libffi/README java-doc/README.libffi
705 cp -f libffi/LICENSE java-doc/LICENSE.libffi
708 %if %{!?_without_objc:1}0
709 cp -f libobjc/README gcc/objc/README.libobjc
712 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
713 for f in libstdc++.la libsupc++.la %{!?_without_java:libgcj.la} ; do
714 perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
716 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
717 for f in libstdc++.la libsupc++.la libg2c.la \
718 %{!?_without_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
719 %{!?_without_objc:libobjc.la}; do
720 perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
723 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
724 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
726 # include/ contains install-tools/include/* and headers that were fixed up
727 # by fixincludes, we don't want former
728 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/)
730 # we have to save these however
731 mv -f $gccdir/include/{%{!?_without_objc:objc,}g2c.h,syslimits.h%{!?_without_java:,gcj}} $gccdir/tmp
732 rm -rf $gccdir/include
733 mv -f $gccdir/tmp $gccdir/include
734 cp $gccdir/install-tools/include/*.h $gccdir/include
735 # but we don't want anything more from install-tools
736 rm -rf $gccdir/install-tools/
739 %find_lang libstdc\+\+
742 rm -rf $RPM_BUILD_ROOT
745 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
748 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
751 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
754 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
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
774 %post -p /sbin/ldconfig -n libgcc
775 %postun -p /sbin/ldconfig -n libgcc
776 %post -p /sbin/ldconfig -n libstdc++
777 %postun -p /sbin/ldconfig -n libstdc++
778 %post -p /sbin/ldconfig -n libobjc
779 %postun -p /sbin/ldconfig -n libobjc
780 %post -p /sbin/ldconfig -n libg2c
781 %postun -p /sbin/ldconfig -n libg2c
782 %post -p /sbin/ldconfig -n libgcj
783 %postun -p /sbin/ldconfig -n libgcj
784 %post -p /sbin/ldconfig -n libgnat
785 %postun -p /sbin/ldconfig -n libgnat
786 %post -p /sbin/ldconfig -n libffi
787 %postun -p /sbin/ldconfig -n libffi
789 %files -f %{name}.lang
790 %defattr(644,root,root,755)
792 %dir %{_libdir}/gcc-lib
793 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
794 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
795 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
796 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
797 %attr(755,root,root) %{_bindir}/gcc
798 %attr(755,root,root) %{_bindir}/gccbug
799 %attr(755,root,root) %{_bindir}/gcov
800 %attr(755,root,root) %{_bindir}/cc
802 %{_mandir}/man1/gcc.1*
803 %{_mandir}/man1/cc.1*
804 %{_mandir}/man1/gcov.1*
805 %lang(fr) %{_mandir}/fr/man1/gcc.1*
806 %lang(ja) %{_mandir}/ja/man1/gcc.1*
809 %attr(755,root,root) %{_slibdir}/lib*.so
810 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
811 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
812 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
813 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
815 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
816 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
817 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
820 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
821 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
823 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/*.h
824 %exclude %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
827 %defattr(644,root,root,755)
828 %attr(755,root,root) %{_slibdir}/lib*.so.*
831 %defattr(644,root,root,755)
832 %attr(755,root,root) %{_bindir}/g++
833 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
834 %attr(755,root,root) %{_bindir}/c++
835 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
836 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
837 %{_libdir}/libsupc++.la
839 %{_libdir}/nof/libsupc++.la
840 %{_libdir}/nof/libsupc++.a
842 %{_libdir}/libsupc++.a
843 %{_mandir}/man1/g++.1*
844 %lang(ja) %{_mandir}/ja/man1/g++.1*
846 %files -n libstdc++ -f libstdc++.lang
847 %defattr(644,root,root,755)
848 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
850 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
853 %files -n libstdc++-devel
854 %defattr(644,root,root,755)
855 %doc libstdc++-v3/docs/html
856 %dir %{_includedir}/c++
857 %{_includedir}/c++/%{GCC_VERSION}
858 %attr(755,root,root) %{_libdir}/libstdc++.so
859 %{_libdir}/libstdc++.la
861 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
862 %{_libdir}/nof/libstdc++.la
865 %files -n libstdc++-static
866 %defattr(644,root,root,755)
867 %{_libdir}/libstdc++.a
869 %{_libdir}/nof/libstdc++.a
872 %if %{!?_without_objc:1}0
874 %defattr(644,root,root,755)
876 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
877 %attr(755,root,root) %{_libdir}/libobjc.so
878 %{_libdir}/libobjc.la
880 %attr(755,root,root) %{_libdir}/nof/libobjc.so
881 %{_libdir}/nof/libobjc.la
883 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
886 %defattr(644,root,root,755)
887 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
889 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
892 %files -n libobjc-static
893 %defattr(644,root,root,755)
896 %{_libdir}/nof/libobjc.a
901 %defattr(644,root,root,755)
902 %attr(755,root,root) %{_bindir}/g77
903 %attr(755,root,root) %{_bindir}/f77
905 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
906 %{_libdir}/libfrtbegin.a
908 %attr(755,root,root) %{_libdir}/libg2c.so
910 %{_libdir}/nof/libfrtbegin.a
911 %{_libdir}/nof/libg2c.la
912 %attr(755,root,root) %{_libdir}/nof/libg2c.so
914 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
915 %{_mandir}/man1/g77.1*
916 %{_mandir}/man1/f77.1*
917 %lang(ja) %{_mandir}/ja/man1/g77.1*
918 %lang(ja) %{_mandir}/ja/man1/f77.1*
921 %defattr(644,root,root,755)
922 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
924 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
927 %files -n libg2c-static
928 %defattr(644,root,root,755)
931 %{_libdir}/nof/libg2c.a
934 %if %{!?_without_java:1}%{?_without_java:0}
936 %defattr(644,root,root,755)
938 %attr(755,root,root) %{_bindir}/gcj*
939 %attr(755,root,root) %{_bindir}/gij
940 %attr(755,root,root) %{_bindir}/jcf-dump
941 %attr(755,root,root) %{_bindir}/jv-*
942 %attr(755,root,root) %{_bindir}/grepjar
943 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcj
944 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
945 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
947 %{_mandir}/man1/jcf-*
951 %{_mandir}/man1/grepjar*
954 %defattr(644,root,root,755)
955 %attr(755,root,root) %{_bindir}/rmi*
956 %attr(755,root,root) %{_bindir}/jar
962 %defattr(644,root,root,755)
963 %attr(755,root,root) %{_bindir}/addr2name.awk
964 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
965 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
967 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
970 %files -n libgcj-devel
971 %defattr(644,root,root,755)
978 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
979 %dir %{_libdir}/security
980 %{_libdir}/security/*
981 %dir %{_datadir}/java
982 %{_datadir}/java/libgcj*.jar
983 %{_libdir}/lib*cj.spec
984 %{_libdir}/lib*cj*.la
985 %attr(755,root,root) %{_libdir}/lib*cj*.so
986 %attr(755,root,root) %{_libdir}/lib-org-*.so
987 %{_libdir}/lib-org-*.la
989 %{_libdir}/nof/lib*cj*.la
990 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
993 %files -n libgcj-static
994 %defattr(644,root,root,755)
996 %{_libdir}/lib-org-*.a
998 %{_libdir}/nof/lib*cj*.a
1002 %defattr(644,root,root,755)
1003 %attr(755,root,root) %{_libdir}/libffi-*.so
1005 %files -n libffi-devel
1006 %defattr(644,root,root,755)
1007 %attr(755,root,root) %{_libdir}/libffi.so
1008 %{_libdir}/libffi.la
1011 %files -n libffi-static
1012 %defattr(644,root,root,755)
1016 %if 0%{!?_without_ada:1}
1018 %defattr(644,root,root,755)
1019 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
1020 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
1021 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
1022 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
1024 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
1026 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
1027 %attr(755,root,root) %{_bindir}/gnat*
1029 %attr(755,root,root) %{_libdir}/libgnat*.so
1030 %attr(755,root,root) %{_libdir}/libgnarl*.so
1033 %defattr(644,root,root,755)
1034 %attr(755,root,root) %{_libdir}/libgna*.so.1
1036 %files -n libgnat-static
1037 %defattr(644,root,root,755)
1038 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
1042 %defattr(644,root,root,755)
1043 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
1045 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
1048 %defattr(644,root,root,755)
1049 %attr(755,root,root) %{_slibdir}/cpp
1050 %attr(755,root,root) %{_bindir}/cpp
1051 %{_mandir}/man1/cpp.1*
1052 %lang(ja) %{_mandir}/ja/man1/cpp.1*