4 %define STDC_VERSION 2.10.0
6 Summary: GNU Compiler Collection
7 Summary(pl): Kolekcja kompilatorów GNU
12 Group: Development/Languages
13 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{rver}/%{rname}-%{rver}.tar.bz2
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}-suffix.patch
36 Patch22: %{name}-athlon-option.patch
37 Patch50: gcc-%{rver}-%{snap}.patch.bz2
39 BuildRequires: texinfo
40 BuildRequires: automake
41 Requires: binutils >= 2.9.1.0.25
42 Requires: cpp2 = %{version}
44 Conflicts: glibc-devel < 2.2.5
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
65 Requires: %{name} = %{version}
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 c++ -l de
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 c++ -l fr
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 c++ -l pl
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 c++ -l tr
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
104 Requires: %{name} = %{version}
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 objc -l de
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 objc -l fr
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 objc -l pl
125 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
126 pakiecie nie ma jeszcze bibliotek C-obj.
128 %description objc -l tr
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
141 This apckage adds support for compiling Fortran 77 programs with the
144 %description g77 -l pl
145 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc. Jest
146 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
149 Summary: CHILL support for gcc
150 Summary(pl): Wspomoganie CHILL dla gcc
151 Group: Development/Languages
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 chill -l pl
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 Requires: %{name} = %{version}
174 Requires: libgcj2 >= 2.95.1
177 This package adds experimental support for compiling Java(tm) programs
178 and bytecode into native code. To use this you will also need the
181 %description java -l pl
182 Ten pakiet dodaje do gcc (eksperymentaln±) mo¿liwo¶æ kompilowania
183 programów w Javie(tm) i bytecode do kodu procesora. Wymaga pakietu
186 %package -n libstdc++2
187 Summary: GNU c++ library
188 Summary(pl): Biblioteki GNU C++
190 Version: %{STDC_VERSION}
191 Release: %{STDC_RELEASE}
194 %description -n libstdc++2
195 This is the GNU implementation of the standard C++ libraries, along
196 with additional GNU tools. This package includes the shared libraries
197 necessary to run C++ applications.
199 %description -n libstdc++2 -l de
200 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
201 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
202 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
204 %description -n libstdc++2 -l fr
205 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
206 des outils GNU supplémentaires. Ce package comprend les librairies
207 partagées nécessaires à l'exécution d'application C++.
209 %description -n libstdc++2 -l pl
210 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
211 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
212 uruchomienia aplikacji napisanych w C++.
214 %description -n libstdc++2 -l tr
215 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
216 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
218 %package -n libstdc++2-devel
219 Summary: Header files and libraries for C++ development
220 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
221 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
222 Summary(pl): Pliki nag³ówkowe do programowania z u¿yciem bibliotek C++
223 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
224 Group: Development/Libraries
225 Version: %{STDC_VERSION}
226 Release: %{STDC_RELEASE}
227 Requires: libstdc++2 = %{STDC_VERSION}
228 Requires: %{name}-c++
229 Obsoletes: libg++-devel
231 %description -n libstdc++2-devel
232 This is the GNU implementation of the standard C++ libraries. This
233 package includes the header files and libraries needed for C++
236 %description -n libstdc++2-devel -l pl
237 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
238 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
239 programowaniu w jêzyku C++.
241 %package -n libstdc++2-static
242 Summary: Static c++ standard library
243 Summary(pl): Biblioteka statyczna c++
244 Group: Development/Libraries
245 Version: %{STDC_VERSION}
246 Release: %{STDC_RELEASE}
247 Requires: libstdc++2-devel = %{STDC_VERSION}
249 %description -n libstdc++2-static
250 Static c++ standard library.
252 %description -n libstdc++2-static -l pl
253 Biblioteka statyczna C++.
256 Summary: The C Pre Processor
257 Summary(pl): Preprocesor C
258 Group: Development/Languages
262 The C preprocessor is a "macro processor" that is used automatically
263 by the C compiler to transform your program before actual compilation.
264 It is called a macro processor because it allows you to define
265 "macros", which are brief abbreviations for longer constructs.
267 The C preprocessor provides four separate facilities that you can use
270 - Inclusion of header files. These are files of declarations that can
271 be substituted into your program.
272 - Macro expansion. You can define "macros", which are abbreviations
273 for arbitrary fragments of C code, and then the C preprocessor will
274 replace the macros with their definitions throughout the program.
275 - Conditional compilation. Using special preprocessing directives, you
276 can include or exclude parts of the program according to various
278 - Line control. If you use a program to combine or rearrange source
279 files into an intermediate file which is then compiled, you can use
280 line control to inform the compiler of where each source line
281 originally came from.
283 %description -n cpp2 -l pl
284 Preprocesor C jest "makro procesorem" który jest automatycznie u¿ywany
285 przez kompilator C do obróbki kompilowanego programu przed w³a¶ciw±
286 kompilacj±. Jest on nazywany makroprocesorem, poniewa¿ umo¿liwia
287 definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie d³ugich
288 konstrukcji w jêzyku C.
290 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
292 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
293 deklaracji polecenia do³±czenia innego pliku.
294 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
295 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
296 identyfikatora deklarowan± wcze¶niej warto¶ci±.
297 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
298 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
299 fragmenty obrabianego strumienia tekstów.
300 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
301 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
302 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
303 odpowiada fragment pliku wynikowego.
306 %setup -q -n %{rname}-%{rver}
323 %ifarch sparc sparc32
341 (cd gcc; autoconf; cp -f /usr/share/automake/config.* .)
342 cp -f /usr/share/automake/config.* .
343 rm -rf obj-%{_target_platform}
344 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
346 CC="%{__cc}"; export CC
347 CFLAGS="%{rpmcflags}" \
348 CXXFLAGS="%{rpmcflags}" \
349 TEXCONFIG=false ../configure \
350 --host=%{_target_platform} \
351 --build=%{_target_platform} \
352 --prefix=%{_prefix} \
353 --infodir=%{_infodir} \
355 %ifnarch sparc sparc64
356 --enable-threads=posix \
361 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
365 PATH=$PATH:/sbin:%{_sbindir}
366 touch ../gcc/c-gperf.h
369 %{__make} -C obj-%{_target_platform} bootstrap \
370 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
375 rm -rf $RPM_BUILD_ROOT
376 install -d $RPM_BUILD_ROOT{/lib,%{_datadir}}
378 cd obj-%{_target_platform}
379 PATH=$PATH:/sbin:%{_sbindir}
382 prefix=$RPM_BUILD_ROOT%{_prefix} \
383 mandir=$RPM_BUILD_ROOT%{_mandir} \
384 infodir=$RPM_BUILD_ROOT%{_infodir}
387 prefix=$RPM_BUILD_ROOT%{_prefix} \
388 mandir=$RPM_BUILD_ROOT%{_mandir} \
389 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
391 ln -sf gcc2 $RPM_BUILD_ROOT%{_bindir}/cc2
393 ln -sf g772 $RPM_BUILD_ROOT%{_bindir}/f772
395 mv $RPM_BUILD_ROOT%{_libdir}/libstdc++.a \
396 $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/
398 ln -sf %{_bindir}/cpp2 $RPM_BUILD_ROOT/lib/cpp2
400 cd $RPM_BUILD_ROOT%{_bindir}
402 mv %{_target_platform}-gcc %{_target_platform}-gcc2
403 mv jcf-dump jcf-dump2
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
420 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
423 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
426 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
429 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
431 %post -p /sbin/ldconfig -n libstdc++2
432 %postun -p /sbin/ldconfig -n libstdc++2
435 rm -rf $RPM_BUILD_ROOT
438 %defattr(644,root,root,755)
441 %dir %{_libdir}/gcc-lib
442 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
443 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
444 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
446 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc2
447 %attr(755,root,root) %{_bindir}/gcc2
448 %attr(755,root,root) %{_bindir}/gcov2
449 %attr(755,root,root) %{_bindir}/protoize2
450 %attr(755,root,root) %{_bindir}/unprotoize2
451 %attr(755,root,root) %{_bindir}/cc2
453 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
454 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
455 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
456 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
457 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
459 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
460 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
462 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
463 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
464 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
465 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
466 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
467 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
468 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
469 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
470 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
471 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
474 %defattr(644,root,root,755)
476 %attr(755,root,root) %{_bindir}/g++2
477 %attr(755,root,root) %{_bindir}/c++2
478 %attr(755,root,root) %{_bindir}/c++filt2
479 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
481 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
482 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
483 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
484 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
487 %defattr(644,root,root,755)
489 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
491 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
492 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
495 %defattr(644,root,root,755)
497 %attr(755,root,root) %{_bindir}/g772
498 %attr(755,root,root) %{_bindir}/f772
500 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
501 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
503 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
506 %defattr(644,root,root,755)
507 %doc gcc/ch/chill.brochure
509 %attr(755,root,root) %{_bindir}/chill2
513 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
514 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
515 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
518 %defattr(644,root,root,755)
520 %attr(755,root,root) %{_bindir}/gcj2
521 %attr(755,root,root) %{_bindir}/gcjh2
522 %attr(755,root,root) %{_bindir}/jcf-dump2
523 %attr(755,root,root) %{_bindir}/jv-scan2
525 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
526 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
529 %defattr(644,root,root,755)
530 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
532 %files -n libstdc++2-devel
533 %defattr(644,root,root,755)
535 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.so
537 %files -n libstdc++2-static
538 %defattr(644,root,root,755)
539 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.a
542 %defattr(644,root,root,755)
543 %attr(755,root,root) /lib/cpp2
544 %attr(755,root,root) %{_bindir}/cpp2
545 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0