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