3 %define STDC_VERSION 2.10.0
4 %define STDC_RELEASE 30
5 Summary: GNU Compiler Collection
6 Summary(pl): Kolekcja kompilatorów GNU
11 Group: Development/Languages
12 Group(de): Entwicklung/Sprachen
13 Group(pl): Programowanie/Jêzyki
14 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{rver}/%{name}-%{rver}.tar.gz
16 Patch0: %{name}-info.patch
17 Patch1: %{name}-pld-linux.patch
18 Patch2: %{name}-libstdc++.patch
19 Patch3: %{name}-bootstrap.patch
20 Patch4: %{name}-cpp-macro-doc.patch
21 Patch5: %{name}-default-arch.patch
22 Patch6: %{name}-libstdc++-out-of-mem.patch
23 Patch7: %{name}-libstdc++-wstring.patch
24 Patch8: %{name}-libstdc++-bastring.patch
25 Patch9: %{name}-manpage.patch
26 Patch10: %{name}-cpp-dos-newlines.patch
27 Patch11: %{name}-gpc.patch
28 Patch12: %{name}-m68k-pic.patch
29 Patch13: %{name}-sparc32-rfi.patch
30 Patch14: %{name}-builtin-apply.patch
31 Patch15: %{name}-ppc-ice.patch
32 Patch16: %{name}-ppc-descriptions.patch
33 Patch17: %{name}-alpha-complex-float.patch
34 Patch18: %{name}-gcj-vs-iconv.patch
35 Patch19: %{name}-libobjc.patch
36 #Patch20: %{name}-pointer-arith.patch
37 Patch50: %{name}-%{rver}-%{snap}.patch.bz2
39 BuildRequires: texinfo
40 Requires: binutils >= 2.9.1.0.25
41 Requires: cpp = %{version}
42 URL: http://gcc.gnu.org/
43 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46 A compiler aimed at integrating all the optimizations and features
47 necessary for a high-performance and stable development environment.
50 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
51 wyprodukowania szybkiego i stabilnego kodu wynikowego.
54 Summary: C++ support for gcc
55 Summary(fr): Support C++ pour le compilateur gcc
56 Summary(pl): Wspomaganie C++ dla kompilatora gcc
57 Summary(tr): gcc için C++ desteði
58 Group: Development/Languages
59 Group(de): Entwicklung/Sprachen
60 Group(pl): Programowanie/Jêzyki
63 Requires: %{name} = %{version}
66 This package adds C++ support to the GNU C compiler. It includes
67 support for most of the current C++ specification, including templates
68 and exception handling. It does not include a standard C++ library,
69 which is available separately.
71 %description -l de c++
72 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
73 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
74 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
75 sie ist getrennt erhältlich.
77 %description -l fr c++
78 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
79 support pour la plupart des spécifications actuelles de C++, dont les
80 modéles et la gestion des exceptions. Il ne comprend pas une
81 bibliothéque C++ standard, qui est disponible séparément.
83 %description -l pl c++
84 Programy z tego pakietu zapewniaj± wsparcie dla C++ do gcc. Posiada
85 wspomaganie dla du¿ej ilo¶ci obecnych specyfikacji C++, nie posiada
86 natomiast standardowych bibliotek C++, które s± w oddzielnym pakiecie.
88 %description -l tr c++
89 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
90 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
91 C++ kitaplýðý bu pakette yer almaz.
94 Summary: Objective C support for gcc
95 Summary(de): Objektive C-Unterstützung für gcc
96 Summary(fr): Gestion d'Objective C pour gcc
97 Summary(pl): Wspomaganie obiektowego C dla kompilatora gcc
98 Summary(tr): gcc için Objective C desteði
99 Group: Development/Languages
100 Group(de): Entwicklung/Sprachen
101 Group(pl): Programowanie/Jêzyki
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 -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(de): Entwicklung/Sprachen
139 Group(pl): Programowanie/Jêzyki
143 This apckage adds support for compiling Fortran 77 programs with the
146 %description -l pl g77
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 Group(de): Entwicklung/Sprachen
155 Group(pl): Programowanie/Jêzyki
156 Requires: %{name} = %{version}
159 This package adds support for compiling CHILL programs with the GNU
162 Chill is the "CCITT High-Level Language", where CCITT is the old name
163 for what is now ITU, the International Telecommunications Union. It is
164 is language in the Modula2 family, and targets many of the same
165 applications as Ada (especially large embedded systems). Chill was
166 never used much in the United States, but is still being used in
167 Europe, Brazil, Korea, and other places.
169 %description -l pl chill
170 Ten pakiet dodaje do gcc mo¿liwo¶æ kompilowania programów w jêzyku
174 Summary: Java support for gcc
175 Summary(pl): Wspomoganie Java dla gcc
176 Group: Development/Languages
177 Group(de): Entwicklung/Sprachen
178 Group(pl): Programowanie/Jêzyki
179 Requires: %{name} = %{version}
180 Requires: libgcj >= 2.95.1
183 This package adds experimental support for compiling Java(tm) programs
184 and bytecode into native code. To use this you will also need the
187 %description -l pl java
188 Ten pakiet dodaje do gcc (eksperymentaln±) mo¿liwo¶æ kompilowania
189 programów w Javie(tm) i bytecode do kodu procesora. Wymaga pakietu
192 %package -n libstdc++
193 Summary: GNU c++ library
194 Summary(pl): Biblioteki GNU C++
197 Group(fr): Librairies
198 Group(pl): Biblioteki
199 Version: %{STDC_VERSION}
200 Release: %{STDC_RELEASE}
203 %description -n libstdc++
204 This is the GNU implementation of the standard C++ libraries, along
205 with additional GNU tools. This package includes the shared libraries
206 necessary to run C++ applications.
208 %description -l de -n libstdc++
209 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
210 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
211 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
213 %description -l fr -n libstdc++
214 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
215 des outils GNU supplémentaires. Ce package comprend les librairies
216 partagées nécessaires à l'exécution d'application C++.
218 %description -l pl -n libstdc++
219 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
220 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
221 uruchomienia aplikacji napisanych w C++.
223 %description -l tr -n libstdc++
224 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
225 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
227 %package -n libstdc++-devel
228 Summary: Header files and libraries for C++ development
229 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
230 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
231 Summary(pl): Pliki nag³ówkowe do programowania z u¿yciem bibliotek C++
232 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
233 Group: Development/Libraries
234 Group(de): Entwicklung/Libraries
235 Group(fr): Development/Librairies
236 Group(pl): Programowanie/Biblioteki
237 Version: %{STDC_VERSION}
238 Release: %{STDC_RELEASE}
239 Requires: libstdc++ = %{STDC_VERSION}
240 Requires: %{name}-c++
241 Obsoletes: libg++-devel
243 %description -n libstdc++-devel
244 This is the GNU implementation of the standard C++ libraries. This
245 package includes the header files and libraries needed for C++
248 %description -l pl -n libstdc++-devel
249 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
250 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
251 programowaniu w jêzyku C++.
253 %package -n libstdc++-static
254 Summary: Static c++ standard library
255 Summary(pl): Biblioteka statyczna c++
256 Group: Development/Libraries
257 Group(de): Entwicklung/Libraries
258 Group(fr): Development/Librairies
259 Group(pl): Programowanie/Biblioteki
260 Version: %{STDC_VERSION}
261 Release: %{STDC_RELEASE}
262 Requires: libstdc++-devel = %{STDC_VERSION}
264 %description -n libstdc++-static
265 Static c++ standard library.
267 %description -l pl -n libstdc++-static
268 Biblioteka statyczna C++.
271 Summary: The C Pre Processor
272 Summary(pl): Preprocesor C
273 Group: Development/Languages
274 Group(de): Entwicklung/Sprachen
275 Group(pl): Programowanie/Jêzyki
280 The C preprocessor is a "macro processor" that is used automatically
281 by the C compiler to transform your program before actual compilation.
282 It is called a macro processor because it allows you to define
283 "macros", which are brief abbreviations for longer constructs.
285 The C preprocessor provides four separate facilities that you can use
288 - Inclusion of header files. These are files of declarations that can
289 be substituted into your program.
290 - Macro expansion. You can define "macros", which are abbreviations
291 for arbitrary fragments of C code, and then the C preprocessor will
292 replace the macros with their definitions throughout the program.
293 - Conditional compilation. Using special preprocessing directives, you
294 can include or exclude parts of the program according to various
296 - Line control. If you use a program to combine or rearrange source
297 files into an intermediate file which is then compiled, you can use
298 line control to inform the compiler of where each source line
299 originally came from.
301 %description -l pl -n cpp
302 Preprocesor C jest "makro procesorem" który jest automatycznie
303 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
304 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
305 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
306 d³ugich konstrukcji w jêzyku C.
308 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
310 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
311 deklaracji polecenia do³±czenia innego pliku.
312 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
313 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
314 identyfikatora deklarowan± wcze¶niej warto¶ci±.
315 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
316 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
317 fragmenty obrabianego strumienia tekstów.
318 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
319 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
320 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
321 odpowiada fragment pliku wynikowego.
324 %setup -q -n %{name}-%{rver}
341 %ifarch sparc sparc32
358 rm -rf obj-%{_target_platform}
359 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
361 CFLAGS="%{rpmcflags}" \
362 CXXFLAGS="%{rpmcflags}" \
363 TEXCONFIG=false ../configure \
364 --prefix=%{_prefix} \
365 --infodir=%{_infodir} \
367 %ifnarch sparc sparc64
368 --enable-threads=posix \
373 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
375 --build=%{_target_platform} \
376 --host=%{_target_platform}
378 PATH=$PATH:/sbin:%{_sbindir}
379 touch ../gcc/c-gperf.h
382 %{__make} -C obj-%{_target_platform} bootstrap \
383 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
388 rm -rf $RPM_BUILD_ROOT
389 install -d $RPM_BUILD_ROOT{/lib,%{_datadir}}
391 cd obj-%{_target_platform}
392 PATH=$PATH:/sbin:%{_sbindir}
395 prefix=$RPM_BUILD_ROOT%{_prefix} \
396 mandir=$RPM_BUILD_ROOT%{_mandir} \
397 infodir=$RPM_BUILD_ROOT%{_infodir}
400 prefix=$RPM_BUILD_ROOT%{_prefix} \
401 mandir=$RPM_BUILD_ROOT%{_mandir} \
402 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
404 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
406 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
407 echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
408 install %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1/
410 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
411 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
412 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
414 gzip -9nf ../READ* ../ChangeLog ../gcc/ch/chill.brochure
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
432 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
435 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
438 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
440 %post -p /sbin/ldconfig -n libstdc++
441 %postun -p /sbin/ldconfig -n libstdc++
444 rm -rf $RPM_BUILD_ROOT
447 %defattr(644,root,root,755)
448 %doc READ* ChangeLog.gz
450 %dir %{_libdir}/gcc-lib
451 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
452 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
453 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
455 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
456 %attr(755,root,root) %{_bindir}/gcc
457 %attr(755,root,root) %{_bindir}/gcov
458 %attr(755,root,root) %{_bindir}/protoize
459 %attr(755,root,root) %{_bindir}/unprotoize
460 %attr(755,root,root) %{_bindir}/cc
462 %{_mandir}/man1/gcc.1*
463 %{_mandir}/man1/gcov.1*
466 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
467 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
468 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
469 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
470 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
473 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
476 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
478 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
479 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
480 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
481 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
482 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
483 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
484 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
485 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
486 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
487 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
490 %defattr(644,root,root,755)
492 %{_mandir}/man1/g++.1.gz
494 %attr(755,root,root) %{_bindir}/g++
495 %attr(755,root,root) %{_bindir}/c++
496 %attr(755,root,root) %{_bindir}/c++filt
497 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
499 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
500 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
501 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
502 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
505 %defattr(644,root,root,755)
507 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
509 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
510 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
513 %defattr(644,root,root,755)
515 %attr(755,root,root) %{_bindir}/g77
516 %attr(755,root,root) %{_bindir}/f77
520 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
521 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
523 %{_mandir}/man1/g77.1*
524 %{_mandir}/man1/f77.1*
526 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
529 %defattr(644,root,root,755)
530 %doc gcc/ch/chill.brochure.gz
532 %attr(755,root,root) %{_bindir}/chill
536 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
537 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
538 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
541 %defattr(644,root,root,755)
543 %attr(755,root,root) %{_bindir}/gcj
544 %attr(755,root,root) %{_bindir}/gcjh
545 %attr(755,root,root) %{_bindir}/jcf-dump
546 %attr(755,root,root) %{_bindir}/jv-scan
548 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
549 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
552 %defattr(644,root,root,755)
553 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
555 %files -n libstdc++-devel
556 %defattr(644,root,root,755)
558 %attr(755,root,root) %{_libdir}/libstdc++.so
560 %files -n libstdc++-static
561 %defattr(644,root,root,755)
562 %attr(644,root,root) %{_libdir}/libstdc++.a
565 %defattr(644,root,root,755)
566 %attr(755,root,root) /lib/cpp
567 %attr(755,root,root) %{_bindir}/cpp
568 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
570 %{_mandir}/man1/cpp.1*
571 %{_mandir}/man1/cccp.1*
572 %{_infodir}/cpp.info*.gz