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