]> git.pld-linux.org Git - packages/gcc.git/blob - gcc.spec
- updated to gcc 2.95.2 and libgcj 2.95.1
[packages/gcc.git] / gcc.spec
1 %define         STDC_VERSION 2.10.0
2 %define         GCJ_VERSION 2.95.1
3 Summary:        GNU C Compiler
4 Summary(pl):    Kompilator GNU
5 Name:           gcc
6 Version:        2.95.2
7 Release:        1
8 Copyright:      GPL
9 Group:          Development/Languages
10 Group(pl):      Programowanie/Jêzyki
11 Source0:        ftp://ftp.gnu.org/pub/gnu/gcc/%{name}-%{version}.tar.bz2
12 Source1:        ftp://sourceware.cygnus.com/pub/java/libgcj-%{GCJ_VERSION}.tar.gz
13 Patch0:         gcc-info.patch
14 Patch1:         gcc-libgcj-config.patch
15 Patch2:         gcc-pld-linux.patch
16 Patch3:         gcc-libstdc++.patch
17 Requires:       binutils >= 2.9.1.0.25
18 Requires:       cpp 
19 Prereq:         /usr/sbin/fix-info-dir
20 URL:            http://www.gnu.org/
21 BuildRoot:      /tmp/%{name}-%{version}-root
22
23 %description
24 A compiler aimed at integrating all the optimizations and features
25 necessary for a high-performance and stable development environment.
26
27 %description -l pl
28 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
29 wyprodukowania szybkiego i stablinego kodu wynikowego.
30
31 %package c++
32 Summary:        C++ support for gcc
33 Summary(fr):    Support C++ pour le compilateur gcc.
34 Summary(pl):    Wspomaganie C++ dla kompilatora gcc
35 Summary(tr):    gcc için C++ desteði
36 Group:          Development/Languages
37 Group(pl):      Programowanie/Jêzyki
38 Obsoletes:      egcc-c++
39
40 %description c++
41 This package adds C++ support to the GNU C compiler. It includes support
42 for most of the current C++ specification, including templates and
43 exception handling. It does not include a standard C++ library, which
44 is available separately.
45
46 %description -l de c++
47 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
48 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
49 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten - sie ist
50 getrennt erhältlich.
51
52 %description -l fr c++
53 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
54 support pour la plupart des spécifications actuelles de C++, dont les 
55 modéles et la gestion des exceptions. Il ne comprend pas une bibliothéque
56 C++ standard, qui est disponible séparément.
57
58 %description -l pl c++
59 Programy z tego pakietu zapewniaj± wsparcie do C++ do GNU C kompilatora.
60 Posiada wspomaganie dla du¿ej ilo¶ci obecnych specyfikacji C++, nie posiada
61 natomiast standardowych bibliotek C++, które s± w oddzielnym pakiecie.
62
63 %description -l tr c++
64 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve aykýrý durum
65 iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart C++ kitaplýðý bu
66 pakette yer almaz.
67
68 %package objc
69 Summary:        Objective C support for gcc
70 Summary(de):    Objektive C-Unterstützung für gcc
71 Summary(fr):    Gestion d'Objective C pour gcc
72 Summary(pl):    Wspomaganie obiektowego C dla kompilatora gcc
73 Summary(tr):    gcc için Objective C desteði
74 Group:          Development/Languages
75 Group(pl):      Programowanie/Jêzyki
76 Obsoletes:      egcc-objc
77
78 %description objc
79 This package adds Objective C support to the GNU C compiler. Objective C is
80 a object oriented derivative of the C language, mainly used on systems
81 running NeXTSTEP. This package does not include the standard objective C
82 object library.
83
84 %description -l de objc
85 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support. Objective
86 C ist ein objektorientiertes Derivat von C, das zur Hauptsache auf Systemen
87 mit NeXTSTEP zum Einsatz kommt. Die Standard-Objective-C-Objekt-Library ist
88 nicht Teil des Pakets.
89
90 %description -l fr objc
91 Ce package ajoute un support Objective C au compilateur C GNU. L'Objective C
92 est un langage orienté objetdérivé du langage C, principalement utilisé sur
93 les systèmes NeXTSTEP. Ce package n'inclue pas la bibliothéque Objective C
94 standard.
95
96 %description -l pl objc
97 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc.  W pakiecie nie
98 ma jeszcze bibliotek C-obj.
99
100 %description -l tr objc
101 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C, C
102 dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan sistemlerde
103 yaygýn olarak kullanýlýr. Standart Objective C nesne kitaplýðý bu pakette
104 yer almaz.
105
106 %package g77
107 Summary:        Fortran 77 support for gcc
108 Summary(pl):    Wspomaganie Fortran 77 dla gcc
109 Group:          Development/Languages
110 Group(pl):      Programowanie/Jêzyki
111 Prereq:         /usr/sbin/fix-info-dir
112
113 %description g77
114 This apckage adds support for compiling Fortran 77 programs with the GNU
115 compiler.
116
117 %description -l pl g77
118 Ten pakiet jest wspomaganiem Fortran 77 dla kompilatora gcc.
119 Jest u¿yteczny kompilowania programów pisanych w jêzyku Fortran 77.
120
121 %package chill
122 Summary:        CHILL support for gcc
123 Summary(pl):    Wspomoganie CHILL dla gcc
124 Group:          Development/Languages
125 Group(pl):      Programowanie/Jêzyki
126 Requires:       %{name} = %{version}
127 Prereq:         /usr/sbin/fix-info-dir
128
129 %description chill
130 This package adds support for compiling CHILL programs with the GNU
131 compiler.
132
133 Chill is the "CCITT High-Level Language", where CCITT is the old
134 name for what is now ITU, the International Telecommunications Union.
135 It is is language in the Modula2 family, and targets many of the
136 same applications as Ada (especially large embedded systems).
137 Chill was never used much in the United States, but is still
138 being used in Europe, Brazil, Korea, and other places.
139
140 %package java
141 Summary:        Java support for gcc
142 Summary(pl):    Wspomoganie Java dla gcc
143 Group:          Development/Languages
144 Group(pl):      Programowanie/Jêzyki
145 Requires:       %{name} = %{version}
146 Requires:       %{name}-libgcj = %{version}
147
148 %description java
149 This package adds experimental support for compiling Java(tm) programs and
150 bytecode into native code. To use this you will also need the gcc-libgcj
151 package.
152
153 %package libgcj
154 Summary:        Java runtime library for gcc
155 Group:          Libraries
156 URL:            http://sourceware.cygnus.com/java/
157 Requires:       zip >= 2.1
158
159 %description libgcj
160 The Java runtime library. You will need this package to compile your Java
161 programs using the gcc Java compiler (gcj).
162
163 %package libgcj-static
164 Summary:        Static java runtime library for gcc
165 Group:          Development/Libraries
166 URL:            http://sourceware.cygnus.com/java/
167 Requires:       %{name}-libgcj = %{version}
168
169 %description libgcj-static
170 The static java runtime library. You will need this package to staticly
171 compile your Java programs using the gcc Java compiler (gcj).
172
173 %package -n libstdc++
174 Summary:        GNU c++ library
175 Summary(pl):    Biblioteki GNU C++ 
176 Group:          Libraries
177 Group(pl):      Biblioteki
178 Version:        %{STDC_VERSION}
179 Obsoletes:      libg++
180
181 %description -n libstdc++
182 This is the GNU implementation of the standard C++ libraries, along with
183 additional GNU tools. This package includes the shared libraries
184 necessary to run C++ applications.
185
186 %description -l de -n libstdc++
187 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit weiteren
188 GNU-Tools. Dieses Paket enthält die zum Ausführen von C++-Anwendungen
189 erforderlichen gemeinsam genutzten Libraries.
190
191 %description -l fr -n libstdc++
192 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que des
193 outils GNU supplémentaires. Ce package comprend les librairies partagées
194 nécessaires à l'exécution d'application C++.
195
196 %description -l pl -n libstdc++  
197 Pakiet ten zawiera biblioteki bêd±ce inplementacj± standardowych bibliotek
198 C++, znajduj± siê w nim biblioteki dynamiczne niezbêdne do uruchomienia
199 aplikacji C++.
200
201 %description -l tr -n libstdc++
202 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
203 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
204
205 %package -n libstdc++-devel
206 Summary:        Header files and libraries for C++ development
207 Summary(de):    Header-Dateien und Libraries zur Entwicklung mit C++
208 Summary(fr):    Fichiers d'en-tête et biblitothèques pour développer en C++.
209 Summary(tr):    C++ ile program geliþtirmek için gerekli dosyalar
210 Group:          Development/Libraries
211 Group(pl):      Programowanie/Biblioteki
212 Version:        %{STDC_VERSION}
213 Requires:       libstdc++ = %{STDC_VERSION}
214 Obsoletes:      libg++-devel
215
216 %description -n libstdc++-devel
217 This is the GNU implementation of the standard C++ libraries.  This package
218 includes the header files and libraries needed for C++ development.
219
220 %description -l pl -n libstdc++-devel
221 Pakiet ten zawiera biblioteki bêd±ce inplementacj± standardowych bibliotek
222 C++, znajduj± siê w nim biblioteki i pliki nag³ówków wykorzystywane do
223 programowania w jêzyku C++.
224
225 %package -n libstdc++-static
226 Summary:        Static c++ standard library
227 Summary(pl):    Biblioeka statyczna c++
228 Group:          Development/Libraries
229 Group(pl):      Programowanie/Biblioteki
230 Version:        %{STDC_VERSION}
231 Requires:       libstdc++-devel = %{STDC_VERSION}
232
233 %description -n libstdc++-static
234 Static c++ standard library.
235
236 %description -l pl -n libstdc++-static
237 Biblioeka statyczna c++.
238
239 %package -n cpp
240 Summary:        The C Pre Processor
241 Summary(pl):    Preprocesor C
242 Group:          Development/Languages
243 Group(pl):      Programowanie/Jêzyki
244 Prereq:         /usr/sbin/fix-info-dir
245 Obsoletes:      egcs-cpp
246
247 %description -n cpp
248 The C preprocessor is a "macro processor" that is used automatically by the
249 C compiler to transform your program before actual compilation. It is called
250 a macro processor because it allows you to define "macros", which are brief
251 abbreviations for longer constructs.
252
253 The C preprocessor provides four separate facilities that you can use as you
254 see fit:
255
256 * Inclusion of header files.  These are files of declarations that
257   can be substituted into your program.
258 * Macro expansion.  You can define "macros", which are abbreviations for
259   arbitrary fragments of C code, and then the C preprocessor will replace
260   the macros with their definitions throughout the program.
261 * Conditional compilation.  Using special preprocessing directives,
262   you can include or exclude parts of the program according to various
263   conditions.
264 * Line control.  If you use a program to combine or rearrange source
265   files into an intermediate file which is then compiled, you can use line
266   control to inform the compiler of where each source line originally came
267   from.
268
269 %description -l pl -n cpp
270 Przeprocesor C jest "makro procesorem" który jest automatycznie u¿ywaney
271 przez kompilator C do obróbki kompilowanego programu przed w³a¶ciw±
272 kompilacj±. Jest on nazywany makroprocesorem poniewa¿ poniewa¿ umo¿liwia
273 definiowanie i rozwijanie makr umo¿liwiaj±cych kracanie d³ugich konstrukcji
274 w jêzyku C.
275
276 Preprocesor C umo¿liwia wykonywanie czterech róznych typow operacji:
277
278 * Inkluzja (do³aczenie) plików (np. nag³ówkowych). W³±cza pliki w miejscu
279   deklaracji polecenia do³±czenia inefgo pliku.
280 * Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
281   których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
282   indentyfikatora deklarowan± wcze¶niej warto¶ci±.
283 * Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
284   ¶rodowisku preprocesora s± w³±czane warunkowo b±æ nie pewne fragmenty
285   obrabianego strumienia tekstów.
286 * Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom podlega
287   wynikowy strumieñ danych w wyniku rozwijania makr i inkluzji s±
288   zapamiêtywane informacje o tym z której linii pliku ¼ród³owego
289   odpowiada fragment czy liniia pliku wynikowego.
290
291 %prep
292 %setup -q
293 %setup -q -a1 -D -T
294 mv libgcj-%{GCJ_VERSION} libgcj
295 mv libgcj/boehm-gc libgcj/libjava libgcj/zlib libgcj/zip .
296 %patch0 -p1
297 %patch1 -p1
298 %patch2 -p1
299 %patch3 -p1
300
301 %build
302 rm -rf obj-%{_target_platform}
303 install -d obj-%{_target_platform} && cd obj-%{_target_platform} 
304
305 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="-s" \
306 ../configure \
307         --prefix=%{_prefix} \
308         --infodir=%{_infodir} \
309         --enable-shared \
310         --enable-threads \
311         --enable-haifa \
312         --with-gnu-as \
313         --with-gnu-ld \
314         --with-gxx-include-dir="\$\{prefix\}/include/g++" \
315         %{_target_platform}
316
317 PATH=$PATH:/sbin:%{_sbindir}
318 touch  ../gcc/c-gperf.h
319
320 make LDFLAGS_FOR_TARGET="-s" \
321         bootstrap-lean \
322         mandir=%{_mandir} \
323         infodir=%{_infodir}
324
325 %install
326 rm -rf $RPM_BUILD_ROOT
327 install -d $RPM_BUILD_ROOT%{_datadir}
328
329 cd obj-%{_target_platform}
330 PATH=$PATH:/sbin:%{_sbindir}
331
332 make install \
333         prefix=$RPM_BUILD_ROOT%{_prefix} \
334         mandir=$RPM_BUILD_ROOT%{_mandir} \
335         infodir=$RPM_BUILD_ROOT%{_infodir}
336
337 make install \
338         prefix=$RPM_BUILD_ROOT%{_prefix} \
339         mandir=$RPM_BUILD_ROOT%{_mandir} \
340         infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
341
342 strip $RPM_BUILD_ROOT%{_bindir}/* || :
343
344 strip $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/{cc1,cc1chill,cc1obj,cc1plus,cpp,f771,collect2,jc1,jvgenmain}
345 strip --strip-unneeded $RPM_BUILD_ROOT%{_libdir}/libstdc++.so.*.*.*
346
347 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
348
349 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
350 echo .so cccp.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cpp.1
351
352 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
353
354 (cd $RPM_BUILD_ROOT%{_libdir} ; ln -sf libstdc++.so.*.*.* $RPM_BUILD_ROOT%{_libdir}/libstdc++.so)
355
356 install -d $RPM_BUILD_ROOT/lib
357 (cd $RPM_BUILD_ROOT; \
358 ln -sf ../`dirname usr/lib/gcc-lib/%{_target_cpu}*/*/cpp`/cpp $RPM_BUILD_ROOT/lib/cpp)
359
360 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/{info/*.info*,man/man1/*} \
361           ../READ* ../ChangeLog ../gcc/ch/chill.brochure
362
363 %post
364 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
365
366 %postun
367 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
368
369 %post g77
370 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
371
372 %postun g77
373 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
374
375 %post chill
376 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
377
378 %postun chill
379 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
380
381 %post -n cpp
382 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
383
384 %postun -n cpp
385 /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
386
387 %post libgcj  -p /sbin/ldconfig
388
389 %post   -p /sbin/ldconfig -n libstdc++
390 %postun -p /sbin/ldconfig -n libstdc++
391
392 %clean
393 rm -rf $RPM_BUILD_ROOT
394
395 %files
396 %defattr(644,root,root,755)
397 %doc READ* ChangeLog.gz
398
399 %dir %{_libdir}/gcc-lib
400 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
401 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
402 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
403
404 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
405 %attr(755,root,root) %{_bindir}/gcc
406 %attr(755,root,root) %{_bindir}/gcov
407 %attr(755,root,root) %{_bindir}/protoize
408 %attr(755,root,root) %{_bindir}/unprotoize
409 %attr(755,root,root) %{_bindir}/cc
410
411 %{_mandir}/man1/gcc.1*
412 %{_infodir}/gcc*
413
414 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
415 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
416 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
417 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
418 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
419
420 %ifnarch alpha
421 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
422 %endif
423
424 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
425
426 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
427 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
428 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
429 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
430 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
431 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
432 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
433 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
434 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
435 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
436
437 %files c++
438 %defattr(644,root,root,755)
439
440 %{_mandir}/man1/g++.1.gz
441
442 %attr(755,root,root) %{_bindir}/g++
443 %attr(755,root,root) %{_bindir}/c++
444 %attr(755,root,root) %{_bindir}/c++filt
445 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
446
447 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
448 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
449 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
450 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
451
452 %files objc
453 %defattr(644,root,root,755)
454
455 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
456
457 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
458 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
459
460 %files g77
461 %defattr(644,root,root,755)
462
463 %attr(755,root,root) %{_bindir}/g77
464 %attr(755,root,root) %{_bindir}/f77
465
466 %{_infodir}/g77*
467
468 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
469 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
470
471 %{_mandir}/man1/g77.1*
472 %{_mandir}/man1/f77.1*
473
474 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
475
476 %files chill
477 %defattr(644,root,root,755)
478 %doc gcc/ch/chill.brochure.gz
479
480 %attr(755,root,root) %{_bindir}/chill
481
482 %{_infodir}/chill*
483
484 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
485 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
486 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
487
488 %files java
489 %defattr(644,root,root,755)
490
491 %attr(755,root,root) %{_bindir}/gcj
492 %attr(755,root,root) %{_bindir}/gcjh
493 %attr(755,root,root) %{_bindir}/jcf-dump
494 %attr(755,root,root) %{_bindir}/jv-convert
495 %attr(755,root,root) %{_bindir}/jv-scan
496
497 %{_libdir}/*.spec
498
499 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
500 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
501
502 %files libgcj
503 %defattr(644,root,root,755)
504
505 %attr(755,root,root) %{_libdir}/lib*gcj*.so
506 %attr(755,root,root) %{_libdir}/lib*gcj*.so.*.*.*
507
508 %files libgcj-static
509 %defattr(644,root,root,755)
510
511 %{_libdir}/lib*gcj*.a
512 %{_libdir}/lib*gcj*.la
513
514 %files -n libstdc++
515 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
516
517 %files -n libstdc++-devel
518 %defattr(644,root,root,755) 
519 %{_includedir}/g++
520 %attr(755,root,root) %{_libdir}/libstdc++.so
521
522 %files -n libstdc++-static
523 %attr(644,root,root) %{_libdir}/libstdc++.a
524
525 %files -n cpp
526 %defattr(644,root,root,755)
527 %attr(755,root,root) /lib/cpp
528
529 %{_mandir}/man1/cpp.1*
530 %{_mandir}/man1/cccp.1*
531 %{_infodir}/cpp.info*.gz
532
533 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp
This page took 0.076916 seconds and 4 git commands to generate.