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