1 %define STDC_VERSION 2.10.0
2 %define GCJ_VERSION 2.95.1
3 Summary: GNU Compiler Collection
4 Summary(pl): Kolekcja kompilatorów GNU
9 Group: Development/Languages
10 Group(pl): Programowanie/Jêzyki
11 Source0: ftp://ftp.gnu.org/pub/gnu/gcc/%{name}-%{version}.tar.gz
12 Source1: ftp://sourceware.cygnus.com/pub/java/libgcj-%{GCJ_VERSION}.tar.gz
14 Patch0: gcc-info.patch
15 Patch1: gcc-libgcj-config.patch
16 Patch2: gcc-pld-linux.patch
17 Patch3: gcc-libstdc++.patch
18 Patch4: gcc-bootstrap.patch
19 Patch5: gcc-cpp-macro-doc.patch
20 Patch6: gcc-default-arch.patch
21 Patch7: gcc-cvs-updates.patch
22 Patch8: gcc-alpha-ev5-fix.patch
23 Patch9: gcc-libstdc++-out-of-mem.patch
24 Patch10: gcc-libstdc++-valarray.patch
25 Patch11: gcc-libstdc++-wstring.patch
26 Patch12: gcc-libstdc++-wall3.patch
27 Patch13: gcc-libstdc++-bastring.patch
28 Patch14: gcc-manpage.patch
29 Patch15: gcc-cpp-dos-newlines.patch
30 Patch16: gcc-g++-is-tree.patch
31 Patch17: gcc-gpc.patch
32 Patch18: gcc-arm-config.patch
33 Patch19: gcc-m68k-pic.patch
34 Patch20: gcc-sparc32-rfi.patch
35 Patch21: gcc-builtin-apply.patch
36 Patch22: gcc-ppc-ice.patch
37 Patch23: gcc-ppc-descriptions.patch
38 Patch24: gcc-ppc-andrew-dwarf-eh.patch
39 Requires: binutils >= 2.9.1.0.25
40 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 stablinego 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(pl): Programowanie/Jêzyki
64 This package adds C++ support to the GNU C compiler. It includes support
65 for most of the current C++ specification, including templates and
66 exception handling. It does not include a standard C++ library, which is
69 %description -l de c++
70 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
71 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
72 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten - sie
73 ist getrennt erhältlich.
75 %description -l fr c++
76 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
77 support pour la plupart des spécifications actuelles de C++, dont les
78 modéles et la gestion des exceptions. Il ne comprend pas une bibliothéque
79 C++ standard, qui est disponible séparément.
81 %description -l pl c++
82 Programy z tego pakietu zapewniaj± wsparcie dla C++ do gcc. Posiada
83 wspomaganie dla du¿ej ilo¶ci obecnych specyfikacji C++, nie posiada
84 natomiast standardowych bibliotek C++, które s± w oddzielnym pakiecie.
86 %description -l tr c++
87 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve aykýrý
88 durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart C++ kitaplýðý
92 Summary: Objective C support for gcc
93 Summary(de): Objektive C-Unterstützung für gcc
94 Summary(fr): Gestion d'Objective C pour gcc
95 Summary(pl): Wspomaganie obiektowego C dla kompilatora gcc
96 Summary(tr): gcc için Objective C desteði
97 Group: Development/Languages
98 Group(pl): Programowanie/Jêzyki
103 This package adds Objective C support to the GNU C compiler. Objective C is
104 a object oriented derivative of the C language, mainly used on systems
105 running NeXTSTEP. This package does not include the standard objective C
108 %description -l de objc
109 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
110 Objective C ist ein objektorientiertes Derivat von C, das zur Hauptsache
111 auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
112 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
114 %description -l fr objc
115 Ce package ajoute un support Objective C au compilateur C GNU. L'Objective C
116 est un langage orienté objetdérivé du langage C, principalement utilisé sur
117 les systèmes NeXTSTEP. Ce package n'inclue pas la bibliothéque Objective C
120 %description -l pl objc
121 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W pakiecie nie
122 ma jeszcze bibliotek C-obj.
124 %description -l tr objc
125 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C, C
126 dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan sistemlerde
127 yaygýn olarak kullanýlýr. Standart Objective C nesne kitaplýðý bu pakette
131 Summary: Fortran 77 support for gcc
132 Summary(pl): Wspomaganie Fortran 77 dla gcc
133 Group: Development/Languages
134 Group(pl): Programowanie/Jêzyki
138 This apckage adds support for compiling Fortran 77 programs with the GNU
141 %description -l pl g77
142 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc.
143 Jest 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 Group(pl): Programowanie/Jêzyki
150 Requires: %{name} = %{version}
153 This package adds support for compiling CHILL programs with the GNU
156 Chill is the "CCITT High-Level Language", where CCITT is the old
157 name for what is now ITU, the International Telecommunications Union.
158 It is is language in the Modula2 family, and targets many of the
159 same applications as Ada (especially large embedded systems).
160 Chill was never used much in the United States, but is still
161 being used in Europe, Brazil, Korea, and other places.
164 Summary: Java support for gcc
165 Summary(pl): Wspomoganie Java dla gcc
166 Group: Development/Languages
167 Group(pl): Programowanie/Jêzyki
168 Requires: %{name} = %{version}
169 Requires: %{name}-libgcj = %{version}
172 This package adds experimental support for compiling Java(tm) programs and
173 bytecode into native code. To use this you will also need the gcc-libgcj
177 Summary: Java runtime library for gcc
179 URL: http://sourceware.cygnus.com/java/
183 The Java runtime library. You will need this package to compile your Java
184 programs using the gcc Java compiler (gcj).
186 %package libgcj-static
187 Summary: Static java runtime library for gcc
188 Group: Development/Libraries
189 URL: http://sourceware.cygnus.com/java/
190 Requires: %{name}-libgcj = %{version}
192 %description libgcj-static
193 The static java runtime library. You will need this package to staticly
194 compile your Java programs using the gcc Java compiler (gcj).
196 %package -n libstdc++
197 Summary: GNU c++ library
198 Summary(pl): Biblioteki GNU C++
200 Group(pl): Biblioteki
201 Version: %{STDC_VERSION}
204 %description -n libstdc++
205 This is the GNU implementation of the standard C++ libraries, along with
206 additional GNU tools. This package includes the shared libraries
207 necessary to run C++ applications.
209 %description -l de -n libstdc++
210 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit weiteren
211 GNU-Tools. Dieses Paket enthält die zum Ausführen von C++-Anwendungen
212 erforderlichen gemeinsam genutzten Libraries.
214 %description -l fr -n libstdc++
215 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que des
216 outils GNU supplémentaires. Ce package comprend les librairies partagées
217 nécessaires à l'exécution d'application C++.
219 %description -l pl -n libstdc++
220 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych bibliotek
221 C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do uruchomienia
222 aplikacji napisanych w C++.
224 %description -l tr -n libstdc++
225 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
226 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
228 %package -n libstdc++-devel
229 Summary: Header files and libraries for C++ development
230 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
231 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++.
232 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
233 Group: Development/Libraries
234 Group(pl): Programowanie/Biblioteki
235 Version: %{STDC_VERSION}
236 Requires: libstdc++ = %{STDC_VERSION}
237 Requires: %{name}-c++
238 Obsoletes: libg++-devel
240 %description -n libstdc++-devel
241 This is the GNU implementation of the standard C++ libraries. This package
242 includes the header files and libraries needed for C++ development.
244 %description -l pl -n libstdc++-devel
245 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych bibliotek
246 C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy programowaniu
249 %package -n libstdc++-static
250 Summary: Static c++ standard library
251 Summary(pl): Biblioeka statyczna c++
252 Group: Development/Libraries
253 Group(pl): Programowanie/Biblioteki
254 Version: %{STDC_VERSION}
255 Requires: libstdc++-devel = %{STDC_VERSION}
257 %description -n libstdc++-static
258 Static c++ standard library.
260 %description -l pl -n libstdc++-static
261 Biblioteka statyczna C++.
264 Summary: The C Pre Processor
265 Summary(pl): Preprocesor C
266 Group: Development/Languages
267 Group(pl): Programowanie/Jêzyki
271 The C preprocessor is a "macro processor" that is used automatically by the
272 C compiler to transform your program before actual compilation. It is called
273 a macro processor because it allows you to define "macros", which are brief
274 abbreviations for longer constructs.
276 The C preprocessor provides four separate facilities that you can use as you
279 * Inclusion of header files. These are files of declarations that
280 can be substituted into your program.
281 * Macro expansion. You can define "macros", which are abbreviations for
282 arbitrary fragments of C code, and then the C preprocessor will replace
283 the macros with their definitions throughout the program.
284 * Conditional compilation. Using special preprocessing directives,
285 you can include or exclude parts of the program according to various
287 * Line control. If you use a program to combine or rearrange source
288 files into an intermediate file which is then compiled, you can use line
289 control to inform the compiler of where each source line originally came
292 %description -l pl -n cpp
293 Przeprocesor C jest "makro procesorem" który jest automatycznie u¿ywany
294 przez kompilator C do obróbki kompilowanego programu przed w³a¶ciw±
295 kompilacj±. Jest on nazywany makroprocesorem, poniewa¿ umo¿liwia
296 definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie d³ugich konstrukcji
299 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
301 * Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
302 deklaracji polecenia do³±czenia innego pliku.
303 * Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
304 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
305 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
306 * Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
307 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne fragmenty
308 obrabianego strumienia tekstów.
309 * Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom podlega
310 wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania s±
311 zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
312 odpowiada fragment pliku wynikowego.
317 mv libgcj-%{GCJ_VERSION} libgcj
318 mv libgcj/boehm-gc libgcj/libjava libgcj/zlib libgcj/zip .
347 rm -rf obj-%{_target_platform}
348 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
350 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="-s" \
352 --prefix=%{_prefix} \
353 --infodir=%{_infodir} \
355 %ifnarch sparc sparc64
361 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
364 PATH=$PATH:/sbin:%{_sbindir}
365 touch ../gcc/c-gperf.h
367 make LDFLAGS_FOR_TARGET="-s" \
372 rm -rf $RPM_BUILD_ROOT
373 install -d $RPM_BUILD_ROOT%{_datadir}
375 cd obj-%{_target_platform}
376 PATH=$PATH:/sbin:%{_sbindir}
379 prefix=$RPM_BUILD_ROOT%{_prefix} \
380 mandir=$RPM_BUILD_ROOT%{_mandir} \
381 infodir=$RPM_BUILD_ROOT%{_infodir}
384 prefix=$RPM_BUILD_ROOT%{_prefix} \
385 mandir=$RPM_BUILD_ROOT%{_mandir} \
386 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
388 strip $RPM_BUILD_ROOT%{_bindir}/* || :
390 strip $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/{cc1,cc1chill,cc1obj,cc1plus,cpp,f771,collect2,jc1,jvgenmain}
391 strip --strip-unneeded $RPM_BUILD_ROOT%{_libdir}/lib*.so*
393 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
395 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
396 echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
397 install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1/
399 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
401 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
403 install -d $RPM_BUILD_ROOT/lib
404 (cd $RPM_BUILD_ROOT; \
405 ln -sf ../`dirname usr/lib/gcc-lib/%{_target_cpu}*/*/cpp`/cpp $RPM_BUILD_ROOT/lib/cpp)
407 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/{info/*.info*,man/man1/*} \
408 ../READ* ../ChangeLog ../gcc/ch/chill.brochure
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
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
434 %post libgcj -p /sbin/ldconfig
436 %post -p /sbin/ldconfig -n libstdc++
437 %postun -p /sbin/ldconfig -n libstdc++
440 rm -rf $RPM_BUILD_ROOT
443 %defattr(644,root,root,755)
444 %doc READ* ChangeLog.gz
446 %dir %{_libdir}/gcc-lib
447 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
448 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
449 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
451 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
452 %attr(755,root,root) %{_bindir}/gcc
453 %attr(755,root,root) %{_bindir}/gcov
454 %attr(755,root,root) %{_bindir}/protoize
455 %attr(755,root,root) %{_bindir}/unprotoize
456 %attr(755,root,root) %{_bindir}/cc
458 %{_mandir}/man1/gcc.1*
459 %{_mandir}/man1/gcov.1*
462 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
463 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
464 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
465 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
466 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
469 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
472 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
474 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
475 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
476 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
477 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
478 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
479 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
480 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
481 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
482 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
483 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
486 %defattr(644,root,root,755)
488 %{_mandir}/man1/g++.1.gz
490 %attr(755,root,root) %{_bindir}/g++
491 %attr(755,root,root) %{_bindir}/c++
492 %attr(755,root,root) %{_bindir}/c++filt
493 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
495 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
496 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
497 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
498 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
501 %defattr(644,root,root,755)
503 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
505 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
506 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
509 %defattr(644,root,root,755)
511 %attr(755,root,root) %{_bindir}/g77
512 %attr(755,root,root) %{_bindir}/f77
516 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
517 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
519 %{_mandir}/man1/g77.1*
520 %{_mandir}/man1/f77.1*
522 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
525 %defattr(644,root,root,755)
526 %doc gcc/ch/chill.brochure.gz
528 %attr(755,root,root) %{_bindir}/chill
532 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
533 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
534 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
537 %defattr(644,root,root,755)
539 %attr(755,root,root) %{_bindir}/gcj
540 %attr(755,root,root) %{_bindir}/gcjh
541 %attr(755,root,root) %{_bindir}/jcf-dump
542 %attr(755,root,root) %{_bindir}/jv-convert
543 %attr(755,root,root) %{_bindir}/jv-scan
547 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
548 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
551 %defattr(644,root,root,755)
553 %attr(755,root,root) %{_libdir}/lib*gcj*.so
554 %attr(755,root,root) %{_libdir}/lib*gcj*.so.*.*.*
557 %defattr(644,root,root,755)
559 %{_libdir}/lib*gcj*.a
560 %{_libdir}/lib*gcj*.la
563 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
565 %files -n libstdc++-devel
566 %defattr(644,root,root,755)
568 %attr(755,root,root) %{_libdir}/libstdc++.so
570 %files -n libstdc++-static
571 %attr(644,root,root) %{_libdir}/libstdc++.a
574 %defattr(644,root,root,755)
575 %attr(755,root,root) /lib/cpp
577 %{_mandir}/man1/cpp.1*
578 %{_mandir}/man1/cccp.1*
579 %{_infodir}/cpp.info*.gz
581 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp