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(pl): Programowanie/Jêzyki
10 Source0: ftp://ftp.gnu.org/pub/gnu/gcc/%{name}-%{version}.tar.gz
12 Patch0: %{name}-info.patch
13 Patch1: %{name}-pld-linux.patch
14 Patch2: %{name}-libstdc++.patch
15 Patch3: %{name}-bootstrap.patch
16 Patch4: %{name}-cpp-macro-doc.patch
17 Patch5: %{name}-default-arch.patch
18 Patch6: %{name}-cvs-updates-20000220.patch.gz
19 Patch7: %{name}-libstdc++-out-of-mem.patch
20 Patch8: %{name}-libstdc++-wstring.patch
21 Patch9: %{name}-libstdc++-wall3.patch
22 Patch10: %{name}-libstdc++-bastring.patch
23 Patch11: %{name}-manpage.patch
24 Patch12: %{name}-cpp-dos-newlines.patch
25 Patch13: %{name}-g++-is-tree.patch
26 Patch14: %{name}-gpc.patch
27 Patch15: %{name}-arm-config.patch
28 Patch16: %{name}-m68k-pic.patch
29 Patch17: %{name}-sparc32-rfi.patch
30 Patch18: %{name}-builtin-apply.patch
31 Patch19: %{name}-gcj-backport.patch
32 Patch20: %{name}-ppc-ice.patch
33 Patch21: %{name}-ppc-descriptions.patch
34 Patch22: %{name}-ppc-andrew-dwarf-eh.patch
36 Patch23: %{name}-alpha-complex-float.patch
37 Patch24: %{name}-emit-rtl.patch
38 Patch25: %{name}-empty-struct-init.patch
39 Patch26: %{name}-gcj-vs-iconv.patch
40 Patch27: %{name}-libobjc.patch
41 Patch28: %{name}-pointer-arith.patch
43 Patch100: %{name}-glibc-2.2.patch
44 Requires: binutils >= 2.9.1.0.25
45 Requires: cpp = %{version}
46 URL: http://gcc.gnu.org/
47 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50 A compiler aimed at integrating all the optimizations and features
51 necessary for a high-performance and stable development environment.
54 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
55 wyprodukowania szybkiego i stablinego kodu wynikowego.
58 Summary: C++ support for gcc
59 Summary(fr): Support C++ pour le compilateur gcc
60 Summary(pl): Wspomaganie C++ dla kompilatora gcc
61 Summary(tr): gcc için C++ desteði
62 Group: Development/Languages
63 Group(pl): Programowanie/Jêzyki
68 This package adds C++ support to the GNU C compiler. It includes
69 support for most of the current C++ specification, including templates
70 and exception handling. It does not include a standard C++ library,
71 which is available separately.
73 %description -l de c++
74 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
75 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
76 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
77 sie ist getrennt erhältlich.
79 %description -l fr c++
80 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
81 support pour la plupart des spécifications actuelles de C++, dont les
82 modéles et la gestion des exceptions. Il ne comprend pas une
83 bibliothéque C++ standard, qui est disponible séparément.
85 %description -l pl c++
86 Programy z tego pakietu zapewniaj± wsparcie dla C++ do gcc. Posiada
87 wspomaganie dla du¿ej ilo¶ci obecnych specyfikacji C++, nie posiada
88 natomiast standardowych bibliotek C++, które s± w oddzielnym pakiecie.
90 %description -l tr c++
91 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
92 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
93 C++ kitaplýðý bu pakette yer almaz.
96 Summary: Objective C support for gcc
97 Summary(de): Objektive C-Unterstützung für gcc
98 Summary(fr): Gestion d'Objective C pour gcc
99 Summary(pl): Wspomaganie obiektowego C dla kompilatora gcc
100 Summary(tr): gcc için Objective C desteði
101 Group: Development/Languages
102 Group(pl): Programowanie/Jêzyki
107 This package adds Objective C support to the GNU C compiler. Objective
108 C is a object oriented derivative of the C language, mainly used on
109 systems running NeXTSTEP. This package does not include the standard
110 objective C object library.
112 %description -l de objc
113 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
114 Objective C ist ein objektorientiertes Derivat von C, das zur
115 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
116 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
118 %description -l fr objc
119 Ce package ajoute un support Objective C au compilateur C GNU.
120 L'Objective C est un langage orienté objetdérivé du langage C,
121 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
122 pas la bibliothéque Objective C standard.
124 %description -l pl objc
125 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
126 pakiecie nie ma jeszcze bibliotek C-obj.
128 %description -l tr objc
129 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
130 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
131 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
132 kitaplýðý bu pakette yer almaz.
135 Summary: Fortran 77 support for gcc
136 Summary(pl): Wspomaganie Fortran 77 dla gcc
137 Group: Development/Languages
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(pl): Programowanie/Jêzyki
154 Requires: %{name} = %{version}
157 This package adds support for compiling CHILL programs with the GNU
160 Chill is the "CCITT High-Level Language", where CCITT is the old name
161 for what is now ITU, the International Telecommunications Union. It is
162 is language in the Modula2 family, and targets many of the same
163 applications as Ada (especially large embedded systems). Chill was
164 never used much in the United States, but is still being used in
165 Europe, Brazil, Korea, and other places.
168 Summary: Java support for gcc
169 Summary(pl): Wspomoganie Java dla gcc
170 Group: Development/Languages
171 Group(pl): Programowanie/Jêzyki
172 Requires: %{name} = %{version}
173 Requires: libgcj >= 2.95.1
176 This package adds experimental support for compiling Java(tm) programs
177 and bytecode into native code. To use this you will also need the
180 %package -n libstdc++
181 Summary: GNU c++ library
182 Summary(pl): Biblioteki GNU C++
184 Group(pl): Biblioteki
185 Group(fr): Development/Librairies
186 Version: %{STDC_VERSION}
189 %description -n libstdc++
190 This is the GNU implementation of the standard C++ libraries, along
191 with additional GNU tools. This package includes the shared libraries
192 necessary to run C++ applications.
194 %description -l de -n libstdc++
195 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
196 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
197 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
199 %description -l fr -n libstdc++
200 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
201 des outils GNU supplémentaires. Ce package comprend les librairies
202 partagées nécessaires à l'exécution d'application C++.
204 %description -l pl -n libstdc++
205 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
206 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
207 uruchomienia aplikacji napisanych w C++.
209 %description -l tr -n libstdc++
210 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
211 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
213 %package -n libstdc++-devel
214 Summary: Header files and libraries for C++ development
215 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
216 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++.
217 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
218 Group: Development/Libraries
219 Group(pl): Programowanie/Biblioteki
220 Group(fr): Development/Librairies
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(pl): Programowanie/Biblioteki
241 Group(fr): Development/Librairies
242 Version: %{STDC_VERSION}
243 Requires: libstdc++-devel = %{STDC_VERSION}
245 %description -n libstdc++-static
246 Static c++ standard library.
248 %description -l pl -n libstdc++-static
249 Biblioteka statyczna C++.
252 Summary: The C Pre Processor
253 Summary(pl): Preprocesor C
254 Group: Development/Languages
255 Group(pl): Programowanie/Jêzyki
259 The C preprocessor is a "macro processor" that is used automatically
260 by the C compiler to transform your program before actual compilation.
261 It is called a macro processor because it allows you to define
262 "macros", which are brief abbreviations for longer constructs.
264 The C preprocessor provides four separate facilities that you can use
267 - Inclusion of header files. These are files of declarations that can
268 be substituted into your program.
269 - Macro expansion. You can define "macros", which are abbreviations
270 for arbitrary fragments of C code, and then the C preprocessor will
271 replace the macros with their definitions throughout the program.
272 - Conditional compilation. Using special preprocessing directives, you
273 can include or exclude parts of the program according to various
275 - Line control. If you use a program to combine or rearrange source
276 files into an intermediate file which is then compiled, you can use
277 line control to inform the compiler of where each source line
278 originally came from.
280 %description -l pl -n cpp
281 Przeprocesor C jest "makro procesorem" który jest automatycznie
282 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
283 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
284 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
285 d³ugich konstrukcji w jêzyku C.
287 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
289 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
290 deklaracji polecenia do³±czenia innego pliku.
291 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
292 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
293 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
294 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
295 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
296 fragmenty obrabianego strumienia tekstów.
297 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
298 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
299 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
300 odpowiada fragment pliku wynikowego.
325 %ifarch sparc sparc32
344 %{?glibc22:%patch100 -p1}
348 rm -rf obj-%{_target_platform}
349 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
351 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="-s" \
353 --prefix=%{_prefix} \
354 --infodir=%{_infodir} \
356 %ifnarch sparc sparc64
362 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
365 PATH=$PATH:/sbin:%{_sbindir}
366 touch ../gcc/c-gperf.h
368 %{__make} LDFLAGS_FOR_TARGET="-s" \
373 rm -rf $RPM_BUILD_ROOT
374 install -d $RPM_BUILD_ROOT%{_datadir}
376 cd obj-%{_target_platform}
377 PATH=$PATH:/sbin:%{_sbindir}
380 prefix=$RPM_BUILD_ROOT%{_prefix} \
381 mandir=$RPM_BUILD_ROOT%{_mandir} \
382 infodir=$RPM_BUILD_ROOT%{_infodir}
385 prefix=$RPM_BUILD_ROOT%{_prefix} \
386 mandir=$RPM_BUILD_ROOT%{_mandir} \
387 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
389 strip $RPM_BUILD_ROOT%{_bindir}/* || :
391 strip $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/{cc1,cc1chill,cc1obj,cc1plus,cpp,f771,collect2,jc1,jvgenmain}
392 strip --strip-unneeded $RPM_BUILD_ROOT%{_libdir}/lib*.so*
394 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
396 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
397 echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
398 install %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1/
400 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
402 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
404 install -d $RPM_BUILD_ROOT/lib
405 (cd $RPM_BUILD_ROOT; \
406 ln -sf ../`dirname usr/lib/gcc-lib/%{_target_cpu}*/*/cpp`/cpp $RPM_BUILD_ROOT/lib/cpp)
408 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/{info/*.info*,man/man1/*} \
409 ../READ* ../ChangeLog ../gcc/ch/chill.brochure
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
433 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
435 %post -p /sbin/ldconfig -n libstdc++
436 %postun -p /sbin/ldconfig -n libstdc++
439 rm -rf $RPM_BUILD_ROOT
442 %defattr(644,root,root,755)
443 %doc READ* ChangeLog.gz
445 %dir %{_libdir}/gcc-lib
446 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
447 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
448 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
450 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
451 %attr(755,root,root) %{_bindir}/gcc
452 %attr(755,root,root) %{_bindir}/gcov
453 %attr(755,root,root) %{_bindir}/protoize
454 %attr(755,root,root) %{_bindir}/unprotoize
455 %attr(755,root,root) %{_bindir}/cc
457 %{_mandir}/man1/gcc.1*
458 %{_mandir}/man1/gcov.1*
461 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
462 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
463 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
464 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
465 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
468 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
471 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
473 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
474 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
475 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
476 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
477 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
478 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
479 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
480 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
481 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
482 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
485 %defattr(644,root,root,755)
487 %{_mandir}/man1/g++.1.gz
489 %attr(755,root,root) %{_bindir}/g++
490 %attr(755,root,root) %{_bindir}/c++
491 %attr(755,root,root) %{_bindir}/c++filt
492 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
494 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
495 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
496 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
497 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
500 %defattr(644,root,root,755)
502 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
504 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
505 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
508 %defattr(644,root,root,755)
510 %attr(755,root,root) %{_bindir}/g77
511 %attr(755,root,root) %{_bindir}/f77
515 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
516 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
518 %{_mandir}/man1/g77.1*
519 %{_mandir}/man1/f77.1*
521 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
524 %defattr(644,root,root,755)
525 %doc gcc/ch/chill.brochure.gz
527 %attr(755,root,root) %{_bindir}/chill
531 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
532 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
533 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
536 %defattr(644,root,root,755)
538 %attr(755,root,root) %{_bindir}/gcj
539 %attr(755,root,root) %{_bindir}/gcjh
540 %attr(755,root,root) %{_bindir}/jcf-dump
541 %attr(755,root,root) %{_bindir}/jv-scan
543 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
544 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
547 %defattr(644,root,root,755)
548 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
550 %files -n libstdc++-devel
551 %defattr(644,root,root,755)
553 %attr(755,root,root) %{_libdir}/libstdc++.so
555 %files -n libstdc++-static
556 %defattr(644,root,root,755)
557 %attr(644,root,root) %{_libdir}/libstdc++.a
560 %defattr(644,root,root,755)
561 %attr(755,root,root) /lib/cpp
563 %{_mandir}/man1/cpp.1*
564 %{_mandir}/man1/cccp.1*
565 %{_infodir}/cpp.info*.gz
567 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp