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 # generated from binutils' info
18 Source3: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
19 Patch0: %{name}-info.patch
20 Patch1: %{name}-pld-linux.patch
21 Patch2: %{name}-libstdc++.patch
22 Patch3: %{name}-bootstrap.patch
23 Patch4: %{name}-cpp-macro-doc.patch
24 Patch5: %{name}-default-arch.patch
25 Patch6: %{name}-libstdc++-out-of-mem.patch
26 Patch7: %{name}-libstdc++-wstring.patch
27 Patch8: %{name}-libstdc++-bastring.patch
28 Patch9: %{name}-manpage.patch
29 Patch10: %{name}-cpp-dos-newlines.patch
30 Patch11: %{name}-gpc.patch
31 Patch12: %{name}-m68k-pic.patch
32 Patch13: %{name}-sparc32-rfi.patch
33 Patch14: %{name}-builtin-apply.patch
34 Patch15: %{name}-ppc-ice.patch
35 Patch16: %{name}-ppc-descriptions.patch
36 Patch17: %{name}-alpha-complex-float.patch
37 Patch18: %{name}-gcj-vs-iconv.patch
38 Patch19: %{name}-libobjc.patch
39 #Patch20: %{name}-pointer-arith.patch
40 Patch50: %{name}-%{rver}-%{snap}.patch.bz2
42 BuildRequires: texinfo
43 Requires: binutils >= 2.9.1.0.25
44 Requires: cpp = %{version}
45 URL: http://gcc.gnu.org/
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 A compiler aimed at integrating all the optimizations and features
50 necessary for a high-performance and stable development environment.
53 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
54 wyprodukowania szybkiego i stabilnego kodu wynikowego.
57 Summary: C++ support for gcc
58 Summary(fr): Support C++ pour le compilateur gcc
59 Summary(pl): Wspomaganie C++ dla kompilatora gcc
60 Summary(tr): gcc için C++ desteði
61 Group: Development/Languages
62 Group(de): Entwicklung/Sprachen
63 Group(pl): Programowanie/Jêzyki
66 Requires: %{name} = %{version}
69 This package adds C++ support to the GNU C compiler. It includes
70 support for most of the current C++ specification, including templates
71 and exception handling. It does not include a standard C++ library,
72 which is available separately.
74 %description -l de c++
75 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
76 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
77 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
78 sie ist getrennt erhältlich.
80 %description -l fr c++
81 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
82 support pour la plupart des spécifications actuelles de C++, dont les
83 modéles et la gestion des exceptions. Il ne comprend pas une
84 bibliothéque C++ standard, qui est disponible séparément.
86 %description -l pl c++
87 Programy z tego pakietu zapewniaj± wsparcie dla C++ do gcc. Posiada
88 wspomaganie dla du¿ej ilo¶ci obecnych specyfikacji C++, nie posiada
89 natomiast standardowych bibliotek C++, które s± w oddzielnym pakiecie.
91 %description -l tr c++
92 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
93 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
94 C++ kitaplýðý bu pakette yer almaz.
97 Summary: Objective C support for gcc
98 Summary(de): Objektive C-Unterstützung für gcc
99 Summary(fr): Gestion d'Objective C pour gcc
100 Summary(pl): Wspomaganie obiektowego C dla kompilatora gcc
101 Summary(tr): gcc için Objective C desteði
102 Group: Development/Languages
103 Group(de): Entwicklung/Sprachen
104 Group(pl): Programowanie/Jêzyki
107 Requires: %{name} = %{version}
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 -l de objc
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 -l fr objc
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 -l pl objc
128 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
129 pakiecie nie ma jeszcze bibliotek C-obj.
131 %description -l tr objc
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): Wspomaganie Fortran 77 dla gcc
140 Group: Development/Languages
141 Group(de): Entwicklung/Sprachen
142 Group(pl): Programowanie/Jêzyki
146 This apckage adds support for compiling Fortran 77 programs with the
149 %description -l pl g77
150 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc. Jest
151 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
154 Summary: CHILL support for gcc
155 Summary(pl): Wspomoganie CHILL dla gcc
156 Group: Development/Languages
157 Group(de): Entwicklung/Sprachen
158 Group(pl): Programowanie/Jêzyki
159 Requires: %{name} = %{version}
162 This package adds support for compiling CHILL programs with the GNU
165 Chill is the "CCITT High-Level Language", where CCITT is the old name
166 for what is now ITU, the International Telecommunications Union. It is
167 is language in the Modula2 family, and targets many of the same
168 applications as Ada (especially large embedded systems). Chill was
169 never used much in the United States, but is still being used in
170 Europe, Brazil, Korea, and other places.
172 %description -l pl chill
173 Ten pakiet dodaje do gcc mo¿liwo¶æ kompilowania programów w jêzyku
177 Summary: Java support for gcc
178 Summary(pl): Wspomoganie Java dla gcc
179 Group: Development/Languages
180 Group(de): Entwicklung/Sprachen
181 Group(pl): Programowanie/Jêzyki
182 Requires: %{name} = %{version}
183 Requires: libgcj >= 2.95.1
186 This package adds experimental support for compiling Java(tm) programs
187 and bytecode into native code. To use this you will also need the
190 %description -l pl java
191 Ten pakiet dodaje do gcc (eksperymentaln±) mo¿liwo¶æ kompilowania
192 programów w Javie(tm) i bytecode do kodu procesora. Wymaga pakietu
195 %package -n libstdc++
196 Summary: GNU c++ library
197 Summary(pl): Biblioteki GNU C++
200 Group(es): Bibliotecas
201 Group(fr): Librairies
202 Group(pl): Biblioteki
203 Group(pt_BR): Bibliotecas
204 Group(ru): âÉÂÌÉÏÔÅËÉ
205 Group(uk): â¦Â̦ÏÔÅËÉ
206 Version: %{STDC_VERSION}
207 Release: %{STDC_RELEASE}
210 %description -n libstdc++
211 This is the GNU implementation of the standard C++ libraries, along
212 with additional GNU tools. This package includes the shared libraries
213 necessary to run C++ applications.
215 %description -l de -n libstdc++
216 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
217 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
218 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
220 %description -l fr -n libstdc++
221 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
222 des outils GNU supplémentaires. Ce package comprend les librairies
223 partagées nécessaires à l'exécution d'application C++.
225 %description -l pl -n libstdc++
226 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
227 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
228 uruchomienia aplikacji napisanych w C++.
230 %description -l tr -n libstdc++
231 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
232 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
234 %package -n libstdc++-devel
235 Summary: Header files and libraries for C++ development
236 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
237 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
238 Summary(pl): Pliki nag³ówkowe do programowania z u¿yciem bibliotek C++
239 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
240 Group: Development/Libraries
241 Group(de): Entwicklung/Libraries
242 Group(es): Desarrollo/Bibliotecas
243 Group(fr): Development/Librairies
244 Group(pl): Programowanie/Biblioteki
245 Version: %{STDC_VERSION}
246 Release: %{STDC_RELEASE}
247 Requires: libstdc++ = %{STDC_VERSION}
248 Requires: %{name}-c++
249 Obsoletes: libg++-devel
251 %description -n libstdc++-devel
252 This is the GNU implementation of the standard C++ libraries. This
253 package includes the header files and libraries needed for C++
256 %description -l pl -n libstdc++-devel
257 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
258 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
259 programowaniu w jêzyku C++.
261 %package -n libstdc++-static
262 Summary: Static c++ standard library
263 Summary(pl): Biblioteka statyczna c++
264 Group: Development/Libraries
265 Group(de): Entwicklung/Libraries
266 Group(es): Desarrollo/Bibliotecas
267 Group(fr): Development/Librairies
268 Group(pl): Programowanie/Biblioteki
269 Version: %{STDC_VERSION}
270 Release: %{STDC_RELEASE}
271 Requires: libstdc++-devel = %{STDC_VERSION}
273 %description -n libstdc++-static
274 Static c++ standard library.
276 %description -l pl -n libstdc++-static
277 Biblioteka statyczna C++.
280 Summary: The C Pre Processor
281 Summary(pl): Preprocesor C
282 Group: Development/Languages
283 Group(de): Entwicklung/Sprachen
284 Group(pl): Programowanie/Jêzyki
289 The C preprocessor is a "macro processor" that is used automatically
290 by the C compiler to transform your program before actual compilation.
291 It is called a macro processor because it allows you to define
292 "macros", which are brief abbreviations for longer constructs.
294 The C preprocessor provides four separate facilities that you can use
297 - Inclusion of header files. These are files of declarations that can
298 be substituted into your program.
299 - Macro expansion. You can define "macros", which are abbreviations
300 for arbitrary fragments of C code, and then the C preprocessor will
301 replace the macros with their definitions throughout the program.
302 - Conditional compilation. Using special preprocessing directives, you
303 can include or exclude parts of the program according to various
305 - Line control. If you use a program to combine or rearrange source
306 files into an intermediate file which is then compiled, you can use
307 line control to inform the compiler of where each source line
308 originally came from.
310 %description -l pl -n cpp
311 Preprocesor C jest "makro procesorem" który jest automatycznie
312 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
313 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
314 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
315 d³ugich konstrukcji w jêzyku C.
317 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
319 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
320 deklaracji polecenia do³±czenia innego pliku.
321 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
322 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
323 identyfikatora deklarowan± wcze¶niej warto¶ci±.
324 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
325 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
326 fragmenty obrabianego strumienia tekstów.
327 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
328 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
329 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
330 odpowiada fragment pliku wynikowego.
333 %setup -q -n %{name}-%{rver}
350 %ifarch sparc sparc32
367 rm -rf obj-%{_target_platform}
368 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
370 CFLAGS="%{rpmcflags}" \
371 CXXFLAGS="%{rpmcflags}" \
372 TEXCONFIG=false ../configure \
373 --prefix=%{_prefix} \
374 --infodir=%{_infodir} \
376 %ifnarch sparc sparc64
377 --enable-threads=posix \
382 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
384 --build=%{_target_platform} \
385 --host=%{_target_platform}
387 PATH=$PATH:/sbin:%{_sbindir}
388 touch ../gcc/c-gperf.h
391 %{__make} -C obj-%{_target_platform} bootstrap \
392 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
397 rm -rf $RPM_BUILD_ROOT
398 install -d $RPM_BUILD_ROOT{/lib,%{_datadir}}
400 cd obj-%{_target_platform}
401 PATH=$PATH:/sbin:%{_sbindir}
404 prefix=$RPM_BUILD_ROOT%{_prefix} \
405 mandir=$RPM_BUILD_ROOT%{_mandir} \
406 infodir=$RPM_BUILD_ROOT%{_infodir}
409 prefix=$RPM_BUILD_ROOT%{_prefix} \
410 mandir=$RPM_BUILD_ROOT%{_mandir} \
411 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
413 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
415 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
416 echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
417 install %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1
418 install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1
419 bzip2 -dc %{SOURCE3} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
421 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
422 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
423 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
425 gzip -9nf ../READ* ../ChangeLog ../gcc/ch/chill.brochure
428 rm -rf $RPM_BUILD_ROOT
431 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
434 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
437 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
440 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
443 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
446 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
449 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
452 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
454 %post -p /sbin/ldconfig -n libstdc++
455 %postun -p /sbin/ldconfig -n libstdc++
458 %defattr(644,root,root,755)
459 %doc READ* ChangeLog.gz
461 %dir %{_libdir}/gcc-lib
462 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
463 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
464 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
466 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
467 %attr(755,root,root) %{_bindir}/gcc
468 %attr(755,root,root) %{_bindir}/gcov
469 %attr(755,root,root) %{_bindir}/protoize
470 %attr(755,root,root) %{_bindir}/unprotoize
471 %attr(755,root,root) %{_bindir}/cc
473 %{_mandir}/man1/gcc.1*
474 %{_mandir}/man1/gcov.1*
475 %lang(fr) %{_mandir}/fr/man1/gcc.1*
476 %lang(ja) %{_mandir}/ja/man1/gcc.1*
479 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
480 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
481 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
482 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
483 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
486 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
489 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
491 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
492 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
493 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
494 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
495 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
496 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
497 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
498 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
499 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
500 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
503 %defattr(644,root,root,755)
505 %{_mandir}/man1/g++.1*
506 %{_mandir}/man1/c++filt.1*
507 %lang(ja) %{_mandir}/ja/man1/g++.1*
508 %lang(es) %{_mandir}/es/man1/c++filt*
510 %attr(755,root,root) %{_bindir}/g++
511 %attr(755,root,root) %{_bindir}/c++
512 %attr(755,root,root) %{_bindir}/c++filt
513 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
515 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
516 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
517 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
518 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
521 %defattr(644,root,root,755)
523 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
525 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
526 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
529 %defattr(644,root,root,755)
531 %attr(755,root,root) %{_bindir}/g77
532 %attr(755,root,root) %{_bindir}/f77
536 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
537 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
539 %{_mandir}/man1/g77.1*
540 %{_mandir}/man1/f77.1*
541 %lang(ja) %{_mandir}/ja/man1/g77.1*
542 %lang(ja) %{_mandir}/ja/man1/f77.1*
544 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
547 %defattr(644,root,root,755)
548 %doc gcc/ch/chill.brochure.gz
550 %attr(755,root,root) %{_bindir}/chill
554 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
555 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
556 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
559 %defattr(644,root,root,755)
561 %attr(755,root,root) %{_bindir}/gcj
562 %attr(755,root,root) %{_bindir}/gcjh
563 %attr(755,root,root) %{_bindir}/jcf-dump
564 %attr(755,root,root) %{_bindir}/jv-scan
566 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
567 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
570 %defattr(644,root,root,755)
571 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
573 %files -n libstdc++-devel
574 %defattr(644,root,root,755)
576 %attr(755,root,root) %{_libdir}/libstdc++.so
578 %files -n libstdc++-static
579 %defattr(644,root,root,755)
580 %attr(644,root,root) %{_libdir}/libstdc++.a
583 %defattr(644,root,root,755)
584 %attr(755,root,root) /lib/cpp
585 %attr(755,root,root) %{_bindir}/cpp
586 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
588 %{_mandir}/man1/cpp.1*
589 %{_mandir}/man1/cccp.1*
590 %lang(ja) %{_mandir}/ja/man1/cpp.1*
591 %lang(ja) %{_mandir}/ja/man1/cccp.1*
592 %{_infodir}/cpp.info*.gz