]> git.pld-linux.org Git - packages/gcc.git/blob - gcc.spec
- -ada Obsoletes gcc-gnat (RH package)
[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:      gcc-gnat
393 Obsoletes:      gnat-devel
394
395 %description ada
396 This package adds experimental support for compiling Ada programs.
397
398 %description -l pl ada
399 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
400 w Adzie.
401
402 %package -n libgnat
403 Summary:        Ada standard libraries
404 Summary(pl):    Biblioteki standardowe dla Ady
405 Group:          Libraries
406 Version:        %{GCC_VERSION}
407 Obsoletes:      gnat
408
409 %description -n libgnat
410 This package contains shared libraries needed to run programs written
411 in Ada.
412
413 %description -n libgnat -l pl
414 Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów napisanych
415 w Adzie.
416
417 %package -n libgnat-static
418 Summary:        Static Ada standard libraries
419 Summary(pl):    Statyczne biblioteki standardowe dla Ady
420 Group:          Libraries
421 Version:        %{GCC_VERSION}
422 Obsoletes:      gnat-static
423
424 %description -n libgnat-static
425 This package contains static libraries for programs written in Ada.
426
427 %description -n libgnat-static -l pl
428 Ten pakiet zawiera biblioteki statyczne dla programów napisanych w
429 Adzie.
430
431 %package ksi
432 Summary:        Ksi support for gcc
433 Summary(pl):    Obs³uga Ksi dla gcc
434 Version:        %{GCC_VERSION}.%{KSI_VERSION}
435 Group:          Development/Languages
436 Requires:       gcc = %{GCC_VERSION}
437
438 %description ksi
439 This package adds experimental support for compiling Ksi programs
440 into native code. You proabably don't need it, unless your are going
441 to develop a compiler using Ksi as intermediate representation or
442 you are using such compiler (like Gont).
443
444 %description ksi -l pl
445 Ten pakiet dodaje eksperymentalne wsparcie dla kompilacji programów
446 w Ksi do kodu maszynowego. Prawdopodobnie nie potrzebujesz go, chyba
447 ¿e zamierzasz pisaæ kompilator u¿ywaj±cy Ksi jako reprezentacji
448 po¶rednicz±cej, lub u¿ywasz takiego kompilatora (jak Gont).
449
450 %package -n cpp
451 Summary:        The C Pre Processor
452 Summary(pl):    Preprocesor C
453 Group:          Development/Languages
454 Version:        %{GCC_VERSION}
455 Obsoletes:      egcs-cpp
456 Obsoletes:      gcc-cpp
457
458 %description -n cpp
459 The C preprocessor is a "macro processor" that is used automatically
460 by the C compiler to transform your program before actual compilation.
461 It is called a macro processor because it allows you to define
462 "macros", which are brief abbreviations for longer constructs.
463
464 The C preprocessor provides four separate facilities that you can use
465 as you see fit:
466
467 - Inclusion of header files. These are files of declarations that can
468   be substituted into your program.
469 - Macro expansion. You can define "macros", which are abbreviations
470   for arbitrary fragments of C code, and then the C preprocessor will
471   replace the macros with their definitions throughout the program.
472 - Conditional compilation. Using special preprocessing directives, you
473   can include or exclude parts of the program according to various
474   conditions.
475 - Line control. If you use a program to combine or rearrange source
476   files into an intermediate file which is then compiled, you can use
477   line control to inform the compiler of where each source line
478   originally came from.
479
480 %description -n cpp -l pl
481 Przeprocesor C jest "makro procesorem" który jest automatycznie
482 u¿ywany przez kompilator C do obróbki kompilowanego programu przed
483 w³a¶ciw± kompilacj±. Jest on nazywany makroprocesorem, poniewa¿
484 umo¿liwia definiowanie i rozwijanie makr umo¿liwiaj±cych skracanie
485 d³ugich konstrukcji w jêzyku C.
486
487 Preprocesor C umo¿liwia wykonywanie czterech ró¿nych typów operacji:
488
489 - Do³±czanie plików (np. nag³ówkowych). Wstawia pliki w miejscu
490   deklaracji polecenia do³±czenia innego pliku.
491 - Rozwijanie makr. Mo¿na definiowaæ "makra" nadaj±c im identyfikatory,
492   których pó¼niejsze u¿ycie powoduje podczas rozwijania podmienienie
493   indentyfikatora deklarowan± wcze¶niej warto¶ci±.
494 - Kompilacja warunkowa. W zale¿no¶ci od obecno¶ci symboli i dyrektyw w
495   ¶rodowisku preprocesora s± w³±czane warunkowo, b±d¼ nie, pewne
496   fragmenty obrabianego strumienia tekstów.
497 - Kontrola linii ¼ród³a. Niezale¿nie od tego jakim przeobra¿eniom
498   podlega wynikowy strumieñ danych w wyniku rozwijania makr i do³±czania
499   s± zapamiêtywane informacje o tym, której linii pliku ¼ród³owego
500   odpowiada fragment pliku wynikowego.
501
502 %prep
503 %setup -q -a1 -n %{name}-3.2
504 mv ksi-%{KSI_VERSION} gcc/ksi
505 %patch100 -p1
506
507 %patch0 -p1
508 %patch1 -p1
509 %patch2 -p1
510 %patch3 -p1
511 %patch4 -p1
512 %ifarch %{ix86}
513 %patch5 -p0
514 %endif
515 %patch10 
516 %patch11 
517 %patch12 
518 %patch13 
519 %patch14 
520 %patch15 
521 %patch16 
522 %patch17 
523 %patch18 
524 %patch19 
525 %patch20 
526 %patch21 
527 %patch22 
528 %patch23 
529 %patch24 
530 %patch25 
531 %patch26 
532 %patch27 
533 %patch28 
534 %patch29 
535 %patch30 
536 %patch31 
537 %patch32 
538 %patch33 
539 %patch34 
540 %patch35 
541 %patch36 
542 %patch37 
543 %patch38 
544 %patch39 
545 %patch40 
546 %patch41 
547 %patch42 
548 %patch43
549 %patch44 
550 %patch45 
551 %patch46
552 %patch47
553 %patch48 
554
555 %build
556 # cd gcc && autoconf; cd ..
557 # autoconf is not needed!
558 rm -rf obj-%{_target_platform} && install -d obj-%{_target_platform} && cd obj-%{_target_platform}
559
560 CFLAGS="%{rpmcflags}" \
561 CXXFLAGS="%{rpmcflags}" \
562 TEXCONFIG=false ../configure \
563         --prefix=%{_prefix} \
564         --infodir=%{_infodir} \
565         --mandir=%{_mandir} \
566         --enable-shared \
567         --enable-threads=posix \
568         --enable-__cxa_atexit \
569         --enable-languages="c,c++,f77,gcov,objc,ksi%{!?_without_ada:,ada}%{!?_without_java:,java}" \
570         --enable-c99 \
571         --enable-long-long \
572         --enable-multilib \
573         --enable-nls \
574         --with-gnu-as \
575         --with-gnu-ld \
576         --with-system-zlib \
577         --with-slibdir=%{_slibdir} \
578         --without-x \
579         %{_target_platform}
580
581 PATH=$PATH:/sbin:%{_sbindir}
582
583 # this dirty hack is relict of setting, where objdir is subdir of srcdir
584 %if %{!?_without_ada:1}%{?_without_ada:0}
585 sed -e 's/srcdir=\$(fsrcdir)/srcdir=\$(fsrcdir) VPATH=\$(fsrcdir)/' \
586         gcc/ada/Makefile > makefile.tmp
587 mv -f makefile.tmp gcc/ada/Makefile
588 %endif
589
590 cd ..
591 %{__make} -C obj-%{_target_platform} bootstrap-lean \
592         LDFLAGS_FOR_TARGET="%{rpmldflags}" \
593         mandir=%{_mandir} \
594         infodir=%{_infodir}
595
596 %if %{!?_without_ada:1}%{?_without_ada:0}
597 %{__make} -C obj-%{_target_platform}/gcc gnatlib gnattools gnatlib-shared \
598         LDFLAGS_FOR_TARGET="%{rpmldflags}" \
599         mandir=%{_mandir} \
600         infodir=%{_infodir}
601
602 # make Gnat Reference Manual
603 %{__make} -C obj-%{_target_platform}/gcc/ada doc
604 %endif
605
606 %install
607 rm -rf $RPM_BUILD_ROOT
608 install -d $RPM_BUILD_ROOT{/lib,%{_datadir},%{_infodir}}
609
610 cd obj-%{_target_platform}
611 PATH=$PATH:/sbin:%{_sbindir}
612
613 %{__make} install \
614         prefix=$RPM_BUILD_ROOT%{_prefix} \
615         mandir=$RPM_BUILD_ROOT%{_mandir} \
616         infodir=$RPM_BUILD_ROOT%{_infodir} \
617         slibdir=$RPM_BUILD_ROOT/lib
618
619 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
620 echo .so gcc.1 > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
621
622 ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
623 echo .so g77.1 > $RPM_BUILD_ROOT%{_mandir}/man1/f77.1
624
625 (cd $RPM_BUILD_ROOT%{_libdir} ; LIBSTDC=$(ls libstdc++.so.*.*.*) ; \
626  cd $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/ ; \
627  ln -sf ../../../${LIBSTDC} libstdc++.so ; \
628  ln -sf ../../../libstdc++.la libstdc++.la)
629
630 mv $RPM_BUILD_ROOT%{_libdir}/libstdc++.a \
631         $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/
632
633 LIBSTDC=$(ls -d $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/* | sed -e "s#$RPM_BUILD_ROOT##g")
634 mv $RPM_BUILD_ROOT%{_libdir}/libstdc++.la $RPM_BUILD_ROOT%{_libdir}/libstdc++.la.old
635 sed -e "s#^libdir='/usr/lib'#libdir='$LIBSTDC'#g" $RPM_BUILD_ROOT%{_libdir}/libstdc++.la.old \
636  > $RPM_BUILD_ROOT%{_libdir}/libstdc++.la
637
638 %if %{!?_without_ada:1}%{?_without_ada:0}
639 # move ada shared libraries to proper place...
640 mv $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*-*so.1 \
641         $RPM_BUILD_ROOT%{_libdir}
642 rm -f $RPM_BUILD_ROOT%{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.so.1
643 (cd $RPM_BUILD_ROOT%{_libdir} && \
644  ln -s libgnat-*so.1 libgnat.so.1 && \
645  ln -s libgnarl-*so.1 libgnarl.so.1)
646 %endif
647
648 ln -sf %{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
649
650 cd ..
651
652 %if %{!?_without_ada:1}%{?_without_ada:0}
653 install  obj-%{_target_platform}/gcc/ada/gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}
654 %endif
655
656 %if %{!?_without_java:1}%{?_without_java:0}
657 install -d java-doc
658 cp -f libjava/doc/cni.sgml libjava/READ* java-doc
659 cp -f fastjar/README java-doc/README.fastjar
660 cp -f libffi/README java-doc/README.libffi
661 cp -f libffi/LICENSE java-doc/LICENSE.libffi
662
663 cp -f libobjc/README gcc/objc/README.libobjc
664 %endif
665
666 %find_lang %{name}
667 %find_lang libstdc\+\+
668
669 %clean
670 rm -rf $RPM_BUILD_ROOT
671
672 %post
673 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
674
675 %postun
676 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
677
678 %post g77
679 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
680
681 %postun g77
682 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
683
684 %post java
685 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
686
687 %postun java
688 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
689
690 %post ksi
691 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
692
693 %postun ksi
694 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
695
696 %post -n cpp
697 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
698
699 %postun -n cpp
700 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
701
702 %post   -p /sbin/ldconfig -n libgcc
703 %postun -p /sbin/ldconfig -n libgcc
704 %post   -p /sbin/ldconfig -n libstdc++
705 %postun -p /sbin/ldconfig -n libstdc++
706 %post   -p /sbin/ldconfig -n libobjc
707 %postun -p /sbin/ldconfig -n libobjc
708 %post   -p /sbin/ldconfig -n libg2c
709 %postun -p /sbin/ldconfig -n libg2c
710 %post   -p /sbin/ldconfig -n libgcj
711 %postun -p /sbin/ldconfig -n libgcj
712 %post   -p /sbin/ldconfig -n libgnat
713 %postun -p /sbin/ldconfig -n libgnat
714
715 %files -f %{name}.lang
716 %defattr(644,root,root,755)
717 %doc READ* ChangeLog
718 %dir %{_libdir}/gcc-lib
719 %dir %{_libdir}/gcc-lib/%{_target_cpu}*
720 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*
721 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/include
722 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-gcc
723 %attr(755,root,root) %{_bindir}/gcc
724 %attr(755,root,root) %{_bindir}/gccbug
725 %attr(755,root,root) %{_bindir}/gcov
726 %attr(755,root,root) %{_bindir}/cc
727
728 %{_mandir}/man1/gcc.1*
729 %{_mandir}/man1/cc.1*
730 %{_mandir}/man1/gcov.1*
731 %{_infodir}/gcc*
732
733 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc.a
734 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libgcc_eh.a
735 %{_libdir}/gcc-lib/%{_target_cpu}*/*/specs
736 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/crt*.o
737 %ifarch ppc
738 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ecrt*.o
739 %attr(644,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ncrt*.o
740 %{_libdir}/gcc-lib/%{_target_cpu}*/*/nof
741 %dir %{_libdir}/nof
742 %endif
743 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1
744 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/collect2
745
746 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/float.h
747 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/iso646.h
748 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/limits.h
749 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdarg.h
750 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stdbool.h
751 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/stddef.h
752 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/syslimits.h
753 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/varargs.h
754 %ifarch %{ix86}
755 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/mmintrin.h
756 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/xmmintrin.h
757 %endif
758 %ifarch ppc
759 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/altivec.h
760 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/ppc-asm.h
761 %endif
762
763 %files -n libgcc
764 %defattr(644,root,root,755)
765 %attr(755,root,root) %{_slibdir}/lib*.so*
766
767 %files c++
768 %defattr(644,root,root,755)
769 %attr(755,root,root) %{_bindir}/g++
770 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-g++
771 %attr(755,root,root) %{_bindir}/c++
772 %attr(755,root,root) %{_bindir}/%{_target_cpu}*-c++
773 %attr(755,root,root) %{_bindir}/c++filt
774 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1plus
775 %attr(755,root,root) %{_libdir}/libsupc++.la
776 %ifarch ppc
777 %attr(755,root,root) %{_libdir}/nof/libsupc++.la
778 %{_libdir}/nof/libsupc++.a
779 %endif
780 %{_libdir}/libsupc++.a
781 %{_mandir}/man1/g++.1*
782
783 %files -n libstdc++ -f libstdc++.lang
784 %defattr(644,root,root,755)
785 %attr(755,root,root) %{_libdir}/libstdc++.so.*.*.*
786 %ifarch ppc
787 %attr(755,root,root) %{_libdir}/nof/libstdc++.so.*.*.*
788 %endif
789
790 %files -n libstdc++-devel
791 %defattr(644,root,root,755)
792 %doc libstdc++-v3/docs/html
793 %dir %{_includedir}/c++
794 %{_includedir}/c++/%{GCC_VERSION}
795 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.so
796 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.la
797 %attr(755,root,root) %{_libdir}/libstdc++.la
798 %ifarch ppc
799 %attr(755,root,root) %{_libdir}/nof/libstdc++.so
800 %attr(755,root,root) %{_libdir}/nof/libstdc++.la
801 %endif
802
803 %files -n libstdc++-static
804 %defattr(644,root,root,755)
805 %{_libdir}/gcc-lib/%{_target_cpu}*/*/libstdc++.a
806 %ifarch ppc
807 %{_libdir}/nof/libstdc++.a
808 %endif
809
810 %files objc
811 %defattr(644,root,root,755)
812 %doc gcc/objc/READ*
813 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cc1obj
814 %attr(755,root,root) %{_libdir}/libobjc.so
815 %attr(755,root,root) %{_libdir}/libobjc.la
816 %ifarch ppc
817 %attr(755,root,root) %{_libdir}/nof/libobjc.so
818 %attr(755,root,root) %{_libdir}/nof/libobjc.la
819 %endif
820 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/objc
821
822 %files -n libobjc
823 %defattr(644,root,root,755)
824 %attr(755,root,root) %{_libdir}/libobjc.so.*.*.*
825 %ifarch ppc
826 %attr(755,root,root) %{_libdir}/nof/libobjc.so.*.*.*
827 %endif
828
829 %files -n libobjc-static
830 %defattr(644,root,root,755)
831 %{_libdir}/libobjc.a
832 %ifarch ppc
833 %{_libdir}/nof/libobjc.a
834 %endif
835
836 %files g77
837 %defattr(644,root,root,755)
838 %attr(755,root,root) %{_bindir}/g77
839 %attr(755,root,root) %{_bindir}/f77
840 %{_infodir}/g77*
841 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/f771
842 %{_libdir}/libfrtbegin.a
843 %attr(755,root,root) %{_libdir}/libg2c.la
844 %attr(755,root,root) %{_libdir}/libg2c.so
845 %ifarch ppc
846 %{_libdir}/nof/libfrtbegin.a
847 %attr(755,root,root) %{_libdir}/nof/libg2c.la
848 %attr(755,root,root) %{_libdir}/nof/libg2c.so
849 %endif
850 %{_mandir}/man1/g77.1*
851 %{_mandir}/man1/f77.1*
852 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/g2c.h
853
854 %files -n libg2c
855 %defattr(644,root,root,755)
856 %attr(755,root,root) %{_libdir}/libg2c.so.*.*.*
857 %ifarch ppc
858 %attr(755,root,root) %{_libdir}/nof/libg2c.so.*.*.*
859 %endif
860
861 %files -n libg2c-static
862 %{_libdir}/libg2c.a
863 %ifarch ppc
864 %{_libdir}/nof/libg2c.a
865 %endif
866
867 %if %{!?_without_java:1}%{?_without_java:0}
868 %files java
869 %defattr(644,root,root,755)
870 %doc java-doc/*
871 %attr(755,root,root) %{_bindir}/gcj*
872 %attr(755,root,root) %{_bindir}/gij
873 %attr(755,root,root) %{_bindir}/jcf-dump
874 %attr(755,root,root) %{_bindir}/jv-*
875 %attr(755,root,root) %{_bindir}/rmi*
876 %attr(755,root,root) %{_bindir}/jar
877 %attr(755,root,root) %{_bindir}/grepjar
878 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jc1
879 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/jvgenmain
880 %{_infodir}/gcj*
881 %{_mandir}/man1/jcf-*
882 %{_mandir}/man1/jv-*
883 %{_mandir}/man1/gij*
884 %{_mandir}/man1/gcj*
885 %{_mandir}/man1/rmi*
886
887 %files -n libgcj
888 %defattr(644,root,root,755)
889 %attr(755,root,root) %{_bindir}/addr2name.awk
890 %attr(755,root,root) %{_libdir}/lib*cj*.so.*
891 %ifarch ppc
892 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so.*
893 %endif
894
895 %files -n libgcj-devel
896 %defattr(644,root,root,755)
897 %{_includedir}/java
898 %{_includedir}/javax
899 %{_includedir}/org
900 %{_includedir}/gcj
901 %{_includedir}/j*.h
902 %{_includedir}/gnu/*
903 %{_libdir}/gcc-lib/%{_target_cpu}*/*/include/gcj
904 %{_libdir}/security/*
905 %dir %{_datadir}/java
906 %{_datadir}/java/libgcj*.jar
907 %{_libdir}/lib*cj.spec
908 %attr(755,root,root) %{_libdir}/lib*cj*.la
909 %attr(755,root,root) %{_libdir}/lib*cj*.so
910 %ifarch ppc
911 %{_libdir}/nof/lib*cj.spec
912 %attr(755,root,root) %{_libdir}/nof/lib*cj*.la
913 %attr(755,root,root) %{_libdir}/nof/lib*cj*.so
914 %endif
915
916 %files -n libgcj-static
917 %defattr(644,root,root,755)
918 %{_libdir}/lib*cj*.a
919 %ifarch ppc
920 %{_libdir}/nof/lib*cj*.a
921 %endif
922 %endif
923
924 %if %{!?_without_ada:1}%{?_without_ada:0}
925 %files ada
926 %defattr(644,root,root,755)
927 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/gnat1
928 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adainclude
929 %dir %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib
930 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/*.ali
931 %ifnarch ppc
932 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgmem.a
933 %endif
934 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/Makefile.adalib
935 %attr(755,root,root) %{_bindir}/gnat*
936 %{_infodir}/gnat*
937 %attr(755,root,root) %{_libdir}/libgnat.so.1
938 %attr(755,root,root) %{_libdir}/libgnarl.so.1
939
940 %files -n libgnat
941 %defattr(644,root,root,755)
942 %attr(755,root,root) %{_libdir}/libgna*-*so.1
943
944 %files -n libgnat-static
945 %defattr(644,root,root,755)
946 %{_libdir}/gcc-lib/%{_target_cpu}*/*/adalib/libgna*.a
947 %endif
948
949 %files ksi
950 %defattr(644,root,root,755)
951 %doc gcc/ksi/README gcc/ksi/NEWS gcc/ksi/t/*.{ksi,c,foo}
952 %{_infodir}/ksi*
953 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/ksi1
954
955 %files -n cpp
956 %defattr(644,root,root,755)
957 %attr(755,root,root) %{_slibdir}/cpp
958 %attr(755,root,root) %{_bindir}/cpp
959 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/cpp0
960 %attr(755,root,root) %{_libdir}/gcc-lib/%{_target_cpu}*/*/tradcpp0
961 %{_mandir}/man1/cpp.1*
962 %{_infodir}/cpp*
This page took 0.091472 seconds and 4 git commands to generate.