1 %define STDC_VERSION 2.10.0
2 Summary: GNU Compiler Collection
3 Summary(pl): Kolekcja kompilatorów GNU
8 Group: Development/Languages
9 Group(de): Entwicklung/Sprachen
10 Group(pl): Programowanie/Jêzyki
11 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.gz
13 Patch0: %{name}-info.patch
14 Patch1: %{name}-pld-linux.patch
15 Patch2: %{name}-libstdc++.patch
16 Patch3: %{name}-bootstrap.patch
17 Patch4: %{name}-cpp-macro-doc.patch
18 Patch5: %{name}-default-arch.patch
19 Patch6: %{name}-libstdc++-out-of-mem.patch
20 Patch7: %{name}-libstdc++-wstring.patch
21 Patch8: %{name}-libstdc++-bastring.patch
22 Patch9: %{name}-manpage.patch
23 Patch10: %{name}-cpp-dos-newlines.patch
24 Patch11: %{name}-gpc.patch
25 Patch12: %{name}-m68k-pic.patch
26 Patch13: %{name}-sparc32-rfi.patch
27 Patch14: %{name}-builtin-apply.patch
28 Patch15: %{name}-ppc-ice.patch
29 Patch16: %{name}-ppc-descriptions.patch
30 Patch17: %{name}-alpha-complex-float.patch
31 Patch18: %{name}-gcj-vs-iconv.patch
32 Patch19: %{name}-libobjc.patch
33 Patch20: %{name}-pointer-arith.patch
34 Patch21: %{name}-crtendS.patch
37 BuildRequires: texinfo
38 Requires: binutils >= 2.9.1.0.25
39 Requires: cpp = %{version}
40 URL: http://gcc.gnu.org/
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 A compiler aimed at integrating all the optimizations and features
45 necessary for a high-performance and stable development environment.
48 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
49 wyprodukowania szybkiego i stablinego kodu wynikowego.
52 Summary: C++ support for gcc
53 Summary(fr): Support C++ pour le compilateur gcc
54 Summary(pl): Wspomaganie C++ dla kompilatora gcc
55 Summary(tr): gcc için C++ desteði
56 Group: Development/Languages
57 Group(de): Entwicklung/Sprachen
58 Group(pl): Programowanie/Jêzyki
63 This package adds C++ support to the GNU C compiler. It includes
64 support for most of the current C++ specification, including templates
65 and exception handling. It does not include a standard C++ library,
66 which is available separately.
68 %description -l de c++
69 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
70 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
71 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
72 sie ist getrennt erhältlich.
74 %description -l fr c++
75 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
76 support pour la plupart des spécifications actuelles de C++, dont les
77 modéles et la gestion des exceptions. Il ne comprend pas une
78 bibliothéque C++ standard, qui est disponible séparément.
80 %description -l pl c++
81 Programy z tego pakietu zapewniaj± wsparcie dla C++ do gcc. Posiada
82 wspomaganie dla du¿ej ilo¶ci obecnych specyfikacji C++, nie posiada
83 natomiast standardowych bibliotek C++, które s± w oddzielnym pakiecie.
85 %description -l tr c++
86 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
87 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
88 C++ kitaplýðý bu pakette yer almaz.
91 Summary: Objective C support for gcc
92 Summary(de): Objektive C-Unterstützung für gcc
93 Summary(fr): Gestion d'Objective C pour gcc
94 Summary(pl): Wspomaganie obiektowego C dla kompilatora gcc
95 Summary(tr): gcc için Objective C desteði
96 Group: Development/Languages
97 Group(de): Entwicklung/Sprachen
98 Group(pl): Programowanie/Jêzyki
103 This package adds Objective C support to the GNU C compiler. Objective
104 C is a object oriented derivative of the C language, mainly used on
105 systems running NeXTSTEP. This package does not include the standard
106 objective C object library.
108 %description -l de objc
109 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
110 Objective C ist ein objektorientiertes Derivat von C, das zur
111 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
112 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
114 %description -l fr objc
115 Ce package ajoute un support Objective C au compilateur C GNU.
116 L'Objective C est un langage orienté objetdérivé du langage C,
117 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
118 pas la bibliothéque Objective C standard.
120 %description -l pl objc
121 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
122 pakiecie nie ma jeszcze bibliotek C-obj.
124 %description -l tr objc
125 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
126 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
127 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
128 kitaplýðý bu pakette yer almaz.
131 Summary: Fortran 77 support for gcc
132 Summary(pl): Wspomaganie Fortran 77 dla gcc
133 Group: Development/Languages
134 Group(de): Entwicklung/Sprachen
135 Group(pl): Programowanie/Jêzyki
139 This apckage adds support for compiling Fortran 77 programs with the
142 %description -l pl g77
143 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc. Jest
144 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
147 Summary: CHILL support for gcc
148 Summary(pl): Wspomoganie CHILL dla gcc
149 Group: Development/Languages
150 Group(de): Entwicklung/Sprachen
151 Group(pl): Programowanie/Jêzyki
152 Requires: %{name} = %{version}
155 This package adds support for compiling CHILL programs with the GNU
158 Chill is the "CCITT High-Level Language", where CCITT is the old name
159 for what is now ITU, the International Telecommunications Union. It is
160 is language in the Modula2 family, and targets many of the same
161 applications as Ada (especially large embedded systems). Chill was
162 never used much in the United States, but is still being used in
163 Europe, Brazil, Korea, and other places.
165 %description -l pl chill
166 Ten pakiet dodaje do gcc mo¿liwo¶æ kompilowania programów w jêzyku
170 Summary: Java support for gcc
171 Summary(pl): Wspomoganie Java dla gcc
172 Group: Development/Languages
173 Group(de): Entwicklung/Sprachen
174 Group(pl): Programowanie/Jêzyki
175 Requires: %{name} = %{version}
176 Requires: libgcj >= 2.95.1
179 This package adds experimental support for compiling Java(tm) programs
180 and bytecode into native code. To use this you will also need the
183 %description -l pl java
184 Ten pakiet dodaje do gcc (eksperymentaln±) mo¿liwo¶æ kompilowania
185 programów w Javie(tm) i bytecode do kodu procesora. Wymaga pakietu
188 %package -n libstdc++
189 Summary: GNU c++ library
190 Summary(pl): Biblioteki GNU C++
193 Group(fr): Librairies
194 Group(pl): Biblioteki
195 Version: %{STDC_VERSION}
198 %description -n libstdc++
199 This is the GNU implementation of the standard C++ libraries, along
200 with additional GNU tools. This package includes the shared libraries
201 necessary to run C++ applications.
203 %description -l de -n libstdc++
204 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
205 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
206 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
208 %description -l fr -n libstdc++
209 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
210 des outils GNU supplémentaires. Ce package comprend les librairies
211 partagées nécessaires à l'exécution d'application C++.
213 %description -l pl -n libstdc++
214 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
215 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
216 uruchomienia aplikacji napisanych w C++.
218 %description -l tr -n libstdc++
219 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
220 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
222 %package -n libstdc++-devel
223 Summary: Header files and libraries for C++ development
224 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
225 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
226 Summary(pl): Pliki nag³ówkowe do programowania z u¿yciem bibliotek C++
227 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
228 Group: Development/Libraries
229 Group(de): Entwicklung/Libraries
230 Group(fr): Development/Librairies
231 Group(pl): Programowanie/Biblioteki
232 Version: %{STDC_VERSION}
233 Requires: libstdc++ = %{STDC_VERSION}
234 Requires: %{name}-c++
235 Obsoletes: libg++-devel
237 %description -n libstdc++-devel
238 This is the GNU implementation of the standard C++ libraries. This
239 package includes the header files and libraries needed for C++
242 %description -l pl -n libstdc++-devel
243 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
244 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
245 programowaniu w jêzyku C++.
247 %package -n libstdc++-static
248 Summary: Static c++ standard library
249 Summary(pl): Biblioteka statyczna c++
250 Group: Development/Libraries
251 Group(de): Entwicklung/Libraries
252 Group(fr): Development/Librairies
253 Group(pl): Programowanie/Biblioteki
254 Version: %{STDC_VERSION}
255 Requires: libstdc++-devel = %{STDC_VERSION}
257 %description -n libstdc++-static
258 Static c++ standard library.
260 %description -l pl -n libstdc++-static
261 Biblioteka statyczna C++.
264 Summary: The C Pre Processor
265 Summary(pl): Preprocesor C
266 Group: Development/Languages
267 Group(de): Entwicklung/Sprachen
268 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 cpp
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.
333 %ifarch sparc sparc32
351 rm -rf obj-%{_target_platform}
352 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
354 CFLAGS="%{rpmcflags}" \
355 CXXFLAGS="%{rpmcflags}" \
356 TEXCONFIG=false ../configure \
357 --prefix=%{_prefix} \
358 --infodir=%{_infodir} \
360 %ifnarch sparc sparc64
361 --enable-threads=posix \
366 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
370 PATH=$PATH:/sbin:%{_sbindir}
371 touch ../gcc/c-gperf.h
374 %{__make} -C obj-%{_target_platform} bootstrap \
375 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
380 rm -rf $RPM_BUILD_ROOT
381 install -d $RPM_BUILD_ROOT{/lib,%{_datadir}}
383 cd obj-%{_target_platform}
384 PATH=$PATH:/sbin:%{_sbindir}
387 prefix=$RPM_BUILD_ROOT%{_prefix} \
388 mandir=$RPM_BUILD_ROOT%{_mandir} \
389 infodir=$RPM_BUILD_ROOT%{_infodir}
392 prefix=$RPM_BUILD_ROOT%{_prefix} \
393 mandir=$RPM_BUILD_ROOT%{_mandir} \
394 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
396 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
398 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
399 echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
400 install %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1/
402 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
403 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
404 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
406 gzip -9nf ../READ* ../ChangeLog ../gcc/ch/chill.brochure
409 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
412 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
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
432 %post -p /sbin/ldconfig -n libstdc++
433 %postun -p /sbin/ldconfig -n libstdc++
436 rm -rf $RPM_BUILD_ROOT
439 %defattr(644,root,root,755)
440 %doc READ* ChangeLog.gz
442 %dir %{_libdir}/gcc-lib
443 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
444 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
445 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
447 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
448 %attr(755,root,root) %{_bindir}/gcc
449 %attr(755,root,root) %{_bindir}/gcov
450 %attr(755,root,root) %{_bindir}/protoize
451 %attr(755,root,root) %{_bindir}/unprotoize
452 %attr(755,root,root) %{_bindir}/cc
454 %{_mandir}/man1/gcc.1*
455 %{_mandir}/man1/gcov.1*
458 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
459 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
460 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
461 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
462 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
465 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
468 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
470 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
471 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
472 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
473 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
474 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
475 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
476 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
477 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
478 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
479 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
482 %defattr(644,root,root,755)
484 %{_mandir}/man1/g++.1.gz
486 %attr(755,root,root) %{_bindir}/g++
487 %attr(755,root,root) %{_bindir}/c++
488 %attr(755,root,root) %{_bindir}/c++filt
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}/g77
508 %attr(755,root,root) %{_bindir}/f77
512 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
513 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
515 %{_mandir}/man1/g77.1*
516 %{_mandir}/man1/f77.1*
518 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
521 %defattr(644,root,root,755)
522 %doc gcc/ch/chill.brochure.gz
524 %attr(755,root,root) %{_bindir}/chill
528 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
529 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
530 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
533 %defattr(644,root,root,755)
535 %attr(755,root,root) %{_bindir}/gcj
536 %attr(755,root,root) %{_bindir}/gcjh
537 %attr(755,root,root) %{_bindir}/jcf-dump
538 %attr(755,root,root) %{_bindir}/jv-scan
540 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
541 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
544 %defattr(644,root,root,755)
545 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
547 %files -n libstdc++-devel
548 %defattr(644,root,root,755)
550 %attr(755,root,root) %{_libdir}/libstdc++.so
552 %files -n libstdc++-static
553 %defattr(644,root,root,755)
554 %attr(644,root,root) %{_libdir}/libstdc++.a
557 %defattr(644,root,root,755)
558 %attr(755,root,root) /lib/cpp
559 %attr(755,root,root) %{_bindir}/cpp
560 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
562 %{_mandir}/man1/cpp.1*
563 %{_mandir}/man1/cccp.1*
564 %{_infodir}/cpp.info*.gz