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 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{rver}/%{name}-%{rver}.tar.gz
14 # generated from binutils' info
16 Source3: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
17 Patch0: %{name}-info.patch
18 Patch1: %{name}-pld-linux.patch
19 Patch2: %{name}-libstdc++.patch
20 Patch3: %{name}-bootstrap.patch
21 Patch4: %{name}-cpp-macro-doc.patch
22 Patch5: %{name}-default-arch.patch
23 Patch6: %{name}-libstdc++-out-of-mem.patch
24 Patch7: %{name}-libstdc++-wstring.patch
25 Patch8: %{name}-libstdc++-bastring.patch
26 Patch9: %{name}-manpage.patch
27 Patch10: %{name}-cpp-dos-newlines.patch
28 Patch11: %{name}-gpc.patch
29 Patch12: %{name}-m68k-pic.patch
30 Patch13: %{name}-sparc32-rfi.patch
31 Patch14: %{name}-builtin-apply.patch
32 Patch15: %{name}-ppc-ice.patch
33 Patch16: %{name}-ppc-descriptions.patch
34 Patch17: %{name}-alpha-complex-float.patch
35 Patch18: %{name}-gcj-vs-iconv.patch
36 Patch19: %{name}-libobjc.patch
37 #Patch20: %{name}-pointer-arith.patch
38 Patch50: %{name}-%{rver}-%{snap}.patch.bz2
40 BuildRequires: texinfo
41 Requires: binutils >= 2.9.1.0.25
42 Requires: cpp = %{version}
43 URL: http://gcc.gnu.org/
44 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 A compiler aimed at integrating all the optimizations and features
48 necessary for a high-performance and stable development environment.
51 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
52 wyprodukowania szybkiego i stabilnego kodu wynikowego.
55 Summary: C++ support for gcc
56 Summary(fr): Support C++ pour le compilateur gcc
57 Summary(pl): Wspomaganie C++ dla kompilatora gcc
58 Summary(tr): gcc için C++ desteði
59 Group: Development/Languages
62 Requires: %{name} = %{version}
65 This package adds C++ support to the GNU C compiler. It includes
66 support for most of the current C++ specification, including templates
67 and exception handling. It does not include a standard C++ library,
68 which is available separately.
70 %description -l de c++
71 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
72 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
73 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
74 sie ist getrennt erhältlich.
76 %description -l fr c++
77 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
78 support pour la plupart des spécifications actuelles de C++, dont les
79 modéles et la gestion des exceptions. Il ne comprend pas une
80 bibliothéque C++ standard, qui est disponible séparément.
82 %description -l pl c++
83 Programy z tego pakietu zapewniaj± wsparcie dla C++ do gcc. Posiada
84 wspomaganie dla du¿ej ilo¶ci obecnych specyfikacji C++, nie posiada
85 natomiast standardowych bibliotek C++, które s± w oddzielnym pakiecie.
87 %description -l tr c++
88 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
89 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
90 C++ kitaplýðý bu pakette yer almaz.
93 Summary: Objective C support for gcc
94 Summary(de): Objektive C-Unterstützung für gcc
95 Summary(fr): Gestion d'Objective C pour gcc
96 Summary(pl): Wspomaganie obiektowego C dla kompilatora gcc
97 Summary(tr): gcc için Objective C desteði
98 Group: Development/Languages
101 Requires: %{name} = %{version}
104 This package adds Objective C support to the GNU C compiler. Objective
105 C is a object oriented derivative of the C language, mainly used on
106 systems running NeXTSTEP. This package does not include the standard
107 objective C object library.
109 %description -l de objc
110 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
111 Objective C ist ein objektorientiertes Derivat von C, das zur
112 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
113 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
115 %description -l fr objc
116 Ce package ajoute un support Objective C au compilateur C GNU.
117 L'Objective C est un langage orienté objetdérivé du langage C,
118 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
119 pas la bibliothéque Objective C standard.
121 %description -l pl objc
122 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
123 pakiecie nie ma jeszcze bibliotek C-obj.
125 %description -l tr objc
126 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
127 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
128 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
129 kitaplýðý bu pakette yer almaz.
132 Summary: Fortran 77 support for gcc
133 Summary(pl): Wspomaganie Fortran 77 dla gcc
134 Group: Development/Languages
138 This apckage adds support for compiling Fortran 77 programs with the
141 %description -l pl g77
142 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc. Jest
143 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
146 Summary: CHILL support for gcc
147 Summary(pl): Wspomoganie CHILL dla gcc
148 Group: Development/Languages
149 Requires: %{name} = %{version}
152 This package adds support for compiling CHILL programs with the GNU
155 Chill is the "CCITT High-Level Language", where CCITT is the old name
156 for what is now ITU, the International Telecommunications Union. It is
157 is language in the Modula2 family, and targets many of the same
158 applications as Ada (especially large embedded systems). Chill was
159 never used much in the United States, but is still being used in
160 Europe, Brazil, Korea, and other places.
162 %description -l pl chill
163 Ten pakiet dodaje do gcc mo¿liwo¶æ kompilowania programów w jêzyku
167 Summary: Java support for gcc
168 Summary(pl): Wspomoganie Java dla gcc
169 Group: Development/Languages
170 Requires: %{name} = %{version}
171 Requires: libgcj >= 2.95.1
174 This package adds experimental support for compiling Java(tm) programs
175 and bytecode into native code. To use this you will also need the
178 %description -l pl java
179 Ten pakiet dodaje do gcc (eksperymentaln±) mo¿liwo¶æ kompilowania
180 programów w Javie(tm) i bytecode do kodu procesora. Wymaga pakietu
183 %package -n libstdc++
184 Summary: GNU c++ library
185 Summary(pl): Biblioteki GNU C++
187 Version: %{STDC_VERSION}
188 Release: %{STDC_RELEASE}
191 %description -n libstdc++
192 This is the GNU implementation of the standard C++ libraries, along
193 with additional GNU tools. This package includes the shared libraries
194 necessary to run C++ applications.
196 %description -l de -n libstdc++
197 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
198 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
199 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
201 %description -l fr -n libstdc++
202 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
203 des outils GNU supplémentaires. Ce package comprend les librairies
204 partagées nécessaires à l'exécution d'application C++.
206 %description -l pl -n libstdc++
207 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
208 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
209 uruchomienia aplikacji napisanych w C++.
211 %description -l tr -n libstdc++
212 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
213 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
215 %package -n libstdc++-devel
216 Summary: Header files and libraries for C++ development
217 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
218 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++
219 Summary(pl): Pliki nag³ówkowe do programowania z u¿yciem bibliotek C++
220 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
221 Group: Development/Libraries
222 Version: %{STDC_VERSION}
223 Release: %{STDC_RELEASE}
224 Requires: libstdc++ = %{STDC_VERSION}
225 Requires: %{name}-c++
226 Obsoletes: libg++-devel
228 %description -n libstdc++-devel
229 This is the GNU implementation of the standard C++ libraries. This
230 package includes the header files and libraries needed for C++
233 %description -l pl -n libstdc++-devel
234 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
235 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
236 programowaniu w jêzyku C++.
238 %package -n libstdc++-static
239 Summary: Static c++ standard library
240 Summary(pl): Biblioteka statyczna c++
241 Group: Development/Libraries
242 Version: %{STDC_VERSION}
243 Release: %{STDC_RELEASE}
244 Requires: libstdc++-devel = %{STDC_VERSION}
246 %description -n libstdc++-static
247 Static c++ standard library.
249 %description -l pl -n libstdc++-static
250 Biblioteka statyczna C++.
253 Summary: The C Pre Processor
254 Summary(pl): Preprocesor C
255 Group: Development/Languages
260 The C preprocessor is a "macro processor" that is used automatically
261 by the C compiler to transform your program before actual compilation.
262 It is called a macro processor because it allows you to define
263 "macros", which are brief abbreviations for longer constructs.
265 The C preprocessor provides four separate facilities that you can use
268 - Inclusion of header files. These are files of declarations that can
269 be substituted into your program.
270 - Macro expansion. You can define "macros", which are abbreviations
271 for arbitrary fragments of C code, and then the C preprocessor will
272 replace the macros with their definitions throughout the program.
273 - Conditional compilation. Using special preprocessing directives, you
274 can include or exclude parts of the program according to various
276 - Line control. If you use a program to combine or rearrange source
277 files into an intermediate file which is then compiled, you can use
278 line control to inform the compiler of where each source line
279 originally came from.
281 %description -l pl -n cpp
282 Preprocesor C jest "makro procesorem" który jest automatycznie
283 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
284 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
285 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
286 d³ugich konstrukcji w jêzyku C.
288 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
290 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
291 deklaracji polecenia do³±czenia innego pliku.
292 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
293 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
294 identyfikatora deklarowan± wcze¶niej warto¶ci±.
295 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
296 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
297 fragmenty obrabianego strumienia tekstów.
298 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
299 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
300 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
301 odpowiada fragment pliku wynikowego.
304 %setup -q -n %{name}-%{rver}
321 %ifarch sparc sparc32
338 rm -rf obj-%{_target_platform}
339 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
341 CFLAGS="%{rpmcflags}" \
342 CXXFLAGS="%{rpmcflags}" \
343 TEXCONFIG=false ../configure \
344 --prefix=%{_prefix} \
345 --infodir=%{_infodir} \
347 %ifnarch sparc sparc64
348 --enable-threads=posix \
353 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
355 --build=%{_target_platform} \
356 --host=%{_target_platform}
358 PATH=$PATH:/sbin:%{_sbindir}
359 touch ../gcc/c-gperf.h
362 %{__make} -C obj-%{_target_platform} bootstrap \
363 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
368 rm -rf $RPM_BUILD_ROOT
369 install -d $RPM_BUILD_ROOT{/lib,%{_datadir}}
371 cd obj-%{_target_platform}
372 PATH=$PATH:/sbin:%{_sbindir}
375 prefix=$RPM_BUILD_ROOT%{_prefix} \
376 mandir=$RPM_BUILD_ROOT%{_mandir} \
377 infodir=$RPM_BUILD_ROOT%{_infodir}
380 prefix=$RPM_BUILD_ROOT%{_prefix} \
381 mandir=$RPM_BUILD_ROOT%{_mandir} \
382 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
384 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
386 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
387 echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
388 install %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1
389 install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1
390 bzip2 -dc %{SOURCE3} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
392 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
393 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
394 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
396 gzip -9nf ../READ* ../ChangeLog ../gcc/ch/chill.brochure
399 rm -rf $RPM_BUILD_ROOT
402 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
405 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
408 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
411 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
414 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
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
425 %post -p /sbin/ldconfig -n libstdc++
426 %postun -p /sbin/ldconfig -n libstdc++
429 %defattr(644,root,root,755)
430 %doc READ* ChangeLog.gz
432 %dir %{_libdir}/gcc-lib
433 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
434 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
435 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
437 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
438 %attr(755,root,root) %{_bindir}/gcc
439 %attr(755,root,root) %{_bindir}/gcov
440 %attr(755,root,root) %{_bindir}/protoize
441 %attr(755,root,root) %{_bindir}/unprotoize
442 %attr(755,root,root) %{_bindir}/cc
444 %{_mandir}/man1/gcc.1*
445 %{_mandir}/man1/gcov.1*
446 %lang(fr) %{_mandir}/fr/man1/gcc.1*
447 %lang(ja) %{_mandir}/ja/man1/gcc.1*
450 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
451 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
452 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
453 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
454 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
457 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
460 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
462 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
463 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
464 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
465 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
466 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
467 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
468 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
469 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
470 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
471 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
474 %defattr(644,root,root,755)
476 %{_mandir}/man1/g++.1*
477 %{_mandir}/man1/c++filt.1*
478 %lang(ja) %{_mandir}/ja/man1/g++.1*
479 %lang(es) %{_mandir}/es/man1/c++filt*
481 %attr(755,root,root) %{_bindir}/g++
482 %attr(755,root,root) %{_bindir}/c++
483 %attr(755,root,root) %{_bindir}/c++filt
484 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
486 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
487 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
488 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
489 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
492 %defattr(644,root,root,755)
494 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
496 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
497 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
500 %defattr(644,root,root,755)
502 %attr(755,root,root) %{_bindir}/g77
503 %attr(755,root,root) %{_bindir}/f77
507 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
508 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
510 %{_mandir}/man1/g77.1*
511 %{_mandir}/man1/f77.1*
512 %lang(ja) %{_mandir}/ja/man1/g77.1*
513 %lang(ja) %{_mandir}/ja/man1/f77.1*
515 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
518 %defattr(644,root,root,755)
519 %doc gcc/ch/chill.brochure.gz
521 %attr(755,root,root) %{_bindir}/chill
525 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
526 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
527 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
530 %defattr(644,root,root,755)
532 %attr(755,root,root) %{_bindir}/gcj
533 %attr(755,root,root) %{_bindir}/gcjh
534 %attr(755,root,root) %{_bindir}/jcf-dump
535 %attr(755,root,root) %{_bindir}/jv-scan
537 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
538 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
541 %defattr(644,root,root,755)
542 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
544 %files -n libstdc++-devel
545 %defattr(644,root,root,755)
547 %attr(755,root,root) %{_libdir}/libstdc++.so
549 %files -n libstdc++-static
550 %defattr(644,root,root,755)
551 %attr(644,root,root) %{_libdir}/libstdc++.a
554 %defattr(644,root,root,755)
555 %attr(755,root,root) /lib/cpp
556 %attr(755,root,root) %{_bindir}/cpp
557 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
559 %{_mandir}/man1/cpp.1*
560 %{_mandir}/man1/cccp.1*
561 %lang(ja) %{_mandir}/ja/man1/cpp.1*
562 %lang(ja) %{_mandir}/ja/man1/cccp.1*
563 %{_infodir}/cpp.info*.gz