]> git.pld-linux.org Git - packages/gcc2.git/blob - gcc2.spec
- move compressed patch to distfiles
[packages/gcc2.git] / gcc2.spec
1 %define         rname           gcc
2 %define         rver            2.95.3
3 %define         snap            20010823
4 %define         STDC_VERSION    2.10.0
5 %define         STDC_RELEASE    5
6 Summary:        GNU Compiler Collection
7 Summary(pl.UTF-8):      Kolekcja kompilatorów GNU
8 Name:           %{rname}2
9 Version:        2.95.4
10 Release:        0.%{snap}.6
11 License:        GPL
12 Group:          Development/Languages
13 Source0:        ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{rver}/%{rname}-%{rver}.tar.bz2
14 # Source0-md5:  87ee083a830683e2aaa57463940a0c3c
15 Patch0:         %{name}-info.patch
16 Patch1:         %{name}-pld-linux.patch
17 Patch2:         %{name}-libstdc++.patch
18 Patch3:         %{name}-bootstrap.patch
19 Patch4:         %{name}-cpp-macro-doc.patch
20 Patch5:         %{name}-default-arch.patch
21 Patch6:         %{name}-libstdc++-out-of-mem.patch
22 Patch7:         %{name}-libstdc++-wstring.patch
23 Patch8:         %{name}-libstdc++-bastring.patch
24 Patch9:         %{name}-manpage.patch
25 Patch10:        %{name}-cpp-dos-newlines.patch
26 Patch11:        %{name}-gpc.patch
27 Patch12:        %{name}-m68k-pic.patch
28 Patch13:        %{name}-sparc32-rfi.patch
29 Patch14:        %{name}-builtin-apply.patch
30 Patch15:        %{name}-ppc-ice.patch
31 Patch16:        %{name}-ppc-descriptions.patch
32 Patch17:        %{name}-alpha-complex-float.patch
33 Patch18:        %{name}-gcj-vs-iconv.patch
34 Patch19:        %{name}-libobjc.patch
35 #Patch20:       %{name}-pointer-arith.patch
36 Patch21:        %{name}-suffix.patch
37 Patch22:        %{name}-athlon-option.patch
38 Patch50:        gcc-%{rver}-%{snap}.patch.bz2
39 # Patch50-md5:  83f4163aa5b8492d27cbfc9eb8ea419c
40 BuildRequires:  autoconf
41 BuildRequires:  automake
42 BuildRequires:  bison
43 BuildRequires:  texinfo
44 Requires:       binutils
45 Requires:       cpp2 = %{version}
46 %ifarch alpha
47 Conflicts:      glibc-devel < 2.2.5
48 %endif
49 URL:            http://gcc.gnu.org/
50 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51
52 %description
53 A compiler aimed at integrating all the optimizations and features
54 necessary for a high-performance and stable development environment.
55
56 %description -l pl.UTF-8
57 Kompilator, posiadający duże możliwości optymalizacyjne niezbędne do
58 wyprodukowania szybkiego i stabilnego kodu wynikowego.
59
60 %package c++
61 Summary:        C++ support for gcc
62 Summary(fr.UTF-8):      Support C++ pour le compilateur gcc
63 Summary(pl.UTF-8):      Wspomaganie C++ dla kompilatora gcc
64 Summary(tr.UTF-8):      gcc için C++ desteği
65 Group:          Development/Languages
66 Requires:       %{name} = %{version}-%{release}
67 Obsoletes:      egcc-c++
68 Obsoletes:      egcs-c++
69
70 %description c++
71 This package adds C++ support to the GNU C compiler. It includes
72 support for most of the current C++ specification, including templates
73 and exception handling. It does not include a standard C++ library,
74 which is available separately.
75
76 %description c++ -l de.UTF-8
77 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
78 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
79 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
80 sie ist getrennt erhältlich.
81
82 %description c++ -l fr.UTF-8
83 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
84 support pour la plupart des spécifications actuelles de C++, dont les
85 modéles et la gestion des exceptions. Il ne comprend pas une
86 bibliothéque C++ standard, qui est disponible séparément.
87
88 %description c++ -l pl.UTF-8
89 Programy z tego pakietu zapewniają wsparcie dla C++ do gcc. Posiada
90 wspomaganie dla dużej ilości obecnych specyfikacji C++, nie posiada
91 natomiast standardowych bibliotek C++, które są w oddzielnym pakiecie.
92
93 %description c++ -l tr.UTF-8
94 Bu paket, GNU C derleyicisine C++ desteği ekler. 'Template'ler ve
95 aykırı durum işleme gibi çoğu güncel C++ tanımlarına uyar. Standart
96 C++ kitaplığı bu pakette yer almaz.
97
98 %package objc
99 Summary:        Objective C support for gcc
100 Summary(de.UTF-8):      Objektive C-Unterstützung für gcc
101 Summary(fr.UTF-8):      Gestion d'Objective C pour gcc
102 Summary(pl.UTF-8):      Wspomaganie obiektowego C dla kompilatora gcc
103 Summary(tr.UTF-8):      gcc için Objective C desteği
104 Group:          Development/Languages
105 Requires:       %{name} = %{version}-%{release}
106 Obsoletes:      egcc-objc
107 Obsoletes:      egcs-objc
108
109 %description objc
110 This package adds Objective C support to the GNU C compiler. Objective
111 C is a object oriented derivative of the C language, mainly used on
112 systems running NeXTSTEP. This package does not include the standard
113 objective C object library.
114
115 %description objc -l de.UTF-8
116 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
117 Objective C ist ein objektorientiertes Derivat von C, das zur
118 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
119 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
120
121 %description objc -l fr.UTF-8
122 Ce package ajoute un support Objective C au compilateur C GNU.
123 L'Objective C est un langage orienté objetdérivé du langage C,
124 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
125 pas la bibliothéque Objective C standard.
126
127 %description objc -l pl.UTF-8
128 Ten pakiet jest wsparciem obiektowego C dla kompilatora gcc. W
129 pakiecie nie ma jeszcze bibliotek C-obj.
130
131 %description objc -l tr.UTF-8
132 Bu paket, GNU C derleyicisine Objective C desteği ekler. Objective C,
133 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altında çalışan
134 sistemlerde yaygın olarak kullanılır. Standart Objective C nesne
135 kitaplığı bu pakette yer almaz.
136
137 %package g77
138 Summary:        Fortran 77 support for gcc
139 Summary(pl.UTF-8):      Wspomaganie Fortran 77 dla gcc
140 Group:          Development/Languages
141 Obsoletes:      egcs-g77
142
143 %description g77
144 This apckage adds support for compiling Fortran 77 programs with the
145 GNU compiler.
146
147 %description g77 -l pl.UTF-8
148 Ten pakiet jest wsparciem Fortran 77 dla kompilatora gcc. Jest
149 potrzebny do kompilowania programów pisanych w języku Fortran 77.
150
151 %package chill
152 Summary:        CHILL support for gcc
153 Summary(pl.UTF-8):      Wspomoganie CHILL dla gcc
154 Group:          Development/Languages
155 Requires:       %{name} = %{version}-%{release}
156
157 %description chill
158 This package adds support for compiling CHILL programs with the GNU
159 compiler.
160
161 Chill is the "CCITT High-Level Language", where CCITT is the old name
162 for what is now ITU, the International Telecommunications Union. It is
163 is language in the Modula2 family, and targets many of the same
164 applications as Ada (especially large embedded systems). Chill was
165 never used much in the United States, but is still being used in
166 Europe, Brazil, Korea, and other places.
167
168 %description chill -l pl.UTF-8
169 Ten pakiet dodaje do gcc możliwość kompilowania programów w języku
170 CHILL.
171
172 %package -n libstdc++2
173 Summary:        GNU c++ library
174 Summary(pl.UTF-8):      Biblioteki GNU C++
175 Version:        %{STDC_VERSION}
176 Release:        %{STDC_RELEASE}
177 Group:          Libraries
178 Obsoletes:      libg++
179
180 %description -n libstdc++2
181 This is the GNU implementation of the standard C++ libraries, along
182 with additional GNU tools. This package includes the shared libraries
183 necessary to run C++ applications.
184
185 %description -n libstdc++2 -l de.UTF-8
186 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
187 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
188 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
189
190 %description -n libstdc++2 -l fr.UTF-8
191 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
192 des outils GNU supplémentaires. Ce package comprend les librairies
193 partagées nécessaires à l'exécution d'application C++.
194
195 %description -n libstdc++2 -l pl.UTF-8
196 Pakiet ten zawiera biblioteki będące implementacją standardowych
197 bibliotek C++. Znajdują się w nim biblioteki dynamiczne niezbędne do
198 uruchomienia aplikacji napisanych w C++.
199
200 %description -n libstdc++2 -l tr.UTF-8
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++2-devel
205 Summary:        Header files and libraries for C++ development
206 Summary(de.UTF-8):      Header-Dateien und Libraries zur Entwicklung mit C++
207 Summary(fr.UTF-8):      Fichiers d'en-tête et biblitothèques pour développer en C++
208 Summary(pl.UTF-8):      Pliki nagłówkowe do programowania z użyciem bibliotek C++
209 Summary(tr.UTF-8):      C++ ile program geliştirmek için gerekli dosyalar
210 Version:        %{STDC_VERSION}
211 Release:        %{STDC_RELEASE}
212 Group:          Development/Libraries
213 Requires:       %{name}-c++
214 Requires:       libstdc++2 = %{STDC_VERSION}
215 Obsoletes:      libg++-devel
216
217 %description -n libstdc++2-devel
218 This is the GNU implementation of the standard C++ libraries. This
219 package includes the header files and libraries needed for C++
220 development.
221
222 %description -n libstdc++2-devel -l pl.UTF-8
223 Pakiet ten zawiera biblioteki będące implementacją standardowych
224 bibliotek C++. Znajdują się w nim pliki nagłówkowe wykorzystywane przy
225 programowaniu w języku C++.
226
227 %package -n libstdc++2-static
228 Summary:        Static c++ standard library
229 Summary(pl.UTF-8):      Biblioteka statyczna c++
230 Version:        %{STDC_VERSION}
231 Release:        %{STDC_RELEASE}
232 Group:          Development/Libraries
233 Requires:       libstdc++2-devel = %{STDC_VERSION}
234
235 %description -n libstdc++2-static
236 Static c++ standard library.
237
238 %description -n libstdc++2-static -l pl.UTF-8
239 Biblioteka statyczna C++.
240
241 %package -n cpp2
242 Summary:        The C Pre Processor
243 Summary(pl.UTF-8):      Preprocesor C
244 Group:          Development/Languages
245 Obsoletes:      egcs-cpp
246
247 %description -n cpp2
248 The C preprocessor is a "macro processor" that is used automatically
249 by the C compiler to transform your program before actual compilation.
250 It is called a macro processor because it allows you to define
251 "macros", which are brief abbreviations for longer constructs.
252
253 The C preprocessor provides four separate facilities that you can use
254 as you see fit:
255
256 - Inclusion of header files. These are files of declarations that can
257   be substituted into your program.
258 - Macro expansion. You can define "macros", which are abbreviations
259   for arbitrary fragments of C code, and then the C preprocessor will
260   replace the macros with their definitions throughout the program.
261 - Conditional compilation. Using special preprocessing directives, you
262   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
266   line control to inform the compiler of where each source line
267   originally came from.
268
269 %description -n cpp2 -l pl.UTF-8
270 Preprocesor C jest "makro procesorem" który jest automatycznie używany
271 przez kompilator C do obróbki kompilowanego programu przed właściwą
272 kompilacją. Jest on nazywany makroprocesorem, ponieważ umożliwia
273 definiowanie i rozwijanie makr umożliwiających skracanie długich
274 konstrukcji w języku C.
275
276 Preprocesor C umożliwia wykonywanie czterech różnych typów operacji:
277
278 - Dołączanie plików (np. nagłówkowych). Wstawia pliki w miejscu
279   deklaracji polecenia dołączenia innego pliku.
280 - Rozwijanie makr. Można definiować "makra" nadając im identyfikatory,
281   których późniejsze użycie powoduje podczas rozwijania podmienienie
282   identyfikatora 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ądź nie, pewne
285   fragmenty obrabianego strumienia tekstów.
286 - Kontrola linii źródła. Niezależnie od tego jakim przeobrażeniom
287   podlega wynikowy strumień danych w wyniku rozwijania makr i dołączania
288   są zapamiętywane informacje o tym, której linii pliku źródłowego
289   odpowiada fragment pliku wynikowego.
290
291 %prep
292 %setup -q -n %{rname}-%{rver}
293 %patch50 -p1
294 %patch0 -p1
295 %patch1 -p1
296 %patch2 -p1
297 %patch3 -p1
298 %patch4 -p0
299 %patch5 -p0
300 %patch6 -p0
301 %patch7 -p0
302 %patch8 -p0
303 %patch9 -p0
304 %patch10 -p0
305 %patch11 -p1
306 %ifarch m68k
307 %patch12 -p0
308 %endif
309 %ifarch sparc sparc32
310 %patch13 -p0
311 %patch14 -p0
312 %endif
313 %ifarch ppc
314 %patch15 -p0
315 %patch16 -p0
316 %endif
317 %ifarch alpha
318 %patch17 -p1
319 %endif
320 %patch18 -p0
321 %patch19 -p0
322 #%patch20 -p0
323 %patch21 -p1
324 %patch22 -p1
325
326 %build
327 rm -rf gcc/java
328 cd gcc
329 %{__autoconf}
330 cp -f /usr/share/automake/config.* .
331 cd ..
332 cp -f /usr/share/automake/config.* .
333 rm -rf obj-%{_target_platform}
334 install -d obj-%{_target_platform} && cd obj-%{_target_platform}
335
336 CC="%{__cc}"; export CC
337 CFLAGS="%{rpmcflags}" \
338 CXXFLAGS="%{rpmcflags}" \
339 TEXCONFIG=false ../configure \
340         --host=%{_target_platform} \
341         --build=%{_target_platform} \
342         --prefix=%{_prefix} \
343         --infodir=%{_infodir} \
344         --enable-shared \
345 %ifnarch sparc sparc64
346         --enable-threads=posix \
347         --enable-haifa \
348 %endif
349         --with-gnu-as \
350         --with-gnu-ld \
351         --with-gxx-include-dir="\$\{prefix\}/include/g++" \
352         --disable-nls \
353         --program-suffix="2"
354
355 PATH=$PATH:/sbin:%{_sbindir}
356 touch  ../gcc/c-gperf.h
357
358 cd ..
359 %{__make} -C obj-%{_target_platform} bootstrap \
360         LDFLAGS_FOR_TARGET="%{rpmldflags}" \
361         mandir=%{_mandir} \
362         infodir=%{_infodir}
363
364 %install
365 rm -rf $RPM_BUILD_ROOT
366 install -d $RPM_BUILD_ROOT{/lib,%{_datadir}}
367
368 cd obj-%{_target_platform}
369 PATH=$PATH:/sbin:%{_sbindir}
370
371 %{__make} install \
372         prefix=$RPM_BUILD_ROOT%{_prefix} \
373         mandir=$RPM_BUILD_ROOT%{_mandir} \
374         infodir=$RPM_BUILD_ROOT%{_infodir}
375
376 %{__make} install \
377         prefix=$RPM_BUILD_ROOT%{_prefix} \
378         mandir=$RPM_BUILD_ROOT%{_mandir} \
379         infodir=$RPM_BUILD_ROOT%{_infodir} -C texinfo
380
381 ln -sf gcc2 $RPM_BUILD_ROOT%{_bindir}/cc2
382
383 ln -sf g772 $RPM_BUILD_ROOT%{_bindir}/f772
384
385 mv $RPM_BUILD_ROOT%{_libdir}/libstdc++.a \
386         $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/
387
388 ln -sf %{_bindir}/cpp2 $RPM_BUILD_ROOT/lib/cpp2
389
390 cd $RPM_BUILD_ROOT%{_bindir}
391 mv chill chill2
392 mv %{_target_platform}-gcc %{_target_platform}-gcc2
393
394 %clean
395 rm -rf $RPM_BUILD_ROOT
396
397 %post   -p      /sbin/postshell
398 -/usr/sbin/fix-info-dir -c %{_infodir}
399
400 %postun -p      /sbin/postshell
401 -/usr/sbin/fix-info-dir -c %{_infodir}
402
403 %post g77       -p      /sbin/postshell
404 -/usr/sbin/fix-info-dir -c %{_infodir}
405
406 %postun g77     -p      /sbin/postshell
407 -/usr/sbin/fix-info-dir -c %{_infodir}
408
409 %post chill     -p      /sbin/postshell
410 -/usr/sbin/fix-info-dir -c %{_infodir}
411
412 %postun chill   -p      /sbin/postshell
413 -/usr/sbin/fix-info-dir -c %{_infodir}
414
415 %post -n cpp2   -p      /sbin/postshell
416 -/usr/sbin/fix-info-dir -c %{_infodir}
417
418 %postun -n cpp2 -p      /sbin/postshell
419 -/usr/sbin/fix-info-dir -c %{_infodir}
420
421 %post   -p /sbin/ldconfig -n libstdc++2
422 %postun -p /sbin/ldconfig -n libstdc++2
423
424 %files
425 %defattr(644,root,root,755)
426 %doc READ* ChangeLog
427
428 %dir %{_libdir}/gcc-lib
429 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
430 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
431 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
432
433 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc2
434 %attr(755,root,root) %{_bindir}/gcc2
435 %attr(755,root,root) %{_bindir}/gcov2
436 %attr(755,root,root) %{_bindir}/protoize2
437 %attr(755,root,root) %{_bindir}/unprotoize2
438 %attr(755,root,root) %{_bindir}/cc2
439
440 %{_libdir}/gcc-lib/%{_target_cpu}*/*/SYSCALLS.c.X
441 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
442 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
443 %{_libdir}/gcc-lib/%{_target_cpu}*/*/lib*.map
444 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
445
446 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
447 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
448
449 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
450 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
451 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
452 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/proto.h
453 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
454 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
455 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
456 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
457 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/va-*.h
458 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
459
460 %files c++
461 %defattr(644,root,root,755)
462
463 %attr(755,root,root) %{_bindir}/g++2
464 %attr(755,root,root) %{_bindir}/c++2
465 %attr(755,root,root) %{_bindir}/c++filt2
466 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
467
468 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/exception
469 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new
470 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/typeinfo
471 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/new.h
472
473 %files objc
474 %defattr(644,root,root,755)
475
476 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
477
478 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libobjc.a
479 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
480
481 %files g77
482 %defattr(644,root,root,755)
483
484 %attr(755,root,root) %{_bindir}/g772
485 %attr(755,root,root) %{_bindir}/f772
486
487 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
488 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libg2c.a
489
490 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
491
492 %files chill
493 %defattr(644,root,root,755)
494 %doc gcc/ch/chill.brochure
495
496 %attr(755,root,root) %{_bindir}/chill2
497
498 %{_infodir}/chill*
499
500 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1chill
501 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/chill*.o
502 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libchill.a
503
504 %files -n libstdc++2
505 %defattr(644,root,root,755)
506 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
507
508 %files -n libstdc++2-devel
509 %defattr(644,root,root,755)
510 %{_includedir}/g++
511 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.so
512
513 %files -n libstdc++2-static
514 %defattr(644,root,root,755)
515 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.a
516
517 %files -n cpp2
518 %defattr(644,root,root,755)
519 %attr(755,root,root) /lib/cpp2
520 %attr(755,root,root) %{_bindir}/cpp2
521 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
This page took 0.174842 seconds and 3 git commands to generate.