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