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
36 BuildRequires: texinfo
37 Requires: binutils >= 2.9.1.0.25
38 Requires: cpp = %{version}
39 URL: http://gcc.gnu.org/
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 A compiler aimed at integrating all the optimizations and features
44 necessary for a high-performance and stable development environment.
47 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
48 wyprodukowania szybkiego i stablinego kodu wynikowego.
51 Summary: C++ support for gcc
52 Summary(fr): Support C++ pour le compilateur gcc
53 Summary(pl): Wspomaganie C++ dla kompilatora gcc
54 Summary(tr): gcc için C++ desteði
55 Group: Development/Languages
56 Group(de): Entwicklung/Sprachen
57 Group(pl): Programowanie/Jêzyki
62 This package adds C++ support to the GNU C compiler. It includes
63 support for most of the current C++ specification, including templates
64 and exception handling. It does not include a standard C++ library,
65 which is available separately.
67 %description -l de c++
68 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
69 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
70 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
71 sie ist getrennt erhältlich.
73 %description -l fr c++
74 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
75 support pour la plupart des spécifications actuelles de C++, dont les
76 modéles et la gestion des exceptions. Il ne comprend pas une
77 bibliothéque C++ standard, qui est disponible séparément.
79 %description -l pl c++
80 Programy z tego pakietu zapewniaj± wsparcie dla C++ do gcc. Posiada
81 wspomaganie dla du¿ej ilo¶ci obecnych specyfikacji C++, nie posiada
82 natomiast standardowych bibliotek C++, które s± w oddzielnym pakiecie.
84 %description -l tr c++
85 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
86 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
87 C++ kitaplýðý bu pakette yer almaz.
90 Summary: Objective C support for gcc
91 Summary(de): Objektive C-Unterstützung für gcc
92 Summary(fr): Gestion d'Objective C pour gcc
93 Summary(pl): Wspomaganie obiektowego C dla kompilatora gcc
94 Summary(tr): gcc için Objective C desteði
95 Group: Development/Languages
96 Group(de): Entwicklung/Sprachen
97 Group(pl): Programowanie/Jêzyki
102 This package adds Objective C support to the GNU C compiler. Objective
103 C is a object oriented derivative of the C language, mainly used on
104 systems running NeXTSTEP. This package does not include the standard
105 objective C object library.
107 %description -l de objc
108 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
109 Objective C ist ein objektorientiertes Derivat von C, das zur
110 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
111 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
113 %description -l fr objc
114 Ce package ajoute un support Objective C au compilateur C GNU.
115 L'Objective C est un langage orienté objetdérivé du langage C,
116 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
117 pas la bibliothéque Objective C standard.
119 %description -l pl objc
120 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
121 pakiecie nie ma jeszcze bibliotek C-obj.
123 %description -l tr objc
124 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
125 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
126 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
127 kitaplýðý bu pakette yer almaz.
130 Summary: Fortran 77 support for gcc
131 Summary(pl): Wspomaganie Fortran 77 dla gcc
132 Group: Development/Languages
133 Group(de): Entwicklung/Sprachen
134 Group(pl): Programowanie/Jêzyki
138 This apckage adds support for compiling Fortran 77 programs with the
141 %description -l pl g77
142 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc. Jest
143 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
146 Summary: CHILL support for gcc
147 Summary(pl): Wspomoganie CHILL dla gcc
148 Group: Development/Languages
149 Group(de): Entwicklung/Sprachen
150 Group(pl): Programowanie/Jêzyki
151 Requires: %{name} = %{version}
154 This package adds support for compiling CHILL programs with the GNU
157 Chill is the "CCITT High-Level Language", where CCITT is the old name
158 for what is now ITU, the International Telecommunications Union. It is
159 is language in the Modula2 family, and targets many of the same
160 applications as Ada (especially large embedded systems). Chill was
161 never used much in the United States, but is still being used in
162 Europe, Brazil, Korea, and other places.
165 Summary: Java support for gcc
166 Summary(pl): Wspomoganie Java dla gcc
167 Group: Development/Languages
168 Group(de): Entwicklung/Sprachen
169 Group(pl): Programowanie/Jêzyki
170 Requires: %{name} = %{version}
171 Requires: libgcj >= 2.95.1
174 This package adds experimental support for compiling Java(tm) programs
175 and bytecode into native code. To use this you will also need the
178 %package -n libstdc++
179 Summary: GNU c++ library
180 Summary(pl): Biblioteki GNU C++
183 Group(fr): Librairies
184 Group(pl): Biblioteki
185 Version: %{STDC_VERSION}
188 %description -n libstdc++
189 This is the GNU implementation of the standard C++ libraries, along
190 with additional GNU tools. This package includes the shared libraries
191 necessary to run C++ applications.
193 %description -l de -n libstdc++
194 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
195 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
196 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
198 %description -l fr -n libstdc++
199 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
200 des outils GNU supplémentaires. Ce package comprend les librairies
201 partagées nécessaires à l'exécution d'application C++.
203 %description -l pl -n libstdc++
204 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
205 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
206 uruchomienia aplikacji napisanych w C++.
208 %description -l tr -n libstdc++
209 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
210 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
212 %package -n libstdc++-devel
213 Summary: Header files and libraries for C++ development
214 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
215 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++.
216 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
217 Group: Development/Libraries
218 Group(de): Entwicklung/Libraries
219 Group(fr): Development/Librairies
220 Group(pl): Programowanie/Biblioteki
221 Version: %{STDC_VERSION}
222 Requires: libstdc++ = %{STDC_VERSION}
223 Requires: %{name}-c++
224 Obsoletes: libg++-devel
226 %description -n libstdc++-devel
227 This is the GNU implementation of the standard C++ libraries. This
228 package includes the header files and libraries needed for C++
231 %description -l pl -n libstdc++-devel
232 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
233 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
234 programowaniu w jêzyku C++.
236 %package -n libstdc++-static
237 Summary: Static c++ standard library
238 Summary(pl): Biblioeka statyczna c++
239 Group: Development/Libraries
240 Group(de): Entwicklung/Libraries
241 Group(fr): Development/Librairies
242 Group(pl): Programowanie/Biblioteki
243 Version: %{STDC_VERSION}
244 Requires: libstdc++-devel = %{STDC_VERSION}
246 %description -n libstdc++-static
247 Static c++ standard library.
249 %description -l pl -n libstdc++-static
250 Biblioteka statyczna C++.
253 Summary: The C Pre Processor
254 Summary(pl): Preprocesor C
255 Group: Development/Languages
256 Group(de): Entwicklung/Sprachen
257 Group(pl): Programowanie/Jêzyki
261 The C preprocessor is a "macro processor" that is used automatically
262 by the C compiler to transform your program before actual compilation.
263 It is called a macro processor because it allows you to define
264 "macros", which are brief abbreviations for longer constructs.
266 The C preprocessor provides four separate facilities that you can use
269 - Inclusion of header files. These are files of declarations that can
270 be substituted into your program.
271 - Macro expansion. You can define "macros", which are abbreviations
272 for arbitrary fragments of C code, and then the C preprocessor will
273 replace the macros with their definitions throughout the program.
274 - Conditional compilation. Using special preprocessing directives, you
275 can include or exclude parts of the program according to various
277 - Line control. If you use a program to combine or rearrange source
278 files into an intermediate file which is then compiled, you can use
279 line control to inform the compiler of where each source line
280 originally came from.
282 %description -l pl -n cpp
283 Przeprocesor C jest "makro procesorem" który jest automatycznie
284 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
285 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
286 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
287 d³ugich konstrukcji w jêzyku C.
289 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
291 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
292 deklaracji polecenia do³±czenia innego pliku.
293 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
294 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
295 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
296 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
297 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
298 fragmenty obrabianego strumienia tekstów.
299 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
300 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
301 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
302 odpowiada fragment pliku wynikowego.
321 %ifarch sparc sparc32
338 rm -rf obj-%{_target_platform}
339 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
341 CFLAGS="%{?debug:-O0 -g}%{!?debug:$RPM_OPT_FLAGS}" \
342 CXXFLAGS="%{?debug:-O0 -g}%{!?debug:$RPM_OPT_FLAGS}" \
343 TEXCONFIG=false ../configure \
344 --prefix=%{_prefix} \
345 --infodir=%{_infodir} \
347 %ifnarch sparc sparc64
348 --enable-threads=posix \
353 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
357 PATH=$PATH:/sbin:%{_sbindir}
358 touch ../gcc/c-gperf.h
361 %{__make} -C obj-%{_target_platform} bootstrap \
362 LDFLAGS_FOR_TARGET="%{!?debug:-s}" \
367 rm -rf $RPM_BUILD_ROOT
368 install -d $RPM_BUILD_ROOT{/lib,%{_datadir}}
370 cd obj-%{_target_platform}
371 PATH=$PATH:/sbin:%{_sbindir}
374 prefix=$RPM_BUILD_ROOT%{_prefix} \
375 mandir=$RPM_BUILD_ROOT%{_mandir} \
376 infodir=$RPM_BUILD_ROOT%{_infodir}
379 prefix=$RPM_BUILD_ROOT%{_prefix} \
380 mandir=$RPM_BUILD_ROOT%{_mandir} \
381 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
383 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
385 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
386 echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
387 install %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1/
389 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
390 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
391 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
393 gzip -9nf ../READ* ../ChangeLog ../gcc/ch/chill.brochure
396 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
399 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
402 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
405 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
408 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
411 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
414 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
417 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
419 %post -p /sbin/ldconfig -n libstdc++
420 %postun -p /sbin/ldconfig -n libstdc++
423 rm -rf $RPM_BUILD_ROOT
426 %defattr(644,root,root,755)
427 %doc READ* ChangeLog.gz
429 %dir %{_libdir}/gcc-lib
430 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
431 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
432 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
434 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
435 %attr(755,root,root) %{_bindir}/gcc
436 %attr(755,root,root) %{_bindir}/gcov
437 %attr(755,root,root) %{_bindir}/protoize
438 %attr(755,root,root) %{_bindir}/unprotoize
439 %attr(755,root,root) %{_bindir}/cc
441 %{_mandir}/man1/gcc.1*
442 %{_mandir}/man1/gcov.1*
445 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
446 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
447 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
448 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
449 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
452 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
455 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
457 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
458 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
459 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
460 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
461 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
462 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
463 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
464 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
465 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
466 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
469 %defattr(644,root,root,755)
471 %{_mandir}/man1/g++.1.gz
473 %attr(755,root,root) %{_bindir}/g++
474 %attr(755,root,root) %{_bindir}/c++
475 %attr(755,root,root) %{_bindir}/c++filt
476 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
478 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
479 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
480 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
481 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
484 %defattr(644,root,root,755)
486 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
488 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
489 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
492 %defattr(644,root,root,755)
494 %attr(755,root,root) %{_bindir}/g77
495 %attr(755,root,root) %{_bindir}/f77
499 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
500 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
502 %{_mandir}/man1/g77.1*
503 %{_mandir}/man1/f77.1*
505 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
508 %defattr(644,root,root,755)
509 %doc gcc/ch/chill.brochure.gz
511 %attr(755,root,root) %{_bindir}/chill
515 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
516 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
517 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
520 %defattr(644,root,root,755)
522 %attr(755,root,root) %{_bindir}/gcj
523 %attr(755,root,root) %{_bindir}/gcjh
524 %attr(755,root,root) %{_bindir}/jcf-dump
525 %attr(755,root,root) %{_bindir}/jv-scan
527 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
528 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
531 %defattr(644,root,root,755)
532 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
534 %files -n libstdc++-devel
535 %defattr(644,root,root,755)
537 %attr(755,root,root) %{_libdir}/libstdc++.so
539 %files -n libstdc++-static
540 %defattr(644,root,root,755)
541 %attr(644,root,root) %{_libdir}/libstdc++.a
544 %defattr(644,root,root,755)
545 %attr(755,root,root) /lib/cpp
546 %attr(755,root,root) %{_bindir}/cpp
547 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
549 %{_mandir}/man1/cpp.1*
550 %{_mandir}/man1/cccp.1*
551 %{_infodir}/cpp.info*.gz