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