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