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