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