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