]> git.pld-linux.org Git - packages/gcc4.git/blob - gcc4.spec
- ada-no-prefix.o patch is back (updated)
[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.3
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 Patch5:         %{name}-gcc-page.c.patch
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
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 BuildRequires:  autoconf
71 BuildRequires:  bison
72 BuildRequires:  fileutils >= 4.0.41
73 BuildRequires:  gcc
74 %{!?_without_ada:BuildRequires: gcc-ada}
75 BuildRequires:  glibc-devel >= 2.2.5-20
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/Fortran
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/Java
257 Version:        %{GCC_VERSION}
258 Requires:       %{name} = %{version}
259 Requires:       libgcj >= 3.0.0
260 Requires:       libgcj-devel >= 3.0.0
261 Requires:       java-shared
262 Provides:       gcj = %{epoch}:%{GCC_VERSION}-%{release}
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 java-tools
275 Summary:        Shared java tools
276 Summary(pl):    Wspó³dzielone narzêdzia javy
277 Group:          Development/Languages/Java
278 Version:        %{GCC_VERSION}
279 Provides:       jar = %{epoch}:%{GCC_VERSION}-%{release}
280 Provides:       java-shared
281 Obsoletes:      fastjar
282 Obsoletes:      java-shared
283 Obsoletes:      jar
284
285 %description java-tools
286 This package contains tools that are common for every Java(tm) implementation,
287 such as rmic or jar.
288
289 %description java-tools -l pl
290 Pakiet ten zawiera narzêdzia wspólne dla ka¿dej implementacji Javy(tm), takie
291 jak rmic czy jar.
292
293 %package -n libgcj
294 Summary:        Java Class Libraries
295 Summary(pl):    Biblioteki Klas Javy
296 Group:          Libraries
297 Version:        %{GCC_VERSION}
298 Requires:       zlib
299
300 %description -n libgcj
301 Java Class Libraries.
302
303 %description -n libgcj -l pl
304 Biblioteki Klas Javy.
305
306 %package -n libgcj-devel
307 Summary:        Development files for Java Class Libraries
308 Summary(pl):    Pliki nag³ówkowe dla Bibliotek Klas Javy
309 Group:          Development/Libraries
310 Version:        %{GCC_VERSION}
311 Requires:       libgcj = %{GCC_VERSION}
312 Requires:       %{name}-java
313
314 %description -n libgcj-devel
315 Development files for Java Class Libraries.
316
317 %description -n libgcj-devel -l pl
318 Pliki nag³ówkowe dla Bibliotek Klas Javy.
319
320 %package -n libgcj-static
321 Summary:        Static Java Class Libraries
322 Summary(pl):    Statyczne Biblioteki Klas Javy
323 Group:          Development/Libraries
324 Version:        %{GCC_VERSION}
325 Requires:       libstdc++-devel = %{GCC_VERSION}
326 Requires:       libgcj-devel = %{GCC_VERSION}
327
328 %description -n libgcj-static
329 Static Java Class Libraries.
330
331 %description -n libgcj-static -l pl
332 Statyczne Biblioteki Klas Javy.
333
334 %package -n libstdc++
335 Summary:        GNU c++ library
336 Summary(pl):    Biblioteki GNU C++
337 Group:          Libraries
338 Version:        %{GCC_VERSION}
339 Obsoletes:      libg++
340
341 %description -n libstdc++
342 This is the GNU implementation of the standard C++ libraries, along
343 with additional GNU tools. This package includes the shared libraries
344 necessary to run C++ applications.
345
346 %description -n libstdc++ -l de
347 Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
348 weiteren GNU-Tools. Dieses Paket enthält die zum Ausführen von
349 C++-Anwendungen erforderlichen gemeinsam genutzten Libraries.
350
351 %description -n libstdc++ -l fr
352 Ceci est l'implémentation GNU des librairies C++ standard, ainsi que
353 des outils GNU supplémentaires. Ce package comprend les librairies
354 partagées nécessaires à l'exécution d'application C++.
355
356 %description -n libstdc++ -l pl
357 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
358 bibliotek C++. Znajduj± siê w nim biblioteki dynamiczne niezbêdne do
359 uruchomienia aplikacji napisanych w C++.
360
361 %description -n libstdc++ -l tr
362 Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
363 uygulamalarýnýn koþturulmasý için gerekli kitaplýklarý içerir.
364
365 %package -n libstdc++-devel
366 Summary:        Header files and documentatino for C++ development
367 Summary(de):    Header-Dateien zur Entwicklung mit C++
368 Summary(fr):    Fichiers d'en-tête et biblitothèques pour développer en C++
369 Summary(pl):    Pliki nag³ówkowe i dokumentacja do biblioteki standardowej C++
370 Summary(tr):    C++ ile program geliþtirmek için gerekli dosyalar
371 Group:          Development/Libraries
372 Version:        %{GCC_VERSION}
373 Requires:       libstdc++ = %{GCC_VERSION}
374 Requires:       %{name}-c++
375 Obsoletes:      libg++-devel
376
377 %description -n libstdc++-devel
378 This is the GNU implementation of the standard C++ libraries. This
379 package includes the header files needed for C++ development and
380 library documentation.
381
382 %description -n libstdc++-devel -l pl
383 Pakiet ten zawiera biblioteki bêd±ce implementacj± standardowych
384 bibliotek C++. Znajduj± siê w nim pliki nag³ówkowe wykorzystywane przy
385 programowaniu w jêzyku C++ oraz dokumentacja biblioteki standardowej.
386
387 %package -n libstdc++-static
388 Summary:        Static C++ standard library
389 Summary(pl):    Statyczna biblioteka standardowa C++
390 Group:          Development/Libraries
391 Version:        %{GCC_VERSION}
392 Requires:       libstdc++-devel = %{GCC_VERSION}
393
394 %description -n libstdc++-static
395 Static C++ standard library.
396
397 %description -n libstdc++-static -l pl
398 Statycza biblioteka standardowa C++.
399
400 %package ada
401 Summary:        Ada support for gcc
402 Summary(pl):    Obs³uga Ady do gcc
403 Group:          Development/Languages
404 Version:        %{GCC_VERSION}
405 Requires:       libgnat = %{GCC_VERSION}
406 Requires:       gcc = %{GCC_VERSION}
407 Obsoletes:      gcc-gnat
408 Obsoletes:      gnat-devel
409
410 %description ada
411 This package adds experimental support for compiling Ada programs.
412
413 %description -l pl ada
414 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
415 w Adzie.
416
417 %package -n libgnat
418 Summary:        Ada standard libraries
419 Summary(pl):    Biblioteki standardowe dla Ady
420 Group:          Libraries
421 Version:        %{GCC_VERSION}
422 Obsoletes:      gnat
423
424 %description -n libgnat
425 This package contains shared libraries needed to run programs written
426 in Ada.
427
428 %description -n libgnat -l pl
429 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
430 w Adzie.
431
432 %package -n libgnat-static
433 Summary:        Static Ada standard libraries
434 Summary(pl):    Statyczne biblioteki standardowe dla Ady
435 Group:          Libraries
436 Version:        %{GCC_VERSION}
437 Obsoletes:      gnat-static
438
439 %description -n libgnat-static
440 This package contains static libraries for programs written in Ada.
441
442 %description -n libgnat-static -l pl
443 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
444 Adzie.
445
446 %package ksi
447 Summary:        Ksi support for gcc
448 Summary(pl):    Obs³uga Ksi dla gcc
449 Version:        %{GCC_VERSION}.%{KSI_VERSION}
450 Group:          Development/Languages
451 Requires:       gcc = %{GCC_VERSION}
452
453 %description ksi
454 This package adds experimental support for compiling Ksi programs
455 into native code. You proabably don't need it, unless your are going
456 to develop a compiler using Ksi as intermediate representation or
457 you are using such compiler (like Gont).
458
459 %description ksi -l pl
460 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
461 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
462 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
463 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
464
465 %package -n cpp
466 Summary:        The C Pre Processor
467 Summary(pl):    Preprocesor C
468 Group:          Development/Languages
469 Version:        %{GCC_VERSION}
470 Obsoletes:      egcs-cpp
471 Obsoletes:      gcc-cpp
472
473 %description -n cpp
474 The C preprocessor is a "macro processor" that is used automatically
475 by the C compiler to transform your program before actual compilation.
476 It is called a macro processor because it allows you to define
477 "macros", which are brief abbreviations for longer constructs.
478
479 The C preprocessor provides four separate facilities that you can use
480 as you see fit:
481
482 - Inclusion of header files. These are files of declarations that can
483   be substituted into your program.
484 - Macro expansion. You can define "macros", which are abbreviations
485   for arbitrary fragments of C code, and then the C preprocessor will
486   replace the macros with their definitions throughout the program.
487 - Conditional compilation. Using special preprocessing directives, you
488   can include or exclude parts of the program according to various
489   conditions.
490 - Line control. If you use a program to combine or rearrange source
491   files into an intermediate file which is then compiled, you can use
492   line control to inform the compiler of where each source line
493   originally came from.
494
495 %description -n cpp -l pl
496 Przeprocesor C jest "makro procesorem" który jest automatycznie
497 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
498 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
499 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
500 d³ugich konstrukcji w jêzyku C.
501
502 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
503
504 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
505   deklaracji polecenia do³±czenia innego pliku.
506 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
507   których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
508   indentyfikatora deklarowan± wcze¶niej warto¶ci±.
509 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
510   ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
511   fragmenty obrabianego strumienia tekstów.
512 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
513   podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
514   s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
515   odpowiada fragment pliku wynikowego.
516
517 %prep
518 %setup -q -a1 -n %{name}-%{GCC_VERSION}
519 mv ksi-%{KSI_VERSION} gcc/ksi
520
521 %patch0 -p1
522 %patch1 -p1
523 %patch2 -p1
524 %patch3 -p1
525 %patch4 -p1
526 %patch5 -p1
527
528 #%patch10
529 %patch11
530 %patch12
531 %patch13
532 %patch14
533 %patch15
534 #%patch16
535 %patch17
536 %patch18
537 %patch19
538 %patch20
539 %patch21
540 %patch22
541
542 %patch24
543 %patch25
544 %patch26
545 %patch27
546 %patch29
547 %patch30
548 %patch31
549 %patch32
550 %patch33
551 %patch34
552 %patch35
553 %patch36
554 %patch37
555 %patch38
556 %patch39
557 %patch40
558 %patch41
559 %patch42
560 %patch43
561 %patch44
562 %patch45
563 %patch46
564 %patch47
565
566 %patch6 -p1
567
568 perl -p -i -e 's/";/ (PLD Linux)";/' gcc/version.c
569
570 %build
571 # cd gcc && autoconf; cd ..
572 # autoconf is not needed!
573 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
574
575 CFLAGS="%{rpmcflags}" \
576 CXXFLAGS="%{rpmcflags}" \
577 TEXCONFIG=false ../configure \
578         --prefix=%{_prefix} \
579         --infodir=%{_infodir} \
580         --mandir=%{_mandir} \
581         --enable-shared \
582         --enable-threads=posix \
583         --enable-__cxa_atexit \
584         --enable-languages="c,c++,f77,gcov%{?!_without_objc:,objc},ksi%{!?_without_ada:,ada}%{!?_without_java:,java}" \
585         --enable-c99 \
586         --enable-long-long \
587         --enable-multilib \
588         --enable-nls \
589         --with-gnu-as \
590         --with-gnu-ld \
591         --with-system-zlib \
592         --with-slibdir=%{_slibdir} \
593         --without-x \
594         %{_target_platform}
595
596 PATH=$PATH:/sbin:%{_sbindir}
597
598 # this dirty hack is relict of setting, where objdir is subdir of srcdir
599 %if %{!?_without_ada:1}%{?_without_ada:0}
600 sed -e 's/srcdir=\$(fsrcdir)/srcdir=\$(fsrcdir) VPATH=\$(fsrcdir)/' \
601         gcc/ada/Makefile > makefile.tmp
602 mv -f makefile.tmp gcc/ada/Makefile
603 %endif
604
605 cd ..
606 %{__make} -C obj-%{_target_platform} bootstrap-lean \
607         LDFLAGS_FOR_TARGET="%{rpmldflags}" \
608         mandir=%{_mandir} \
609         infodir=%{_infodir}
610
611 %if %{!?_without_ada:1}%{?_without_ada:0}
612 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
613         LDFLAGS_FOR_TARGET="%{rpmldflags}" \
614         mandir=%{_mandir} \
615         infodir=%{_infodir}
616
617 # make Gnat Reference Manual
618 %{__make} -C obj-%{_target_platform}/gcc/ada doc
619 %endif
620
621 %install
622 rm -rf $RPM_BUILD_ROOT
623 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
624
625 cd obj-%{_target_platform}
626 PATH=$PATH:/sbin:%{_sbindir}
627
628 %{__make} install \
629         prefix=$RPM_BUILD_ROOT%{_prefix} \
630         mandir=$RPM_BUILD_ROOT%{_mandir} \
631         infodir=$RPM_BUILD_ROOT%{_infodir} \
632         slibdir=$RPM_BUILD_ROOT/lib
633
634 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
635 echo .so gcc.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
636
637 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
638 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
639
640 %if %{!?_without_ada:1}%{?_without_ada:0}
641 # move ada shared libraries to proper place...
642 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*-*so \
643         $RPM_BUILD_ROOT%{_libdir}
644 rm -f $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so
645 (cd $RPM_BUILD_ROOT%{_libdir} && \
646  ln -s libgnat-*so libgnat.so.1   && ln -s libgnat-*so libgnat.so && \
647  ln -s libgnarl-*so libgnarl.so.1 && ln -s libgnarl-*so libgnarl.so)
648 %endif
649
650 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
651
652 cd ..
653
654 %if %{!?_without_ada:1}%{?_without_ada:0}
655 install obj-%{_target_platform}/gcc/ada/gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}
656 install obj-%{_target_platform}/gcc/ada/gnat_ug_unx.info* $RPM_BUILD_ROOT%{_infodir}
657 %endif
658
659 %if %{!?_without_java:1}%{?_without_java:0}
660 install -d java-doc
661 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
662 cp -f fastjar/README java-doc/README.fastjar
663 cp -f libffi/README java-doc/README.libffi
664 cp -f libffi/LICENSE java-doc/LICENSE.libffi
665 %endif
666
667 %if %{?!_without_objc:1}0
668 cp -f libobjc/README gcc/objc/README.libobjc
669 %endif
670
671 # avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc-lib/*/%{version}
672 for f in libstdc++.la %{!?_without_java:libgcj.la} ; do
673         perl -pi -e 's@-L[^ ]*[acs.] @@g' $RPM_BUILD_ROOT%{_libdir}/$f
674 done
675
676 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
677 mv -f $RPM_BUILD_ROOT%{_mandir}/ja/man1/{cccp,cpp}.1
678
679 %find_lang %{name}
680 %find_lang libstdc\+\+
681
682 %clean
683 rm -rf $RPM_BUILD_ROOT
684
685 %post
686 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
687
688 %postun
689 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
690
691 %post g77
692 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
693
694 %postun g77
695 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
696
697 %post java
698 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
699
700 %postun java
701 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
702
703 %post ksi
704 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
705
706 %postun ksi
707 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
708
709 %post -n cpp
710 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
711
712 %postun -n cpp
713 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
714
715 %post   -p /sbin/ldconfig -n libgcc
716 %postun -p /sbin/ldconfig -n libgcc
717 %post   -p /sbin/ldconfig -n libstdc++
718 %postun -p /sbin/ldconfig -n libstdc++
719 %post   -p /sbin/ldconfig -n libobjc
720 %postun -p /sbin/ldconfig -n libobjc
721 %post   -p /sbin/ldconfig -n libg2c
722 %postun -p /sbin/ldconfig -n libg2c
723 %post   -p /sbin/ldconfig -n libgcj
724 %postun -p /sbin/ldconfig -n libgcj
725 %post   -p /sbin/ldconfig -n libgnat
726 %postun -p /sbin/ldconfig -n libgnat
727
728 %files -f %{name}.lang
729 %defattr(644,root,root,755)
730 %doc READ* ChangeLog
731 %dir %{_libdir}/gcc-lib
732 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
733 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
734 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
735 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
736 %attr(755,root,root) %{_bindir}/gcc
737 %attr(755,root,root) %{_bindir}/gccbug
738 %attr(755,root,root) %{_bindir}/gcov
739 %attr(755,root,root) %{_bindir}/cc
740
741 %{_mandir}/man1/gcc.1*
742 %{_mandir}/man1/cc.1*
743 %{_mandir}/man1/gcov.1*
744 %lang(fr) %{_mandir}/fr/man1/gcc.1*
745 %lang(ja) %{_mandir}/ja/man1/gcc.1*
746 %{_infodir}/gcc*
747
748 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
749 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
750 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
751 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
752 %ifarch ppc
753 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
754 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
755 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
756 %dir %{_libdir}/nof
757 %endif
758 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
759 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
760
761 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
762 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
763 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
764 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
765 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
766 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
767 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
768 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
769 %ifarch %{ix86}
770 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/mmintrin.h
771 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/xmmintrin.h
772 %endif
773 %ifarch ppc
774 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/altivec.h
775 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/ppc-asm.h
776 %endif
777
778 %files -n libgcc
779 %defattr(644,root,root,755)
780 %attr(755,root,root) %{_slibdir}/lib*.so*
781
782 %files c++
783 %defattr(644,root,root,755)
784 %attr(755,root,root) %{_bindir}/g++
785 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
786 %attr(755,root,root) %{_bindir}/c++
787 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
788 %attr(755,root,root) %{_bindir}/c++filt
789 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
790 %{_libdir}/libsupc++.la
791 %ifarch ppc
792 %{_libdir}/nof/libsupc++.la
793 %{_libdir}/nof/libsupc++.a
794 %endif
795 %{_libdir}/libsupc++.a
796 %{_mandir}/man1/g++.1*
797 %lang(es) %{_mandir}/es/man1/c++filt.1*
798 %lang(ja) %{_mandir}/ja/man1/g++.1*
799
800 %files -n libstdc++ -f libstdc++.lang
801 %defattr(644,root,root,755)
802 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
803 %ifarch ppc
804 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
805 %endif
806
807 %files -n libstdc++-devel
808 %defattr(644,root,root,755)
809 %doc libstdc++-v3/docs/html
810 %dir %{_includedir}/c++
811 %{_includedir}/c++/%{GCC_VERSION}
812 %attr(755,root,root) %{_libdir}/libstdc++.so
813 %{_libdir}/libstdc++.la
814 %ifarch ppc
815 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
816 %{_libdir}/nof/libstdc++.la
817 %endif
818
819 %files -n libstdc++-static
820 %defattr(644,root,root,755)
821 %{_libdir}/libstdc++.a
822 %ifarch ppc
823 %{_libdir}/nof/libstdc++.a
824 %endif
825
826 %if %{?!_without_objc:1}0
827 %files objc
828 %defattr(644,root,root,755)
829 %doc gcc/objc/READ*
830 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
831 %attr(755,root,root) %{_libdir}/libobjc.so
832 %{_libdir}/libobjc.la
833 %ifarch ppc
834 %attr(755,root,root) %{_libdir}/nof/libobjc.so
835 %{_libdir}/nof/libobjc.la
836 %endif
837 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
838
839 %files -n libobjc
840 %defattr(644,root,root,755)
841 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
842 %ifarch ppc
843 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
844 %endif
845
846 %files -n libobjc-static
847 %defattr(644,root,root,755)
848 %{_libdir}/libobjc.a
849 %ifarch ppc
850 %{_libdir}/nof/libobjc.a
851 %endif
852 %endif
853
854 %files g77
855 %defattr(644,root,root,755)
856 %attr(755,root,root) %{_bindir}/g77
857 %attr(755,root,root) %{_bindir}/f77
858 %{_infodir}/g77*
859 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
860 %{_libdir}/libfrtbegin.a
861 %{_libdir}/libg2c.la
862 %attr(755,root,root) %{_libdir}/libg2c.so
863 %ifarch ppc
864 %{_libdir}/nof/libfrtbegin.a
865 %{_libdir}/nof/libg2c.la
866 %attr(755,root,root) %{_libdir}/nof/libg2c.so
867 %endif
868 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
869 %{_mandir}/man1/g77.1*
870 %{_mandir}/man1/f77.1*
871 %lang(ja) %{_mandir}/ja/man1/g77.1*
872 %lang(ja) %{_mandir}/ja/man1/f77.1*
873
874 %files -n libg2c
875 %defattr(644,root,root,755)
876 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
877 %ifarch ppc
878 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
879 %endif
880
881 %files -n libg2c-static
882 %defattr(644,root,root,755)
883 %{_libdir}/libg2c.a
884 %ifarch ppc
885 %{_libdir}/nof/libg2c.a
886 %endif
887
888 %if %{!?_without_java:1}%{?_without_java:0}
889 %files java
890 %defattr(644,root,root,755)
891 %doc java-doc/*
892 %attr(755,root,root) %{_bindir}/gcj*
893 %attr(755,root,root) %{_bindir}/gij
894 %attr(755,root,root) %{_bindir}/jcf-dump
895 %attr(755,root,root) %{_bindir}/jv-*
896 %attr(755,root,root) %{_bindir}/grepjar
897 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
898 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
899 %{_infodir}/gcj*
900 %{_mandir}/man1/jcf-*
901 %{_mandir}/man1/jv-*
902 %{_mandir}/man1/gij*
903 %{_mandir}/man1/gcj*
904
905 %files java-tools
906 %defattr(644,root,root,755)
907 %attr(755,root,root) %{_bindir}/rmi*
908 %attr(755,root,root) %{_bindir}/jar
909 %{_mandir}/man1/rmi*
910
911
912 %files -n libgcj
913 %defattr(644,root,root,755)
914 %attr(755,root,root) %{_bindir}/addr2name.awk
915 %attr(755,root,root) %{_libdir}/lib*cj*.so.*
916 %ifarch ppc
917 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
918 %endif
919
920 %files -n libgcj-devel
921 %defattr(644,root,root,755)
922 %{_includedir}/java
923 %{_includedir}/javax
924 %{_includedir}/org
925 %{_includedir}/gcj
926 %{_includedir}/j*.h
927 %{_includedir}/gnu/*
928 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
929 %dir %{_libdir}/security
930 %{_libdir}/security/*
931 %dir %{_datadir}/java
932 %{_datadir}/java/libgcj*.jar
933 %{_libdir}/lib*cj.spec
934 %{_libdir}/lib*cj*.la
935 %attr(755,root,root) %{_libdir}/lib*cj*.so
936 %ifarch ppc
937 %{_libdir}/nof/lib*cj*.la
938 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
939 %endif
940
941 %files -n libgcj-static
942 %defattr(644,root,root,755)
943 %{_libdir}/lib*cj*.a
944 %ifarch ppc
945 %{_libdir}/nof/lib*cj*.a
946 %endif
947 %endif
948
949 %if %{!?_without_ada:1}%{?_without_ada:0}
950 %files ada
951 %defattr(644,root,root,755)
952 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
953 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
954 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
955 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
956 %ifnarch ppc
957 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
958 %endif
959 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
960 %attr(755,root,root) %{_bindir}/gnat*
961 %{_infodir}/gnat*
962 %attr(755,root,root) %{_libdir}/libgnat.so*
963 %attr(755,root,root) %{_libdir}/libgnarl.so*
964
965 %files -n libgnat
966 %defattr(644,root,root,755)
967 %attr(755,root,root) %{_libdir}/libgna*-*so
968
969 %files -n libgnat-static
970 %defattr(644,root,root,755)
971 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
972 %endif
973
974 %files ksi
975 %defattr(644,root,root,755)
976 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
977 %{_infodir}/ksi*
978 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
979
980 %files -n cpp
981 %defattr(644,root,root,755)
982 %attr(755,root,root) %{_slibdir}/cpp
983 %attr(755,root,root) %{_bindir}/cpp
984 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
985 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/tradcpp0
986 %{_mandir}/man1/cpp.1*
987 %lang(ja) %{_mandir}/ja/man1/cpp.1*
988 %{_infodir}/cpp*
This page took 0.161434 seconds and 4 git commands to generate.