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