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: %{name}-info.patch
15 Patch1: %{name}-libgcj-config.patch
16 Patch2: %{name}-pld-linux.patch
17 Patch3: gcc-libstdc++.patch
18 Patch4: %{name}-bootstrap.patch
19 Patch5: %{name}-cpp-macro-doc.patch
20 Patch6: %{name}-default-arch.patch
21 Patch7: %{name}-cvs-updates.patch.gz
22 Patch8: %{name}-cvs-updates-20000220.patch.gz
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: %{name}-manpage.patch
29 Patch15: %{name}-cpp-dos-newlines.patch
30 Patch16: gcc-g++-is-tree.patch
31 Patch17: %{name}-gpc.patch
32 Patch18: %{name}-arm-config.patch
33 Patch19: %{name}-m68k-pic.patch
34 Patch20: %{name}-sparc32-rfi.patch
35 Patch21: %{name}-builtin-apply.patch
36 Patch22: %{name}-ppc-ice.patch
37 Patch23: %{name}-ppc-descriptions.patch
38 Patch24: %{name}-ppc-andrew-dwarf-eh.patch
40 Patch25: gcc-alpha-complex-float.patch
41 Patch26: gcc-alpha-spec.patch
42 Patch27: gcc-aspell.patch
43 Patch28: gcc-combine.patch
44 Patch29: gcc-emit-rtl.patch
45 Patch30: gcc-empty-struct-init.patch
46 Patch31: gcc-gcj-backport.patch
47 Patch32: gcc-gcj-vs-iconv-orig.patch
48 Patch33: gcc-gcj-vs-iconv.patch
49 Patch34: gcc-gpc-updates.patch
50 Patch35: gcc-libg++-update.patch
51 Patch36: gcc-libobjc.patch
52 Patch37: gcc-libstdc++-deque.patch
53 Patch38: gcc-new-cpp.patch
54 Patch39: gcc-objc-testsuite.patch
55 Patch40: gcc-pointer-arith.patch
57 Patch100: %{name}-glibc-2.2.patch
58 Requires: binutils >= 2.9.1.0.25
59 Requires: cpp = %{version}
60 URL: http://gcc.gnu.org/
61 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64 A compiler aimed at integrating all the optimizations and features
65 necessary for a high-performance and stable development environment.
68 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
69 wyprodukowania szybkiego i stablinego kodu wynikowego.
72 Summary: C++ support for gcc
73 Summary(fr): Support C++ pour le compilateur gcc
74 Summary(pl): Wspomaganie C++ dla kompilatora gcc
75 Summary(tr): gcc için C++ desteði
76 Group: Development/Languages
77 Group(pl): Programowanie/Jêzyki
82 This package adds C++ support to the GNU C compiler. It includes
83 support for most of the current C++ specification, including templates
84 and exception handling. It does not include a standard C++ library,
85 which is available separately.
87 %description -l de c++
88 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
89 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
90 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
91 sie ist getrennt erhältlich.
93 %description -l fr c++
94 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
95 support pour la plupart des spécifications actuelles de C++, dont les
96 modéles et la gestion des exceptions. Il ne comprend pas une
97 bibliothéque C++ standard, qui est disponible séparément.
99 %description -l pl c++
100 Programy z tego pakietu zapewniaj± wsparcie dla C++ do gcc. Posiada
101 wspomaganie dla du¿ej ilo¶ci obecnych specyfikacji C++, nie posiada
102 natomiast standardowych bibliotek C++, które s± w oddzielnym pakiecie.
104 %description -l tr c++
105 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
106 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
107 C++ kitaplýðý bu pakette yer almaz.
110 Summary: Objective C support for gcc
111 Summary(de): Objektive C-Unterstützung für gcc
112 Summary(fr): Gestion d'Objective C pour gcc
113 Summary(pl): Wspomaganie obiektowego C dla kompilatora gcc
114 Summary(tr): gcc için Objective C desteði
115 Group: Development/Languages
116 Group(pl): Programowanie/Jêzyki
121 This package adds Objective C support to the GNU C compiler. Objective
122 C is a object oriented derivative of the C language, mainly used on
123 systems running NeXTSTEP. This package does not include the standard
124 objective C object library.
126 %description -l de objc
127 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
128 Objective C ist ein objektorientiertes Derivat von C, das zur
129 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
130 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
132 %description -l fr objc
133 Ce package ajoute un support Objective C au compilateur C GNU.
134 L'Objective C est un langage orienté objetdérivé du langage C,
135 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
136 pas la bibliothéque Objective C standard.
138 %description -l pl objc
139 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
140 pakiecie nie ma jeszcze bibliotek C-obj.
142 %description -l tr objc
143 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
144 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
145 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
146 kitaplýðý bu pakette yer almaz.
149 Summary: Fortran 77 support for gcc
150 Summary(pl): Wspomaganie Fortran 77 dla gcc
151 Group: Development/Languages
152 Group(pl): Programowanie/Jêzyki
156 This apckage adds support for compiling Fortran 77 programs with the
159 %description -l pl g77
160 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc. Jest
161 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
164 Summary: CHILL support for gcc
165 Summary(pl): Wspomoganie CHILL dla gcc
166 Group: Development/Languages
167 Group(pl): Programowanie/Jêzyki
168 Requires: %{name} = %{version}
171 This package adds support for compiling CHILL programs with the GNU
174 Chill is the "CCITT High-Level Language", where CCITT is the old name
175 for what is now ITU, the International Telecommunications Union. It is
176 is language in the Modula2 family, and targets many of the same
177 applications as Ada (especially large embedded systems). Chill was
178 never used much in the United States, but is still being used in
179 Europe, Brazil, Korea, and other places.
182 Summary: Java support for gcc
183 Summary(pl): Wspomoganie Java dla gcc
184 Group: Development/Languages
185 Group(pl): Programowanie/Jêzyki
186 Requires: %{name} = %{version}
187 Requires: %{name}-libgcj = %{version}
190 This package adds experimental support for compiling Java(tm) programs
191 and bytecode into native code. To use this you will also need the
195 Summary: Java runtime library for gcc
197 Group(pl): Biblioteki
198 Group(fr): Librairies
199 URL: http://sourceware.cygnus.com/java/
203 The Java runtime library. You will need this package to compile your
204 Java programs using the gcc Java compiler (gcj).
206 %package libgcj-static
207 Summary: Static java runtime library for gcc
208 Group: Development/Libraries
209 Group(fr): Development/Librairies
210 Group(pl): Programowanie/Biblioteki
211 URL: http://sourceware.cygnus.com/java/
212 Requires: %{name}-libgcj = %{version}
214 %description libgcj-static
215 The static java runtime library. You will need this package to
216 staticly compile your Java programs using the gcc Java compiler (gcj).
218 %package -n libstdc++
219 Summary: GNU c++ library
220 Summary(pl): Biblioteki GNU C++
222 Group(fr): Development/Librairies
223 Group(pl): Programowanie/Biblioteki
224 Version: %{STDC_VERSION}
227 %description -n libstdc++
228 This is the GNU implementation of the standard C++ libraries, along
229 with additional GNU tools. This package includes the shared libraries
230 necessary to run C++ applications.
232 %description -l de -n libstdc++
233 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
234 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
235 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
237 %description -l fr -n libstdc++
238 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
239 des outils GNU supplémentaires. Ce package comprend les librairies
240 partagées nécessaires à l'exécution d'application C++.
242 %description -l pl -n libstdc++
243 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
244 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
245 uruchomienia aplikacji napisanych w C++.
247 %description -l tr -n libstdc++
248 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
249 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
251 %package -n libstdc++-devel
252 Summary: Header files and libraries for C++ development
253 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
254 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++.
255 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
256 Group: Development/Libraries
257 Group(fr): Development/Librairies
258 Group(pl): Programowanie/Biblioteki
259 Version: %{STDC_VERSION}
260 Requires: libstdc++ = %{STDC_VERSION}
261 Requires: %{name}-c++
262 Obsoletes: libg++-devel
264 %description -n libstdc++-devel
265 This is the GNU implementation of the standard C++ libraries. This
266 package includes the header files and libraries needed for C++
269 %description -l pl -n libstdc++-devel
270 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
271 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
272 programowaniu w jêzyku C++.
274 %package -n libstdc++-static
275 Summary: Static c++ standard library
276 Summary(pl): Biblioeka statyczna c++
277 Group: Development/Libraries
278 Group(fr): Development/Librairies
279 Group(pl): Programowanie/Biblioteki
280 Version: %{STDC_VERSION}
281 Requires: libstdc++-devel = %{STDC_VERSION}
283 %description -n libstdc++-static
284 Static c++ standard library.
286 %description -l pl -n libstdc++-static
287 Biblioteka statyczna C++.
290 Summary: The C Pre Processor
291 Summary(pl): Preprocesor C
292 Group: Development/Languages
293 Group(pl): Programowanie/Jêzyki
297 The C preprocessor is a "macro processor" that is used automatically
298 by the C compiler to transform your program before actual compilation.
299 It is called a macro processor because it allows you to define
300 "macros", which are brief abbreviations for longer constructs.
302 The C preprocessor provides four separate facilities that you can use
305 - Inclusion of header files. These are files of declarations that can
306 be substituted into your program.
307 - Macro expansion. You can define "macros", which are abbreviations
308 for arbitrary fragments of C code, and then the C preprocessor will
309 replace the macros with their definitions throughout the program.
310 - Conditional compilation. Using special preprocessing directives, you
311 can include or exclude parts of the program according to various
313 - Line control. If you use a program to combine or rearrange source
314 files into an intermediate file which is then compiled, you can use
315 line control to inform the compiler of where each source line
316 originally came from.
318 %description -l pl -n cpp
319 Przeprocesor C jest "makro procesorem" który jest automatycznie
320 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
321 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
322 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
323 d³ugich konstrukcji w jêzyku C.
325 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
327 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
328 deklaracji polecenia do³±czenia innego pliku.
329 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
330 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
331 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
332 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
333 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
334 fragmenty obrabianego strumienia tekstów.
335 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
336 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
337 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
338 odpowiada fragment pliku wynikowego.
343 mv -f libgcj-%{GCJ_VERSION} libgcj
344 mv -f libgcj/boehm-gc libgcj/libjava libgcj/zlib libgcj/zip .
390 rm -rf obj-%{_target_platform}
391 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
393 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="-s" \
395 --prefix=%{_prefix} \
396 --infodir=%{_infodir} \
398 %ifnarch sparc sparc64
404 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
407 PATH=$PATH:/sbin:%{_sbindir}
408 touch ../gcc/c-gperf.h
410 %{__make} LDFLAGS_FOR_TARGET="-s" \
415 rm -rf $RPM_BUILD_ROOT
416 install -d $RPM_BUILD_ROOT%{_datadir}
418 cd obj-%{_target_platform}
419 PATH=$PATH:/sbin:%{_sbindir}
422 prefix=$RPM_BUILD_ROOT%{_prefix} \
423 mandir=$RPM_BUILD_ROOT%{_mandir} \
424 infodir=$RPM_BUILD_ROOT%{_infodir}
427 prefix=$RPM_BUILD_ROOT%{_prefix} \
428 mandir=$RPM_BUILD_ROOT%{_mandir} \
429 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
431 strip $RPM_BUILD_ROOT%{_bindir}/* || :
433 strip $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/{cc1,cc1chill,cc1obj,cc1plus,cpp,f771,collect2,jc1,jvgenmain}
434 strip --strip-unneeded $RPM_BUILD_ROOT%{_libdir}/lib*.so*
436 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
438 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
439 echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
440 install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1/
442 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
444 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
446 install -d $RPM_BUILD_ROOT/lib
447 (cd $RPM_BUILD_ROOT; \
448 ln -sf ../`dirname usr/lib/gcc-lib/%{_target_cpu}*/*/cpp`/cpp $RPM_BUILD_ROOT/lib/cpp)
450 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/{info/*.info*,man/man1/*} \
451 ../READ* ../ChangeLog ../gcc/ch/chill.brochure
454 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
457 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
460 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
463 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
466 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
469 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
472 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
475 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
477 %post libgcj -p /sbin/ldconfig
479 %post -p /sbin/ldconfig -n libstdc++
480 %postun -p /sbin/ldconfig -n libstdc++
483 rm -rf $RPM_BUILD_ROOT
486 %defattr(644,root,root,755)
487 %doc READ* ChangeLog.gz
489 %dir %{_libdir}/gcc-lib
490 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
491 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
492 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
494 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
495 %attr(755,root,root) %{_bindir}/gcc
496 %attr(755,root,root) %{_bindir}/gcov
497 %attr(755,root,root) %{_bindir}/protoize
498 %attr(755,root,root) %{_bindir}/unprotoize
499 %attr(755,root,root) %{_bindir}/cc
501 %{_mandir}/man1/gcc.1*
502 %{_mandir}/man1/gcov.1*
505 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
506 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
507 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
508 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
509 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
512 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
515 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
517 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
518 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
519 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
520 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
521 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
522 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
523 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
524 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
525 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
526 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
529 %defattr(644,root,root,755)
531 %{_mandir}/man1/g++.1.gz
533 %attr(755,root,root) %{_bindir}/g++
534 %attr(755,root,root) %{_bindir}/c++
535 %attr(755,root,root) %{_bindir}/c++filt
536 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
538 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
539 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
540 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
541 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
544 %defattr(644,root,root,755)
546 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
548 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
549 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
552 %defattr(644,root,root,755)
554 %attr(755,root,root) %{_bindir}/g77
555 %attr(755,root,root) %{_bindir}/f77
559 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
560 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
562 %{_mandir}/man1/g77.1*
563 %{_mandir}/man1/f77.1*
565 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
568 %defattr(644,root,root,755)
569 %doc gcc/ch/chill.brochure.gz
571 %attr(755,root,root) %{_bindir}/chill
575 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
576 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
577 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
580 %defattr(644,root,root,755)
582 %attr(755,root,root) %{_bindir}/gcj
583 %attr(755,root,root) %{_bindir}/gcjh
584 %attr(755,root,root) %{_bindir}/jcf-dump
585 %attr(755,root,root) %{_bindir}/jv-convert
586 %attr(755,root,root) %{_bindir}/jv-scan
590 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
591 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
594 %defattr(644,root,root,755)
596 %attr(755,root,root) %{_libdir}/lib*gcj*.so
597 %attr(755,root,root) %{_libdir}/lib*gcj*.so.*.*.*
600 %defattr(644,root,root,755)
602 %{_libdir}/lib*gcj*.a
603 %{_libdir}/lib*gcj*.la
606 %defattr(644,root,root,755)
607 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
609 %files -n libstdc++-devel
610 %defattr(644,root,root,755)
612 %attr(755,root,root) %{_libdir}/libstdc++.so
614 %files -n libstdc++-static
615 %defattr(644,root,root,755)
616 %attr(644,root,root) %{_libdir}/libstdc++.a
619 %defattr(644,root,root,755)
620 %attr(755,root,root) /lib/cpp
622 %{_mandir}/man1/cpp.1*
623 %{_mandir}/man1/cccp.1*
624 %{_infodir}/cpp.info*.gz
626 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp