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