4 %define STDC_VERSION 2.10.0
6 Summary: GNU Compiler Collection
7 Summary(pl.UTF-8): Kolekcja kompilatorów GNU
12 Group: Development/Languages
13 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{rver}/%{rname}-%{rver}.tar.bz2
14 # Source0-md5: 87ee083a830683e2aaa57463940a0c3c
15 Patch0: %{name}-info.patch
16 Patch1: %{name}-pld-linux.patch
17 Patch2: %{name}-libstdc++.patch
18 Patch3: %{name}-bootstrap.patch
19 Patch4: %{name}-cpp-macro-doc.patch
20 Patch5: %{name}-default-arch.patch
21 Patch6: %{name}-libstdc++-out-of-mem.patch
22 Patch7: %{name}-libstdc++-wstring.patch
23 Patch8: %{name}-libstdc++-bastring.patch
24 Patch9: %{name}-manpage.patch
25 Patch10: %{name}-cpp-dos-newlines.patch
26 Patch11: %{name}-gpc.patch
27 Patch12: %{name}-m68k-pic.patch
28 Patch13: %{name}-sparc32-rfi.patch
29 Patch14: %{name}-builtin-apply.patch
30 Patch15: %{name}-ppc-ice.patch
31 Patch16: %{name}-ppc-descriptions.patch
32 Patch17: %{name}-alpha-complex-float.patch
33 Patch18: %{name}-gcj-vs-iconv.patch
34 Patch19: %{name}-libobjc.patch
35 #Patch20: %{name}-pointer-arith.patch
36 Patch21: %{name}-suffix.patch
37 Patch22: %{name}-athlon-option.patch
38 Patch50: gcc-%{rver}-%{snap}.patch.bz2
39 # Patch50-md5: 83f4163aa5b8492d27cbfc9eb8ea419c
40 BuildRequires: autoconf
41 BuildRequires: automake
43 BuildRequires: texinfo
45 Requires: cpp2 = %{version}
47 Conflicts: glibc-devel < 2.2.5
49 URL: http://gcc.gnu.org/
50 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53 A compiler aimed at integrating all the optimizations and features
54 necessary for a high-performance and stable development environment.
56 %description -l pl.UTF-8
57 Kompilator, posiadający duże możliwości optymalizacyjne niezbędne do
58 wyprodukowania szybkiego i stabilnego kodu wynikowego.
61 Summary: C++ support for gcc
62 Summary(fr.UTF-8): Support C++ pour le compilateur gcc
63 Summary(pl.UTF-8): Wspomaganie C++ dla kompilatora gcc
64 Summary(tr.UTF-8): gcc için C++ desteği
65 Group: Development/Languages
66 Requires: %{name} = %{version}-%{release}
71 This package adds C++ support to the GNU C compiler. It includes
72 support for most of the current C++ specification, including templates
73 and exception handling. It does not include a standard C++ library,
74 which is available separately.
76 %description c++ -l de.UTF-8
77 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
78 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
79 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
80 sie ist getrennt erhältlich.
82 %description c++ -l fr.UTF-8
83 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
84 support pour la plupart des spécifications actuelles de C++, dont les
85 modéles et la gestion des exceptions. Il ne comprend pas une
86 bibliothéque C++ standard, qui est disponible séparément.
88 %description c++ -l pl.UTF-8
89 Programy z tego pakietu zapewniają wsparcie dla C++ do gcc. Posiada
90 wspomaganie dla dużej ilości obecnych specyfikacji C++, nie posiada
91 natomiast standardowych bibliotek C++, które są w oddzielnym pakiecie.
93 %description c++ -l tr.UTF-8
94 Bu paket, GNU C derleyicisine C++ desteği ekler. 'Template'ler ve
95 aykırı durum işleme gibi çoğu güncel C++ tanımlarına uyar. Standart
96 C++ kitaplığı bu pakette yer almaz.
99 Summary: Objective C support for gcc
100 Summary(de.UTF-8): Objektive C-Unterstützung für gcc
101 Summary(fr.UTF-8): Gestion d'Objective C pour gcc
102 Summary(pl.UTF-8): Wspomaganie obiektowego C dla kompilatora gcc
103 Summary(tr.UTF-8): gcc için Objective C desteği
104 Group: Development/Languages
105 Requires: %{name} = %{version}-%{release}
110 This package adds Objective C support to the GNU C compiler. Objective
111 C is a object oriented derivative of the C language, mainly used on
112 systems running NeXTSTEP. This package does not include the standard
113 objective C object library.
115 %description objc -l de.UTF-8
116 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
117 Objective C ist ein objektorientiertes Derivat von C, das zur
118 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
119 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
121 %description objc -l fr.UTF-8
122 Ce package ajoute un support Objective C au compilateur C GNU.
123 L'Objective C est un langage orienté objetdérivé du langage C,
124 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
125 pas la bibliothéque Objective C standard.
127 %description objc -l pl.UTF-8
128 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
129 pakiecie nie ma jeszcze bibliotek C-obj.
131 %description objc -l tr.UTF-8
132 Bu paket, GNU C derleyicisine Objective C desteği ekler. Objective C,
133 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altında çalışan
134 sistemlerde yaygın olarak kullanılır. Standart Objective C nesne
135 kitaplığı bu pakette yer almaz.
138 Summary: Fortran 77 support for gcc
139 Summary(pl.UTF-8): Wspomaganie Fortran 77 dla gcc
140 Group: Development/Languages
144 This apckage adds support for compiling Fortran 77 programs with the
147 %description g77 -l pl.UTF-8
148 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc. Jest
149 potrzebny do kompilowania programów pisanych w języku Fortran 77.
152 Summary: CHILL support for gcc
153 Summary(pl.UTF-8): Wspomoganie CHILL dla gcc
154 Group: Development/Languages
155 Requires: %{name} = %{version}-%{release}
158 This package adds support for compiling CHILL programs with the GNU
161 Chill is the "CCITT High-Level Language", where CCITT is the old name
162 for what is now ITU, the International Telecommunications Union. It is
163 is language in the Modula2 family, and targets many of the same
164 applications as Ada (especially large embedded systems). Chill was
165 never used much in the United States, but is still being used in
166 Europe, Brazil, Korea, and other places.
168 %description chill -l pl.UTF-8
169 Ten pakiet dodaje do gcc możliwość kompilowania programów w języku
172 %package -n libstdc++2
173 Summary: GNU c++ library
174 Summary(pl.UTF-8): Biblioteki GNU C++
175 Version: %{STDC_VERSION}
176 Release: %{STDC_RELEASE}
180 %description -n libstdc++2
181 This is the GNU implementation of the standard C++ libraries, along
182 with additional GNU tools. This package includes the shared libraries
183 necessary to run C++ applications.
185 %description -n libstdc++2 -l de.UTF-8
186 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
187 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
188 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
190 %description -n libstdc++2 -l fr.UTF-8
191 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
192 des outils GNU supplémentaires. Ce package comprend les librairies
193 partagées nécessaires à l'exécution d'application C++.
195 %description -n libstdc++2 -l pl.UTF-8
196 Pakiet ten zawiera biblioteki będące implementacją standardowych
197 bibliotek C++. Znajdują się w nim biblioteki dynamiczne niezbędne do
198 uruchomienia aplikacji napisanych w C++.
200 %description -n libstdc++2 -l tr.UTF-8
201 Bu paket, standart C++ kitaplıklarının GNU gerçeklemesidir ve C++
202 uygulamalarının koşturulması için gerekli kitaplıkları içerir.
204 %package -n libstdc++2-devel
205 Summary: Header files and libraries for C++ development
206 Summary(de.UTF-8): Header-Dateien und Libraries zur Entwicklung mit C++
207 Summary(fr.UTF-8): Fichiers d'en-tête et biblitothèques pour développer en C++
208 Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem bibliotek C++
209 Summary(tr.UTF-8): C++ ile program geliştirmek için gerekli dosyalar
210 Version: %{STDC_VERSION}
211 Release: %{STDC_RELEASE}
212 Group: Development/Libraries
213 Requires: %{name}-c++
214 Requires: libstdc++2 = %{STDC_VERSION}
215 Obsoletes: libg++-devel
217 %description -n libstdc++2-devel
218 This is the GNU implementation of the standard C++ libraries. This
219 package includes the header files and libraries needed for C++
222 %description -n libstdc++2-devel -l pl.UTF-8
223 Pakiet ten zawiera biblioteki będące implementacją standardowych
224 bibliotek C++. Znajdują się w nim pliki nagłówkowe wykorzystywane przy
225 programowaniu w języku C++.
227 %package -n libstdc++2-static
228 Summary: Static c++ standard library
229 Summary(pl.UTF-8): Biblioteka statyczna c++
230 Version: %{STDC_VERSION}
231 Release: %{STDC_RELEASE}
232 Group: Development/Libraries
233 Requires: libstdc++2-devel = %{STDC_VERSION}
235 %description -n libstdc++2-static
236 Static c++ standard library.
238 %description -n libstdc++2-static -l pl.UTF-8
239 Biblioteka statyczna C++.
242 Summary: The C Pre Processor
243 Summary(pl.UTF-8): Preprocesor C
244 Group: Development/Languages
248 The C preprocessor is a "macro processor" that is used automatically
249 by the C compiler to transform your program before actual compilation.
250 It is called a macro processor because it allows you to define
251 "macros", which are brief abbreviations for longer constructs.
253 The C preprocessor provides four separate facilities that you can use
256 - Inclusion of header files. These are files of declarations that can
257 be substituted into your program.
258 - Macro expansion. You can define "macros", which are abbreviations
259 for arbitrary fragments of C code, and then the C preprocessor will
260 replace the macros with their definitions throughout the program.
261 - Conditional compilation. Using special preprocessing directives, you
262 can include or exclude parts of the program according to various
264 - Line control. If you use a program to combine or rearrange source
265 files into an intermediate file which is then compiled, you can use
266 line control to inform the compiler of where each source line
267 originally came from.
269 %description -n cpp2 -l pl.UTF-8
270 Preprocesor C jest "makro procesorem" który jest automatycznie używany
271 przez kompilator C do obróbki kompilowanego programu przed właściwą
272 kompilacją. Jest on nazywany makroprocesorem, ponieważ umożliwia
273 definiowanie i rozwijanie makr umożliwiających skracanie długich
274 konstrukcji w języku C.
276 Preprocesor C umożliwia wykonywanie czterech różnych typów operacji:
278 - Dołączanie plików (np. nagłówkowych). Wstawia pliki w miejscu
279 deklaracji polecenia dołączenia innego pliku.
280 - Rozwijanie makr. Można definiować "makra" nadając im identyfikatory,
281 których późniejsze użycie powoduje podczas rozwijania podmienienie
282 identyfikatora deklarowaną wcześniej wartością.
283 - Kompilacja warunkowa. W zależności od obecności symboli i dyrektyw w
284 środowisku preprocesora są włączane warunkowo, bądź nie, pewne
285 fragmenty obrabianego strumienia tekstów.
286 - Kontrola linii źródła. Niezależnie od tego jakim przeobrażeniom
287 podlega wynikowy strumień danych w wyniku rozwijania makr i dołączania
288 są zapamiętywane informacje o tym, której linii pliku źródłowego
289 odpowiada fragment pliku wynikowego.
292 %setup -q -n %{rname}-%{rver}
309 %ifarch sparc sparc32
330 cp -f /usr/share/automake/config.* .
332 cp -f /usr/share/automake/config.* .
333 rm -rf obj-%{_target_platform}
334 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
336 CC="%{__cc}"; export CC
337 CFLAGS="%{rpmcflags}" \
338 CXXFLAGS="%{rpmcflags}" \
339 TEXCONFIG=false ../configure \
340 --host=%{_target_platform} \
341 --build=%{_target_platform} \
342 --prefix=%{_prefix} \
343 --infodir=%{_infodir} \
345 %ifnarch sparc sparc64
346 --enable-threads=posix \
351 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
355 PATH=$PATH:/sbin:%{_sbindir}
356 touch ../gcc/c-gperf.h
359 %{__make} -C obj-%{_target_platform} bootstrap \
360 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
365 rm -rf $RPM_BUILD_ROOT
366 install -d $RPM_BUILD_ROOT{/lib,%{_datadir}}
368 cd obj-%{_target_platform}
369 PATH=$PATH:/sbin:%{_sbindir}
372 prefix=$RPM_BUILD_ROOT%{_prefix} \
373 mandir=$RPM_BUILD_ROOT%{_mandir} \
374 infodir=$RPM_BUILD_ROOT%{_infodir}
377 prefix=$RPM_BUILD_ROOT%{_prefix} \
378 mandir=$RPM_BUILD_ROOT%{_mandir} \
379 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
381 ln -sf gcc2 $RPM_BUILD_ROOT%{_bindir}/cc2
383 ln -sf g772 $RPM_BUILD_ROOT%{_bindir}/f772
385 mv $RPM_BUILD_ROOT%{_libdir}/libstdc++.a \
386 $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/
388 ln -sf %{_bindir}/cpp2 $RPM_BUILD_ROOT/lib/cpp2
390 cd $RPM_BUILD_ROOT%{_bindir}
392 mv %{_target_platform}-gcc %{_target_platform}-gcc2
395 rm -rf $RPM_BUILD_ROOT
397 %post -p /sbin/postshell
398 -/usr/sbin/fix-info-dir -c %{_infodir}
400 %postun -p /sbin/postshell
401 -/usr/sbin/fix-info-dir -c %{_infodir}
403 %post g77 -p /sbin/postshell
404 -/usr/sbin/fix-info-dir -c %{_infodir}
406 %postun g77 -p /sbin/postshell
407 -/usr/sbin/fix-info-dir -c %{_infodir}
409 %post chill -p /sbin/postshell
410 -/usr/sbin/fix-info-dir -c %{_infodir}
412 %postun chill -p /sbin/postshell
413 -/usr/sbin/fix-info-dir -c %{_infodir}
415 %post -n cpp2 -p /sbin/postshell
416 -/usr/sbin/fix-info-dir -c %{_infodir}
418 %postun -n cpp2 -p /sbin/postshell
419 -/usr/sbin/fix-info-dir -c %{_infodir}
421 %post -p /sbin/ldconfig -n libstdc++2
422 %postun -p /sbin/ldconfig -n libstdc++2
425 %defattr(644,root,root,755)
428 %dir %{_libdir}/gcc-lib
429 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
430 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
431 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
433 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc2
434 %attr(755,root,root) %{_bindir}/gcc2
435 %attr(755,root,root) %{_bindir}/gcov2
436 %attr(755,root,root) %{_bindir}/protoize2
437 %attr(755,root,root) %{_bindir}/unprotoize2
438 %attr(755,root,root) %{_bindir}/cc2
440 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
441 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
442 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
443 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
444 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
446 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
447 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
449 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
450 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
451 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
452 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
453 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
454 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
455 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
456 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
457 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
458 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
461 %defattr(644,root,root,755)
463 %attr(755,root,root) %{_bindir}/g++2
464 %attr(755,root,root) %{_bindir}/c++2
465 %attr(755,root,root) %{_bindir}/c++filt2
466 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
468 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
469 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
470 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
471 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
474 %defattr(644,root,root,755)
476 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
478 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
479 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
482 %defattr(644,root,root,755)
484 %attr(755,root,root) %{_bindir}/g772
485 %attr(755,root,root) %{_bindir}/f772
487 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
488 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
490 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
493 %defattr(644,root,root,755)
494 %doc gcc/ch/chill.brochure
496 %attr(755,root,root) %{_bindir}/chill2
500 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
501 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
502 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
505 %defattr(644,root,root,755)
506 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
508 %files -n libstdc++2-devel
509 %defattr(644,root,root,755)
511 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.so
513 %files -n libstdc++2-static
514 %defattr(644,root,root,755)
515 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.a
518 %defattr(644,root,root,755)
519 %attr(755,root,root) /lib/cpp2
520 %attr(755,root,root) %{_bindir}/cpp2
521 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0