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}-pld-linux.patch
16 Patch2: %{name}-libstdc++.patch
17 Patch3: %{name}-bootstrap.patch
18 Patch4: %{name}-cpp-macro-doc.patch
19 Patch5: %{name}-default-arch.patch
20 Patch6: %{name}-cvs-updates-20000220.patch.gz
21 Patch7: %{name}-libstdc++-out-of-mem.patch
22 Patch8: %{name}-libstdc++-wstring.patch
23 Patch9: %{name}-libstdc++-wall3.patch
24 Patch10: %{name}-libstdc++-bastring.patch
25 Patch11: %{name}-manpage.patch
26 Patch12: %{name}-cpp-dos-newlines.patch
27 Patch13: %{name}-g++-is-tree.patch
28 Patch14: %{name}-gpc.patch
29 Patch15: %{name}-arm-config.patch
30 Patch16: %{name}-m68k-pic.patch
31 Patch17: %{name}-sparc32-rfi.patch
32 Patch18: %{name}-builtin-apply.patch
33 Patch19: %{name}-gcj-backport.patch
34 Patch20: %{name}-ppc-ice.patch
35 Patch21: %{name}-ppc-descriptions.patch
36 Patch22: %{name}-ppc-andrew-dwarf-eh.patch
38 Patch23: %{name}-alpha-complex-float.patch
39 Patch24: %{name}-emit-rtl.patch
40 Patch25: %{name}-empty-struct-init.patch
41 Patch26: %{name}-gcj-vs-iconv.patch
42 Patch27: %{name}-libobjc.patch
43 Patch28: %{name}-pointer-arith.patch
45 Patch100: %{name}-glibc-2.2.patch
46 Requires: binutils >= 2.9.1.0.25
47 Requires: cpp = %{version}
48 URL: http://gcc.gnu.org/
49 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 A compiler aimed at integrating all the optimizations and features
53 necessary for a high-performance and stable development environment.
56 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
57 wyprodukowania szybkiego i stablinego kodu wynikowego.
60 Summary: C++ support for gcc
61 Summary(fr): Support C++ pour le compilateur gcc
62 Summary(pl): Wspomaganie C++ dla kompilatora gcc
63 Summary(tr): gcc için C++ desteði
64 Group: Development/Languages
65 Group(pl): Programowanie/Jêzyki
70 This package adds C++ support to the GNU C compiler. It includes
71 support for most of the current C++ specification, including templates
72 and exception handling. It does not include a standard C++ library,
73 which is available separately.
75 %description -l de c++
76 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
77 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
78 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
79 sie ist getrennt erhältlich.
81 %description -l fr c++
82 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
83 support pour la plupart des spécifications actuelles de C++, dont les
84 modéles et la gestion des exceptions. Il ne comprend pas une
85 bibliothéque C++ standard, qui est disponible séparément.
87 %description -l pl c++
88 Programy z tego pakietu zapewniaj± wsparcie dla C++ do gcc. Posiada
89 wspomaganie dla du¿ej ilo¶ci obecnych specyfikacji C++, nie posiada
90 natomiast standardowych bibliotek C++, które s± w oddzielnym pakiecie.
92 %description -l tr c++
93 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
94 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
95 C++ kitaplýðý bu pakette yer almaz.
98 Summary: Objective C support for gcc
99 Summary(de): Objektive C-Unterstützung für gcc
100 Summary(fr): Gestion d'Objective C pour gcc
101 Summary(pl): Wspomaganie obiektowego C dla kompilatora gcc
102 Summary(tr): gcc için Objective C desteði
103 Group: Development/Languages
104 Group(pl): Programowanie/Jêzyki
109 This package adds Objective C support to the GNU C compiler. Objective
110 C is a object oriented derivative of the C language, mainly used on
111 systems running NeXTSTEP. This package does not include the standard
112 objective C object library.
114 %description -l de objc
115 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
116 Objective C ist ein objektorientiertes Derivat von C, das zur
117 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
118 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
120 %description -l fr objc
121 Ce package ajoute un support Objective C au compilateur C GNU.
122 L'Objective C est un langage orienté objetdérivé du langage C,
123 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
124 pas la bibliothéque Objective C standard.
126 %description -l pl objc
127 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
128 pakiecie nie ma jeszcze bibliotek C-obj.
130 %description -l tr objc
131 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
132 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
133 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
134 kitaplýðý bu pakette yer almaz.
137 Summary: Fortran 77 support for gcc
138 Summary(pl): Wspomaganie Fortran 77 dla gcc
139 Group: Development/Languages
140 Group(pl): Programowanie/Jêzyki
144 This apckage adds support for compiling Fortran 77 programs with the
147 %description -l pl g77
148 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc. Jest
149 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
152 Summary: CHILL support for gcc
153 Summary(pl): Wspomoganie CHILL dla gcc
154 Group: Development/Languages
155 Group(pl): Programowanie/Jêzyki
156 Requires: %{name} = %{version}
159 This package adds support for compiling CHILL programs with the GNU
162 Chill is the "CCITT High-Level Language", where CCITT is the old name
163 for what is now ITU, the International Telecommunications Union. It is
164 is language in the Modula2 family, and targets many of the same
165 applications as Ada (especially large embedded systems). Chill was
166 never used much in the United States, but is still being used in
167 Europe, Brazil, Korea, and other places.
170 Summary: Java support for gcc
171 Summary(pl): Wspomoganie Java dla gcc
172 Group: Development/Languages
173 Group(pl): Programowanie/Jêzyki
174 Requires: %{name} = %{version}
175 Requires: %{name}-libgcj = %{version}
178 This package adds experimental support for compiling Java(tm) programs
179 and bytecode into native code. To use this you will also need the
183 Summary: Java runtime library for gcc
185 Group(pl): Biblioteki
186 Group(fr): Librairies
187 URL: http://sourceware.cygnus.com/java/
191 The Java runtime library. You will need this package to compile your
192 Java programs using the gcc Java compiler (gcj).
194 %package libgcj-static
195 Summary: Static java runtime library for gcc
196 Group: Development/Libraries
197 Group(pl): Programowanie/Biblioteki
198 Group(fr): Development/Librairies
199 URL: http://sourceware.cygnus.com/java/
200 Requires: %{name}-libgcj = %{version}
202 %description libgcj-static
203 The static java runtime library. You will need this package to
204 staticly compile your Java programs using the gcc Java compiler (gcj).
206 %package -n libstdc++
207 Summary: GNU c++ library
208 Summary(pl): Biblioteki GNU C++
210 Group(pl): Biblioteki
211 Group(fr): Development/Librairies
212 Version: %{STDC_VERSION}
215 %description -n libstdc++
216 This is the GNU implementation of the standard C++ libraries, along
217 with additional GNU tools. This package includes the shared libraries
218 necessary to run C++ applications.
220 %description -l de -n libstdc++
221 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
222 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
223 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
225 %description -l fr -n libstdc++
226 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
227 des outils GNU supplémentaires. Ce package comprend les librairies
228 partagées nécessaires à l'exécution d'application C++.
230 %description -l pl -n libstdc++
231 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
232 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
233 uruchomienia aplikacji napisanych w C++.
235 %description -l tr -n libstdc++
236 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
237 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
239 %package -n libstdc++-devel
240 Summary: Header files and libraries for C++ development
241 Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
242 Summary(fr): Fichiers d'en-tête et biblitothèques pour développer en C++.
243 Summary(tr): C++ ile program geliþtirmek için gerekli dosyalar
244 Group: Development/Libraries
245 Group(pl): Programowanie/Biblioteki
246 Group(fr): Development/Librairies
247 Version: %{STDC_VERSION}
248 Requires: libstdc++ = %{STDC_VERSION}
249 Requires: %{name}-c++
250 Obsoletes: libg++-devel
252 %description -n libstdc++-devel
253 This is the GNU implementation of the standard C++ libraries. This
254 package includes the header files and libraries needed for C++
257 %description -l pl -n libstdc++-devel
258 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
259 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
260 programowaniu w jêzyku C++.
262 %package -n libstdc++-static
263 Summary: Static c++ standard library
264 Summary(pl): Biblioeka statyczna c++
265 Group: Development/Libraries
266 Group(pl): Programowanie/Biblioteki
267 Group(fr): Development/Librairies
268 Version: %{STDC_VERSION}
269 Requires: libstdc++-devel = %{STDC_VERSION}
271 %description -n libstdc++-static
272 Static c++ standard library.
274 %description -l pl -n libstdc++-static
275 Biblioteka statyczna C++.
278 Summary: The C Pre Processor
279 Summary(pl): Preprocesor C
280 Group: Development/Languages
281 Group(pl): Programowanie/Jêzyki
285 The C preprocessor is a "macro processor" that is used automatically
286 by the C compiler to transform your program before actual compilation.
287 It is called a macro processor because it allows you to define
288 "macros", which are brief abbreviations for longer constructs.
290 The C preprocessor provides four separate facilities that you can use
293 - Inclusion of header files. These are files of declarations that can
294 be substituted into your program.
295 - Macro expansion. You can define "macros", which are abbreviations
296 for arbitrary fragments of C code, and then the C preprocessor will
297 replace the macros with their definitions throughout the program.
298 - Conditional compilation. Using special preprocessing directives, you
299 can include or exclude parts of the program according to various
301 - Line control. If you use a program to combine or rearrange source
302 files into an intermediate file which is then compiled, you can use
303 line control to inform the compiler of where each source line
304 originally came from.
306 %description -l pl -n cpp
307 Przeprocesor C jest "makro procesorem" który jest automatycznie
308 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
309 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
310 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
311 d³ugich konstrukcji w jêzyku C.
313 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
315 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
316 deklaracji polecenia do³±czenia innego pliku.
317 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
318 których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
319 indentyfikatora deklarowan± wcze¶niej warto¶ci±.
320 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
321 ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
322 fragmenty obrabianego strumienia tekstów.
323 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
324 podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
325 s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
326 odpowiada fragment pliku wynikowego.
331 #mv -f libgcj-%{GCJ_VERSION} libgcj
332 #mv -f libgcj/boehm-gc libgcj/libjava libgcj/zlib libgcj/zip .
354 %ifarch sparc sparc32
376 rm -rf obj-%{_target_platform}
377 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
379 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="-s" \
381 --prefix=%{_prefix} \
382 --infodir=%{_infodir} \
384 %ifnarch sparc sparc64
390 --with-gxx-include-dir="\$\{prefix\}/include/g++" \
393 PATH=$PATH:/sbin:%{_sbindir}
394 touch ../gcc/c-gperf.h
396 %{__make} LDFLAGS_FOR_TARGET="-s" \
401 rm -rf $RPM_BUILD_ROOT
402 install -d $RPM_BUILD_ROOT%{_datadir}
404 cd obj-%{_target_platform}
405 PATH=$PATH:/sbin:%{_sbindir}
408 prefix=$RPM_BUILD_ROOT%{_prefix} \
409 mandir=$RPM_BUILD_ROOT%{_mandir} \
410 infodir=$RPM_BUILD_ROOT%{_infodir}
413 prefix=$RPM_BUILD_ROOT%{_prefix} \
414 mandir=$RPM_BUILD_ROOT%{_mandir} \
415 infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
417 strip $RPM_BUILD_ROOT%{_bindir}/* || :
419 strip $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/{cc1,cc1chill,cc1obj,cc1plus,cpp,f771,collect2,jc1,jvgenmain}
420 strip --strip-unneeded $RPM_BUILD_ROOT%{_libdir}/lib*.so*
422 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
424 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
425 echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
426 install %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man1/
428 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
430 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
432 install -d $RPM_BUILD_ROOT/lib
433 (cd $RPM_BUILD_ROOT; \
434 ln -sf ../`dirname usr/lib/gcc-lib/%{_target_cpu}*/*/cpp`/cpp $RPM_BUILD_ROOT/lib/cpp)
436 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/{info/*.info*,man/man1/*} \
437 ../READ* ../ChangeLog ../gcc/ch/chill.brochure
440 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
443 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
446 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
449 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
452 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
455 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
458 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
461 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
463 %post libgcj -p /sbin/ldconfig
465 %post -p /sbin/ldconfig -n libstdc++
466 %postun -p /sbin/ldconfig -n libstdc++
469 rm -rf $RPM_BUILD_ROOT
472 %defattr(644,root,root,755)
473 %doc READ* ChangeLog.gz
475 %dir %{_libdir}/gcc-lib
476 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
477 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
478 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
480 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
481 %attr(755,root,root) %{_bindir}/gcc
482 %attr(755,root,root) %{_bindir}/gcov
483 %attr(755,root,root) %{_bindir}/protoize
484 %attr(755,root,root) %{_bindir}/unprotoize
485 %attr(755,root,root) %{_bindir}/cc
487 %{_mandir}/man1/gcc.1*
488 %{_mandir}/man1/gcov.1*
491 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
492 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
493 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
494 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
495 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
498 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
501 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
503 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
504 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
505 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
506 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
507 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
508 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
509 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
510 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
511 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
512 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
515 %defattr(644,root,root,755)
517 %{_mandir}/man1/g++.1.gz
519 %attr(755,root,root) %{_bindir}/g++
520 %attr(755,root,root) %{_bindir}/c++
521 %attr(755,root,root) %{_bindir}/c++filt
522 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
524 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
525 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
526 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
527 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
530 %defattr(644,root,root,755)
532 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
534 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
535 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
538 %defattr(644,root,root,755)
540 %attr(755,root,root) %{_bindir}/g77
541 %attr(755,root,root) %{_bindir}/f77
545 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
546 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
548 %{_mandir}/man1/g77.1*
549 %{_mandir}/man1/f77.1*
551 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
554 %defattr(644,root,root,755)
555 %doc gcc/ch/chill.brochure.gz
557 %attr(755,root,root) %{_bindir}/chill
561 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
562 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
563 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
566 %defattr(644,root,root,755)
568 %attr(755,root,root) %{_bindir}/gcj
569 %attr(755,root,root) %{_bindir}/gcjh
570 %attr(755,root,root) %{_bindir}/jcf-dump
571 #%attr(755,root,root) %{_bindir}/jv-convert
572 %attr(755,root,root) %{_bindir}/jv-scan
576 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
577 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
580 #%defattr(644,root,root,755)
582 #%attr(755,root,root) %{_libdir}/lib*gcj*.so
583 #%attr(755,root,root) %{_libdir}/lib*gcj*.so.*.*.*
585 #%files libgcj-static
586 #%defattr(644,root,root,755)
588 #%{_libdir}/lib*gcj*.a
589 #%{_libdir}/lib*gcj*.la
592 %defattr(644,root,root,755)
593 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
595 %files -n libstdc++-devel
596 %defattr(644,root,root,755)
598 %attr(755,root,root) %{_libdir}/libstdc++.so
600 %files -n libstdc++-static
601 %defattr(644,root,root,755)
602 %attr(644,root,root) %{_libdir}/libstdc++.a
605 %defattr(644,root,root,755)
606 %attr(755,root,root) /lib/cpp
608 %{_mandir}/man1/cpp.1*
609 %{_mandir}/man1/cccp.1*
610 %{_infodir}/cpp.info*.gz
612 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp