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 # 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 BuildRequires: autoconf
40 BuildRequires: automake
42 BuildRequires: texinfo
44 Requires: cpp2 = %{version}
46 Conflicts: glibc-devel < 2.2.5
48 URL: http://gcc.gnu.org/
49 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 A compiler aimed at integrating all the optimizations and features
53 necessary for a high-performance and stable development environment.
56 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
57 wyprodukowania szybkiego i stabilnego kodu wynikowego.
60 Summary: C++ support for gcc
61 Summary(fr): Support C++ pour le compilateur gcc
62 Summary(pl): Wspomaganie C++ dla kompilatora gcc
63 Summary(tr): gcc için C++ desteði
64 Group: Development/Languages
65 Requires: %{name} = %{version}
70 This package adds C++ support to the GNU C compiler. It includes
71 support for most of the current C++ specification, including templates
72 and exception handling. It does not include a standard C++ library,
73 which is available separately.
75 %description c++ -l de
76 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
77 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
78 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
79 sie ist getrennt erhältlich.
81 %description c++ -l fr
82 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
83 support pour la plupart des spécifications actuelles de C++, dont les
84 modéles et la gestion des exceptions. Il ne comprend pas une
85 bibliothéque C++ standard, qui est disponible séparément.
87 %description c++ -l pl
88 Programy z tego pakietu zapewniaj± wsparcie dla C++ do gcc. Posiada
89 wspomaganie dla du¿ej ilo¶ci obecnych specyfikacji C++, nie posiada
90 natomiast standardowych bibliotek C++, które s± w oddzielnym pakiecie.
92 %description c++ -l tr
93 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
94 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
95 C++ kitaplýðý bu pakette yer almaz.
98 Summary: Objective C support for gcc
99 Summary(de): Objektive C-Unterstützung für gcc
100 Summary(fr): Gestion d'Objective C pour gcc
101 Summary(pl): Wspomaganie obiektowego C dla kompilatora gcc
102 Summary(tr): gcc için Objective C desteði
103 Group: Development/Languages
104 Requires: %{name} = %{version}
109 This package adds Objective C support to the GNU C compiler. Objective
110 C is a object oriented derivative of the C language, mainly used on
111 systems running NeXTSTEP. This package does not include the standard
112 objective C object library.
114 %description objc -l de
115 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
116 Objective C ist ein objektorientiertes Derivat von C, das zur
117 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
118 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
120 %description objc -l fr
121 Ce package ajoute un support Objective C au compilateur C GNU.
122 L'Objective C est un langage orienté objetdérivé du langage C,
123 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
124 pas la bibliothéque Objective C standard.
126 %description objc -l pl
127 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
128 pakiecie nie ma jeszcze bibliotek C-obj.
130 %description objc -l tr
131 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
132 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
133 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
134 kitaplýðý bu pakette yer almaz.
137 Summary: Fortran 77 support for gcc
138 Summary(pl): Wspomaganie Fortran 77 dla gcc
139 Group: Development/Languages
143 This apckage adds support for compiling Fortran 77 programs with the
146 %description g77 -l pl
147 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc. Jest
148 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
151 Summary: CHILL support for gcc
152 Summary(pl): Wspomoganie CHILL dla gcc
153 Group: Development/Languages
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.
167 %description chill -l pl
168 Ten pakiet dodaje do gcc mo¿liwo¶æ kompilowania programów w jêzyku
171 %package -n libstdc++2
172 Summary: GNU c++ library
173 Summary(pl): Biblioteki GNU C++
174 Version: %{STDC_VERSION}
175 Release: %{STDC_RELEASE}
179 %description -n libstdc++2
180 This is the GNU implementation of the standard C++ libraries, along
181 with additional GNU tools. This package includes the shared libraries
182 necessary to run C++ applications.
184 %description -n libstdc++2 -l de
185 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
186 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
187 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
189 %description -n libstdc++2 -l fr
190 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
191 des outils GNU supplémentaires. Ce package comprend les librairies
192 partagées nécessaires à l'exécution d'application C++.
194 %description -n libstdc++2 -l pl
195 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
196 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
197 uruchomienia aplikacji napisanych w C++.
199 %description -n libstdc++2 -l tr
200 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
201 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
203 %package -n libstdc++2-devel
204 Summary: Header files and libraries for C++ development
205 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
206 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
207 Summary(pl): Pliki nag³ówkowe do programowania z u¿yciem bibliotek C++
208 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
209 Version: %{STDC_VERSION}
210 Release: %{STDC_RELEASE}
211 Group: Development/Libraries
212 Requires: %{name}-c++
213 Requires: libstdc++2 = %{STDC_VERSION}
214 Obsoletes: libg++-devel
216 %description -n libstdc++2-devel
217 This is the GNU implementation of the standard C++ libraries. This
218 package includes the header files and libraries needed for C++
221 %description -n libstdc++2-devel -l pl
222 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
223 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
224 programowaniu w jêzyku C++.
226 %package -n libstdc++2-static
227 Summary: Static c++ standard library
228 Summary(pl): Biblioteka statyczna c++
229 Version: %{STDC_VERSION}
230 Release: %{STDC_RELEASE}
231 Group: Development/Libraries
232 Requires: libstdc++2-devel = %{STDC_VERSION}
234 %description -n libstdc++2-static
235 Static c++ standard library.
237 %description -n libstdc++2-static -l pl
238 Biblioteka statyczna C++.
241 Summary: The C Pre Processor
242 Summary(pl): Preprocesor C
243 Group: Development/Languages
247 The C preprocessor is a "macro processor" that is used automatically
248 by the C compiler to transform your program before actual compilation.
249 It is called a macro processor because it allows you to define
250 "macros", which are brief abbreviations for longer constructs.
252 The C preprocessor provides four separate facilities that you can use
255 - Inclusion of header files. These are files of declarations that can
256 be substituted into your program.
257 - Macro expansion. You can define "macros", which are abbreviations
258 for arbitrary fragments of C code, and then the C preprocessor will
259 replace the macros with their definitions throughout the program.
260 - Conditional compilation. Using special preprocessing directives, you
261 can include or exclude parts of the program according to various
263 - Line control. If you use a program to combine or rearrange source
264 files into an intermediate file which is then compiled, you can use
265 line control to inform the compiler of where each source line
266 originally came from.
268 %description -n cpp2 -l pl
269 Preprocesor C jest "makro procesorem" który jest automatycznie u¿ywany
270 przez kompilator C do obróbki kompilowanego programu przed w³a¶ciw±
271 kompilacj±. Jest on nazywany makroprocesorem, poniewa¿ umo¿liwia
272 definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie d³ugich
273 konstrukcji w jêzyku C.
275 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
277 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
278 deklaracji polecenia do³±czenia innego pliku.
279 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
280 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
281 identyfikatora deklarowan± wcze¶niej warto¶ci±.
282 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
283 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
284 fragmenty obrabianego strumienia tekstów.
285 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
286 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
287 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
288 odpowiada fragment pliku wynikowego.
291 %setup -q -n %{rname}-%{rver}
308 %ifarch sparc sparc32
329 cp -f /usr/share/automake/config.* .
331 cp -f /usr/share/automake/config.* .
332 rm -rf obj-%{_target_platform}
333 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
335 CC="%{__cc}"; export CC
336 CFLAGS="%{rpmcflags}" \
337 CXXFLAGS="%{rpmcflags}" \
338 TEXCONFIG=false ../configure \
339 --host=%{_target_platform} \
340 --build=%{_target_platform} \
341 --prefix=%{_prefix} \
342 --infodir=%{_infodir} \
344 %ifnarch sparc sparc64
345 --enable-threads=posix \
350 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
354 PATH=$PATH:/sbin:%{_sbindir}
355 touch ../gcc/c-gperf.h
358 %{__make} -C obj-%{_target_platform} bootstrap \
359 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
364 rm -rf $RPM_BUILD_ROOT
365 install -d $RPM_BUILD_ROOT{/lib,%{_datadir}}
367 cd obj-%{_target_platform}
368 PATH=$PATH:/sbin:%{_sbindir}
371 prefix=$RPM_BUILD_ROOT%{_prefix} \
372 mandir=$RPM_BUILD_ROOT%{_mandir} \
373 infodir=$RPM_BUILD_ROOT%{_infodir}
376 prefix=$RPM_BUILD_ROOT%{_prefix} \
377 mandir=$RPM_BUILD_ROOT%{_mandir} \
378 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
380 ln -sf gcc2 $RPM_BUILD_ROOT%{_bindir}/cc2
382 ln -sf g772 $RPM_BUILD_ROOT%{_bindir}/f772
384 mv $RPM_BUILD_ROOT%{_libdir}/libstdc++.a \
385 $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/
387 ln -sf %{_bindir}/cpp2 $RPM_BUILD_ROOT/lib/cpp2
389 cd $RPM_BUILD_ROOT%{_bindir}
391 mv %{_target_platform}-gcc %{_target_platform}-gcc2
394 rm -rf $RPM_BUILD_ROOT
397 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
400 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
403 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
406 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
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
420 %post -p /sbin/ldconfig -n libstdc++2
421 %postun -p /sbin/ldconfig -n libstdc++2
424 %defattr(644,root,root,755)
427 %dir %{_libdir}/gcc-lib
428 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
429 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
430 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
432 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc2
433 %attr(755,root,root) %{_bindir}/gcc2
434 %attr(755,root,root) %{_bindir}/gcov2
435 %attr(755,root,root) %{_bindir}/protoize2
436 %attr(755,root,root) %{_bindir}/unprotoize2
437 %attr(755,root,root) %{_bindir}/cc2
439 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
440 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
441 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
442 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
443 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
445 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
446 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
448 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
449 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
450 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
451 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
452 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
453 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
454 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
455 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
456 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
457 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
460 %defattr(644,root,root,755)
462 %attr(755,root,root) %{_bindir}/g++2
463 %attr(755,root,root) %{_bindir}/c++2
464 %attr(755,root,root) %{_bindir}/c++filt2
465 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
467 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
468 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
469 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
470 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
473 %defattr(644,root,root,755)
475 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
477 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
478 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
481 %defattr(644,root,root,755)
483 %attr(755,root,root) %{_bindir}/g772
484 %attr(755,root,root) %{_bindir}/f772
486 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
487 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
489 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
492 %defattr(644,root,root,755)
493 %doc gcc/ch/chill.brochure
495 %attr(755,root,root) %{_bindir}/chill2
499 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
500 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
501 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
504 %defattr(644,root,root,755)
505 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
507 %files -n libstdc++2-devel
508 %defattr(644,root,root,755)
510 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.so
512 %files -n libstdc++2-static
513 %defattr(644,root,root,755)
514 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.a
517 %defattr(644,root,root,755)
518 %attr(755,root,root) /lib/cpp2
519 %attr(755,root,root) %{_bindir}/cpp2
520 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0