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
64 This package adds C++ support to the GNU C compiler. It includes
65 support for most of the current C++ specification, including templates
66 and exception handling. It does not include a standard C++ library,
67 which is available separately.
69 %description -l de c++
70 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
71 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
72 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
73 sie ist getrennt erhältlich.
75 %description -l fr c++
76 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
77 support pour la plupart des spécifications actuelles de C++, dont les
78 modéles et la gestion des exceptions. Il ne comprend pas une
79 bibliothéque C++ standard, qui est disponible séparément.
81 %description -l pl c++
82 Programy z tego pakietu zapewniaj± wsparcie dla C++ do gcc. Posiada
83 wspomaganie dla du¿ej ilo¶ci obecnych specyfikacji C++, nie posiada
84 natomiast standardowych bibliotek C++, które s± w oddzielnym pakiecie.
86 %description -l tr c++
87 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
88 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
89 C++ kitaplýðý bu pakette yer almaz.
92 Summary: Objective C support for gcc
93 Summary(de): Objektive C-Unterstützung für gcc
94 Summary(fr): Gestion d'Objective C pour gcc
95 Summary(pl): Wspomaganie obiektowego C dla kompilatora gcc
96 Summary(tr): gcc için Objective C desteði
97 Group: Development/Languages
98 Group(de): Entwicklung/Sprachen
99 Group(pl): Programowanie/Jêzyki
104 This package adds Objective C support to the GNU C compiler. Objective
105 C is a object oriented derivative of the C language, mainly used on
106 systems running NeXTSTEP. This package does not include the standard
107 objective C object library.
109 %description -l de objc
110 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
111 Objective C ist ein objektorientiertes Derivat von C, das zur
112 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
113 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
115 %description -l fr objc
116 Ce package ajoute un support Objective C au compilateur C GNU.
117 L'Objective C est un langage orienté objetdérivé du langage C,
118 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
119 pas la bibliothéque Objective C standard.
121 %description -l pl objc
122 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
123 pakiecie nie ma jeszcze bibliotek C-obj.
125 %description -l tr objc
126 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
127 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
128 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
129 kitaplýðý bu pakette yer almaz.
132 Summary: Fortran 77 support for gcc
133 Summary(pl): Wspomaganie Fortran 77 dla gcc
134 Group: Development/Languages
135 Group(de): Entwicklung/Sprachen
136 Group(pl): Programowanie/Jêzyki
140 This apckage adds support for compiling Fortran 77 programs with the
143 %description -l pl g77
144 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc. Jest
145 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
148 Summary: CHILL support for gcc
149 Summary(pl): Wspomoganie CHILL dla gcc
150 Group: Development/Languages
151 Group(de): Entwicklung/Sprachen
152 Group(pl): Programowanie/Jêzyki
153 Requires: %{rname} = %{version}
156 This package adds support for compiling CHILL programs with the GNU
159 Chill is the "CCITT High-Level Language", where CCITT is the old name
160 for what is now ITU, the International Telecommunications Union. It is
161 is language in the Modula2 family, and targets many of the same
162 applications as Ada (especially large embedded systems). Chill was
163 never used much in the United States, but is still being used in
164 Europe, Brazil, Korea, and other places.
166 %description -l pl chill
167 Ten pakiet dodaje do gcc mo¿liwo¶æ kompilowania programów w jêzyku
171 Summary: Java support for gcc
172 Summary(pl): Wspomoganie Java dla gcc
173 Group: Development/Languages
174 Group(de): Entwicklung/Sprachen
175 Group(pl): Programowanie/Jêzyki
176 Requires: %{rname} = %{version}
177 Requires: libgcj2 >= 2.95.1
180 This package adds experimental support for compiling Java(tm) programs
181 and bytecode into native code. To use this you will also need the
184 %description -l pl java
185 Ten pakiet dodaje do gcc (eksperymentaln±) mo¿liwo¶æ kompilowania
186 programów w Javie(tm) i bytecode do kodu procesora. Wymaga pakietu
189 %package -n libstdc++2
190 Summary: GNU c++ library
191 Summary(pl): Biblioteki GNU C++
194 Group(fr): Librairies
195 Group(pl): Biblioteki
196 Version: %{STDC_VERSION}
199 %description -n libstdc++2
200 This is the GNU implementation of the standard C++ libraries, along
201 with additional GNU tools. This package includes the shared libraries
202 necessary to run C++ applications.
204 %description -l de -n libstdc++2
205 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
206 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
207 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
209 %description -l fr -n libstdc++2
210 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
211 des outils GNU supplémentaires. Ce package comprend les librairies
212 partagées nécessaires à l'exécution d'application C++.
214 %description -l pl -n libstdc++2
215 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
216 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
217 uruchomienia aplikacji napisanych w C++.
219 %description -l tr -n libstdc++2
220 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
221 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
223 %package -n libstdc++2-devel
224 Summary: Header files and libraries for C++ development
225 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
226 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
227 Summary(pl): Pliki nag³ówkowe do programowania z u¿yciem bibliotek C++
228 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
229 Group: Development/Libraries
230 Group(de): Entwicklung/Libraries
231 Group(fr): Development/Librairies
232 Group(pl): Programowanie/Biblioteki
233 Version: %{STDC_VERSION}
234 Requires: libstdc++2 = %{STDC_VERSION}
235 Requires: %{rname}-c++
236 Obsoletes: libg++-devel
238 %description -n libstdc++2-devel
239 This is the GNU implementation of the standard C++ libraries. This
240 package includes the header files and libraries needed for C++
243 %description -l pl -n libstdc++2-devel
244 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
245 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
246 programowaniu w jêzyku C++.
248 %package -n libstdc++2-static
249 Summary: Static c++ standard library
250 Summary(pl): Biblioteka statyczna c++
251 Group: Development/Libraries
252 Group(de): Entwicklung/Libraries
253 Group(fr): Development/Librairies
254 Group(pl): Programowanie/Biblioteki
255 Version: %{STDC_VERSION}
256 Requires: libstdc++2-devel = %{STDC_VERSION}
258 %description -n libstdc++2-static
259 Static c++ standard library.
261 %description -l pl -n libstdc++2-static
262 Biblioteka statyczna C++.
265 Summary: The C Pre Processor
266 Summary(pl): Preprocesor C
267 Group: Development/Languages
268 Group(de): Entwicklung/Sprachen
269 Group(pl): Programowanie/Jêzyki
273 The C preprocessor is a "macro processor" that is used automatically
274 by the C compiler to transform your program before actual compilation.
275 It is called a macro processor because it allows you to define
276 "macros", which are brief abbreviations for longer constructs.
278 The C preprocessor provides four separate facilities that you can use
281 - Inclusion of header files. These are files of declarations that can
282 be substituted into your program.
283 - Macro expansion. You can define "macros", which are abbreviations
284 for arbitrary fragments of C code, and then the C preprocessor will
285 replace the macros with their definitions throughout the program.
286 - Conditional compilation. Using special preprocessing directives, you
287 can include or exclude parts of the program according to various
289 - Line control. If you use a program to combine or rearrange source
290 files into an intermediate file which is then compiled, you can use
291 line control to inform the compiler of where each source line
292 originally came from.
294 %description -l pl -n cpp2
295 Preprocesor C jest "makro procesorem" który jest automatycznie
296 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
297 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
298 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
299 d³ugich konstrukcji w jêzyku C.
301 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
303 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
304 deklaracji polecenia do³±czenia innego pliku.
305 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
306 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
307 identyfikatora deklarowan± wcze¶niej warto¶ci±.
308 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
309 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
310 fragmenty obrabianego strumienia tekstów.
311 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
312 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
313 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
314 odpowiada fragment pliku wynikowego.
317 %setup -q -n %{rname}-%{rver}
333 %ifarch sparc sparc32
352 rm -rf obj-%{_target_platform}
353 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
355 CFLAGS="%{rpmcflags}" \
356 CXXFLAGS="%{rpmcflags}" \
357 TEXCONFIG=false ../configure \
358 --prefix=%{_prefix} \
359 --infodir=%{_infodir} \
361 %ifnarch sparc sparc64
362 --enable-threads=posix \
367 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
369 --program-suffix="2" \
372 PATH=$PATH:/sbin:%{_sbindir}
373 touch ../gcc/c-gperf.h
376 %{__make} -C obj-%{_target_platform} bootstrap \
377 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
382 rm -rf $RPM_BUILD_ROOT
383 install -d $RPM_BUILD_ROOT{/lib,%{_datadir}}
385 cd obj-%{_target_platform}
386 PATH=$PATH:/sbin:%{_sbindir}
389 prefix=$RPM_BUILD_ROOT%{_prefix} \
390 mandir=$RPM_BUILD_ROOT%{_mandir} \
391 infodir=$RPM_BUILD_ROOT%{_infodir}
394 prefix=$RPM_BUILD_ROOT%{_prefix} \
395 mandir=$RPM_BUILD_ROOT%{_mandir} \
396 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
398 ln -sf gcc2 $RPM_BUILD_ROOT%{_bindir}/cc2
400 ln -sf g772 $RPM_BUILD_ROOT%{_bindir}/f772
401 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* \
402 $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.so)
403 ln -sf %{_bindir}/cpp2 $RPM_BUILD_ROOT/lib/cpp2
405 gzip -9nf ../READ* ../ChangeLog ../gcc/ch/chill.brochure
407 cd $RPM_BUILD_ROOT%{_bindir}
409 mv %{_target_platform}-gcc %{_target_platform}-gcc2
410 mv jcf-dump jcf-dump2
415 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
418 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
421 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
424 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
427 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
430 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
433 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
436 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
438 %post -p /sbin/ldconfig -n libstdc++2
439 %postun -p /sbin/ldconfig -n libstdc++2
442 rm -rf $RPM_BUILD_ROOT
445 %defattr(644,root,root,755)
446 %doc READ* ChangeLog.gz
448 %dir %{_libdir}/gcc-lib
449 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
450 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
451 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
453 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc2
454 %attr(755,root,root) %{_bindir}/gcc2
455 %attr(755,root,root) %{_bindir}/gcov2
456 %attr(755,root,root) %{_bindir}/protoize2
457 %attr(755,root,root) %{_bindir}/unprotoize2
458 %attr(755,root,root) %{_bindir}/cc2
460 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
461 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
462 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
463 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
464 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
467 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
470 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
472 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
473 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
474 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
475 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
476 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
477 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
478 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
479 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
480 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
481 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
484 %defattr(644,root,root,755)
486 %attr(755,root,root) %{_bindir}/g++2
487 %attr(755,root,root) %{_bindir}/c++2
488 %attr(755,root,root) %{_bindir}/c++filt2
489 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
491 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
492 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
493 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
494 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
497 %defattr(644,root,root,755)
499 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
501 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
502 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
505 %defattr(644,root,root,755)
507 %attr(755,root,root) %{_bindir}/g772
508 %attr(755,root,root) %{_bindir}/f772
510 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
511 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
513 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
516 %defattr(644,root,root,755)
517 %doc gcc/ch/chill.brochure.gz
519 %attr(755,root,root) %{_bindir}/chill2
523 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
524 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
525 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
528 %defattr(644,root,root,755)
530 %attr(755,root,root) %{_bindir}/gcj2
531 %attr(755,root,root) %{_bindir}/gcjh2
532 %attr(755,root,root) %{_bindir}/jcf-dump2
533 %attr(755,root,root) %{_bindir}/jv-scan2
535 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
536 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
539 %defattr(644,root,root,755)
540 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
542 %files -n libstdc++2-devel
543 %defattr(644,root,root,755)
545 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.so
547 %files -n libstdc++2-static
548 %defattr(644,root,root,755)
549 %attr(644,root,root) %{_libdir}/libstdc++.a
552 %defattr(644,root,root,755)
553 %attr(755,root,root) /lib/cpp2
554 %attr(755,root,root) %{_bindir}/cpp2
555 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0