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 Prereq: /usr/sbin/fix-info-dir
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 stablinego 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
60 Group(pl): Programowanie/Jêzyki
65 This package adds C++ support to the GNU C compiler. It includes support
66 for most of the current C++ specification, including templates and
67 exception handling. It does not include a standard C++ library, which is
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 - sie
74 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 bibliothéque
80 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 aykýrý
89 durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart C++ kitaplýðý
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
99 Group(pl): Programowanie/Jêzyki
104 This package adds Objective C support to the GNU C compiler. Objective C is
105 a object oriented derivative of the C language, mainly used on systems
106 running NeXTSTEP. This package does not include the standard objective C
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 Hauptsache
112 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. L'Objective C
117 est un langage orienté objetdérivé du langage C, principalement utilisé sur
118 les systèmes NeXTSTEP. Ce package n'inclue pas la bibliothéque Objective C
121 %description -l pl objc
122 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W pakiecie nie
123 ma jeszcze bibliotek C-obj.
125 %description -l tr objc
126 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C, C
127 dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan sistemlerde
128 yaygýn olarak kullanýlýr. Standart Objective C nesne kitaplýðý bu pakette
132 Summary: Fortran 77 support for gcc
133 Summary(pl): Wspomaganie Fortran 77 dla gcc
134 Group: Development/Languages
135 Group(pl): Programowanie/Jêzyki
136 Prereq: /usr/sbin/fix-info-dir
140 This apckage adds support for compiling Fortran 77 programs with the GNU
143 %description -l pl g77
144 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc.
145 Jest potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
148 Summary: CHILL support for gcc
149 Summary(pl): Wspomoganie CHILL dla gcc
150 Group: Development/Languages
151 Group(pl): Programowanie/Jêzyki
152 Requires: %{name} = %{version}
153 Prereq: /usr/sbin/fix-info-dir
156 This package adds support for compiling CHILL programs with the GNU
159 Chill is the "CCITT High-Level Language", where CCITT is the old
160 name for what is now ITU, the International Telecommunications Union.
161 It is is language in the Modula2 family, and targets many of the
162 same applications as Ada (especially large embedded systems).
163 Chill was never used much in the United States, but is still
164 being used in Europe, Brazil, Korea, and other places.
167 Summary: Java support for gcc
168 Summary(pl): Wspomoganie Java dla gcc
169 Group: Development/Languages
170 Group(pl): Programowanie/Jêzyki
171 Requires: %{name} = %{version}
172 Requires: %{name}-libgcj = %{version}
175 This package adds experimental support for compiling Java(tm) programs and
176 bytecode into native code. To use this you will also need the gcc-libgcj
180 Summary: Java runtime library for gcc
182 URL: http://sourceware.cygnus.com/java/
186 The Java runtime library. You will need this package to compile your Java
187 programs using the gcc Java compiler (gcj).
189 %package libgcj-static
190 Summary: Static java runtime library for gcc
191 Group: Development/Libraries
192 URL: http://sourceware.cygnus.com/java/
193 Requires: %{name}-libgcj = %{version}
195 %description libgcj-static
196 The static java runtime library. You will need this package to staticly
197 compile your Java programs using the gcc Java compiler (gcj).
199 %package -n libstdc++
200 Summary: GNU c++ library
201 Summary(pl): Biblioteki GNU C++
203 Group(pl): Biblioteki
204 Version: %{STDC_VERSION}
207 %description -n libstdc++
208 This is the GNU implementation of the standard C++ libraries, along with
209 additional GNU tools. This package includes the shared libraries
210 necessary to run C++ applications.
212 %description -l de -n libstdc++
213 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit weiteren
214 GNU-Tools. Dieses Paket enthält die zum Ausführen von C++-Anwendungen
215 erforderlichen gemeinsam genutzten Libraries.
217 %description -l fr -n libstdc++
218 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que des
219 outils GNU supplémentaires. Ce package comprend les librairies partagées
220 nécessaires à l'exécution d'application C++.
222 %description -l pl -n libstdc++
223 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych bibliotek
224 C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do uruchomienia
225 aplikacji napisanych w C++.
227 %description -l tr -n libstdc++
228 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
229 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
231 %package -n libstdc++-devel
232 Summary: Header files and libraries for C++ development
233 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
234 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++.
235 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
236 Group: Development/Libraries
237 Group(pl): Programowanie/Biblioteki
238 Version: %{STDC_VERSION}
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 package
245 includes the header files and libraries needed for C++ development.
247 %description -l pl -n libstdc++-devel
248 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych bibliotek
249 C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy programowaniu
252 %package -n libstdc++-static
253 Summary: Static c++ standard library
254 Summary(pl): Biblioeka statyczna c++
255 Group: Development/Libraries
256 Group(pl): Programowanie/Biblioteki
257 Version: %{STDC_VERSION}
258 Requires: libstdc++-devel = %{STDC_VERSION}
260 %description -n libstdc++-static
261 Static c++ standard library.
263 %description -l pl -n libstdc++-static
264 Biblioteka statyczna C++.
267 Summary: The C Pre Processor
268 Summary(pl): Preprocesor C
269 Group: Development/Languages
270 Group(pl): Programowanie/Jêzyki
271 Prereq: /usr/sbin/fix-info-dir
275 The C preprocessor is a "macro processor" that is used automatically by the
276 C compiler to transform your program before actual compilation. It is called
277 a macro processor because it allows you to define "macros", which are brief
278 abbreviations for longer constructs.
280 The C preprocessor provides four separate facilities that you can use as you
283 * Inclusion of header files. These are files of declarations that
284 can be substituted into your program.
285 * Macro expansion. You can define "macros", which are abbreviations for
286 arbitrary fragments of C code, and then the C preprocessor will replace
287 the macros with their definitions throughout the program.
288 * Conditional compilation. Using special preprocessing directives,
289 you can include or exclude parts of the program according to various
291 * Line control. If you use a program to combine or rearrange source
292 files into an intermediate file which is then compiled, you can use line
293 control to inform the compiler of where each source line originally came
296 %description -l pl -n cpp
297 Przeprocesor C jest "makro procesorem" który jest automatycznie u¿ywany
298 przez kompilator C do obróbki kompilowanego programu przed w³a¶ciw±
299 kompilacj±. Jest on nazywany makroprocesorem, poniewa¿ umo¿liwia
300 definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie d³ugich konstrukcji
303 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
305 * Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
306 deklaracji polecenia do³±czenia innego pliku.
307 * Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
308 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
309 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
310 * Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
311 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne fragmenty
312 obrabianego strumienia tekstów.
313 * Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom podlega
314 wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania s±
315 zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
316 odpowiada fragment pliku wynikowego.
321 mv libgcj-%{GCJ_VERSION} libgcj
322 mv libgcj/boehm-gc libgcj/libjava libgcj/zlib libgcj/zip .
351 rm -rf obj-%{_target_platform}
352 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
354 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="-s" \
356 --prefix=%{_prefix} \
357 --infodir=%{_infodir} \
359 %ifnarch sparc sparc64
365 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
368 PATH=$PATH:/sbin:%{_sbindir}
369 touch ../gcc/c-gperf.h
371 make LDFLAGS_FOR_TARGET="-s" \
376 rm -rf $RPM_BUILD_ROOT
377 install -d $RPM_BUILD_ROOT%{_datadir}
379 cd obj-%{_target_platform}
380 PATH=$PATH:/sbin:%{_sbindir}
383 prefix=$RPM_BUILD_ROOT%{_prefix} \
384 mandir=$RPM_BUILD_ROOT%{_mandir} \
385 infodir=$RPM_BUILD_ROOT%{_infodir}
388 prefix=$RPM_BUILD_ROOT%{_prefix} \
389 mandir=$RPM_BUILD_ROOT%{_mandir} \
390 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
392 strip $RPM_BUILD_ROOT%{_bindir}/* || :
394 strip $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/{cc1,cc1chill,cc1obj,cc1plus,cpp,f771,collect2,jc1,jvgenmain}
395 strip --strip-unneeded $RPM_BUILD_ROOT%{_libdir}/lib*.so*
397 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
399 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
400 echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
401 install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1/
403 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
405 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
407 install -d $RPM_BUILD_ROOT/lib
408 (cd $RPM_BUILD_ROOT; \
409 ln -sf ../`dirname usr/lib/gcc-lib/%{_target_cpu}*/*/cpp`/cpp $RPM_BUILD_ROOT/lib/cpp)
411 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/{info/*.info*,man/man1/*} \
412 ../READ* ../ChangeLog ../gcc/ch/chill.brochure
415 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
418 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
421 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
424 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
427 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
430 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
433 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
436 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
438 %post libgcj -p /sbin/ldconfig
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-convert
547 %attr(755,root,root) %{_bindir}/jv-scan
551 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
552 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
555 %defattr(644,root,root,755)
557 %attr(755,root,root) %{_libdir}/lib*gcj*.so
558 %attr(755,root,root) %{_libdir}/lib*gcj*.so.*.*.*
561 %defattr(644,root,root,755)
563 %{_libdir}/lib*gcj*.a
564 %{_libdir}/lib*gcj*.la
567 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
569 %files -n libstdc++-devel
570 %defattr(644,root,root,755)
572 %attr(755,root,root) %{_libdir}/libstdc++.so
574 %files -n libstdc++-static
575 %attr(644,root,root) %{_libdir}/libstdc++.a
578 %defattr(644,root,root,755)
579 %attr(755,root,root) /lib/cpp
581 %{_mandir}/man1/cpp.1*
582 %{_mandir}/man1/cccp.1*
583 %{_infodir}/cpp.info*.gz
585 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp