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