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