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