]> git.pld-linux.org Git - packages/gcc4.git/blob - gcc4.spec
- updated to 3.3.2
[packages/gcc4.git] / gcc4.spec
1 #
2 # Conditional build:
3 # _without_ada  - build without ADA support
4 # _without_java - build without Java support
5 # _without_objc - build without objc support
6 # _with_pp      - build with ProPolice
7
8 %define         DASHED_SNAP     %{nil}
9 %define         SNAP            %(echo %{DASHED_SNAP} | sed -e "s#-##g")
10 %define         GCC_VERSION     3.3.2
11 %define         KSI_VERSION     1.1.0.1567
12
13 Summary:        GNU C Compiler
14 Summary(pl):    Kompilator C GNU
15 Summary(pt_BR): C Compilador GNU (GCC)
16 Name:           gcc
17 Version:        %{GCC_VERSION}
18 Release:        0.1
19 Epoch:          5
20 License:        GPL
21 Group:          Development/Languages
22 Source0:        ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{GCC_VERSION}/%{name}-%{GCC_VERSION}.tar.bz2
23 # Source0-md5:  65999f654102f5438ac8562d13a6eced
24 Source1:        ftp://ftp.pld-linux.org/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
25 # Source1-md5:  66f07491b44f06928fd95b0e65bb8cd3
26 Source2:        http://ep09.kernel.pl/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
27 # Source2-md5:  4736f3422ddfb808423b745629acc321
28 Patch0:         %{name}-info.patch
29 Patch1:         %{name}-paths.patch
30 Patch2:         %{name}-nolocalefiles.patch
31 Patch3:         %{name}-ada-link-new-libgnat.patch
32 # -- stolen patches from RH --
33 Patch10:        gcc32-ada-link.patch
34 Patch11:        gcc32-boehm-gc-libs.patch
35 Patch12:        gcc32-bogus-inline.patch
36 Patch13:        gcc32-c++-nrv-test.patch
37 Patch14:        gcc32-c++-tsubst-asm.patch
38 Patch15:        gcc32-debug-pr7241.patch
39 Patch16:        gcc32-duplicate-decl.patch
40 Patch17:        gcc32-dwarf2-pr6381.patch
41 Patch18:        gcc32-dwarf2-pr6436-test.patch
42 Patch19:        gcc32-fde-merge-compat.patch
43 Patch20:        gcc32-i386-memtest-test.patch
44 Patch21:        gcc32-inline-label.patch
45 Patch22:        gcc32-java-no-rpath.patch
46 Patch23:        gcc32-test-rh65771.patch
47 Patch24:        gcc32-test-rotate.patch
48 Patch25:        %{name}-3.3.1-propolice.patch
49 BuildRequires:  autoconf
50 BuildRequires:  binutils >= 2.14
51 BuildRequires:  bison
52 BuildRequires:  fileutils >= 4.0.41
53 BuildRequires:  gcc
54 %{!?_without_ada:BuildRequires: gcc(ada)}
55 %{!?_without_ada:BuildRequires: gcc-ada}
56 BuildRequires:  glibc-devel >= 2.2.5-20
57 BuildRequires:  perl-devel
58 BuildRequires:  texinfo >= 4.1
59 BuildRequires:  zlib-devel
60 BuildRequires:  gettext-devel
61 Requires:       binutils >= 2.14
62 Requires:       cpp = %{epoch}:%{GCC_VERSION}
63 Requires:       libgcc = %{epoch}:%{GCC_VERSION}
64 %{!?_without_ada:Provides: gcc(ada)}
65 Conflicts:      glibc-devel < 2.2.5-20
66 URL:            http://gcc.gnu.org/
67 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
68
69 %define         _slibdir        /lib
70 %ifarch sparc64
71 %define         _slibdir64      /lib64
72 %define         _libdir         /usr/lib
73 %define         rpmcflags       -O2 -mtune=ultrasparc
74 %endif
75
76 %description
77 A compiler aimed at integrating all the optimizations and features
78 necessary for a high-performance and stable development environment.
79
80 %description -l pl
81 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
82 wyprodukowania szybkiego i stablinego kodu wynikowego.
83
84 %description -l pt_BR
85 Este pacote adiciona infraestrutura básica e suporte a linguagem C
86 ao Gnu Compiler Collection.
87
88 %package -n libgcc
89 Summary:        Shared gcc library
90 Summary(pl):    Biblioteka gcc
91 Summary(pt_BR): Biblioteca runtime para o GCC
92 Group:          Libraries
93 Version:        %{GCC_VERSION}
94 Obsoletes:      libgcc1
95
96 %description -n libgcc
97 Shared gcc library.
98
99 %description -n libgcc -l pl
100 Biblioteka dynamiczna gcc.
101
102 %description -n libgcc -l pt_BR
103 Biblioteca runtime para o GCC.
104
105 %package c++
106 Summary:        C++ support for gcc
107 Summary(pl):    Obs³uga C++ dla gcc
108 Summary(pt_BR): Suporte C++ para o gcc
109 Group:          Development/Languages
110 Obsoletes:      egcc-c++
111 Obsoletes:      egcs-c++
112 Requires:       gcc = %{epoch}:%{GCC_VERSION}
113
114 %description c++
115 This package adds C++ support to the GNU C compiler. It includes
116 support for most of the current C++ specification, including templates
117 and exception handling. It does not include a standard C++ library,
118 which is available separately.
119
120 %description c++ -l de
121 Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
122 unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
123 Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten -
124 sie ist getrennt erhältlich.
125
126 %description c++ -l fr
127 Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
128 support pour la plupart des spécifications actuelles de C++, dont les
129 modéles et la gestion des exceptions. Il ne comprend pas une
130 bibliothéque C++ standard, qui est disponible séparément.
131
132 %description c++ -l pl
133 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
134 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
135 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
136
137 %description c++ -l pt_BR
138 Este pacote adiciona suporte C++ para o gcc.
139
140 %description c++ -l tr
141 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
142 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
143 C++ kitaplýðý bu pakette yer almaz.
144
145 %package objc
146 Summary:        Objective C support for gcc
147 Summary(de):    Objektive C-Unterstützung für gcc
148 Summary(fr):    Gestion d'Objective C pour gcc
149 Summary(pl):    Obs³uga obiektowego C dla kompilatora gcc
150 Summary(tr):    gcc için Objective C desteði
151 Group:          Development/Languages
152 Obsoletes:      egcc-objc
153 Obsoletes:      egcs-objc
154 Requires:       libobjc = %{epoch}:%{GCC_VERSION}
155 Requires:       gcc = %{epoch}:%{GCC_VERSION}
156
157 %description objc
158 This package adds Objective C support to the GNU C compiler. Objective
159 C is a object oriented derivative of the C language, mainly used on
160 systems running NeXTSTEP. This package does not include the standard
161 objective C object library.
162
163 %description objc -l de
164 Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support.
165 Objective C ist ein objektorientiertes Derivat von C, das zur
166 Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt. Die
167 Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
168
169 %description objc -l fr
170 Ce package ajoute un support Objective C au compilateur C GNU.
171 L'Objective C est un langage orienté objetdérivé du langage C,
172 principalement utilisé sur les systèmes NeXTSTEP. Ce package n'inclue
173 pas la bibliothéque Objective C standard.
174
175 %description objc -l pl
176 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
177 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
178 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
179 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
180
181 %description objc -l tr
182 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
183 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
184 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
185 kitaplýðý bu pakette yer almaz.
186
187 %package -n libobjc
188 Summary:        Objective C Libraries
189 Summary(pl):    Biblioteki Obiektowego C
190 Group:          Libraries
191 Version:        %{GCC_VERSION}
192 Obsoletes:      libobjc1
193
194 %description -n libobjc
195 Objective C Libraries.
196
197 %description -n libobjc -l pl
198 Biblioteki Obiektowego C.
199
200 %package -n libobjc-static
201 Summary:        Static Objective C Libraries
202 Summary(pl):    Statyczne Biblioteki Obiektowego C
203 Group:          Development/Libraries
204 Version:        %{GCC_VERSION}
205 Requires:       libobjc = %{epoch}:%{GCC_VERSION}
206
207 %description -n libobjc-static
208 Static Objective C Libraries.
209
210 %description -n libobjc-static -l pl
211 Statyczne biblioteki Obiektowego C.
212
213 %package g77
214 Summary:        Fortran 77 support for gcc
215 Summary(pl):    Obs³uga Fortranu 77 dla gcc
216 Summary(pt_BR): Suporte Fortran 77 para o GCC
217 Group:          Development/Languages/Fortran
218 Version:        %{GCC_VERSION}
219 Obsoletes:      egcs-g77
220 Requires:       libg2c = %{epoch}:%{GCC_VERSION}
221
222 %description g77
223 This apckage adds support for compiling Fortran 77 programs with the
224 GNU compiler.
225
226 %description g77 -l pl
227 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
228 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
229
230 %description g77 -l pt_BR
231 Suporte Fortran 77 para o GCC.
232
233 %package -n libg2c
234 Summary:        Fortran 77 Libraries
235 Summary(pl):    Biblioteki Fortranu 77
236 Group:          Libraries
237 Version:        %{GCC_VERSION}
238
239 %description -n libg2c
240 Fortran 77 Libraries.
241
242 %description -n libg2c -l pl
243 Biblioteki Fortranu 77.
244
245 %package -n libg2c-static
246 Summary:        Static Fortran 77 Libraries
247 Summary(pl):    Statyczne Biblioteki Fortranu 77
248 Group:          Development/Libraries
249 Version:        %{GCC_VERSION}
250 Requires:       libg2c = %{epoch}:%{GCC_VERSION}
251
252 %description -n libg2c-static
253 Static Fortran 77 Libraries.
254
255 %description -n libg2c-static -l pl
256 Statyczne biblioteki Fortranu 77.
257
258 %package java
259 Summary:        Java support for gcc
260 Summary(pl):    Obs³uga Javy dla gcc
261 Group:          Development/Languages/Java
262 Version:        %{GCC_VERSION}
263 Requires:       %{name} = %{epoch}:%{version}
264 Requires:       libgcj >= 3.0.0
265 Requires:       libgcj-devel >= 3.0.0
266 Requires:       java-shared
267 Provides:       gcj = %{epoch}:%{GCC_VERSION}-%{release}
268
269 %description java
270 This package adds experimental support for compiling Java(tm) programs
271 and bytecode into native code. To use this you will also need the
272 libgcj package.
273
274 %description -l pl java
275 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
276 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
277 by³o przeprowadziæ kompilacjê.
278
279 %package java-tools
280 Summary:        Shared java tools
281 Summary(pl):    Wspó³dzielone narzêdzia javy
282 Group:          Development/Languages/Java
283 Version:        %{GCC_VERSION}
284 Provides:       jar = %{epoch}:%{GCC_VERSION}-%{release}
285 Provides:       java-shared
286 Obsoletes:      fastjar
287 Obsoletes:      java-shared
288 Obsoletes:      jar
289
290 %description java-tools
291 This package contains tools that are common for every Java(tm) implementation,
292 such as rmic or jar.
293
294 %description java-tools -l pl
295 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
296 jak rmic czy jar.
297
298 %package -n libgcj
299 Summary:        Java Class Libraries
300 Summary(pl):    Biblioteki Klas Javy
301 Group:          Libraries
302 Version:        %{GCC_VERSION}
303 Requires:       zlib
304 Obsoletes:      libgcj3
305
306 %description -n libgcj
307 Java Class Libraries.
308
309 %description -n libgcj -l pl
310 Biblioteki Klas Javy.
311
312 %package -n libgcj-devel
313 Summary:        Development files for Java Class Libraries
314 Summary(pl):    Pliki nag³ówkowe dla Bibliotek Klas Javy
315 Group:          Development/Libraries
316 Version:        %{GCC_VERSION}
317 Requires:       libgcj = %{epoch}:%{GCC_VERSION}
318 Requires:       %{name}-java
319 Obsoletes:      libgcj3-devel
320
321 %description -n libgcj-devel
322 Development files for Java Class Libraries.
323
324 %description -n libgcj-devel -l pl
325 Pliki nag³ówkowe dla Bibliotek Klas Javy.
326
327 %package -n libgcj-static
328 Summary:        Static Java Class Libraries
329 Summary(pl):    Statyczne Biblioteki Klas Javy
330 Group:          Development/Libraries
331 Version:        %{GCC_VERSION}
332 Requires:       libstdc++-devel = %{epoch}:%{GCC_VERSION}
333 Requires:       libgcj-devel = %{epoch}:%{GCC_VERSION}
334
335 %description -n libgcj-static
336 Static Java Class Libraries.
337
338 %description -n libgcj-static -l pl
339 Statyczne Biblioteki Klas Javy.
340
341 %package -n libstdc++
342 Summary:        GNU c++ library
343 Summary(pl):    Biblioteki GNU C++
344 Summary(pt_BR): Biblioteca C++ GNU
345 Group:          Libraries
346 Version:        %{GCC_VERSION}
347 Obsoletes:      libg++
348 Obsoletes:      libstdc++3
349
350 %description -n libstdc++
351 This is the GNU implementation of the standard C++ libraries, along
352 with additional GNU tools. This package includes the shared libraries
353 necessary to run C++ applications.
354
355 %description -n libstdc++ -l de
356 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
357 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
358 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
359
360 %description -n libstdc++ -l es
361 Este es el soporte de las bibliotecas padrón del C++, junto con
362 herramientas GNU adicionales. El paquete incluye las bibliotecas
363 compartidas necesarias para ejecutar aplicaciones C++.
364
365 %description -n libstdc++ -l fr
366 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
367 des outils GNU supplémentaires. Ce package comprend les librairies
368 partagées nécessaires à l'exécution d'application C++.
369
370 %description -n libstdc++ -l pl
371 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
372 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
373 uruchomienia aplikacji napisanych w C++.
374
375 %description -n libstdc++ -l pt_BR
376 Este pacote é uma implementação da biblioteca padrão C++ v3, um
377 subconjunto do padrão ISO 14882.
378
379 %description -n libstdc++ -l tr
380 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
381 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
382
383 %package -n libstdc++-devel
384 Summary:        Header files and documentatino for C++ development
385 Summary(de):    Header-Dateien zur Entwicklung mit C++
386 Summary(fr):    Fichiers d'en-tête et biblitothèques pour développer en C++
387 Summary(pl):    Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
388 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
389 Summary(tr):    C++ ile program geliþtirmek için gerekli dosyalar
390 Group:          Development/Libraries
391 Version:        %{GCC_VERSION}
392 Requires:       libstdc++ = %{epoch}:%{GCC_VERSION}
393 Requires:       %{name}-c++ = %{epoch}:%{GCC_VERSION}
394 Obsoletes:      libg++-devel
395 Obsoletes:      libstdc++3-devel
396
397 %description -n libstdc++-devel
398 This is the GNU implementation of the standard C++ libraries. This
399 package includes the header files needed for C++ development and
400 library documentation.
401
402 %description -n libstdc++-devel -l es
403 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este paquete
404 incluye los archivos de inclusión y bibliotecas necesarios para desarrollo de
405 programas en lenguaje C++.
406
407 %description -n libstdc++-devel -l pl
408 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
409 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
410 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
411
412 %description -n libstdc++-devel -l pt_BR
413 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias para
414 desenvolvimento de programas C++.
415
416 %package -n libstdc++-static
417 Summary:        Static C++ standard library
418 Summary(pl):    Statyczna biblioteka standardowa C++
419 Group:          Development/Libraries
420 Version:        %{GCC_VERSION}
421 Requires:       libstdc++-devel = %{epoch}:%{GCC_VERSION}
422
423 %description -n libstdc++-static
424 Static C++ standard library.
425
426 %description -n libstdc++-static -l pl
427 Statycza biblioteka standardowa C++.
428
429 %package -n libffi
430 Summary:        Foreign Function Interface library
431 Summary(pl):    Biblioteka zewnêtrznych wywo³añ funkcji
432 Group:          Libraries
433 Version:        %{GCC_VERSION}
434
435 %description -n libffi
436 The libffi library provides a portable, high level programming
437 interface to various calling conventions. This allows a programmer to
438 call any function specified by a call interface description at run
439 time.
440
441 %description -n libffi -l pl
442 Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego miêdzymordzia
443 do ró¿nych konwencji wywo³añ funkcji. Pozwala to programi¶cie wywo³ywaæ
444 dowolne funkcje podaj±c konwencjê wywo³ania w czasie wykonania.
445
446 %package -n libffi-devel
447 Summary:        Development files for Foreign Function Interface library
448 Summary(pl):    Pliki nag³ówkowe dla libffi
449 Group:          Development/Libraries
450 Version:        %{GCC_VERSION}
451 Requires:       libffi = %{epoch}:%{GCC_VERSION}
452
453 %description -n libffi-devel
454 Development files for Foreign Function Interface library.
455
456 %description -n libffi-devel -l pl
457 Pliki nag³ówkowe dla libffi.
458
459 %package -n libffi-static
460 Summary:        Static Foreign Function Interface library
461 Summary(pl):    Statyczna biblioteka libffi
462 Group:          Development/Libraries
463 Version:        %{GCC_VERSION}
464 Requires:       libffi-devel = %{epoch}:%{GCC_VERSION}
465
466 %description -n libffi-static
467 Static Foreign Function Interface library.
468
469 %description -n libffi-static -l pl
470 Statyczna biblioteka libffi.
471
472 %package ada
473 Summary:        Ada support for gcc
474 Summary(pl):    Obs³uga Ady do gcc
475 Group:          Development/Languages
476 Version:        %{GCC_VERSION}
477 Requires:       libgnat = %{epoch}:%{GCC_VERSION}
478 Requires:       gcc = %{epoch}:%{GCC_VERSION}
479 Obsoletes:      gcc-gnat
480 Obsoletes:      gnat-devel
481
482 %description ada
483 This package adds experimental support for compiling Ada programs.
484
485 %description -l pl ada
486 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
487 w Adzie.
488
489 %package -n libgnat
490 Summary:        Ada standard libraries
491 Summary(pl):    Biblioteki standardowe dla Ady
492 Group:          Libraries
493 Version:        %{GCC_VERSION}
494 Obsoletes:      gnat
495 Obsoletes:      libgnat1
496
497 %description -n libgnat
498 This package contains shared libraries needed to run programs written
499 in Ada.
500
501 %description -n libgnat -l pl
502 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
503 w Adzie.
504
505 %package -n libgnat-static
506 Summary:        Static Ada standard libraries
507 Summary(pl):    Statyczne biblioteki standardowe dla Ady
508 Group:          Libraries
509 Version:        %{GCC_VERSION}
510 Obsoletes:      gnat-static
511
512 %description -n libgnat-static
513 This package contains static libraries for programs written in Ada.
514
515 %description -n libgnat-static -l pl
516 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
517 Adzie.
518
519 %package ksi
520 Summary:        Ksi support for gcc
521 Summary(pl):    Obs³uga Ksi dla gcc
522 Version:        %{GCC_VERSION}.%{KSI_VERSION}
523 Group:          Development/Languages
524 Requires:       gcc = %{epoch}:%{GCC_VERSION}
525
526 %description ksi
527 This package adds experimental support for compiling Ksi programs
528 into native code. You proabably don't need it, unless your are going
529 to develop a compiler using Ksi as intermediate representation or
530 you are using such compiler (like Gont).
531
532 %description ksi -l pl
533 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
534 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
535 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
536 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
537
538 %package -n cpp
539 Summary:        The C Pre Processor
540 Summary(pl):    Preprocesor C
541 Summary(pt_BR): Preprocessador para a linguagem C
542 Group:          Development/Languages
543 Version:        %{GCC_VERSION}
544 Obsoletes:      egcs-cpp
545 Obsoletes:      gcc-cpp
546
547 %description -n cpp
548 The C preprocessor is a "macro processor" that is used automatically
549 by the C compiler to transform your program before actual compilation.
550 It is called a macro processor because it allows you to define
551 "macros", which are brief abbreviations for longer constructs.
552
553 The C preprocessor provides four separate facilities that you can use
554 as you see fit:
555
556 - Inclusion of header files. These are files of declarations that can
557   be substituted into your program.
558 - Macro expansion. You can define "macros", which are abbreviations
559   for arbitrary fragments of C code, and then the C preprocessor will
560   replace the macros with their definitions throughout the program.
561 - Conditional compilation. Using special preprocessing directives, you
562   can include or exclude parts of the program according to various
563   conditions.
564 - Line control. If you use a program to combine or rearrange source
565   files into an intermediate file which is then compiled, you can use
566   line control to inform the compiler of where each source line
567   originally came from.
568
569 %description -n cpp -l es
570 Um preprocessador para a linguagem C.
571
572 %description -n cpp -l pl
573 Przeprocesor C jest "makro procesorem" który jest automatycznie
574 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
575 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
576 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
577 d³ugich konstrukcji w jêzyku C.
578
579 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
580
581 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
582   deklaracji polecenia do³±czenia innego pliku.
583 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
584   których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
585   indentyfikatora deklarowan± wcze¶niej warto¶ci±.
586 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
587   ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
588   fragmenty obrabianego strumienia tekstów.
589 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
590   podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
591   s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
592   odpowiada fragment pliku wynikowego.
593
594 %description -n cpp -l pt_BR
595 O preprocessador C é um "processador de macros", que é utilizado pelo
596 compilador C para fazer algumas modificações no seu programa, antes da
597 compilação em si. Ele é chamado de "processador de macros" porque
598 permite a você definir "macros", que são abreviações para construções
599 mais complicadas.
600
601 O preprocessador C fornece quatro funcionalidades básicas: inclusão de
602 arquivos de cabeçalho; expansão de macros; compilação condicional;
603 e controle da numeração das linhas do programa.
604
605 %prep
606 %setup -q -a1 -n %{name}-%{GCC_VERSION}
607 mv ksi-%{KSI_VERSION} gcc/ksi
608
609 %patch0 -p1
610 %patch1 -p1
611 %patch2 -p1
612 %patch3 -p1
613
614 %patch10 -p1
615 %patch11
616 %patch12
617 %patch13
618 %patch14
619 %patch15
620
621 %patch16
622 %patch17
623 %patch18
624 %patch19
625 %patch20
626 %patch21
627 %patch22
628 %patch23
629 %patch24
630 %{?_with_pp:%patch25 -p1}
631
632 # because we distribute modified version of gcc...
633 perl -pi -e 's/(version.*)";/$1 (PLD Linux)";/' gcc/version.c
634 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
635
636 %build
637 # cd gcc && autoconf; cd ..
638 # autoconf is not needed!
639 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
640
641 CFLAGS="%{rpmcflags}" \
642 CXXFLAGS="%{rpmcflags}" \
643 TEXCONFIG=false ../configure \
644         --prefix=%{_prefix} \
645         --infodir=%{_infodir} \
646         --mandir=%{_mandir} \
647         --enable-shared \
648         --enable-threads=posix \
649         --enable-__cxa_atexit \
650         --enable-languages="c,c++,f77%{!?_without_objc:,objc}%{!?_without_ada:,ada}%{!?_without_java:,java},ksi" \
651         --enable-c99 \
652         --enable-long-long \
653         --enable-multilib \
654         --enable-nls \
655         --with-gnu-as \
656         --with-gnu-ld \
657         --with-system-zlib \
658         --with-slibdir=%{_slibdir} \
659         --without-x \
660         %{_target_platform}
661
662 PATH=$PATH:/sbin:%{_sbindir}
663
664 cd ..
665 %{__make} -C obj-%{_target_platform} bootstrap-lean \
666         LDFLAGS_FOR_TARGET="%{rpmldflags}" \
667         mandir=%{_mandir} \
668         infodir=%{_infodir}
669
670 %if 0%{!?_without_ada:1}
671 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
672         LDFLAGS_FOR_TARGET="%{rpmldflags}" \
673         mandir=%{_mandir} \
674         infodir=%{_infodir}
675 %endif
676
677 %install
678 rm -rf $RPM_BUILD_ROOT
679 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
680
681 cd obj-%{_target_platform}
682 PATH=$PATH:/sbin:%{_sbindir}
683
684 %{__make} install \
685         DESTDIR=$RPM_BUILD_ROOT
686
687 %ifarch sparc64
688 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
689         $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
690 %endif
691
692 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
693 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
694
695 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
696 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
697
698 %if 0%{!?_without_ada:1}
699 # move ada shared libraries to proper place...
700 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1 \
701         $RPM_BUILD_ROOT%{_libdir}/
702 # check if symlink to be made is valid
703 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so.1
704 ln -sf libgnat-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.15.so
705 ln -sf libgnarl-3.15.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.15.so
706 ln -sf libgnat-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
707 ln -sf libgnarl-3.15.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
708 %endif
709
710 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
711
712 cd ..
713
714 %if %{!?_without_java:1}%{?_without_java:0}
715 install -d java-doc
716 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
717 cp -f fastjar/README java-doc/README.fastjar
718 cp -f libffi/README java-doc/README.libffi
719 cp -f libffi/LICENSE java-doc/LICENSE.libffi
720 %endif
721
722 %if %{!?_without_objc:1}0
723 cp -f libobjc/README gcc/objc/README.libobjc
724 %endif
725
726 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
727 for f in libstdc++.la libsupc++.la %{!?_without_java:libgcj.la} ; do
728         perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
729 done
730 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
731 for f in libstdc++.la libsupc++.la libg2c.la \
732         %{!?_without_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
733         %{!?_without_objc:libobjc.la}; do
734         perl -pi -e "s@^libdir='.*@libdir='/usr/lib'@" $RPM_BUILD_ROOT%{_libdir}/$f
735 done
736
737 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
738 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
739
740 # include/ contains install-tools/include/* and headers that were fixed up
741 # by fixincludes, we don't want former
742 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/)
743 mkdir $gccdir/tmp
744 # we have to save these however
745 mv -f $gccdir/include/{%{!?_without_objc:objc,}g2c.h,syslimits.h%{!?_without_java:,gcj}} $gccdir/tmp
746 rm -rf $gccdir/include
747 mv -f $gccdir/tmp $gccdir/include
748 cp $gccdir/install-tools/include/*.h $gccdir/include
749 # but we don't want anything more from install-tools
750 rm -rf $gccdir/install-tools/
751
752 %find_lang %{name}
753 %find_lang libstdc\+\+
754
755 %clean
756 rm -rf $RPM_BUILD_ROOT
757
758 %post
759 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
760
761 %postun
762 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
763
764 %post g77
765 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
766
767 %postun g77
768 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
769
770 %post java
771 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
772
773 %postun java
774 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
775
776 %post ksi
777 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
778
779 %postun ksi
780 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
781
782 %post -n cpp
783 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
784
785 %postun -n cpp
786 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
787
788 %post   -p /sbin/ldconfig -n libgcc
789 %postun -p /sbin/ldconfig -n libgcc
790 %post   -p /sbin/ldconfig -n libstdc++
791 %postun -p /sbin/ldconfig -n libstdc++
792 %post   -p /sbin/ldconfig -n libobjc
793 %postun -p /sbin/ldconfig -n libobjc
794 %post   -p /sbin/ldconfig -n libg2c
795 %postun -p /sbin/ldconfig -n libg2c
796 %post   -p /sbin/ldconfig -n libgcj
797 %postun -p /sbin/ldconfig -n libgcj
798 %post   -p /sbin/ldconfig -n libgnat
799 %postun -p /sbin/ldconfig -n libgnat
800 %post   -p /sbin/ldconfig -n libffi
801 %postun -p /sbin/ldconfig -n libffi
802
803 %files -f %{name}.lang
804 %defattr(644,root,root,755)
805 %doc READ* ChangeLog
806 %dir %{_libdir}/gcc-lib
807 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
808 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
809 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
810 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc*
811 %attr(755,root,root) %{_bindir}/gcc
812 %attr(755,root,root) %{_bindir}/gccbug
813 %attr(755,root,root) %{_bindir}/gcov
814 %attr(755,root,root) %{_bindir}/cc
815
816 %{_mandir}/man1/gcc.1*
817 %{_mandir}/man1/cc.1*
818 %{_mandir}/man1/gcov.1*
819 %lang(fr) %{_mandir}/fr/man1/gcc.1*
820 %lang(ja) %{_mandir}/ja/man1/gcc.1*
821 %{_infodir}/gcc*
822
823 %attr(755,root,root) %{_slibdir}*/lib*.so
824 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
825 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
826 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
827 %attr(644,root,root) %{_libdir}*/gcc-lib/%{_target_cpu}*/*/crt*.o
828 %ifarch sparc64
829 %{_libdir}/gcc-lib/%{_target_cpu}*/*/*/libgcc.a
830 %{_libdir}/gcc-lib/%{_target_cpu}*/*/*/libgcc_eh.a
831 %attr(644,root,root) %{_libdir}*/gcc-lib/%{_target_cpu}*/*/*/crt*.o
832 %endif
833 %ifarch ppc
834 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
835 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
836 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
837 %dir %{_libdir}/nof
838 %endif
839 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
840 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
841
842 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/*.h
843 %exclude %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
844
845 %files -n libgcc
846 %defattr(644,root,root,755)
847 %attr(755,root,root) %{_slibdir}*/lib*.so.*
848
849 %files c++
850 %defattr(644,root,root,755)
851 %attr(755,root,root) %{_bindir}/g++
852 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
853 %attr(755,root,root) %{_bindir}/c++
854 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
855 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
856 %{_libdir}*/libsupc++.la
857 %ifarch ppc
858 %{_libdir}/nof/libsupc++.la
859 %{_libdir}/nof/libsupc++.a
860 %endif
861 %{_libdir}*/libsupc++.a
862 %{_mandir}/man1/g++.1*
863 %lang(ja) %{_mandir}/ja/man1/g++.1*
864
865 %files -n libstdc++ -f libstdc++.lang
866 %defattr(644,root,root,755)
867 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
868 %ifarch ppc
869 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
870 %endif
871
872 %files -n libstdc++-devel
873 %defattr(644,root,root,755)
874 %doc libstdc++-v3/docs/html
875 %dir %{_includedir}/c++
876 %{_includedir}/c++/%{GCC_VERSION}
877 %attr(755,root,root) %{_libdir}*/libstdc++.so
878 %{_libdir}*/libstdc++.la
879 %ifarch ppc
880 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
881 %{_libdir}/nof/libstdc++.la
882 %endif
883
884 %files -n libstdc++-static
885 %defattr(644,root,root,755)
886 %{_libdir}*/libstdc++.a
887 %ifarch ppc
888 %{_libdir}/nof/libstdc++.a
889 %endif
890
891 %if %{!?_without_objc:1}0
892 %files objc
893 %defattr(644,root,root,755)
894 %doc gcc/objc/READ*
895 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
896 %attr(755,root,root) %{_libdir}*/libobjc.so
897 %{_libdir}*/libobjc.la
898 %ifarch ppc
899 %attr(755,root,root) %{_libdir}/nof/libobjc.so
900 %{_libdir}/nof/libobjc.la
901 %endif
902 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
903
904 %files -n libobjc
905 %defattr(644,root,root,755)
906 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
907 %ifarch ppc
908 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
909 %endif
910
911 %files -n libobjc-static
912 %defattr(644,root,root,755)
913 %{_libdir}*/libobjc.a
914 %ifarch ppc
915 %{_libdir}/nof/libobjc.a
916 %endif
917 %endif
918
919 %files g77
920 %defattr(644,root,root,755)
921 %attr(755,root,root) %{_bindir}/g77
922 %attr(755,root,root) %{_bindir}/f77
923 %{_infodir}/g77*
924 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
925 %{_libdir}*/libfrtbegin.a
926 %{_libdir}*/libg2c.la
927 %attr(755,root,root) %{_libdir}*/libg2c.so
928 %ifarch ppc
929 %{_libdir}/nof/libfrtbegin.a
930 %{_libdir}/nof/libg2c.la
931 %attr(755,root,root) %{_libdir}/nof/libg2c.so
932 %endif
933 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
934 %{_mandir}/man1/g77.1*
935 %{_mandir}/man1/f77.1*
936 %lang(ja) %{_mandir}/ja/man1/g77.1*
937 %lang(ja) %{_mandir}/ja/man1/f77.1*
938
939 %files -n libg2c
940 %defattr(644,root,root,755)
941 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
942 %ifarch ppc
943 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
944 %endif
945
946 %files -n libg2c-static
947 %defattr(644,root,root,755)
948 %{_libdir}*/libg2c.a
949 %ifarch ppc
950 %{_libdir}/nof/libg2c.a
951 %endif
952
953 %if %{!?_without_java:1}%{?_without_java:0}
954 %files java
955 %defattr(644,root,root,755)
956 %doc java-doc/*
957 %attr(755,root,root) %{_bindir}/gcj*
958 %attr(755,root,root) %{_bindir}/gij
959 %attr(755,root,root) %{_bindir}/jcf-dump
960 %attr(755,root,root) %{_bindir}/jv-*
961 %attr(755,root,root) %{_bindir}/grepjar
962 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcj
963 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
964 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
965 %{_infodir}/gcj*
966 %{_mandir}/man1/jcf-*
967 %{_mandir}/man1/jv-*
968 %{_mandir}/man1/gij*
969 %{_mandir}/man1/gcj*
970 %{_mandir}/man1/grepjar*
971
972 %files java-tools
973 %defattr(644,root,root,755)
974 %attr(755,root,root) %{_bindir}/rmi*
975 %attr(755,root,root) %{_bindir}/jar
976 %{_mandir}/man1/rmi*
977 %{_mandir}/man1/jar*
978 %{_infodir}/fastjar*
979
980 %files -n libgcj
981 %defattr(644,root,root,755)
982 %attr(755,root,root) %{_bindir}/addr2name.awk
983 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
984 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
985 %ifarch ppc
986 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
987 %endif
988
989 %files -n libgcj-devel
990 %defattr(644,root,root,755)
991 %{_includedir}/java
992 %{_includedir}/javax
993 #%%{_includedir}/org
994 %{_includedir}/gcj
995 %{_includedir}/j*.h
996 %{_includedir}/gnu/*
997 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
998 %dir %{_libdir}/security
999 %{_libdir}/security/*
1000 %dir %{_datadir}/java
1001 %{_datadir}/java/libgcj*.jar
1002 %{_libdir}/lib*cj.spec
1003 %{_libdir}/lib*cj*.la
1004 %attr(755,root,root) %{_libdir}/lib*cj*.so
1005 %attr(755,root,root) %{_libdir}/lib-org-*.so
1006 %{_libdir}/lib-org-*.la
1007 %ifarch ppc
1008 %{_libdir}/nof/lib*cj*.la
1009 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1010 %endif
1011
1012 %files -n libgcj-static
1013 %defattr(644,root,root,755)
1014 %{_libdir}/lib*cj*.a
1015 %{_libdir}/lib-org-*.a
1016 %ifarch ppc
1017 %{_libdir}/nof/lib*cj*.a
1018 %endif
1019
1020 %files -n libffi
1021 %defattr(644,root,root,755)
1022 %attr(755,root,root) %{_libdir}/libffi-*.so
1023
1024 %files -n libffi-devel
1025 %defattr(644,root,root,755)
1026 %attr(755,root,root) %{_libdir}/libffi.so
1027 %{_libdir}/libffi.la
1028 %{_includedir}/ffi*
1029
1030 %files -n libffi-static
1031 %defattr(644,root,root,755)
1032 %{_libdir}/libffi.a
1033 %endif
1034
1035 %if 0%{!?_without_ada:1}
1036 %files ada
1037 %defattr(644,root,root,755)
1038 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
1039 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
1040 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
1041 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
1042 %ifnarch ppc
1043 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
1044 %endif
1045 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
1046 %attr(755,root,root) %{_bindir}/gnat*
1047 %{_infodir}/gnat*
1048 %attr(755,root,root) %{_libdir}/libgnat*.so
1049 %attr(755,root,root) %{_libdir}/libgnarl*.so
1050
1051 %files -n libgnat
1052 %defattr(644,root,root,755)
1053 %attr(755,root,root) %{_libdir}/libgna*.so.1
1054
1055 %files -n libgnat-static
1056 %defattr(644,root,root,755)
1057 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
1058 %endif
1059
1060 %files ksi
1061 %defattr(644,root,root,755)
1062 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
1063 %{_infodir}/ksi*
1064 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
1065
1066 %files -n cpp
1067 %defattr(644,root,root,755)
1068 %attr(755,root,root) %{_slibdir}/cpp
1069 %attr(755,root,root) %{_bindir}/cpp
1070 %{_mandir}/man1/cpp.1*
1071 %lang(ja) %{_mandir}/ja/man1/cpp.1*
1072 %{_infodir}/cpp*
This page took 0.159957 seconds and 4 git commands to generate.