]> git.pld-linux.org Git - packages/gcc4.git/blob - gcc4.spec
- cpp merged.
[packages/gcc4.git] / gcc4.spec
1 #
2 # TODO:
3 #               - add ffitarget.h to libffi-devel.
4 #
5 # Conditional build:
6 %bcond_without  ada             # build without ADA support
7 %bcond_without  java            # build without Java support
8 %bcond_without  objc            # build without objc support
9 %bcond_with     ssp             # build with stack-smashing protector support
10 #
11 %define         _snap           20040813
12 #
13 Summary:        GNU Compiler Collection: the C compiler and shared files
14 Summary(es):    Colección de compiladores GNU: el compilador C y ficheros compartidos
15 Summary(pl):    Kolekcja kompilatorów GNU: kompilator C i pliki wspó³dzielone
16 Summary(pt_BR): Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
17 Name:           gcc
18 Version:        3.4.2
19 Release:        0.%{_snap}.1
20 Epoch:          5
21 License:        GPL
22 Group:          Development/Languages
23 #Source0:       ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/%{name}-%{version}.tar.bz2
24 #Source0:       ftp://gcc.gnu.org/pub/gcc/prerelease-%{version}-%{_snap}/gcc-%{version}-%{_snap}.tar.bz2
25 Source0:        ftp://gcc.gnu.org/pub/gcc/snapshots/3.4-%{_snap}/gcc-3.4-%{_snap}.tar.bz2
26 # Source0-md5:  5aefb48495564b352dc058f2616248db
27 Source1:        http://ep09.pld-linux.org/~djrzulf/gcc33/%{name}-non-english-man-pages.tar.bz2
28 # Source1-md5:  4736f3422ddfb808423b745629acc321
29 Source2:        http://www.trl.ibm.com/projects/security/ssp/gcc2_95_3/gcc_stack_protect.m4.gz
30 # Source2-md5:  07d93ad5fc07ca44cdaba46c658820de
31 Patch0:         %{name}-info.patch
32 Patch1:         %{name}-nolocalefiles.patch
33 Patch2:         %{name}-ada-link-new-libgnat.patch
34 Patch3:         %{name}-nodebug.patch
35 Patch4:         %{name}-ssp.patch
36 Patch5:         %{name}-ada-link.patch
37 Patch6:         %{name}-pr15666.patch
38 Patch7:         %{name}-pr16276.patch
39 Patch8:         %{name}-ada-bootstrap.patch
40 URL:            http://gcc.gnu.org/
41 BuildRequires:  autoconf
42 BuildRequires:  automake
43 BuildRequires:  binutils >= 2.15.91.0.2
44 BuildRequires:  bison
45 BuildRequires:  fileutils >= 4.0.41
46 BuildRequires:  flex
47 %if %{with ada}
48 BuildRequires:  gcc(ada)
49 BuildRequires:  gcc-ada
50 %endif
51 BuildRequires:  gettext-devel
52 BuildRequires:  glibc-devel >= 2.2.5-20
53 BuildRequires:  gzip
54 BuildRequires:  perl-devel
55 BuildRequires:  texinfo >= 4.1
56 BuildRequires:  zlib-devel
57 Requires:       binutils >= 2.15.91.0.2
58 Requires:       libgcc = %{epoch}:%{version}-%{release}
59 Provides:       cpp = %{epoch}:%{version}-%{release}
60 %{?with_ada:Provides:   gcc(ada)}
61 %{?with_ssp:Provides:   gcc(ssp)}
62 # ksi for gcc > 3.3.x not ready yet
63 Obsoletes:      cpp
64 Obsoletes:      egcs-cpp
65 Obsoletes:      gcc-cpp
66 Obsoletes:      gcc-ksi
67 Obsoletes:      gont
68 Conflicts:      glibc-devel < 2.2.5-20
69 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
70
71 %define         _slibdir        /%{_lib}
72 %ifarch sparc64
73 %define         _slibdir64      /lib64
74 %define         _libdir         /usr/lib
75 %define         rpmcflags       -O2 -mtune=ultrasparc
76 %endif
77
78 %description
79 A compiler aimed at integrating all the optimizations and features
80 necessary for a high-performance and stable development environment.
81
82 This package contains the C compiler and some files shared by various
83 parts of the GNU Compiler Collection. In order to use another GCC
84 compiler you will need to install the appropriate subpackage.
85
86 %description -l es
87 Un compilador destinado a la integración de todas las optimalizaciones
88 y características necesarias para un entorno de desarrollo eficaz y
89 estable.
90
91 Este paquete contiene el compilador de C y unos ficheros compartidos
92 por varias parted de la colección de compiladores GNU (GCC). Para usar
93 otro compilador de GCC será necesario que instale el subpaquete
94 adecuado.
95
96 %description -l pl
97 Kompilator, posiadaj±cy du¿e mo¿liwo¶ci optymalizacyjne niezbêdne do
98 wyprodukowania szybkiego i stablinego kodu wynikowego.
99
100 Ten pakiet zawiera kompilator C i pliki wspó³dzielone przez ró¿ne
101 czê¶ci kolekcji kompilatorów GNU (GCC). ¯eby u¿ywaæ innego kompilatora
102 z GCC, trzeba zainstalowaæ odpowiedni podpakiet.
103
104 %description -l pt_BR
105 Este pacote adiciona infraestrutura básica e suporte a linguagem C ao
106 GNU Compiler Collection.
107
108 %package -n libgcc
109 Summary:        Shared gcc library
110 Summary(es):    Biblioteca compartida de gcc
111 Summary(pl):    Biblioteka gcc
112 Summary(pt_BR): Biblioteca runtime para o GCC
113 Group:          Libraries
114 Obsoletes:      libgcc1
115
116 %description -n libgcc
117 Shared gcc library.
118
119 %description -n libgcc -l es
120 Biblioteca compartida de gcc.
121
122 %description -n libgcc -l pl
123 Biblioteka dynamiczna gcc.
124
125 %description -n libgcc -l pt_BR
126 Biblioteca runtime para o GCC.
127
128 %package c++
129 Summary:        C++ support for gcc
130 Summary(es):    Soporte de C++ para gcc
131 Summary(pl):    Obs³uga C++ dla gcc
132 Summary(pt_BR): Suporte C++ para o gcc
133 Group:          Development/Languages
134 Requires:       %{name} = %{epoch}:%{version}-%{release}
135 Obsoletes:      egcc-c++
136 Obsoletes:      egcs-c++
137
138 %description c++
139 This package adds C++ support to the GNU Compiler Collection. It
140 includes support for most of the current C++ specification, including
141 templates and exception handling. It does not include a standard C++
142 library, which is available separately.
143
144 %description c++ -l de
145 Dieses Paket enthält die C++-Unterstützung für den
146 GNU-Compiler-Collection. Es unterstützt die aktuelle
147 C++-Spezifikation, inkl. Templates und Ausnahmeverarbeitung. Eine
148 C++-Standard-Library ist nicht enthalten - sie ist getrennt
149 erhältlich.
150
151 %description c++ -l es
152 Este paquete añade soporte de C++ al GCC (colección de compiladores
153 GNU). Ello incluye el soporte para la mayoría de la especificación
154 actual de C++, incluyendo plantillas y manejo de excepciones. No
155 incluye la biblioteca estándar de C++, la que es disponible separada.
156
157 %description c++ -l fr
158 Ce package ajoute un support C++ a la collection de compilateurs GNU.
159 Il comprend un support pour la plupart des spécifications actuelles de
160 C++, dont les modéles et la gestion des exceptions. Il ne comprend pas
161 une bibliothéque C++ standard, qui est disponible séparément.
162
163 %description c++ -l pl
164 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc. Ma wsparcie dla
165 du¿ej ilo¶ci obecnych specyfikacji C++, nie zawiera natomiast
166 standardowych bibliotek C++, które s± w oddzielnym pakiecie.
167
168 %description c++ -l pt_BR
169 Este pacote adiciona suporte C++ para o gcc.
170
171 %description c++ -l tr
172 Bu paket, GNU C derleyicisine C++ desteði ekler. 'Template'ler ve
173 aykýrý durum iþleme gibi çoðu güncel C++ tanýmlarýna uyar. Standart
174 C++ kitaplýðý bu pakette yer almaz.
175
176 %package objc
177 Summary:        Objective C support for gcc
178 Summary(de):    Objektive C-Unterstützung für gcc
179 Summary(es):    Soporte de Objective C para gcc
180 Summary(fr):    Gestion d'Objective C pour gcc
181 Summary(pl):    Obs³uga obiektowego C dla kompilatora gcc
182 Summary(tr):    gcc için Objective C desteði
183 Group:          Development/Languages
184 Requires:       %{name} = %{epoch}:%{version}-%{release}
185 Requires:       libobjc = %{epoch}:%{version}-%{release}
186 Obsoletes:      egcc-objc
187 Obsoletes:      egcs-objc
188
189 %description objc
190 This package adds Objective C support to the GNU Compiler Collection.
191 Objective C is a object oriented derivative of the C language, mainly
192 used on systems running NeXTSTEP. This package does not include the
193 standard objective C object library.
194
195 %description objc -l de
196 Dieses Paket ergänzt den GNU-Compiler-Collection durch
197 Objective-C-Support. Objective C ist ein objektorientiertes Derivat
198 von C, das zur Hauptsache auf Systemen mit NeXTSTEP zum Einsatz kommt.
199 Die Standard-Objective-C-Objekt-Library ist nicht Teil des Pakets.
200
201 %description objc -l es
202 Este paquete añade soporte de Objective C al GCC (colección de
203 compiladores GNU). Objective C es un lenguaje orientado a objetos
204 derivado de C, principalmente usado en sistemas que funcionan bajo
205 NeXTSTEP. El paquete no incluye la biblioteca de objetos estándar de
206 Objective C.
207
208 %description objc -l fr
209 Ce package ajoute un support Objective C a la collection de
210 compilateurs GNU. L'Objective C est un langage orienté objetdérivé du
211 langage C, principalement utilisé sur les systèmes NeXTSTEP. Ce
212 package n'inclue pas la bibliothéque Objective C standard.
213
214 %description objc -l pl
215 Ten pakiet dodaje obs³ugê obiektowego C do kompilatora gcc. Obiektowe
216 C (objc) jest zorientowan± obiektowo pochodn± jêzyka C, u¿ywan±
217 g³ównie w systemach u¿ywaj±cych NeXTSTEP. W pakiecie nie ma
218 standardowej biblioteki objc (która znajduje siê w osobnym pakiecie).
219
220 %description objc -l tr
221 Bu paket, GNU C derleyicisine Objective C desteði ekler. Objective C,
222 C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýþan
223 sistemlerde yaygýn olarak kullanýlýr. Standart Objective C nesne
224 kitaplýðý bu pakette yer almaz.
225
226 %package -n libobjc
227 Summary:        Objective C Libraries
228 Summary(es):    Bibliotecas de Objective C
229 Summary(pl):    Biblioteki Obiektowego C
230 Group:          Libraries
231 Obsoletes:      libobjc1
232
233 %description -n libobjc
234 Objective C Libraries.
235
236 %description -n libobjc -l es
237 Bibliotecas de Objective C.
238
239 %description -n libobjc -l pl
240 Biblioteki Obiektowego C.
241
242 %package -n libobjc-static
243 Summary:        Static Objective C Libraries
244 Summary(es):    Bibliotecas estáticas de Objective C
245 Summary(pl):    Statyczne Biblioteki Obiektowego C
246 Group:          Development/Libraries
247 Requires:       libobjc = %{epoch}:%{version}-%{release}
248
249 %description -n libobjc-static
250 Static Objective C Libraries.
251
252 %description -n libobjc-static -l es
253 Bibliotecas estáticas de Objective C.
254
255 %description -n libobjc-static -l pl
256 Statyczne biblioteki Obiektowego C.
257
258 %package g77
259 Summary:        Fortran 77 support for gcc
260 Summary(es):    Soporte de Fortran 77 para gcc
261 Summary(pl):    Obs³uga Fortranu 77 dla gcc
262 Summary(pt_BR): Suporte Fortran 77 para o GCC
263 Group:          Development/Languages/Fortran
264 Requires:       libg2c = %{epoch}:%{version}-%{release}
265 Obsoletes:      egcs-g77
266
267 %description g77
268 This package adds support for compiling Fortran 77 programs with the
269 GNU compiler.
270
271 %description g77 -l es
272 Este paquete añade soporte para compilar programas escritos en Fortran
273 77 con el compilador GNU.
274
275 %description g77 -l pl
276 Ten pakiet dodaje obs³ugê Fortranu 77 do kompilatora gcc. Jest
277 potrzebny do kompilowania programów pisanych w jêzyku Fortran 77.
278
279 %description g77 -l pt_BR
280 Suporte Fortran 77 para o GCC.
281
282 %package -n libg2c
283 Summary:        Fortran 77 Libraries
284 Summary(es):    Bibliotecas de Fortran 77
285 Summary(pl):    Biblioteki Fortranu 77
286 Group:          Libraries
287
288 %description -n libg2c
289 Fortran 77 Libraries.
290
291 %description -n libg2c -l es
292 Bibliotecas de Fortran 77.
293
294 %description -n libg2c -l pl
295 Biblioteki Fortranu 77.
296
297 %package -n libg2c-static
298 Summary:        Static Fortran 77 Libraries
299 Summary(es):    Bibliotecas estáticas de Fortran 77
300 Summary(pl):    Statyczne Biblioteki Fortranu 77
301 Group:          Development/Libraries
302 Requires:       libg2c = %{epoch}:%{version}-%{release}
303
304 %description -n libg2c-static
305 Static Fortran 77 Libraries.
306
307 %description -n libg2c -l es
308 Bibliotecas estáticas de Fortran 77.
309
310 %description -n libg2c-static -l pl
311 Statyczne biblioteki Fortranu 77.
312
313 %package java
314 Summary:        Java support for gcc
315 Summary(es):    Soporte de Java para gcc
316 Summary(pl):    Obs³uga Javy dla gcc
317 Group:          Development/Languages/Java
318 Requires:       %{name} = %{epoch}:%{version}-%{release}
319 Requires:       libgcj = %{epoch}:%{version}-%{release}
320 Requires:       libgcj-devel = %{epoch}:%{version}-%{release}
321 Requires:       java-shared
322 Provides:       gcj = %{epoch}:%{version}-%{release}
323
324 %description java
325 This package adds experimental support for compiling Java(tm) programs
326 and bytecode into native code. To use this you will also need the
327 libgcj package.
328
329 %description java -l es
330 Este paquete añade soporte experimental para compilar programas
331 Java(tm) y su bytecode en código nativo. Para usarlo también va a
332 necesitar el paquete libgcj.
333
334 %description java -l pl
335 Wsparcie dla kompilowania programów Java(tm) zrówno do bajt-kodu jak i
336 do natywnego kodu. Dodatkowo wymagany jest pakiet libgcj, aby mo¿na
337 by³o przeprowadziæ kompilacjê.
338
339 %package java-tools
340 Summary:        Shared java tools
341 Summary(es):    Herramientas compartidas de Java
342 Summary(pl):    Wspó³dzielone narzêdzia javy
343 Group:          Development/Languages/Java
344 Provides:       jar = %{epoch}:%{version}-%{release}
345 Provides:       java-shared
346 Obsoletes:      fastjar
347 Obsoletes:      java-shared
348 Obsoletes:      jar
349
350 %description java-tools
351 This package contains tools that are common for every Java(tm)
352 implementation, such as rmic or jar.
353
354 %description java-tools -l es
355 Este paquete contiene herramientas que son comunes para cada
356 implementación de Java(tm), como rmic o jar.
357
358 %description java-tools -l pl
359 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji
360 Javy(tm), takie jak rmic czy jar.
361
362 %package -n libgcj
363 Summary:        Java Class Libraries
364 Summary(es):    Bibliotecas de clases de Java
365 Summary(pl):    Biblioteki Klas Javy
366 Group:          Libraries
367 Requires:       zlib
368 Obsoletes:      libgcj3
369
370 %description -n libgcj
371 Java Class Libraries.
372
373 %description -n libgcj -l es
374 Bibliotecas de clases de Java.
375
376 %description -n libgcj -l pl
377 Biblioteki Klas Javy.
378
379 %package -n libgcj-devel
380 Summary:        Development files for Java Class Libraries
381 Summary(es):    Ficheros de desarrollo para las bibliotecas de clases de Java
382 Summary(pl):    Pliki nag³ówkowe dla Bibliotek Klas Javy
383 Group:          Development/Libraries
384 Requires:       %{name}-java = %{epoch}:%{version}-%{release}
385 Requires:       libgcj = %{epoch}:%{version}-%{release}
386 Obsoletes:      libgcj3-devel
387
388 %description -n libgcj-devel
389 Development files for Java Class Libraries.
390
391 %description -n libgcj-devel -l es
392 Ficheros de desarrollo para las bibliotecas de clases de Java.
393
394 %description -n libgcj-devel -l pl
395 Pliki nag³ówkowe dla Bibliotek Klas Javy.
396
397 %package -n libgcj-static
398 Summary:        Static Java Class Libraries
399 Summary(es):    Bibliotecas estáticas de clases de Java
400 Summary(pl):    Statyczne Biblioteki Klas Javy
401 Group:          Development/Libraries
402 Requires:       libgcj-devel = %{epoch}:%{version}-%{release}
403 Requires:       libstdc++-devel = %{epoch}:%{version}-%{release}
404
405 %description -n libgcj-static
406 Static Java Class Libraries.
407
408 %description -n libgcj-static -l es
409 Bibliotecas estáticas de clases de Java.
410
411 %description -n libgcj-static -l pl
412 Statyczne Biblioteki Klas Javy.
413
414 %package -n libstdc++
415 Summary:        GNU c++ library
416 Summary(es):    Biblioteca C++ de GNU
417 Summary(pl):    Biblioteki GNU C++
418 Summary(pt_BR): Biblioteca C++ GNU
419 Group:          Libraries
420 Obsoletes:      libg++
421 Obsoletes:      libstdc++3
422
423 %description -n libstdc++
424 This is the GNU implementation of the standard C++ libraries, along
425 with additional GNU tools. This package includes the shared libraries
426 necessary to run C++ applications.
427
428 %description -n libstdc++ -l de
429 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
430 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
431 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
432
433 %description -n libstdc++ -l es
434 Este es el soporte de las bibliotecas padrón del C++, junto con
435 herramientas GNU adicionales. El paquete incluye las bibliotecas
436 compartidas necesarias para ejecutar aplicaciones C++.
437
438 %description -n libstdc++ -l fr
439 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
440 des outils GNU supplémentaires. Ce package comprend les librairies
441 partagées nécessaires à l'exécution d'application C++.
442
443 %description -n libstdc++ -l pl
444 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
445 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
446 uruchomienia aplikacji napisanych w C++.
447
448 %description -n libstdc++ -l pt_BR
449 Este pacote é uma implementação da biblioteca padrão C++ v3, um
450 subconjunto do padrão ISO 14882.
451
452 %description -n libstdc++ -l tr
453 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
454 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
455
456 %package -n libstdc++-devel
457 Summary:        Header files and documentation for C++ development
458 Summary(de):    Header-Dateien zur Entwicklung mit C++
459 Summary(es):    Ficheros de cabecera y documentación para desarrollo C++
460 Summary(fr):    Fichiers d'en-tête et biblitothèques pour développer en C++
461 Summary(pl):    Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
462 Summary(pt_BR): Arquivos de inclusão e bibliotecas para o desenvolvimento em C++
463 Summary(tr):    C++ ile program geliþtirmek için gerekli dosyalar
464 Group:          Development/Libraries
465 Requires:       %{name}-c++ = %{epoch}:%{version}-%{release}
466 Requires:       libstdc++ = %{epoch}:%{version}-%{release}
467 Obsoletes:      libg++-devel
468 Obsoletes:      libstdc++3-devel
469
470 %description -n libstdc++-devel
471 This is the GNU implementation of the standard C++ libraries. This
472 package includes the header files needed for C++ development and
473 library documentation.
474
475 %description -n libstdc++-devel -l es
476 Este es el soporte de las bibliotecas padrón del lenguaje C++. Este
477 paquete incluye los archivos de inclusión y bibliotecas necesarios
478 para desarrollo de programas en lenguaje C++.
479
480 %description -n libstdc++-devel -l pl
481 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
482 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
483 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
484
485 %description -n libstdc++-devel -l pt_BR
486 Este pacote inclui os arquivos de inclusão e bibliotecas necessárias
487 para desenvolvimento de programas C++.
488
489 %package -n libstdc++-static
490 Summary:        Static C++ standard library
491 Summary(es):    Biblioteca estándar estática de C++
492 Summary(pl):    Statyczna biblioteka standardowa C++
493 Group:          Development/Libraries
494 Requires:       libstdc++-devel = %{epoch}:%{version}-%{release}
495
496 %description -n libstdc++-static
497 Static C++ standard library.
498
499 %description -n libstdc++-static -l es
500 Biblioteca estándar estática de C++.
501
502 %description -n libstdc++-static -l pl
503 Statycza biblioteka standardowa C++.
504
505 %package -n libffi
506 Summary:        Foreign Function Interface library
507 Summary(es):    Biblioteca de interfaz de funciones ajenas
508 Summary(pl):    Biblioteka zewnêtrznych wywo³añ funkcji
509 Group:          Libraries
510
511 %description -n libffi
512 The libffi library provides a portable, high level programming
513 interface to various calling conventions. This allows a programmer to
514 call any function specified by a call interface description at run
515 time.
516
517 %description -n libffi -l es
518 La biblioteca libffi provee una interfaz portable de programación de
519 alto nivel para varias convenciones de llamada. Ello permite que un
520 programador llame una función cualquiera especificada por una
521 descripción de interfaz de llamada en el tiempo de ejecución.
522
523 %description -n libffi -l pl
524 Biblioteka libffi dostarcza przno¶nego, wysokopoziomowego
525 miêdzymordzia do ró¿nych konwencji wywo³añ funkcji. Pozwala to
526 programi¶cie wywo³ywaæ dowolne funkcje podaj±c konwencjê wywo³ania w
527 czasie wykonania.
528
529 %package -n libffi-devel
530 Summary:        Development files for Foreign Function Interface library
531 Summary(es):    Ficheros de desarrollo para libffi
532 Summary(pl):    Pliki nag³ówkowe dla libffi
533 Group:          Development/Libraries
534 Requires:       libffi = %{epoch}:%{version}-%{release}
535
536 %description -n libffi-devel
537 Development files for Foreign Function Interface library.
538
539 %description -n libffi-devel -l es
540 Ficheros de desarrollo para libffi.
541
542 %description -n libffi-devel -l pl
543 Pliki nag³ówkowe dla libffi.
544
545 %package -n libffi-static
546 Summary:        Static Foreign Function Interface library
547 Summary(es):    Biblioteca libffi estática
548 Summary(pl):    Statyczna biblioteka libffi
549 Group:          Development/Libraries
550 Requires:       libffi-devel = %{epoch}:%{version}-%{release}
551
552 %description -n libffi-static
553 Static Foreign Function Interface library.
554
555 %description -n libffi-static -l es
556 Biblioteca libffi estática.
557
558 %description -n libffi-static -l pl
559 Statyczna biblioteka libffi.
560
561 %package ada
562 Summary:        Ada support for gcc
563 Summary(es):    Soporte de Ada para gcc
564 Summary(pl):    Obs³uga Ady do gcc
565 Group:          Development/Languages
566 Requires:       %{name} = %{epoch}:%{version}-%{release}
567 Requires:       libgnat = %{epoch}:%{version}-%{release}
568 Obsoletes:      gcc-gnat
569 Obsoletes:      gnat-devel
570
571 %description ada
572 This package adds experimental support for compiling Ada programs.
573
574 %description ada -l es
575 Este paquete añade soporte experimental para compilar programas en
576 Ada.
577
578 %description ada -l pl
579 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów w
580 Adzie.
581
582 %package -n libgnat
583 Summary:        Ada standard libraries
584 Summary(es):    Bibliotecas estándares de Ada
585 Summary(pl):    Biblioteki standardowe dla Ady
586 Group:          Libraries
587 Obsoletes:      gnat
588 Obsoletes:      libgnat1
589
590 %description -n libgnat
591 This package contains shared libraries needed to run programs written
592 in Ada.
593
594 %description -n libgnat -l es
595 Este paquete contiene las bibliotecas compartidas necesarias para
596 ejecutar programas escritos en Ada.
597
598 %description -n libgnat -l pl
599 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
600 napisanych w Adzie.
601
602 %package -n libgnat-static
603 Summary:        Static Ada standard libraries
604 Summary(pl):    Statyczne biblioteki standardowe dla Ady
605 Group:          Libraries
606 Obsoletes:      gnat-static
607
608 %description -n libgnat-static
609 This package contains static libraries for programs written in Ada.
610
611 %description -n libgnat-static -l pl
612 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
613 Adzie.
614
615 %prep
616 %setup -q -n %{name}-3.4-%{_snap} -a1
617 %patch0 -p1
618 %patch1 -p1
619 %patch2 -p1
620 %{!?debug:%patch3 -p1}
621 %{?with_ssp:%patch4 -p1}
622 %patch5 -p1
623 %patch6 -p0
624 %patch7 -p0
625 %ifarch alpha ia64
626 # needed for bootstrap using gcc 3.3.x on alpha
627 # and even using the same 3.4.x(!) (but not Debian's 3.3.x) on ia64
628 %patch8 -p2
629 %endif
630
631 # because we distribute modified version of gcc...
632 perl -pi -e 's/(version.*)";/$1 %{?with_ssp:SSP }(PLD Linux)";/' gcc/version.c
633 perl -pi -e 's@(bug_report_url.*<URL:).*";@$1http://bugs.pld-linux.org/>";@' gcc/version.c
634
635 mv ChangeLog ChangeLog.general
636
637 %build
638 # because pr16276 patch modifies configure.ac
639 cd gcc
640 %{__autoconf}
641 cd ..
642 cp -f /usr/share/automake/config.sub .
643
644 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
645
646 CFLAGS="%{rpmcflags}" \
647 CXXFLAGS="%{rpmcflags}" \
648 TEXCONFIG=false ../configure \
649         --prefix=%{_prefix} \
650         --libdir=%{_libdir} \
651         --libexecdir=%{_libexecdir} \
652         --infodir=%{_infodir} \
653         --mandir=%{_mandir} \
654         --enable-shared \
655         --enable-threads=posix \
656         --enable-__cxa_atexit \
657         --enable-languages="c,c++,f77%{?with_objc:,objc}%{?with_ada:,ada}%{?with_java:,java}" \
658         --enable-c99 \
659         --enable-long-long \
660 %ifarch amd64
661         --disable-multilib \
662 %else
663         --enable-multilib \
664 %endif
665         --enable-nls \
666         --with-gnu-as \
667         --with-gnu-ld \
668         --with-system-zlib \
669         --with-slibdir=%{_slibdir} \
670         --without-x \
671         %{_target_platform}
672
673 PATH=$PATH:/sbin:%{_sbindir}
674
675 cd ..
676 # - on alpha stage1 needs -O0 for 3.3->3.4 bootstrap (gnat from 3.3 is seriously broken)
677 # - on ia64 use bootstrap-lean as profiledbootstrap is broken (PR 13882, 15836, 16108)
678 %{__make} -C obj-%{_target_platform} \
679 %ifarch ia64
680         bootstrap-lean \
681 %else
682         profiledbootstrap \
683 %endif
684         GCJFLAGS="%{rpmcflags}" \
685         BOOT_CFLAGS="%{rpmcflags}" \
686 %ifarch alpha
687         STAGE1_CFLAGS="%{rpmcflags} -O0" \
688 %else
689         STAGE1_CFLAGS="%{rpmcflags}" \
690 %endif
691         LDFLAGS_FOR_TARGET="%{rpmldflags}" \
692         mandir=%{_mandir} \
693         infodir=%{_infodir}
694
695 %if %{with ada}
696 # cannot build it in parallel
697 for tgt in gnatlib-shared gnattools gnatlib; do
698 %{__make} -C obj-%{_target_platform}/gcc $tgt \
699         BOOT_CFLAGS="%{rpmcflags}" \
700         LDFLAGS_FOR_TARGET="%{rpmldflags}" \
701         mandir=%{_mandir} \
702         infodir=%{_infodir}
703 done
704 %endif
705
706 # snapshot doesn't contain these files...
707 [ -r "NEWS" ] || touch NEWS
708 [ -r "gcc/f/BUGS" ] || touch gcc/f/BUGS
709 [ -r "gcc/f/NEWS" ] || touch gcc/f/NEWS
710
711 %install
712 rm -rf $RPM_BUILD_ROOT
713 install -d $RPM_BUILD_ROOT{/lib,%{_aclocaldir},%{_datadir},%{_infodir}}
714
715 cd obj-%{_target_platform}
716 PATH=$PATH:/sbin:%{_sbindir}
717
718 %{__make} -j1 install \
719         mandir=%{_mandir} \
720         infodir=%{_infodir} \
721         DESTDIR=$RPM_BUILD_ROOT
722
723 %ifarch sparc64
724 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcc \
725         $RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcc
726 %endif
727
728 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
729 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
730
731 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
732 echo ".so g77.1" > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
733
734 %if %{with ada}
735 # move ada shared libraries to proper place...
736 mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/adalib/*.so.1 \
737         $RPM_BUILD_ROOT%{_libdir}
738 # check if symlink to be made is valid
739 test -f $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so.1
740 ln -sf libgnat-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnat-3.4.so
741 ln -sf libgnarl-3.4.so.1 $RPM_BUILD_ROOT%{_libdir}/libgnarl-3.4.so
742 ln -sf libgnat-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnat.so
743 ln -sf libgnarl-3.4.so $RPM_BUILD_ROOT%{_libdir}/libgnarl.so
744 %endif
745
746 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
747
748 cd ..
749
750 %if %{with java}
751 install -d java-doc
752 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
753 cp -f fastjar/README java-doc/README.fastjar
754 cp -f libffi/README java-doc/README.libffi
755 cp -f libffi/LICENSE java-doc/LICENSE.libffi
756 %endif
757
758 %if %{with objc}
759 cp -f libobjc/README gcc/objc/README.libobjc
760 %endif
761
762 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
763 for f in libstdc++.la libsupc++.la %{?with_java:libgcj.la} ; do
764         perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
765 done
766 # normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
767 for f in libstdc++.la libsupc++.la libg2c.la \
768         %{?with_java:libgcj.la lib-org-w3c-dom.la lib-org-xml-sax.la libffi.la} \
769         %{?with_objc:libobjc.la}; do
770         perl -pi -e "s@^libdir='.*@libdir='/usr/%{_lib}'@" $RPM_BUILD_ROOT%{_libdir}/$f
771 done
772
773 bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
774 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
775
776 # include/ contains install-tools/include/* and headers that were fixed up
777 # by fixincludes, we don't want former
778 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
779 mkdir $gccdir/tmp
780 # we have to save these however
781 mv -f $gccdir/include/{%{?with_objc:objc,}g2c.h,syslimits.h%{?with_java:,gcj}} $gccdir/tmp
782 rm -rf $gccdir/include
783 mv -f $gccdir/tmp $gccdir/include
784 cp $gccdir/install-tools/include/*.h $gccdir/include
785 # but we don't want anything more from install-tools
786 rm -rf $gccdir/install-tools
787
788 %find_lang %{name}
789 %find_lang libstdc\+\+
790
791 %if %{with ssp}
792 zcat %{SOURCE2} > $RPM_BUILD_ROOT%{_aclocaldir}/gcc_stack_protect.m4
793 %endif
794
795 %clean
796 rm -rf $RPM_BUILD_ROOT
797
798 %post
799 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
800
801 %postun
802 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
803
804 %post g77
805 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
806
807 %postun g77
808 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
809
810 %post java
811 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
812
813 %postun java
814 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
815
816 %post   -p /sbin/ldconfig -n libgcc
817 %postun -p /sbin/ldconfig -n libgcc
818 %post   -p /sbin/ldconfig -n libstdc++
819 %postun -p /sbin/ldconfig -n libstdc++
820 %post   -p /sbin/ldconfig -n libobjc
821 %postun -p /sbin/ldconfig -n libobjc
822 %post   -p /sbin/ldconfig -n libg2c
823 %postun -p /sbin/ldconfig -n libg2c
824 %post   -p /sbin/ldconfig -n libgcj
825 %postun -p /sbin/ldconfig -n libgcj
826 %post   -p /sbin/ldconfig -n libgnat
827 %postun -p /sbin/ldconfig -n libgnat
828 %post   -p /sbin/ldconfig -n libffi
829 %postun -p /sbin/ldconfig -n libffi
830
831 %files -f gcc.lang
832 %defattr(644,root,root,755)
833 %doc ChangeLog.general MAINTAINERS NEWS bugs.html faq.html
834 %doc gcc/{ChangeLog,ONEWS,README.Portability}
835 %dir %{_libdir}/gcc
836 %dir %{_libdir}/gcc/*
837 %dir %{_libdir}/gcc/*/*
838 %dir %{_libdir}/gcc/*/*/include
839 %{?with_ssp:%{_aclocaldir}/gcc_stack_protect.m4}
840
841 %attr(755,root,root) %{_bindir}/*-gcc*
842 %attr(755,root,root) %{_bindir}/gcc
843 %attr(755,root,root) %{_bindir}/gccbug
844 %attr(755,root,root) %{_bindir}/gcov
845 %attr(755,root,root) %{_bindir}/cc
846 %attr(755,root,root) %{_bindir}/cpp
847
848 %{_mandir}/man1/cc.1*
849 %{_mandir}/man1/cpp.1*
850 %lang(ja) %{_mandir}/ja/man1/cpp.1*
851 %{_mandir}/man1/gcc.1*
852 %lang(fr) %{_mandir}/fr/man1/gcc.1*
853 %lang(ja) %{_mandir}/ja/man1/gcc.1*
854 %{_mandir}/man1/gcov.1*
855
856 %{_infodir}/cpp*
857 %{_infodir}/gcc*
858
859 %attr(755,root,root) /lib/cpp
860
861 %attr(755,root,root) %{_slibdir}*/lib*.so
862 %{_libdir}/gcc/*/*/libgcov.a
863 %{_libdir}/gcc/*/*/libgcc.a
864 %{_libdir}/gcc/*/*/libgcc_eh.a
865 %{_libdir}/gcc/*/*/specs
866 %attr(644,root,root) %{_libdir}*/gcc/*/*/crt*.o
867 %ifarch sparc64
868 %{_libdir}/gcc/*/*/*/libgcc.a
869 %{_libdir}/gcc/*/*/*/libgcc_eh.a
870 %attr(644,root,root) %{_libdir}*/gcc/*/*/*/crt*.o
871 %endif
872 %ifarch ppc
873 %attr(644,root,root) %{_libdir}/gcc/*/*/ecrt*.o
874 %attr(644,root,root) %{_libdir}/gcc/*/*/ncrt*.o
875 %{_libdir}/gcc/*/*/nof
876 %dir %{_libdir}/nof
877 %endif
878 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1
879 %attr(755,root,root) %{_libdir}/gcc/*/*/collect2
880
881 %{_libdir}/gcc/*/*/include/*.h
882 %exclude %{_libdir}/gcc/*/*/include/g2c.h
883
884 %files -n libgcc
885 %defattr(644,root,root,755)
886 %attr(755,root,root) %{_slibdir}*/lib*.so.*
887
888 %files c++
889 %defattr(644,root,root,755)
890 %doc gcc/cp/{ChangeLog,NEWS}
891 %attr(755,root,root) %{_bindir}/g++
892 %attr(755,root,root) %{_bindir}/*-g++
893 %attr(755,root,root) %{_bindir}/c++
894 %attr(755,root,root) %{_bindir}/*-c++
895 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1plus
896 %{_libdir}*/libsupc++.la
897 %ifarch ppc
898 %{_libdir}/nof/libsupc++.la
899 %{_libdir}/nof/libsupc++.a
900 %endif
901 %{_libdir}*/libsupc++.a
902 %{_mandir}/man1/g++.1*
903 %lang(ja) %{_mandir}/ja/man1/g++.1*
904
905 %files -n libstdc++ -f libstdc++.lang
906 %defattr(644,root,root,755)
907 %doc libstdc++-v3/{ChangeLog,README}
908 %attr(755,root,root) %{_libdir}*/libstdc++.so.*.*.*
909 %ifarch ppc
910 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
911 %endif
912
913 %files -n libstdc++-devel
914 %defattr(644,root,root,755)
915 %doc libstdc++-v3/docs/html
916 %dir %{_includedir}/c++
917 %{_includedir}/c++/%{version}
918 %exclude %{_includedir}/c++/%{version}/*/bits/stdc++.h.gch
919 %attr(755,root,root) %{_libdir}*/libstdc++.so
920 %{_libdir}*/libstdc++.la
921 %ifarch ppc
922 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
923 %{_libdir}/nof/libstdc++.la
924 %endif
925
926 %files -n libstdc++-static
927 %defattr(644,root,root,755)
928 %{_libdir}*/libstdc++.a
929 %ifarch ppc
930 %{_libdir}/nof/libstdc++.a
931 %endif
932
933 %if %{with objc}
934 %files objc
935 %defattr(644,root,root,755)
936 %doc gcc/objc/README
937 %attr(755,root,root) %{_libdir}/gcc/*/*/cc1obj
938 %attr(755,root,root) %{_libdir}*/libobjc.so
939 %{_libdir}*/libobjc.la
940 %ifarch ppc
941 %attr(755,root,root) %{_libdir}/nof/libobjc.so
942 %{_libdir}/nof/libobjc.la
943 %endif
944 %{_libdir}/gcc/*/*/include/objc
945
946 %files -n libobjc
947 %defattr(644,root,root,755)
948 %doc libobjc/{ChangeLog,README*}
949 %attr(755,root,root) %{_libdir}*/libobjc.so.*.*.*
950 %ifarch ppc
951 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
952 %endif
953
954 %files -n libobjc-static
955 %defattr(644,root,root,755)
956 %{_libdir}*/libobjc.a
957 %ifarch ppc
958 %{_libdir}/nof/libobjc.a
959 %endif
960 %endif
961
962 %files g77
963 %defattr(644,root,root,755)
964 %doc gcc/f/{BUGS,ChangeLog,NEWS}
965 %attr(755,root,root) %{_bindir}/g77
966 %attr(755,root,root) %{_bindir}/f77
967 %{_infodir}/g77*
968 %attr(755,root,root) %{_libdir}/gcc/*/*/f771
969 %{_libdir}*/libfrtbegin.a
970 %{_libdir}*/libg2c.la
971 %attr(755,root,root) %{_libdir}*/libg2c.so
972 %ifarch ppc
973 %{_libdir}/nof/libfrtbegin.a
974 %{_libdir}/nof/libg2c.la
975 %attr(755,root,root) %{_libdir}/nof/libg2c.so
976 %endif
977 %{_libdir}/gcc/*/*/include/g2c.h
978 %{_mandir}/man1/g77.1*
979 %{_mandir}/man1/f77.1*
980 %lang(ja) %{_mandir}/ja/man1/g77.1*
981 %lang(ja) %{_mandir}/ja/man1/f77.1*
982
983 %files -n libg2c
984 %defattr(644,root,root,755)
985 %doc libf2c/{ChangeLog,README,TODO}
986 %attr(755,root,root) %{_libdir}*/libg2c.so.*.*.*
987 %ifarch ppc
988 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
989 %endif
990
991 %files -n libg2c-static
992 %defattr(644,root,root,755)
993 %{_libdir}*/libg2c.a
994 %ifarch ppc
995 %{_libdir}/nof/libg2c.a
996 %endif
997
998 %if %{with java}
999 %files java
1000 %defattr(644,root,root,755)
1001 %doc gcc/java/ChangeLog java-doc/*
1002 %attr(755,root,root) %{_bindir}/gcj*
1003 %attr(755,root,root) %{_bindir}/gij
1004 %attr(755,root,root) %{_bindir}/jcf-dump
1005 %attr(755,root,root) %{_bindir}/jv-*
1006 %attr(755,root,root) %{_bindir}/grepjar
1007 %attr(755,root,root) %{_bindir}/*-gcj*
1008 %attr(755,root,root) %{_libdir}/gcc/*/*/jc1
1009 %attr(755,root,root) %{_libdir}/gcc/*/*/jvgenmain
1010 %{_infodir}/gcj*
1011 %{_mandir}/man1/jcf-*
1012 %{_mandir}/man1/jv-*
1013 %{_mandir}/man1/gij*
1014 %{_mandir}/man1/gcj*
1015 %{_mandir}/man1/grepjar*
1016
1017 %files java-tools
1018 %defattr(644,root,root,755)
1019 %attr(755,root,root) %{_bindir}/rmi*
1020 %attr(755,root,root) %{_bindir}/jar
1021 %{_mandir}/man1/rmi*
1022 %{_mandir}/man1/jar*
1023 %{_infodir}/fastjar*
1024
1025 %files -n libgcj
1026 %defattr(644,root,root,755)
1027 %doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
1028 %attr(755,root,root) %{_bindir}/addr2name.awk
1029 %attr(755,root,root) %{_libdir}/lib*cj*.so.*.*.*
1030 %attr(755,root,root) %{_libdir}/lib-org*.so.*.*.*
1031 %ifarch ppc
1032 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
1033 %endif
1034 %{_libdir}/logging.properties
1035
1036 %files -n libgcj-devel
1037 %defattr(644,root,root,755)
1038 %{_includedir}/java
1039 %{_includedir}/javax
1040 %{_includedir}/gcj
1041 %{_includedir}/j*.h
1042 %{_includedir}/gnu/*
1043 %{_libdir}/gcc/*/*/include/gcj
1044 %dir %{_libdir}/security
1045 %{_libdir}/security/*
1046 %dir %{_datadir}/java
1047 %{_datadir}/java/libgcj*.jar
1048 %{_libdir}/lib*cj.spec
1049 %{_libdir}/lib*cj*.la
1050 %attr(755,root,root) %{_libdir}/lib*cj*.so
1051 %attr(755,root,root) %{_libdir}/lib-org-*.so
1052 %{_libdir}/lib-org-*.la
1053 %ifarch ppc
1054 %{_libdir}/nof/lib*cj*.la
1055 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
1056 %endif
1057 %{_pkgconfigdir}/libgcj.pc
1058
1059 %files -n libgcj-static
1060 %defattr(644,root,root,755)
1061 %{_libdir}/lib*cj*.a
1062 %{_libdir}/lib-org-*.a
1063 %ifarch ppc
1064 %{_libdir}/nof/lib*cj*.a
1065 %endif
1066
1067 %files -n libffi
1068 %defattr(644,root,root,755)
1069 %doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
1070 %attr(755,root,root) %{_libdir}/libffi-*.so
1071
1072 %files -n libffi-devel
1073 %defattr(644,root,root,755)
1074 %attr(755,root,root) %{_libdir}/libffi.so
1075 %{_libdir}/libffi.la
1076 %{_includedir}/ffi*
1077
1078 %files -n libffi-static
1079 %defattr(644,root,root,755)
1080 %{_libdir}/libffi.a
1081 %endif
1082
1083 %if %{with ada}
1084 %files ada
1085 %defattr(644,root,root,755)
1086 %doc gcc/ada/ChangeLog
1087 %attr(755,root,root) %{_bindir}/gnat*
1088 %attr(755,root,root) %{_bindir}/gpr*
1089 %attr(755,root,root) %{_libdir}/libgnarl*.so
1090 %attr(755,root,root) %{_libdir}/libgnat*.so
1091 %attr(755,root,root) %{_libdir}/gcc/*/*/gnat1
1092 %{_libdir}/gcc/*/*/adainclude
1093 %dir %{_libdir}/gcc/*/*/adalib
1094 %{_libdir}/gcc/*/*/adalib/*.ali
1095 %{_libdir}/gcc/*/*/adalib/g-trasym.o
1096 %{_libdir}/gcc/*/*/adalib/libgccprefix.a
1097 %ifarch %{ix86}
1098 %{_libdir}/gcc/*/*/adalib/libgmem.a
1099 %endif
1100 %{_datadir}/gnat
1101 %{_infodir}/gnat*
1102
1103 %files -n libgnat
1104 %defattr(644,root,root,755)
1105 %attr(755,root,root) %{_libdir}/libgnarl*.so.1
1106 %attr(755,root,root) %{_libdir}/libgnat*.so.1
1107
1108 %files -n libgnat-static
1109 %defattr(644,root,root,755)
1110 %{_libdir}/gcc/*/*/adalib/libgnarl.a
1111 %{_libdir}/gcc/*/*/adalib/libgnat.a
1112 %endif
This page took 0.105068 seconds and 4 git commands to generate.