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.bz2
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}
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 stabilnego 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: libgcj >= 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++
187 Summary: GNU c++ library
188 Summary(pl): Biblioteki GNU C++
190 Version: %{STDC_VERSION}
191 Release: %{STDC_RELEASE}
194 %description -n libstdc++
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++ -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++ -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++ -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++ -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++-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++ = %{STDC_VERSION}
228 Requires: %{name}-c++
229 Obsoletes: libg++-devel
231 %description -n libstdc++-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++-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++-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++-devel = %{STDC_VERSION}
249 %description -n libstdc++-static
250 Static c++ standard library.
252 %description -n libstdc++-static -l pl
253 Biblioteka statyczna C++.
256 Summary: The C Pre Processor
257 Summary(pl): Preprocesor C
258 Group: Development/Languages
263 The C preprocessor is a "macro processor" that is used automatically
264 by the C compiler to transform your program before actual compilation.
265 It is called a macro processor because it allows you to define
266 "macros", which are brief abbreviations for longer constructs.
268 The C preprocessor provides four separate facilities that you can use
271 - Inclusion of header files. These are files of declarations that can
272 be substituted into your program.
273 - Macro expansion. You can define "macros", which are abbreviations
274 for arbitrary fragments of C code, and then the C preprocessor will
275 replace the macros with their definitions throughout the program.
276 - Conditional compilation. Using special preprocessing directives, you
277 can include or exclude parts of the program according to various
279 - Line control. If you use a program to combine or rearrange source
280 files into an intermediate file which is then compiled, you can use
281 line control to inform the compiler of where each source line
282 originally came from.
284 %description -n cpp -l pl
285 Preprocesor C jest "makro procesorem" który jest automatycznie u¿ywany
286 przez kompilator C do obróbki kompilowanego programu przed w³a¶ciw±
287 kompilacj±. Jest on nazywany makroprocesorem, poniewa¿ umo¿liwia
288 definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie d³ugich
289 konstrukcji w jêzyku C.
291 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
293 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
294 deklaracji polecenia do³±czenia innego pliku.
295 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
296 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
297 identyfikatora deklarowan± wcze¶niej warto¶ci±.
298 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
299 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
300 fragmenty obrabianego strumienia tekstów.
301 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
302 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
303 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
304 odpowiada fragment pliku wynikowego.
307 %setup -q -n %{name}-%{rver}
324 %ifarch sparc sparc32
341 rm -rf obj-%{_target_platform}
342 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
344 CFLAGS="%{rpmcflags}" \
345 CXXFLAGS="%{rpmcflags}" \
346 TEXCONFIG=false ../configure \
347 --prefix=%{_prefix} \
348 --infodir=%{_infodir} \
350 %ifnarch sparc sparc64
351 --enable-threads=posix \
356 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
358 --build=%{_target_platform} \
359 --host=%{_target_platform}
361 PATH=$PATH:/sbin:%{_sbindir}
362 touch ../gcc/c-gperf.h
365 %{__make} -C obj-%{_target_platform} bootstrap \
366 LDFLAGS_FOR_TARGET="%{rpmldflags}" \
371 rm -rf $RPM_BUILD_ROOT
372 install -d $RPM_BUILD_ROOT{/lib,%{_datadir}}
374 cd obj-%{_target_platform}
375 PATH=$PATH:/sbin:%{_sbindir}
378 prefix=$RPM_BUILD_ROOT%{_prefix} \
379 mandir=$RPM_BUILD_ROOT%{_mandir} \
380 infodir=$RPM_BUILD_ROOT%{_infodir}
383 prefix=$RPM_BUILD_ROOT%{_prefix} \
384 mandir=$RPM_BUILD_ROOT%{_mandir} \
385 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
387 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
389 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
390 echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
391 install %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1
392 install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1
393 bzip2 -dc %{SOURCE3} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
395 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
396 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
397 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
399 gzip -9nf ../READ* ../ChangeLog ../gcc/ch/chill.brochure
402 rm -rf $RPM_BUILD_ROOT
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
426 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
428 %post -p /sbin/ldconfig -n libstdc++
429 %postun -p /sbin/ldconfig -n libstdc++
432 %defattr(644,root,root,755)
433 %doc READ* ChangeLog.gz
435 %dir %{_libdir}/gcc-lib
436 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
437 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
438 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
440 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
441 %attr(755,root,root) %{_bindir}/gcc
442 %attr(755,root,root) %{_bindir}/gcov
443 %attr(755,root,root) %{_bindir}/protoize
444 %attr(755,root,root) %{_bindir}/unprotoize
445 %attr(755,root,root) %{_bindir}/cc
447 %{_mandir}/man1/gcc.1*
448 %{_mandir}/man1/gcov.1*
449 %lang(fr) %{_mandir}/fr/man1/gcc.1*
450 %lang(ja) %{_mandir}/ja/man1/gcc.1*
453 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
454 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
455 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
456 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
457 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
459 %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