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