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
65 support for most of the current C++ specification, including templates
66 and exception handling. It does not include a standard C++ library,
67 which is available separately.
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 -
73 sie 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
79 bibliothéque 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
88 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
89 C++ kitaplýðý bu pakette yer almaz.
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
104 C is a object oriented derivative of the C language, mainly used on
105 systems running NeXTSTEP. This package does not include the standard
106 objective C object library.
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
111 Hauptsache 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.
116 L'Objective C est un langage orienté objetdérivé du langage C,
117 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
118 pas la bibliothéque Objective C standard.
120 %description -l pl objc
121 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
122 pakiecie nie ma jeszcze bibliotek C-obj.
124 %description -l tr objc
125 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
126 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
127 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
128 kitaplýðý bu pakette yer almaz.
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
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 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 name
157 for what is now ITU, the International Telecommunications Union. It is
158 is language in the Modula2 family, and targets many of the same
159 applications as Ada (especially large embedded systems). Chill was
160 never used much in the United States, but is still being used in
161 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
173 and bytecode into native code. To use this you will also need the
177 Summary: Java runtime library for gcc
179 Group(fr): Librairies
180 URL: http://sourceware.cygnus.com/java/
184 The Java runtime library. You will need this package to compile your
185 Java programs using the gcc Java compiler (gcj).
187 %package libgcj-static
188 Summary: Static java runtime library for gcc
189 Group: Development/Libraries
190 Group(fr): Development/Librairies
191 URL: http://sourceware.cygnus.com/java/
192 Requires: %{name}-libgcj = %{version}
194 %description libgcj-static
195 The static java runtime library. You will need this package to
196 staticly compile your Java programs using the gcc Java compiler (gcj).
198 %package -n libstdc++
199 Summary: GNU c++ library
200 Summary(pl): Biblioteki GNU C++
202 Group(fr): Librairies
203 Group(pl): Biblioteki
204 Version: %{STDC_VERSION}
207 %description -n libstdc++
208 This is the GNU implementation of the standard C++ libraries, along
209 with 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
214 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
215 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
217 %description -l fr -n libstdc++
218 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
219 des outils GNU supplémentaires. Ce package comprend les librairies
220 partagées nécessaires à l'exécution d'application C++.
222 %description -l pl -n libstdc++
223 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
224 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
225 uruchomienia 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(fr): Development/Librairies
238 Group(pl): Programowanie/Biblioteki
239 Version: %{STDC_VERSION}
240 Requires: libstdc++ = %{STDC_VERSION}
241 Requires: %{name}-c++
242 Obsoletes: libg++-devel
244 %description -n libstdc++-devel
245 This is the GNU implementation of the standard C++ libraries. This
246 package includes the header files and libraries needed for C++
249 %description -l pl -n libstdc++-devel
250 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
251 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
252 programowaniu w jêzyku C++.
254 %package -n libstdc++-static
255 Summary: Static c++ standard library
256 Summary(pl): Biblioeka statyczna c++
257 Group: Development/Libraries
258 Group(fr): Development/Librairies
259 Group(pl): Programowanie/Biblioteki
260 Version: %{STDC_VERSION}
261 Requires: libstdc++-devel = %{STDC_VERSION}
263 %description -n libstdc++-static
264 Static c++ standard library.
266 %description -l pl -n libstdc++-static
267 Biblioteka statyczna C++.
270 Summary: The C Pre Processor
271 Summary(pl): Preprocesor C
272 Group: Development/Languages
273 Group(pl): Programowanie/Jêzyki
277 The C preprocessor is a "macro processor" that is used automatically
278 by the C compiler to transform your program before actual compilation.
279 It is called a macro processor because it allows you to define
280 "macros", which are brief abbreviations for longer constructs.
282 The C preprocessor provides four separate facilities that you can use
285 - Inclusion of header files. These are files of declarations that can
286 be substituted into your program.
287 - Macro expansion. You can define "macros", which are abbreviations
288 for arbitrary fragments of C code, and then the C preprocessor will
289 replace the macros with their definitions throughout the program.
290 - Conditional compilation. Using special preprocessing directives, you
291 can include or exclude parts of the program according to various
293 - Line control. If you use a program to combine or rearrange source
294 files into an intermediate file which is then compiled, you can use
295 line control to inform the compiler of where each source line
296 originally came from.
298 %description -l pl -n cpp
299 Przeprocesor C jest "makro procesorem" który jest automatycznie
300 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
301 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
302 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
303 d³ugich konstrukcji w jêzyku C.
305 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
307 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
308 deklaracji polecenia do³±czenia innego pliku.
309 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
310 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
311 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
312 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
313 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
314 fragmenty obrabianego strumienia tekstów.
315 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
316 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
317 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
318 odpowiada fragment pliku wynikowego.
323 mv libgcj-%{GCJ_VERSION} libgcj
324 mv libgcj/boehm-gc libgcj/libjava libgcj/zlib libgcj/zip .
353 rm -rf obj-%{_target_platform}
354 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
356 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="-s" \
358 --prefix=%{_prefix} \
359 --infodir=%{_infodir} \
361 %ifnarch sparc sparc64
367 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
370 PATH=$PATH:/sbin:%{_sbindir}
371 touch ../gcc/c-gperf.h
373 %{__make} LDFLAGS_FOR_TARGET="-s" \
378 rm -rf $RPM_BUILD_ROOT
379 install -d $RPM_BUILD_ROOT%{_datadir}
381 cd obj-%{_target_platform}
382 PATH=$PATH:/sbin:%{_sbindir}
385 prefix=$RPM_BUILD_ROOT%{_prefix} \
386 mandir=$RPM_BUILD_ROOT%{_mandir} \
387 infodir=$RPM_BUILD_ROOT%{_infodir}
390 prefix=$RPM_BUILD_ROOT%{_prefix} \
391 mandir=$RPM_BUILD_ROOT%{_mandir} \
392 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
394 strip $RPM_BUILD_ROOT%{_bindir}/* || :
396 strip $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/{cc1,cc1chill,cc1obj,cc1plus,cpp,f771,collect2,jc1,jvgenmain}
397 strip --strip-unneeded $RPM_BUILD_ROOT%{_libdir}/lib*.so*
399 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
401 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
402 echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
403 install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1/
405 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
407 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
409 install -d $RPM_BUILD_ROOT/lib
410 (cd $RPM_BUILD_ROOT; \
411 ln -sf ../`dirname usr/lib/gcc-lib/%{_target_cpu}*/*/cpp`/cpp $RPM_BUILD_ROOT/lib/cpp)
413 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/{info/*.info*,man/man1/*} \
414 ../READ* ../ChangeLog ../gcc/ch/chill.brochure
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
435 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
438 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
440 %post libgcj -p /sbin/ldconfig
442 %post -p /sbin/ldconfig -n libstdc++
443 %postun -p /sbin/ldconfig -n libstdc++
446 rm -rf $RPM_BUILD_ROOT
449 %defattr(644,root,root,755)
450 %doc READ* ChangeLog.gz
452 %dir %{_libdir}/gcc-lib
453 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
454 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
455 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
457 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
458 %attr(755,root,root) %{_bindir}/gcc
459 %attr(755,root,root) %{_bindir}/gcov
460 %attr(755,root,root) %{_bindir}/protoize
461 %attr(755,root,root) %{_bindir}/unprotoize
462 %attr(755,root,root) %{_bindir}/cc
464 %{_mandir}/man1/gcc.1*
465 %{_mandir}/man1/gcov.1*
468 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
469 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
470 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
471 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
472 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
475 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
478 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
480 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
481 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
482 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
483 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
484 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
485 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
486 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
487 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
488 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
489 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
492 %defattr(644,root,root,755)
494 %{_mandir}/man1/g++.1.gz
496 %attr(755,root,root) %{_bindir}/g++
497 %attr(755,root,root) %{_bindir}/c++
498 %attr(755,root,root) %{_bindir}/c++filt
499 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
501 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
502 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
503 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
504 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
507 %defattr(644,root,root,755)
509 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
511 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
512 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
515 %defattr(644,root,root,755)
517 %attr(755,root,root) %{_bindir}/g77
518 %attr(755,root,root) %{_bindir}/f77
522 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
523 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
525 %{_mandir}/man1/g77.1*
526 %{_mandir}/man1/f77.1*
528 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
531 %defattr(644,root,root,755)
532 %doc gcc/ch/chill.brochure.gz
534 %attr(755,root,root) %{_bindir}/chill
538 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
539 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
540 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
543 %defattr(644,root,root,755)
545 %attr(755,root,root) %{_bindir}/gcj
546 %attr(755,root,root) %{_bindir}/gcjh
547 %attr(755,root,root) %{_bindir}/jcf-dump
548 %attr(755,root,root) %{_bindir}/jv-convert
549 %attr(755,root,root) %{_bindir}/jv-scan
553 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
554 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
557 %defattr(644,root,root,755)
559 %attr(755,root,root) %{_libdir}/lib*gcj*.so
560 %attr(755,root,root) %{_libdir}/lib*gcj*.so.*.*.*
563 %defattr(644,root,root,755)
565 %{_libdir}/lib*gcj*.a
566 %{_libdir}/lib*gcj*.la
569 %defattr(644,root,root,755)
570 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
572 %files -n libstdc++-devel
573 %defattr(644,root,root,755)
575 %attr(755,root,root) %{_libdir}/libstdc++.so
577 %files -n libstdc++-static
578 %defattr(644,root,root,755)
579 %attr(644,root,root) %{_libdir}/libstdc++.a
582 %defattr(644,root,root,755)
583 %attr(755,root,root) /lib/cpp
585 %{_mandir}/man1/cpp.1*
586 %{_mandir}/man1/cccp.1*
587 %{_infodir}/cpp.info*.gz
589 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp