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