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