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