3 %define STDC_VERSION 2.10.0
4 Summary: GNU Compiler Collection
5 Summary(pl): Kolekcja kompilatorów GNU
10 Group: Development/Languages
11 Group(de): Entwicklung/Sprachen
12 Group(pl): Programowanie/Jêzyki
13 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{rname}-%{version}.tar.gz
14 Patch0: %{name}-info.patch
15 Patch1: %{name}-pld-linux.patch
16 Patch2: %{name}-libstdc++.patch
17 Patch3: %{name}-bootstrap.patch
18 Patch4: %{name}-cpp-macro-doc.patch
19 Patch5: %{name}-default-arch.patch
20 Patch6: %{name}-libstdc++-out-of-mem.patch
21 Patch7: %{name}-libstdc++-wstring.patch
22 Patch8: %{name}-libstdc++-bastring.patch
23 Patch9: %{name}-manpage.patch
24 Patch10: %{name}-cpp-dos-newlines.patch
25 Patch11: %{name}-gpc.patch
26 Patch12: %{name}-m68k-pic.patch
27 Patch13: %{name}-sparc32-rfi.patch
28 Patch14: %{name}-builtin-apply.patch
29 Patch15: %{name}-ppc-ice.patch
30 Patch16: %{name}-ppc-descriptions.patch
31 Patch17: %{name}-alpha-complex-float.patch
32 Patch18: %{name}-gcj-vs-iconv.patch
33 Patch19: %{name}-libobjc.patch
34 Patch20: %{name}-pointer-arith.patch
35 Patch21: %{name}-crtendS.patch
36 Patch22: %{name}-suffix.patch
38 BuildRequires: texinfo
39 Requires: binutils >= 2.9.1.0.25
40 Requires: cpp2 = %{version}
41 URL: http://gcc.gnu.org/
42 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45 A compiler aimed at integrating all the optimizations and features
46 necessary for a high-performance and stable development environment.
49 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
50 wyprodukowania szybkiego i stablinego kodu wynikowego.
53 Summary: C++ support for gcc
54 Summary(fr): Support C++ pour le compilateur gcc
55 Summary(pl): Wspomaganie C++ dla kompilatora gcc
56 Summary(tr): gcc için C++ desteði
57 Group: Development/Languages
58 Group(de): Entwicklung/Sprachen
59 Group(pl): Programowanie/Jêzyki
62 Requires: %{name} = %{version}
65 This package adds C++ support to the GNU C compiler. It includes
66 support for most of the current C++ specification, including templates
67 and exception handling. It does not include a standard C++ library,
68 which is available separately.
70 %description -l de c++
71 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
72 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
73 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
74 sie ist getrennt erhältlich.
76 %description -l fr c++
77 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
78 support pour la plupart des spécifications actuelles de C++, dont les
79 modéles et la gestion des exceptions. Il ne comprend pas une
80 bibliothéque C++ standard, qui est disponible séparément.
82 %description -l pl c++
83 Programy z tego pakietu zapewniaj± wsparcie dla C++ do gcc. Posiada
84 wspomaganie dla du¿ej ilo¶ci obecnych specyfikacji C++, nie posiada
85 natomiast standardowych bibliotek C++, które s± w oddzielnym pakiecie.
87 %description -l tr c++
88 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
89 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
90 C++ kitaplýðý bu pakette yer almaz.
93 Summary: Objective C support for gcc
94 Summary(de): Objektive C-Unterstützung für gcc
95 Summary(fr): Gestion d'Objective C pour gcc
96 Summary(pl): Wspomaganie obiektowego C dla kompilatora gcc
97 Summary(tr): gcc için Objective C desteði
98 Group: Development/Languages
99 Group(de): Entwicklung/Sprachen
100 Group(pl): Programowanie/Jêzyki
103 Requires: %{name} = %{version}
106 This package adds Objective C support to the GNU C compiler. Objective
107 C is a object oriented derivative of the C language, mainly used on
108 systems running NeXTSTEP. This package does not include the standard
109 objective C object library.
111 %description -l de objc
112 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
113 Objective C ist ein objektorientiertes Derivat von C, das zur
114 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
115 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
117 %description -l fr objc
118 Ce package ajoute un support Objective C au compilateur C GNU.
119 L'Objective C est un langage orienté objetdérivé du langage C,
120 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
121 pas la bibliothéque Objective C standard.
123 %description -l pl objc
124 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
125 pakiecie nie ma jeszcze bibliotek C-obj.
127 %description -l tr objc
128 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
129 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
130 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
131 kitaplýðý bu pakette yer almaz.
134 Summary: Fortran 77 support for gcc
135 Summary(pl): Wspomaganie Fortran 77 dla gcc
136 Group: Development/Languages
137 Group(de): Entwicklung/Sprachen
138 Group(pl): Programowanie/Jêzyki
142 This apckage adds support for compiling Fortran 77 programs with the
145 %description -l pl g77
146 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc. Jest
147 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
150 Summary: CHILL support for gcc
151 Summary(pl): Wspomoganie CHILL dla gcc
152 Group: Development/Languages
153 Group(de): Entwicklung/Sprachen
154 Group(pl): Programowanie/Jêzyki
155 Requires: %{name} = %{version}
158 This package adds support for compiling CHILL programs with the GNU
161 Chill is the "CCITT High-Level Language", where CCITT is the old name
162 for what is now ITU, the International Telecommunications Union. It is
163 is language in the Modula2 family, and targets many of the same
164 applications as Ada (especially large embedded systems). Chill was
165 never used much in the United States, but is still being used in
166 Europe, Brazil, Korea, and other places.
168 %description -l pl chill
169 Ten pakiet dodaje do gcc mo¿liwo¶æ kompilowania programów w jêzyku
173 Summary: Java support for gcc
174 Summary(pl): Wspomoganie Java dla gcc
175 Group: Development/Languages
176 Group(de): Entwicklung/Sprachen
177 Group(pl): Programowanie/Jêzyki
178 Requires: %{name} = %{version}
179 Requires: libgcj2 >= 2.95.1
182 This package adds experimental support for compiling Java(tm) programs
183 and bytecode into native code. To use this you will also need the
186 %description -l pl java
187 Ten pakiet dodaje do gcc (eksperymentaln±) mo¿liwo¶æ kompilowania
188 programów w Javie(tm) i bytecode do kodu procesora. Wymaga pakietu
191 %package -n libstdc++2
192 Summary: GNU c++ library
193 Summary(pl): Biblioteki GNU C++
196 Group(fr): Librairies
197 Group(pl): Biblioteki
198 Version: %{STDC_VERSION}
200 Provides: libstdc++ = %{STDC_VERSION}
202 %description -n libstdc++2
203 This is the GNU implementation of the standard C++ libraries, along
204 with additional GNU tools. This package includes the shared libraries
205 necessary to run C++ applications.
207 %description -l de -n libstdc++2
208 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
209 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
210 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
212 %description -l fr -n libstdc++2
213 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
214 des outils GNU supplémentaires. Ce package comprend les librairies
215 partagées nécessaires à l'exécution d'application C++.
217 %description -l pl -n libstdc++2
218 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
219 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
220 uruchomienia aplikacji napisanych w C++.
222 %description -l tr -n libstdc++2
223 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
224 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
226 %package -n libstdc++2-devel
227 Summary: Header files and libraries for C++ development
228 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
229 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
230 Summary(pl): Pliki nag³ówkowe do programowania z u¿yciem bibliotek C++
231 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
232 Group: Development/Libraries
233 Group(de): Entwicklung/Libraries
234 Group(fr): Development/Librairies
235 Group(pl): Programowanie/Biblioteki
236 Version: %{STDC_VERSION}
237 Requires: libstdc++2 = %{STDC_VERSION}
238 Requires: %{name}-c++
239 Obsoletes: libg++-devel
241 %description -n libstdc++2-devel
242 This is the GNU implementation of the standard C++ libraries. This
243 package includes the header files and libraries needed for C++
246 %description -l pl -n libstdc++2-devel
247 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
248 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
249 programowaniu w jêzyku C++.
251 %package -n libstdc++2-static
252 Summary: Static c++ standard library
253 Summary(pl): Biblioteka statyczna c++
254 Group: Development/Libraries
255 Group(de): Entwicklung/Libraries
256 Group(fr): Development/Librairies
257 Group(pl): Programowanie/Biblioteki
258 Version: %{STDC_VERSION}
259 Requires: libstdc++2-devel = %{STDC_VERSION}
261 %description -n libstdc++2-static
262 Static c++ standard library.
264 %description -l pl -n libstdc++2-static
265 Biblioteka statyczna C++.
268 Summary: The C Pre Processor
269 Summary(pl): Preprocesor C
270 Group: Development/Languages
271 Group(de): Entwicklung/Sprachen
272 Group(pl): Programowanie/Jêzyki
276 The C preprocessor is a "macro processor" that is used automatically
277 by the C compiler to transform your program before actual compilation.
278 It is called a macro processor because it allows you to define
279 "macros", which are brief abbreviations for longer constructs.
281 The C preprocessor provides four separate facilities that you can use
284 - Inclusion of header files. These are files of declarations that can
285 be substituted into your program.
286 - Macro expansion. You can define "macros", which are abbreviations
287 for arbitrary fragments of C code, and then the C preprocessor will
288 replace the macros with their definitions throughout the program.
289 - Conditional compilation. Using special preprocessing directives, you
290 can include or exclude parts of the program according to various
292 - Line control. If you use a program to combine or rearrange source
293 files into an intermediate file which is then compiled, you can use
294 line control to inform the compiler of where each source line
295 originally came from.
297 %description -l pl -n cpp2
298 Preprocesor C jest "makro procesorem" który jest automatycznie
299 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
300 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
301 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
302 d³ugich konstrukcji w jêzyku C.
304 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
306 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
307 deklaracji polecenia do³±czenia innego pliku.
308 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
309 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
310 identyfikatora deklarowan± wcze¶niej warto¶ci±.
311 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
312 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
313 fragmenty obrabianego strumienia tekstów.
314 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
315 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
316 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
317 odpowiada fragment pliku wynikowego.
320 %setup -q -n %{rname}-%{rver}
336 %ifarch sparc sparc32
355 rm -rf obj-%{_target_platform}
356 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
358 CFLAGS="%{rpmcflags}" \
359 CXXFLAGS="%{rpmcflags}" \
360 TEXCONFIG=false ../configure \
361 --host=%{_target_platform} \
362 --build=%{_target_platform} \
363 --prefix=%{_prefix} \
364 --infodir=%{_infodir} \
366 %ifnarch sparc sparc64
367 --enable-threads=posix \
372 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
376 PATH=$PATH:/sbin:%{_sbindir}
377 touch ../gcc/c-gperf.h
380 %{__make} -C obj-%{_target_platform} bootstrap \
381 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
386 rm -rf $RPM_BUILD_ROOT
387 install -d $RPM_BUILD_ROOT{/lib,%{_datadir}}
389 cd obj-%{_target_platform}
390 PATH=$PATH:/sbin:%{_sbindir}
393 prefix=$RPM_BUILD_ROOT%{_prefix} \
394 mandir=$RPM_BUILD_ROOT%{_mandir} \
395 infodir=$RPM_BUILD_ROOT%{_infodir}
398 prefix=$RPM_BUILD_ROOT%{_prefix} \
399 mandir=$RPM_BUILD_ROOT%{_mandir} \
400 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
402 ln -sf gcc2 $RPM_BUILD_ROOT%{_bindir}/cc2
404 ln -sf g772 $RPM_BUILD_ROOT%{_bindir}/f772
406 (cd $RPM_BUILD_ROOT%{_libdir} ; LIBSTDC=$(ls libstdc++.so.*.*.*) ; \
407 cd $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/* ; \
408 ln -sf ../../../${LIBSTDC} libstdc++.so)
410 mv $RPM_BUILD_ROOT%{_libdir}/libstdc++.a \
411 $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/
413 ln -sf %{_bindir}/cpp2 $RPM_BUILD_ROOT/lib/cpp2
415 gzip -9nf ../READ* ../ChangeLog ../gcc/ch/chill.brochure
417 cd $RPM_BUILD_ROOT%{_bindir}
419 mv %{_target_platform}-gcc %{_target_platform}-gcc2
420 mv jcf-dump jcf-dump2
425 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
428 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
431 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
434 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
437 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
440 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
443 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
446 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
448 %post -p /sbin/ldconfig -n libstdc++2
449 %postun -p /sbin/ldconfig -n libstdc++2
452 rm -rf $RPM_BUILD_ROOT
455 %defattr(644,root,root,755)
456 %doc READ* ChangeLog.gz
458 %dir %{_libdir}/gcc-lib
459 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
460 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
461 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
463 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc2
464 %attr(755,root,root) %{_bindir}/gcc2
465 %attr(755,root,root) %{_bindir}/gcov2
466 %attr(755,root,root) %{_bindir}/protoize2
467 %attr(755,root,root) %{_bindir}/unprotoize2
468 %attr(755,root,root) %{_bindir}/cc2
470 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
471 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
472 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
473 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
474 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
477 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
480 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
482 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
483 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
484 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
485 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
486 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
487 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
488 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
489 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
490 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
491 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
494 %defattr(644,root,root,755)
496 %attr(755,root,root) %{_bindir}/g++2
497 %attr(755,root,root) %{_bindir}/c++2
498 %attr(755,root,root) %{_bindir}/c++filt2
499 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
501 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
502 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
503 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
504 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
507 %defattr(644,root,root,755)
509 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
511 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
512 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
515 %defattr(644,root,root,755)
517 %attr(755,root,root) %{_bindir}/g772
518 %attr(755,root,root) %{_bindir}/f772
520 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
521 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
523 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
526 %defattr(644,root,root,755)
527 %doc gcc/ch/chill.brochure.gz
529 %attr(755,root,root) %{_bindir}/chill2
533 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
534 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
535 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
538 %defattr(644,root,root,755)
540 %attr(755,root,root) %{_bindir}/gcj2
541 %attr(755,root,root) %{_bindir}/gcjh2
542 %attr(755,root,root) %{_bindir}/jcf-dump2
543 %attr(755,root,root) %{_bindir}/jv-scan2
545 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
546 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
549 %defattr(644,root,root,755)
550 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
552 %files -n libstdc++2-devel
553 %defattr(644,root,root,755)
555 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.so
557 %files -n libstdc++2-static
558 %defattr(644,root,root,755)
559 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.a
562 %defattr(644,root,root,755)
563 %attr(755,root,root) /lib/cpp2
564 %attr(755,root,root) %{_bindir}/cpp2
565 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0