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