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++.{so,la,a} \
396 $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/
398 ln -sf %{_bindir}/cpp2 $RPM_BUILD_ROOT/lib/cpp2
400 gzip -9nf ../READ* ../ChangeLog ../gcc/ch/chill.brochure
402 cd $RPM_BUILD_ROOT%{_bindir}
404 mv %{_target_platform}-gcc %{_target_platform}-gcc2
405 mv jcf-dump jcf-dump2
410 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
413 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
416 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
419 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
422 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
425 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
428 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
431 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
433 %post -p /sbin/ldconfig -n libstdc++2
434 %postun -p /sbin/ldconfig -n libstdc++2
437 rm -rf $RPM_BUILD_ROOT
440 %defattr(644,root,root,755)
441 %doc READ* ChangeLog.gz
443 %dir %{_libdir}/gcc-lib
444 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
445 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
446 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
448 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc2
449 %attr(755,root,root) %{_bindir}/gcc2
450 %attr(755,root,root) %{_bindir}/gcov2
451 %attr(755,root,root) %{_bindir}/protoize2
452 %attr(755,root,root) %{_bindir}/unprotoize2
453 %attr(755,root,root) %{_bindir}/cc2
455 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
456 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
457 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
458 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
459 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
461 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
462 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
464 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
465 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
466 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
467 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
468 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
469 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
470 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
471 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
472 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
473 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
476 %defattr(644,root,root,755)
478 %attr(755,root,root) %{_bindir}/g++2
479 %attr(755,root,root) %{_bindir}/c++2
480 %attr(755,root,root) %{_bindir}/c++filt2
481 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
483 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
484 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
485 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
486 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
489 %defattr(644,root,root,755)
491 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
493 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
494 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
497 %defattr(644,root,root,755)
499 %attr(755,root,root) %{_bindir}/g772
500 %attr(755,root,root) %{_bindir}/f772
502 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
503 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
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}/chill2
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}/gcj2
523 %attr(755,root,root) %{_bindir}/gcjh2
524 %attr(755,root,root) %{_bindir}/jcf-dump2
525 %attr(755,root,root) %{_bindir}/jv-scan2
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++2-devel
535 %defattr(644,root,root,755)
537 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.la
538 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.so
540 %files -n libstdc++2-static
541 %defattr(644,root,root,755)
542 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.a
545 %defattr(644,root,root,755)
546 %attr(755,root,root) /lib/cpp2
547 %attr(755,root,root) %{_bindir}/cpp2
548 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0