source: projects/specs/trunk/g/gcc3/gcc3-vl.spec @ 521

Revision 521, 79.0 KB checked in by daisuke, 14 years ago (diff)

import VineSeed package specs

Line 
1%define DATE        20050503
2
3%define VERSION     3.3.6
4%define RELEASE     3%{?_dist_release}
5
6%define gcc_version %{VERSION}
7%define gcc_release %{RELEASE}
8%define _unpackaged_files_terminate_build 0
9
10%define gcj_major 4
11
12# VINE: disable building ada, 'cause it requires ada to build :(
13#%ifarch %{ix86} alpha ia64 ppc
14#%define build_ada 1
15#%else
16%define build_ada 0
17#%endif
18
19%define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}
20
21%ifarch x86_64
22%define gcclib_dir %{_prefix}/lib/gcc-lib
23%else
24%define gcclib_dir %{_libdir}/gcc-lib
25%endif
26
27Summary: Various compilers (C, C++, Objective-C, Java, ...)
28Summary(ja): GNU コンパイラ集 - C コンパイラを含む基本パッケージ
29Name: gcc3
30Version: %{gcc_version}
31Release: %{gcc_release}
32License: GPL
33Group: Development/Languages
34
35Source0: gcc-%{version}-%{DATE}.tar.bz2
36#GCC#Source0: gcc-%{version}.tar.bz2
37
38URL: http://gcc.gnu.org
39BuildRoot: %{_tmppath}/%{name}-%{version}-root
40BuildRequires: binutils >= 2.13.90.0.10
41BuildRequires: zlib-devel, gettext, dejagnu
42BuildRequires: texinfo >= 4.2
43# Make sure pthread.h doesn't contain __thread tokens
44BuildRequires: glibc-devel >= 2.2.90-12
45%if %{build_ada}
46# Ada requires Ada to build
47BuildRequires: gcc-gnat >= 3.1, libgnat >= 3.1
48%endif
49Requires: gcc3-cpp = %{version}-%{release}
50# Need .eh_frame ld optimizations
51# Need proper visibility support
52Requires: binutils >= 2.13.90.0.10
53# Make sure gdb will understand DW_FORM_strp
54Conflicts: gdb < 5.1-2
55Requires: glibc-devel >= 2.2.90-12
56Requires: libgcc >= %{version}-%{release}
57#Obsoletes: egcs
58%ifarch sparc sparc64
59#Obsoletes: egcs64
60%endif
61Prereq: install-info
62
63Obsoletes: gcc-launcher
64PreReq: alternatives
65
66# from fc
67Patch1: gcc33-multi32-hack.patch
68Patch2: gcc33-ice-hack.patch
69Patch3: gcc33-ppc64-m32-m64-multilib-only.patch
70Patch4: gcc33-sched-ebb-cselib.patch
71Patch6: gcc33-huge-alloca.patch
72Patch10: gcc33-c++-builtin-expect.patch
73Patch11: gcc33-pie.patch
74
75# from mdv
76Patch50: gcc33-i386-mtune.patch
77
78## Vine Source(s)/Patch(es)
79Patch100: gcc33-ppc-libf2c.patch
80Patch200: gcc-3.3.6-ppc-cpuspec-fix.patch
81Patch300: gcc-3.3.6-ppc-accept-m32.patch
82Patch400: gcc33-bison.patch
83
84%define _gnu %{nil}
85%{expand: %%{global} _gcc_is_%{_target_cpu} %%{nil}}
86%{?_gcc_is_sparc: %global gcc_target_platform sparc64-%{_vendor}-%{_target_os}}
87%{!?_gcc_is_sparc: %global gcc_target_platform %{_target_platform}}
88
89
90################################################# gcc
91
92
93%description
94The gcc package contains the GNU Compiler Collection version %{version}.
95You'll need this package in order to compile C code.
96
97%description -l ja
98gcc パッケージには、GNU Compiler Collection バージョン %{version} が
99含まれています。C のソースコードをコンパイルするにはこのパッケージが
100必要となります。
101
102
103################################################# libgcc
104
105
106##VINE##%package -n libgcc
107##VINE##Summary: GCC version %{version} shared support library
108##VINE##Summary(ja): GCC バージョン %{version} 共有サポートライブラリ
109##VINE##Group: System Environment/Libraries
110##VINE##
111##VINE##
112##VINE##%description -n libgcc
113##VINE##This package contains GCC shared support library which is needed
114##VINE##e.g. for exception handling support.
115##VINE##
116##VINE##%description -n libgcc -l ja
117##VINE##このパッケージには GCC 共有サポートライブラリが含まれます。
118##VINE##これは例えば例外ハンドリングサポートに必要です。
119
120
121################################################# g++
122
123
124%package c++
125Summary: C++ support for GCC
126Summary(ja): GNU コンパイラ集 - C++ サポート
127Group: Development/Languages
128Requires: gcc3 = %{version}-%{release}
129Requires: gcc3-cpp = %{version}-%{release}
130Requires: libstdc++3 = %{version}
131Requires: libstdc++3-devel = %{version}
132
133Obsoletes: gcc-c++-launcher
134PreReq: alternatives
135
136
137%description c++
138This package adds C++ support to the GNU Compiler Collection.
139It includes support for most of the current C++ specification,
140including templates and exception handling.
141
142%description c++ -l ja
143このパッケージは GNU Compiler Collection に C++ サポートを追加します。
144テンプレートと例外ハンドリングサポートを含む、現在の C++ 仕様の多くを
145サポートします。
146
147
148################################################# libstdc++
149
150
151%package -n libstdc++3
152Summary: GNU Standard C++ Library
153Summary(ja): GNU コンパイラ集 - C++ ライブラリ
154Group: System Environment/Libraries
155
156# in 2.1 and 2.1.5 (2.9.0, 2.10.0)
157##VINE##Obsoletes: libstdc++
158##VINE##Provides: libstdc++
159
160
161%description -n libstdc++3
162The libstdc++3 package contains a rewritten standard compliant GCC Standard
163C++ Library.
164
165%description -n libstdc++3 -l ja
166libstdc++3 パッケージには、標準準拠に書き直された
167GCC 標準 C++ ライブラリが収録されています。
168
169
170################################################# compat32-libstdc++
171
172
173%package -n compat32-libstdc++3
174Summary: GNU Standard C++ Library
175Summary(ja): GNU コンパイラ集 - C++ ライブラリ
176Group: System Environment/Libraries
177Requires: libstdc++3 = %{version}-%{release}
178
179
180%description -n compat32-libstdc++3
181The libstdc++3 package contains a rewritten standard compliant GCC Standard
182C++ Library.
183
184%description -n compat32-libstdc++3 -l ja
185libstdc++3 パッケージには、標準準拠に書き直された
186GCC 標準 C++ ライブラリが収録されています。
187
188
189################################################# libstdc++-devel
190
191
192%package -n libstdc++3-devel
193Summary: Header files and libraries for C++ development
194Summary(ja): GNU コンパイラ集 - C++ 開発用ヘッダ/ライブラリ
195Group: Development/Libraries
196Requires: libstdc++3 = %{version}-%{release}
197##VINE##Obsoletes: libstdc++-devel
198
199
200%description -n libstdc++3-devel
201This is the GNU implementation of the standard C++ libraries.  This
202package includes the header files and libraries needed for C++
203development. This includes rewritten implementation of STL.
204
205%description -n libstdc++3-devel -l ja
206これは標準 C++ ライブラリの GNU 実装です。
207このパッケージには C++ 開発に必要なヘッダファイルとライブラリが
208収録されています。これには STL の実装も含まれます。
209
210
211################################################# objc
212
213
214%package objc
215Summary: Objective-C support for GCC
216Summary(ja): GNU コンパイラ集 - Objective C サポート
217Group: Development/Languages
218Requires: gcc3 = %{version}-%{release}
219Requires: gcc3-cpp = %{version}-%{release}
220Requires: libobjc >= %{version}-%{release}
221
222
223%description objc
224gcc-objc provides Objective-C support for the GCC.
225Mainly used on systems running NeXTSTEP, Objective-C is an
226object-oriented derivative of the C language.
227
228%description objc -l ja
229gcc-objc パッケージは GCC に Objective-C サポートを追加します。
230Objective-C は C 言語から派生したオブジェクト指向言語で、
231主に NeXTSTEP システムで使われてきました。
232
233
234################################################# libobjc
235
236
237##VINE##%package -n libobjc
238##VINE##Summary: Objective-C runtime
239##VINE##Summary(ja): GNU コンパイラ集 - Objective C ランタイムライブラリ
240##VINE##Group: System Environment/Libraries
241##VINE##
242##VINE##
243##VINE##%description -n libobjc
244##VINE##This package contains Objective-C shared library which is needed to run
245##VINE##Objective-C dynamically linked programs.
246##VINE##
247##VINE##%description -n libobjc -l ja
248##VINE##このパッケージには Objective-C 共有ライブラリが収められています。
249##VINE##これは Objective-C にダイナミックリンクされたプログラムの実行に必要と
250##VINE##なります。
251
252
253################################################# g77
254
255
256%package g77
257Summary: Fortran 77 support
258Summary(ja): GNU コンパイラ集 - Fortran 77 サポート
259Group: Development/Languages
260Requires: gcc3 = %{version}-%{release}
261Requires: gcc3-cpp = %{version}-%{release}
262Requires: libf2c = %{version}-%{release}
263
264Obsoletes: gcc-g77-launcher
265PreReq: alternatives
266
267
268%description g77
269The gcc-g77 package provides support for compiling Fortran 77
270programs with the GNU Compiler Collection.
271
272%description g77 -l ja
273gcc-g77 パッケージは GNU Compiler Collection に Fortran 77 プログラムを
274コンパイルする機能を追加するものです。
275
276
277################################################# libf2c
278
279
280%package -n libf2c
281Summary: Fortran 77 runtime
282Summary(ja): GNU コンパイラ集 - Fortran 77 ランタイムライブラリ
283Group: System Environment/Libraries
284
285
286%description -n libf2c
287This package contains Fortran 77 shared library which is needed to run
288Fortran 77 dynamically linked programs.
289
290%description -n libf2c -l ja
291このパッケージには Fortran 77 共有ライブラリが収められています。
292これは Fortran 77 にダイナミックリンクされたプログラムの実行に必要と
293なります。
294
295
296################################################# java
297
298
299%package java
300Summary: Java support for GCC
301Summary(ja): GNU コンパイラ集 - Java サポート
302Group: Development/Languages
303Requires: gcc3 = %{version}-%{release}
304Requires: gcc3-cpp = %{version}-%{release}
305Requires: libgcj3 >= %{version}, libgcj3-devel >= %{version}
306
307Obsoletes: gcc-java-launcher
308PreReq: alternatives
309
310
311%description java
312This package adds support for compiling Java(tm) programs and
313bytecode into native code.
314
315%description java -l ja
316このパッケージは Java(tm) のプログラムをコンパイルし、
317ネイティブコードにバイトコードする機能を追加するものです。
318
319
320################################################# libgcj
321
322
323%package -n libgcj3
324Summary: Java runtime library for gcc
325Summary(ja): GNU コンパイラ集 - Java ランタイムライブラリ
326Group: System Environment/Libraries
327Requires: zip >= 2.1
328##VINE##Obsoletes: gcc-libgcj
329# Kaffe includes jar too
330Conflicts: kaffe
331
332
333%description -n libgcj3
334The Java(tm) runtime library. You will need this package to run your Java
335programs compiled using the Java compiler from GNU Compiler Collection (gcj).
336
337%description -n libgcj3 -l ja
338Java(tm) ランタイムライブラリです。
339このパッケージは GNU Compiler Collection の Java コンパイラ (gcj) を
340使ってコンパイルされたプログラムを実行するのに必要となります。
341
342
343################################################# libgcj-devel
344
345
346%package -n libgcj3-devel
347Summary: Libraries for Java development using GCC
348Summary(ja): GNU コンパイラ集 - GCC 向け Java 開発用ライブラリ
349Group: Development/Languages
350Requires: zip >= 2.1, libgcj3 = %{version}
351
352
353%description -n libgcj3-devel
354The Java(tm) static libraries and C header files. You will need this
355package to compile your Java programs using the GCC Java compiler (gcj).
356
357%description -n libgcj3-devel -l ja
358Java(tm) スタティックライブラリと C ヘッダファイルです。
359GCC Java コンパイラ (gcj) を使って Java プログラムをコンパイルする際に
360このパッケージをインストールする必要があります。
361
362
363################################################# sparc32
364
365
366%package sparc32
367Summary: The C compiler optimized for generating SPARC 32bit code
368Summary(ja): GNU コンパイラ集 - SPARC 32bit code 生成に最適化された C コンパイラ
369Group: Development/Languages
370Requires: gcc3 = %{version}-%{release}, %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libgcc.a
371
372
373%description sparc32
374This package contains the GNU C compiler which only supports generating
37532bit SPARC code, but should be faster than the 32/64bit gcc package. You
376should install this package if you want to trade disk space required for
377this package for faster compilation of 32bit code.
378
379%description sparc32 -l ja
380このパッケージには 32bit SPARC コード生成のみをサポートした GNU C コンパイラ
381が収録されています。これは 32/64bit gcc パッケージより高速なバイナリを生成
382します。このパッケージをインストールする為のディスク容量よりも 32bit コード
383の方を優先するなら、このパッケージをインストールするべきでしょう。
384
385
386################################################# c++-sparc32
387
388
389%package c++-sparc32
390Summary: The C++ compiler optimized for generating SPARC 32bit code
391Summary(ja): GNU コンパイラ集 - SPARC 32bit code 生成に最適化された C++ コンパイラ
392Group: Development/Languages
393Requires: gcc3-c++ = %{version}-%{release}, gcc3-sparc32 = %{version}-%{release}
394Requires: %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.so
395
396
397%description c++-sparc32
398This package contains the GNU C++ compiler which only supports generating
39932bit SPARC code, but should be faster than the 32/64bit gcc package. You
400should install this package if you want to trade disk space required for
401this package for faster compilation of 32bit code.
402
403%description c++-sparc32 -l ja
404このパッケージには 32bit SPARC コード生成のみをサポートした GNU C++ コンパイラ
405が収録されています。これは 32/64bit gcc パッケージより高速なバイナリを生成
406します。このパッケージをインストールする為のディスク容量よりも 32bit コードの
407方を優先するなら、このパッケージをインストールするべきでしょう。
408
409
410################################################# cpp
411
412
413%package cpp
414Summary: The C Preprocessor.
415Summary(ja): GNU コンパイラ集 - C プリプロセッサ
416Group: Development/Languages
417%ifarch ia64
418Obsoletes: gnupro
419%endif
420
421# in Vine 2.1.5 (ppc = 2.95.3-2vl3, x86|alpha = 1.1.2-24vl4)
422Obsoletes: cpp <= 2.95.3-2vl3
423
424Provides: cpp = %{version}-%{release}
425Obsoletes: gcc-cpp-launcher
426PreReq: alternatives
427
428
429%description cpp
430Cpp is the GNU C-Compatible Compiler Preprocessor.
431Cpp is a macro processor which is used automatically
432by the C compiler to transform your program before actual
433compilation. It is called a macro processor because it allows
434you to define macros, abbreviations for longer
435constructs.
436
437The C preprocessor provides four separate functionalities: the
438inclusion of header files (files of declarations that can be
439substituted into your program); macro expansion (you can define macros,
440and the C preprocessor will replace the macros with their definitions
441throughout the program); conditional compilation (using special
442preprocessing directives, you can include or exclude parts of the
443program according to various conditions); and line control (if you use
444a program to combine or rearrange source files into an intermediate
445file which is then compiled, you can use line control to inform the
446compiler about where each source line originated).
447
448You should install this package if you are a C programmer and you use
449macros.
450
451
452################################################# gnat
453
454
455%package gnat
456Summary: Ada 95 support for GCC
457Summary(ja): GNU コンパイラ集 - Ada サポート
458Group: Development/Languages
459Requires: gcc3 = %{version}-%{release}, libgnat = %{version}-%{release}
460PreReq: alternatives
461
462
463%description gnat
464GNAT is a GNU Ada 95 front-end to GCC. This package includes development tools,
465the documents and Ada 95 compiler.
466
467%description gnat -l ja
468GNAT は GCC 用の GNU Ada 95 フロントエンドです。
469このパッケージには Ada 95 コンパイラ、開発ツール、ドキュメントが
470収録されています。
471
472
473################################################# libgnat
474
475
476%package -n libgnat
477Summary: GNU Ada 95 runtime shared libraries
478Summary(ja): GNU コンパイラ集 - Ada 95 ランタイム共有ライブラリ
479Group: System Environment/Libraries
480
481
482%description -n libgnat
483GNAT is a GNU Ada 95 front-end to GCC. This package includes shared libraries,
484which are required to run programs compiled with the GNAT.
485
486%description -n libgnat -l ja
487GNAT は GCC 用の GNU Ada 95 フロントエンドです。
488このパッケージには GNAT でコンパイルされたプログラムを実行するために必要な
489共有ライブラリが収録されています。
490
491
492################################################# tools
493
494
495##VINE##%package tools
496##VINE##Summary: Coverage tool and prototizing tool for GCC
497##VINE##Summary(ja): GNU コンパイラ集 - テストカバレージツールとプロトタイプツール
498##VINE##Group: Development/Languages
499##VINE##
500##VINE##%description tools
501##VINE##GNU CC coverage tool and prototizing tool.
502##VINE##see the info of gcc.
503##VINE##
504##VINE##%description tools -l ja
505##VINE##GNU CC のテストカバレージツールとプロトタイプツールです。
506##VINE##詳しくは gcc の Info をご覧ください。
507
508
509################################################# docs
510
511
512##VINE##%package docs
513##VINE##Summary: Documents (info, man) of GNU Compiler Collection
514##VINE##Summary(ja): GNU コンパイラ集 - GNU CC関係 の man および info です
515##VINE##Group: Applications/Documentation
516##VINE##PreReq: /sbin/install-info
517##VINE##
518##VINE##%description docs
519##VINE##The documents (info, man) of GNU Compiler Collection.
520##VINE##includes gcc, g++, g77, cpp and more.
521##VINE##
522##VINE##%description docs -l ja
523##VINE##GNU Compiler Collection 関係 の man および info です。
524##VINE##includes gcc, g++, g77, cpp の man / info などを含みます。
525
526
527#####################################################################
528
529
530%prep
531%setup -q -n gcc-%{version}-%{DATE}
532#GCC#%setup -q
533
534#GCC#%patch0 -p1
535
536#GCC#%ifarch sparc
537#GCC#%patch1 -p0 -b .multi32-hack
538#GCC#%endif
539
540
541%ifarch ppc
542%patch100 -p0
543%patch200 -p1
544#%patch300 -p0
545%endif
546
547%patch6 -p0 -b .huge-alloca~
548%patch10 -p0 -b .c++-builtin-expect~
549%patch11 -p1 -b .pie
550%patch50 -p1 -b .i386-mtune
551
552%patch400 -p1 -b .bison
553
554perl -pi -e 's/3\.3\.6/3\.3\.6 release (Vine Linux %{gcc_version}-%{gcc_release})/' gcc/version.c
555
556# Misdesign in libstdc++
557cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
558#GCC END#
559
560./contrib/gcc_update --touch
561
562
563#####################################################################
564
565
566%build
567
568rm -fr obj-%{gcc_target_platform}
569mkdir obj-%{gcc_target_platform}
570cd obj-%{gcc_target_platform}
571
572if [ ! -f /usr/lib/locale/de_DE/LC_CTYPE ]; then
573  mkdir locale
574  localedef -f ISO-8859-1 -i de_DE locale/de_DE
575  export LOCPATH=`pwd`/locale:/usr/lib/locale
576fi
577
578CC=gcc
579OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g'`
580OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
581%ifarch %{ix86}
582OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mtune=pentium4/-mcpu=i686/g'`
583OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mtune=generic/-mcpu=i686/g'`
584%endif
585%ifarch x86_64
586OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mtune=nocona//g'`
587OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mtune=generic//g'`
588%endif
589%ifarch sparc sparc64
590OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g' -e 's/-m32//g' -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g'`
591%endif
592%ifarch sparc64
593cat > gcc64 <<"EOF"
594#!/bin/sh
595exec /usr/bin/gcc -m64 "$@"
596EOF
597chmod +x gcc64
598CC=`pwd`/gcc64
599%endif
600CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="$OPT_FLAGS" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
601        ../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
602        --enable-shared --enable-threads=posix --disable-checking \
603        --with-system-zlib --enable-__cxa_atexit \
604%ifarch sparc
605        --host=%{gcc_target_platform} --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=v7
606%else
607        --host=%{gcc_target_platform}
608%endif
609
610make %{?_smp_mflags} bootstrap-lean
611
612%if %{build_ada}
613# This doesn't work with -jN
614make -C gcc gnatlib-shared
615make -C gcc gnattools
616make -C gcc/ada doc
617%endif
618
619# run the tests.
620LANG=C make %{?_smp_mflags} -k check || :
621LANG=C make -C %{gcc_target_platform}/libstdc++-v3/testsuite \
622        -k check-abi-verbose || :
623echo ====================TESTING=========================
624( ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
625LANG=C make -C %{gcc_target_platform}/libstdc++-v3/testsuite -k check-abi || :
626echo ====================TESTING END=====================
627#cd %{gcc_target_platform}/libstdc++-v3
628#./mkcheck 0
629#cd ../..
630
631# Make protoize
632make -C gcc CC="./xgcc -B ./ -O2" proto
633
634%ifarch sparc
635# Build the -m32 only compiler which does not use long long for HOST_WIDE_INT
636mkdir gcc32
637cd gcc32
638OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g'`
639echo "#!/bin/sh" > gcc32
640echo "exec `cd ../gcc; pwd`/xgcc -B `cd ../gcc; pwd`/ $OPT_FLAGS \$*" >> gcc32
641chmod +x gcc32
642CC=`pwd`/gcc32 CFLAGS="$OPT_FLAGS" CXXFLAGS="$OPT_FLAGS" XCFLAGS="$OPT_FLAGS" \
643  TCFLAGS="$OPT_FLAGS" ../../gcc/configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
644  --enable-shared --enable-threads=posix --disable-checking \
645  --with-system-zlib --enable-__cxa_atexit \
646  --host=%{_target_platform}
647make cc1 cc1plus
648cd ..
649%endif
650
651# Make generated man pages even if Pod::Man is not new enough
652perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
653for i in ../gcc/doc/*.texi; do
654  cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
655done
656make -C gcc generated-manpages
657for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done
658
659# Copy various doc files here and there
660cd ..
661mkdir -p rpm.doc/g77 rpm.doc/objc
662mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi rpm.doc/libjava
663
664(cd gcc/f; for i in ChangeLog*; do
665        cp -p $i ../../rpm.doc/g77/$i.f
666done)
667(cd libf2c; for i in ChangeLog*; do
668        cp -p $i ../rpm.doc/g77/$i.libf2c
669done)
670(cd gcc/objc; for i in README*; do
671        cp -p $i ../../rpm.doc/objc/$i.objc
672done)
673(cd libobjc; for i in README*; do
674        cp -p $i ../rpm.doc/objc/$i.libobjc
675done)
676(cd boehm-gc; for i in ChangeLog*; do
677        cp -p $i ../rpm.doc/boehm-gc/$i.gc
678done)
679(cd fastjar; for i in ChangeLog* README*; do
680        cp -p $i ../rpm.doc/fastjar/$i.fastjar
681done)
682(cd libffi; for i in ChangeLog* README* LICENSE; do
683        cp -p $i ../rpm.doc/libffi/$i.libffi
684done)
685(cd libjava; for i in ChangeLog* README*; do
686        cp -p $i ../rpm.doc/libjava/$i.libjava
687done)
688
689
690#####################################################################
691
692
693%install
694rm -fr $RPM_BUILD_ROOT
695
696perl -pi -e \
697  's~href="l(ibstdc|atest)~href="http://gcc.gnu.org/onlinedocs/libstdc++/l\1~' \
698  libstdc++-v3/docs/html/documentation.html
699ln -sf documentation.html libstdc++-v3/docs/html/index.html
700find libstdc++-v3/docs/html -name CVS | xargs rm -rf
701
702cd obj-%{gcc_target_platform}
703
704if [ ! -f /usr/lib/locale/de_DE/LC_CTYPE ]; then
705  export LOCPATH=`pwd`/locale:/usr/lib/locale
706fi
707
708TARGET_PLATFORM=%{gcc_target_platform}
709
710# There are some MP bugs in libstdc++ and libjava Makefiles
711make -C %{gcc_target_platform}/libstdc++-v3
712make -C %{gcc_target_platform}/libjava
713
714make prefix=$RPM_BUILD_ROOT%{_prefix} mandir=$RPM_BUILD_ROOT%{_mandir} \
715  infodir=$RPM_BUILD_ROOT%{_infodir} install
716%if %{build_ada}
717pushd gcc/ada
718cp -a gnat-style.info* gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}/
719for i in gnat_ug_unx.info*; do
720  sed 's/gnat_ug_unx/gnat_ug/g' $i > $RPM_BUILD_ROOT%{_infodir}/`echo $i | sed 's/gnat_ug_unx/gnat_ug/'`
721done
722chmod 644 $RPM_BUILD_ROOT%{_infodir}/gnat*
723popd
724%endif
725
726FULLPATH=$RPM_BUILD_ROOT%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}
727
728# this may be stripped as well GCC
729#file $RPM_BUILD_ROOT/%{_bindir}/* | grep ELF | cut -d':' -f1 | xargs strip || :
730# this is stripped
731#file $FULLPATH/* | grep ELF | grpe exec | cut -d':' -f1 | xargs strip || :
732
733# fix some things
734ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
735mkdir -p $RPM_BUILD_ROOT/lib
736ln -sf ..%{_bindir}/cpp $RPM_BUILD_ROOT/lib/cpp
737ln -sf g77 $RPM_BUILD_ROOT%{_bindir}/f77
738rm -f $RPM_BUILD_ROOT%{_infodir}/dir
739gzip -9 $RPM_BUILD_ROOT%{_infodir}/*.info*
740# VINE: will be handled with alternatives
741#ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/gnatgcc
742
743%ifarch sparc
744# Install the sparc -m32 only compilers
745FULLPATH32=$RPM_BUILD_ROOT%{gcclib_dir}/%{_target_platform}/%{gcc_version}
746mkdir -p $FULLPATH32
747install -m 755 gcc32/cc1 $FULLPATH32/
748install -m 755 gcc32/cc1plus $FULLPATH32/
749ln -sf ../../%{gcc_target_platform}/%{gcc_version}/include $FULLPATH32/
750strip $FULLPATH32/{cc1,cc1plus}
751ln -f $RPM_BUILD_ROOT%{_bindir}/%{gcc_target_platform}-gcc \
752  $RPM_BUILD_ROOT%{_bindir}/%{_target_platform}-gcc
753%endif
754%ifarch sparc64
755ln -f $RPM_BUILD_ROOT%{_bindir}/%{gcc_target_platform}-gcc \
756  $RPM_BUILD_ROOT%{_bindir}/sparc-%{_vendor}-%{_target_os}-gcc
757%endif
758
759%ifarch sparc
760FULLLPATH=$FULLPATH/lib32
761%endif
762%ifarch sparc64
763FULLLPATH=$FULLPATH/lib64
764%endif
765if [ -n "$FULLLPATH" ]; then
766  mkdir -p $FULLLPATH
767else
768  FULLLPATH=$FULLPATH
769fi
770
771mv $RPM_BUILD_ROOT%{_libdir}/libgcj.*a $FULLLPATH/
772mv $RPM_BUILD_ROOT%{_prefix}/%{_lib}/lib-org-*.*a $FULLLPATH/
773%ifarch x86_64
774sed 's/-lgcjgc//g;s/-lzgcj//g;s/-lpthread//g' $RPM_BUILD_ROOT%{_prefix}/lib/libgcj.spec > $FULLPATH/libgcj.spec
775%else
776sed 's/-lgcjgc//g;s/-lzgcj//g;s/-lpthread//g' $RPM_BUILD_ROOT%{_libdir}/libgcj.spec > $FULLPATH/libgcj.spec
777%endif
778#GCC#mv $RPM_BUILD_ROOT%{_prefix}/include/gc*.h $FULLPATH/include/
779mv $RPM_BUILD_ROOT%{_prefix}/include/j*.h $FULLPATH/include/
780#GCC#mv -f $RPM_BUILD_ROOT%{_prefix}/include/{java,javax,gnu,org} $FULLPATH/include/
781mv -f $RPM_BUILD_ROOT%{_prefix}/include/{java,javax,gnu} $FULLPATH/include/
782mkdir -p $FULLPATH/include/gcj
783mv -f $RPM_BUILD_ROOT%{_prefix}/include/gcj/* $FULLPATH/include/gcj/
784rmdir $RPM_BUILD_ROOT%{_prefix}/include/gcj
785
786%ifarch sparc64 s390x
787pushd $RPM_BUILD_ROOT%{_libdir}
788mv -f libobjc.so* ../%{_lib}/
789mv -f libstdc++.so* ../%{_lib}/
790mv -f libgcj.so* ../%{_lib}/
791mv -f libg2c.so* ../%{_lib}/
792popd
793%endif
794
795mkdir -p $RPM_BUILD_ROOT/%{_lib}
796#mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
797#chmod 755 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
798#ln -sf libgcc_s-%{gcc_version}-%{DATE}.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.1
799mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}.so.1
800chmod 755 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}.so.1
801ln -sf libgcc_s-%{gcc_version}.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.1
802ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
803%ifarch x86_64
804mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libgcc_s.so.1 $RPM_BUILD_ROOT/lib/libgcc_s-%{gcc_version}.so.1
805chmod 755 $RPM_BUILD_ROOT/lib/libgcc_s-%{gcc_version}.so.1
806ln -sf libgcc_s-%{gcc_version}.so.1 $RPM_BUILD_ROOT/lib/libgcc_s.so.1
807%endif
808%ifarch sparc
809ln -sf /lib64/libgcc_s.so.1 $FULLPATH/libgcc_s_64.so
810%endif
811%ifarch sparc64 x86_64 s390x
812ln -sf /lib/libgcc_s.so.1 $FULLPATH/libgcc_s_32.so
813%endif
814
815%if %{build_ada}
816mv -f $FULLPATH/adalib/libgnarl-*.so.* $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
817mv -f $FULLPATH/adalib/libgnat-*.so.* $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
818rm -f $FULLPATH/adalib/libgnarl.so* $FULLPATH/adalib/libgnat.so*
819%endif
820
821pushd $FULLPATH
822if [ "%{_lib}" = "lib" ]; then
823ln -sf ../../../libobjc.so.1 libobjc.so
824ln -sf ../../../libstdc++.so.5.* libstdc++.so
825ln -sf ../../../libgcj.so.%{gcj_major}.* libgcj.so
826ln -sf ../../../libg2c.so.0.* libg2c.so
827ln -sf ../../../lib-org-w3c-dom.so.0.* lib-org-w3c-dom.so
828ln -sf ../../../lib-org-xml-sax.so.0.* lib-org-xml-sax.so
829%if %{build_ada}
830cd adalib
831ln -sf ../../../../libgnarl-*.so.* libgnarl.so
832ln -sf ../../../../libgnat-*.so.* libgnat.so
833cd ..
834%endif
835else
836ln -sf ../../../../%{_lib}/libobjc.so.1 libobjc.so
837ln -sf ../../../../%{_lib}/libstdc++.so.5.* libstdc++.so
838ln -sf ../../../../%{_lib}/libgcj.so.%{gcj_major}.* libgcj.so
839ln -sf ../../../../%{_lib}/libg2c.so.0.* libg2c.so
840ln -sf ../../../../%{_lib}/lib-org-w3c-dom.so.0.* lib-org-w3c-dom.so
841ln -sf ../../../../%{_lib}/lib-org-xml-sax.so.0.* lib-org-xml-sax.so
842%if %{build_ada}
843cd adalib
844ln -sf ../../../../../%{_lib}/libgnarl-*.so.* libgnarl.so
845ln -sf ../../../../../%{_lib}/libgnat-*.so.* libgnat.so
846cd ..
847%endif
848fi
849mv -f $RPM_BUILD_ROOT%{_libdir}/libstdc++.*a $FULLLPATH/
850mv -f $RPM_BUILD_ROOT%{_libdir}/libsupc++.*a .
851mv -f $RPM_BUILD_ROOT%{_libdir}/libg2c.*a .
852mv -f $RPM_BUILD_ROOT%{_libdir}/libfrtbegin.*a .
853mv -f $RPM_BUILD_ROOT%{_libdir}/libobjc.*a .
854
855%ifarch sparc
856ln -sf ../../../../../lib64/libobjc.so.1 64/libobjc.so
857ln -sf ../`echo ../../../../lib/libstdc++.so.5.* | sed s~/lib/~/lib64/~` 64/libstdc++.so
858ln -sf ../`echo ../../../../lib/libgcj.so.%{gcj_major}.* | sed s~/lib/~/lib64/~` 64/libgcj.so
859ln -sf ../`echo ../../../../lib/libg2c.so.0.* | sed s~/lib/~/lib64/~` 64/libg2c.so
860mv -f $RPM_BUILD_ROOT%{_libdir}/64/libsupc++.*a 64/
861mv -f $RPM_BUILD_ROOT%{_libdir}/64/libg2c.*a 64/
862mv -f $RPM_BUILD_ROOT%{_libdir}/64/libfrtbegin.*a 64/
863mv -f $RPM_BUILD_ROOT%{_libdir}/64/libobjc.*a 64/
864ln -sf lib32/libstdc++.a libstdc++.a
865ln -sf ../lib64/libstdc++.a 64/libstdc++.a
866ln -sf lib32/libgcj.a libgcj.a
867ln -sf ../lib64/libgcj.a 64/libgcj.a
868%endif
869%ifarch sparc64 x86_64 s390x
870ln -sf ../../../../libobjc.so.1 32/libobjc.so
871%ifarch x86_64
872ln -sf ../`echo ../../../../lib/libstdc++.so.5.* | sed s~/../lib64/~/~` 32/libstdc++.so
873ln -sf ../`echo ../../../../lib/libgcj.so.%{gcj_major}.* | sed s~/../lib64/~/~` 32/libgcj.so
874ln -sf ../`echo ../../../../lib/libg2c.so.0.* | sed s~/../lib64/~/~` 32/libg2c.so
875mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libsupc++.*a 32/
876mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libg2c.*a 32/
877mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libfrtbegin.*a 32/
878mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libobjc.*a 32/
879%else
880ln -sf ../`echo ../../../../lib64/libstdc++.so.5.* | sed s~/../lib64/~/~` 32/libstdc++.so
881ln -sf ../`echo ../../../../lib64/libgcj.so.%{gcj_major}.* | sed s~/../lib64/~/~` 32/libgcj.so
882ln -sf ../`echo ../../../../lib64/libg2c.so.0.* | sed s~/../lib64/~/~` 32/libg2c.so
883mv -f $RPM_BUILD_ROOT%{_libdir}/32/libsupc++.*a 32/
884mv -f $RPM_BUILD_ROOT%{_libdir}/32/libg2c.*a 32/
885mv -f $RPM_BUILD_ROOT%{_libdir}/32/libfrtbegin.*a 32/
886mv -f $RPM_BUILD_ROOT%{_libdir}/32/libobjc.*a 32/
887%endif
888%endif
889%ifarch sparc64
890ln -sf ../lib32/libstdc++.a 32/libstdc++.a
891ln -sf lib64/libstdc++.a libstdc++.a
892ln -sf ../lib32/libgcj.a 32/libgcj.a
893ln -sf lib64/libgcj.a libgcj.a
894%endif
895%ifarch x86_64
896ln -sf ../../../%{gcc_target_platform}/%{gcc_version}/libstdc++.a 32/libstdc++.a
897ln -sf ../../../%{gcc_target_platform}/%{gcc_version}/libgcj.a 32/libgcj.a
898%endif
899%ifarch s390x
900ln -sf ../../../s390-%{_vendor}-%{_target_os}/%{gcc_version}/libstdc++.a 32/libstdc++.a
901ln -sf ../../../s390-%{_vendor}-%{_target_os}/%{gcc_version}/libgcj.a 32/libgcj.a
902%endif
903
904# Strip debug info from Fortran/ObjC/Java static libraries
905strip -g `find . \( -name libg2c.a -o -name libobjc.a -o -name libgcj.a -o -name libgcc.a \) -a -type f`
906popd
907chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libg2c.so.0.*
908chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libobjc.so.1.*
909
910%if %{build_ada}
911chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgnarl*so*
912chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgnat*so*
913%endif
914
915cat > $RPM_BUILD_ROOT%{_bindir}/c89-%{VERSION} <<"EOF"
916#!/bin/sh
917fl="-std=c89"
918for opt; do
919  case "$opt" in
920    -ansi|-std=c89|-std=iso9899:1990) fl="";;
921    -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
922            exit 1;;
923  esac
924done
925exec %{_bindir}/gcc-%{VERSION} $fl ${1+"$@"}
926EOF
927cat > $RPM_BUILD_ROOT%{_bindir}/c99-%{VERSION} <<"EOF"
928#!/bin/sh
929fl="-std=c99"
930for opt; do
931  case "$opt" in
932    -std=c99|-std=iso9899:1999) fl="";;
933    -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
934            exit 1;;
935  esac
936done
937exec %{_bindir}/gcc-%{VERSION} $fl ${1+"$@"}
938EOF
939chmod 755 $RPM_BUILD_ROOT%{_bindir}/c?9-%{VERSION}
940
941# for alternatives
942pushd $RPM_BUILD_ROOT%{_bindir}
943  for i in gcc cpp g++ g77 gcj gcjh gij grepjar jar \
944        jcf-dump jv-convert jv-scan \
945        gnat gnatbind gnatbl gnatchop gnatfind gnatkr gnatlink \
946        gnatls gnatmake gnatprep gnatpsta gnatpsys gnatxref \
947        rmic rmiregistry \
948        %{gcc_target_platform}-gcc \
949        %{gcc_target_platform}-g++ \
950        %{gcc_target_platform}-c++ \
951        %{gcc_target_platform}-gcj; do
952    if [ -f "$i" ] ; then
953      mv $i $i-%{VERSION}
954      # ln -sf $i-%{VERSION} $i
955    fi
956  done
957popd
958
959
960cd ..
961##VINE##%find_lang gcc
962
963
964%clean
965rm -rf $RPM_BUILD_ROOT
966
967
968#####################################################################
969
970
971# %post
972# /sbin/install-info \
973#   --info-dir=%{_infodir} %{_infodir}/gcc.info.gz
974#
975# %preun
976# if [ $1 = 0 ]; then
977#   /sbin/install-info --delete \
978#     --info-dir=%{_infodir} %{_infodir}/gcc.info.gz
979# fi
980#
981# %post -n cpp
982# /sbin/install-info \
983#   --info-dir=%{_infodir} %{_infodir}/cpp.info.gz
984#
985# %preun -n cpp
986# if [ $1 = 0 ]; then
987#   /sbin/install-info --delete \
988#     --info-dir=%{_infodir} %{_infodir}/cpp.info.gz
989# fi
990#
991# %post g77
992# /sbin/install-info \
993#   --info-dir=%{_infodir} %{_infodir}/g77.info.gz
994#
995# %preun g77
996# if [ $1 = 0 ]; then
997#   /sbin/install-info --delete \
998#     --info-dir=%{_infodir} %{_infodir}/g77.info.gz
999# fi
1000#
1001# %post java
1002# /sbin/install-info \
1003#   --info-dir=%{_infodir} %{_infodir}/gcj.info.gz
1004#
1005# %preun java
1006# if [ $1 = 0 ]; then
1007#   /sbin/install-info --delete \
1008#     --info-dir=%{_infodir} %{_infodir}/gcj.info.gz
1009# fi
1010#
1011# %post gnat
1012# /sbin/install-info \
1013#   --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
1014# /sbin/install-info \
1015#   --info-dir=%{_infodir} %{_infodir}/gnat_ug.info.gz
1016#
1017# %preun gnat
1018# if [ $1 = 0 ]; then
1019#   /sbin/install-info --delete \
1020#     --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
1021#   /sbin/install-info --delete \
1022#     --info-dir=%{_infodir} %{_infodir}/gnat_ug.info.gz
1023# fi
1024
1025
1026##VINE##%post docs
1027##VINE##%if %{build_ada}
1028##VINE##/sbin/install-info \
1029##VINE##    --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
1030##VINE##/sbin/install-info \
1031##VINE##    --info-dir=%{_infodir} %{_infodir}/gnat_ug.info.gz
1032##VINE##%endif
1033##VINE##
1034##VINE##for i in cpp gcc g77 gcj ; do
1035##VINE##  /sbin/install-info --info-dir=%{_infodir} %{_infodir}/$i.info.gz
1036##VINE##done
1037
1038
1039##VINE##%preun docs
1040##VINE##if [ $1 = 0 ] ; then
1041##VINE##%if %{build_ada}
1042##VINE##  /sbin/install-info --delete \
1043##VINE##    --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
1044##VINE##  /sbin/install-info --delete \
1045##VINE##    --info-dir=%{_infodir} %{_infodir}/gnat_ug.info.gz
1046##VINE##%endif
1047##VINE##  for i in cpp gcc g77 gcj gnat_rm gnat_ug; do
1048##VINE##    /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/$i.info.gz
1049##VINE##  done
1050##VINE##fi
1051
1052
1053##VINE##%post -n libgcc -p /sbin/ldconfig
1054
1055##VINE##%postun -n libgcc -p /sbin/ldconfig
1056
1057%post -n libstdc++3 -p /sbin/ldconfig
1058
1059%postun -n libstdc++3 -p /sbin/ldconfig
1060
1061%post -n compat32-libstdc++3 -p /sbin/ldconfig
1062
1063%postun -n compat32-libstdc++3 -p /sbin/ldconfig
1064
1065##VINE##%post -n libobjc -p /sbin/ldconfig
1066
1067##VINE##%postun -n libobjc -p /sbin/ldconfig
1068
1069%post -n libgcj3
1070/sbin/ldconfig
1071/sbin/update-alternatives \
1072  --install %{_bindir}/gij      gij      %{_bindir}/gij-%{version} 21   \
1073  --slave   %{_bindir}/jv-convert jv-convert \
1074                                         %{_bindir}/jv-convert-%{version} \
1075  --slave   %{_bindir}/jar      jar  %{_bindir}/jar-%{version}  \
1076  --slave   %{_bindir}/grepjar  grepjar  %{_bindir}/grepjar-%{version}  \
1077  --slave   %{_bindir}/rmic     rmic    %{_bindir}/rmic-%{version}    \
1078  --slave   %{_bindir}/rmiregistry rmiregistry \
1079                                         %{_bindir}/rmiregistry-%{version}
1080
1081# fix broken symlink if it's there
1082if [ ! -f %{_bindir}/gij ] ; then
1083  /sbin/update-alternatives --auto gij
1084fi
1085
1086%postun -n libgcj3
1087/sbin/ldconfig
1088if [ $1 = 0 ]; then
1089  /sbin/update-alternatives --remove gij %{_bindir}/gij-%{version}
1090  /sbin/update-alternatives --auto gij
1091fi
1092
1093%post -n libf2c -p /sbin/ldconfig
1094
1095%postun -n libf2c -p /sbin/ldconfig
1096
1097%post -n libgnat -p /sbin/ldconfig
1098
1099%postun -n libgnat -p /sbin/ldconfig
1100
1101
1102%post
1103/sbin/update-alternatives \
1104  --install %{_bindir}/gcc gcc %{_bindir}/gcc-%{VERSION} 21 \
1105  --slave   %{_bindir}/cc  cc  %{_bindir}/gcc-%{VERSION} \
1106  --slave   %{_bindir}/%{gcc_target_platform}-gcc \
1107                %{gcc_target_platform}-gcc \
1108                %{_bindir}/%{gcc_target_platform}-gcc-%{VERSION} \
1109  --slave   %{_bindir}/c89 c89 %{_bindir}/c89-%{VERSION} \
1110  --slave   %{_bindir}/c99 c99 %{_bindir}/c99-%{VERSION}
1111
1112# fix broken symlink if it's there
1113if [ ! -f %{_bindir}/gcc ] ; then
1114  /sbin/update-alternatives --auto gcc
1115fi
1116
1117
1118%postun
1119if [ $1 = 0 ]; then
1120  /sbin/update-alternatives --remove gcc %{_bindir}/gcc-%{VERSION}
1121  /sbin/update-alternatives --auto gcc
1122fi
1123
1124%triggerpostun -- gcc-launcher
1125/sbin/update-alternatives --auto gcc
1126
1127%triggerpostun -- gcc < %{version}-%{release}
1128/sbin/update-alternatives --auto gcc
1129
1130
1131%post c++
1132/sbin/update-alternatives \
1133  --install %{_bindir}/g++ g++ %{_bindir}/g++-%{VERSION} 21 \
1134  --slave   %{_bindir}/c++ c++ %{_bindir}/g++-%{VERSION} \
1135  --slave   %{_bindir}/%{gcc_target_platform}-g++ \
1136                %{gcc_target_platform}-g++ \
1137                %{_bindir}/%{gcc_target_platform}-g++-%{VERSION} \
1138  --slave   %{_bindir}/%{gcc_target_platform}-c++ \
1139                %{gcc_target_platform}-c++ \
1140                %{_bindir}/%{gcc_target_platform}-c++-%{VERSION}
1141
1142# fix broken symlink if it's there
1143if [ ! -f %{_bindir}/g++ ] ; then
1144  /sbin/update-alternatives --auto g++
1145fi
1146
1147 
1148%postun c++
1149if [ $1 = 0 ]; then
1150  /sbin/update-alternatives --remove g++ %{_bindir}/g++-%{VERSION}
1151  /sbin/update-alternatives --auto g++
1152fi
1153
1154%triggerpostun c++ -- gcc-c++-launcher
1155/sbin/update-alternatives --auto g++
1156
1157%triggerpostun c++ -- gcc-c++ < %{version}-%{release}
1158/sbin/update-alternatives --auto g++
1159
1160
1161%post cpp
1162/sbin/update-alternatives \
1163  --install %{_bindir}/cpp cpp    %{_bindir}/cpp-%{VERSION} 21 \
1164  --slave   /lib/cpp       libcpp %{_bindir}/cpp-%{VERSION}
1165
1166# fix broken symlink if it's there
1167if [ ! -f %{_bindir}/cpp ] ; then
1168  /sbin/update-alternatives --auto cpp
1169fi
1170
1171
1172%postun cpp
1173if [ $1 = 0 ]; then
1174  /sbin/update-alternatives --remove cpp    %{_bindir}/cpp-%{VERSION}
1175  /sbin/update-alternatives --auto cpp
1176fi
1177
1178%triggerpostun cpp -- gcc-cpp-launcher
1179/sbin/update-alternatives --auto cpp
1180
1181%triggerpostun cpp -- gcc-cpp < %{version}-%{release}
1182/sbin/update-alternatives --auto cpp
1183
1184
1185%post g77
1186/sbin/update-alternatives \
1187  --install %{_bindir}/g77 g77 %{_bindir}/g77-%{VERSION} 21 \
1188  --slave   %{_bindir}/f77 f77 %{_bindir}/g77-%{VERSION}
1189
1190# fix broken symlink if it's there
1191if [ ! -f %{_bindir}/g77 ] ; then
1192  /sbin/update-alternatives --auto g77
1193fi
1194
1195
1196%postun g77
1197if [ $1 = 0 ]; then
1198  /sbin/update-alternatives --remove g77 %{_bindir}/g77-%{VERSION}
1199  /sbin/update-alternatives --auto g77
1200fi
1201
1202%triggerpostun g77 -- gcc-g77-launcher
1203/sbin/update-alternatives --auto g77
1204
1205%triggerpostun g77 -- gcc-g77 < %{version}-%{release}
1206/sbin/update-alternatives --auto g77
1207
1208
1209
1210%post gnat
1211/sbin/update-alternatives \
1212  --install %{_bindir}/gnat     gnat     %{_bindir}/gnat-%{VERSION} 21  \
1213  --slave   %{_bindir}/gnatbind gnatbind %{_bindir}/gnatbind-%{VERSION} \
1214  --slave   %{_bindir}/gnatbl   gnatbl   %{_bindir}/gnatbl-%{VERSION} \
1215  --slave   %{_bindir}/gnatchop gnatchop %{_bindir}/gnatchop-%{VERSION} \
1216  --slave   %{_bindir}/gnatfind gnatfind %{_bindir}/gnatfind-%{VERSION} \
1217  --slave   %{_bindir}/gnatgcc  gnatgcc  %{_bindir}/gcc-%{VERSION} \
1218  --slave   %{_bindir}/gnatkr   gnatkr   %{_bindir}/gnatkr-%{VERSION} \
1219  --slave   %{_bindir}/gnatlink gnatlink %{_bindir}/gnatlink-%{VERSION} \
1220  --slave   %{_bindir}/gnatls   gnatls   %{_bindir}/gnatls-%{VERSION} \
1221  --slave   %{_bindir}/gnatmake gnatmake %{_bindir}/gnatmake-%{VERSION} \
1222  --slave   %{_bindir}/gnatprep gnatprep %{_bindir}/gnatprep-%{VERSION} \
1223  --slave   %{_bindir}/gnatpsta gnatpsta %{_bindir}/gnatpsta-%{VERSION} \
1224  --slave   %{_bindir}/gnatpsys gnatpsys %{_bindir}/gnatpsys-%{VERSION} \
1225  --slave   %{_bindir}/gnatxref gnatxref %{_bindir}/gnatxref-%{VERSION}
1226
1227# fix broken symlink if it's there
1228if [ ! -f %{_bindir}/gnat ] ; then
1229  /sbin/update-alternatives --auto gnat
1230fi
1231
1232%postun gnat
1233if [ $1 = 0 ]; then
1234  /sbin/update-alternatives --remove gnat %{_bindir}/gnat-%{VERSION}
1235  /sbin/update-alternatives --auto gnat
1236fi
1237
1238%triggerpostun gnat -- gcc-gnat < %{version}-%{release}
1239/sbin/update-alternatives --auto gnat
1240
1241
1242
1243%post java
1244/sbin/update-alternatives \
1245  --install %{_bindir}/gcj      gcj      %{_bindir}/gcj-%{VERSION} 21   \
1246  --slave   %{_bindir}/gcjh     gcjh     %{_bindir}/gcjh-%{VERSION}     \
1247  --slave   %{_bindir}/jcf-dump jcf-dump %{_bindir}/jcf-dump-%{VERSION} \
1248  --slave   %{_bindir}/jv-scan  jv-scan  %{_bindir}/jv-scan-%{VERSION}
1249
1250# fix broken symlink if it's there
1251if [ ! -f %{_bindir}/gcj ] ; then
1252  /sbin/update-alternatives --auto gcj
1253fi
1254
1255%postun java
1256if [ $1 = 0 ]; then
1257  /sbin/update-alternatives --remove gcj %{_bindir}/gcj-%{VERSION}
1258  /sbin/update-alternatives --auto gcj
1259fi
1260
1261%triggerpostun java -- gcc-java-launcher
1262/sbin/update-alternatives --auto gcj
1263
1264%triggerpostun java -- gcc-java < %{version}-%{release}
1265/sbin/update-alternatives --auto gcj
1266
1267
1268
1269#####################################################################
1270
1271
1272##VINE##%files -f gcc.lang
1273%files
1274%defattr(-,root,root)
1275#%{_bindir}/cc
1276%{_bindir}/c89-%{VERSION}
1277%{_bindir}/c99-%{VERSION}
1278%{_bindir}/gcc-%{VERSION}
1279#%{_bindir}/gcov
1280#%{_bindir}/protoize
1281#%{_bindir}/unprotoize
1282%ifarch sparc
1283%{_bindir}/%{_target_platform}-gcc
1284%endif
1285%ifarch sparc64
1286%{_bindir}/sparc-%{_vendor}-%{_target_os}-gcc
1287%endif
1288%{_bindir}/%{gcc_target_platform}-gcc-%{VERSION}
1289#%{_mandir}/man1/gcc.1*
1290#%{_mandir}/man1/gcov.1*
1291#%{_infodir}/gcc*
1292%dir %{gcclib_dir}
1293%dir %{gcclib_dir}/%{gcc_target_platform}
1294%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}
1295%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include
1296%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/stddef.h
1297%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/stdarg.h
1298%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/varargs.h
1299%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/float.h
1300%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/limits.h
1301%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/stdbool.h
1302%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/iso646.h
1303%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/syslimits.h
1304%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/unwind.h
1305%ifarch %{ix86} x86_64
1306%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/mmintrin.h
1307%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/xmmintrin.h
1308%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/emmintrin.h
1309%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/pmmintrin.h
1310%endif
1311%ifarch ia64
1312%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/ia64intrin.h
1313%endif
1314%ifarch ppc
1315%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/ppc-asm.h
1316%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/altivec.h
1317%endif
1318%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/README
1319%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/collect2
1320%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/crt*.o
1321%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libgcc.a
1322%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libgcc_eh.a
1323%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libgcc_s.so
1324%ifarch sparc
1325%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64
1326%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/crt*.o
1327%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libgcc.a
1328%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libgcc_eh.a
1329%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libgcc_s_64.so
1330%endif
1331%ifarch sparc64 x86_64 s390x
1332%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32
1333%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32/crt*.o
1334%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32/libgcc.a
1335%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32/libgcc_eh.a
1336%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libgcc_s_32.so
1337%endif
1338%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/specs
1339%doc gcc/README* gcc/*ChangeLog*
1340
1341
1342%files cpp
1343%defattr(-,root,root)
1344/lib/cpp
1345%{_bindir}/cpp-%{VERSION}
1346#%{_mandir}/man1/cpp.1*
1347#%{_infodir}/cpp*
1348%dir %{gcclib_dir}
1349%dir %{gcclib_dir}/%{gcc_target_platform}
1350%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}
1351%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/cc1
1352#GCC#%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/cpp0
1353#GCC#%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/tradcpp0
1354
1355
1356##VINE##%files -n libgcc
1357##VINE##%defattr(-,root,root)
1358##VINE##%ifarch x86_64
1359##VINE##/lib/libgcc_s-%{gcc_version}.so.1
1360##VINE##/lib/libgcc_s.so.1
1361##VINE##%endif
1362##VINE##/%{_lib}/libgcc_s-%{gcc_version}.so.1
1363##VINE##/%{_lib}/libgcc_s.so.1
1364
1365
1366%files c++
1367%defattr(-,root,root)
1368%{_bindir}/%{gcc_target_platform}-*++-%{VERSION}
1369%{_bindir}/g++-%{VERSION}
1370#%{_bindir}/c++
1371#%{_bindir}/c++filt
1372#%{_mandir}/man1/g++.1*
1373%dir %{gcclib_dir}
1374%dir %{gcclib_dir}/%{gcc_target_platform}
1375%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}
1376%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/cc1plus
1377%ifarch sparc
1378%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.so
1379%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.a
1380%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libsupc++.a
1381%endif
1382%ifarch sparc64 x86_64 s390x
1383%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32/libstdc++.so
1384%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32/libstdc++.a
1385%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32/libsupc++.a
1386%endif
1387%ifarch sparc sparc64 x86_64 s390x
1388%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libstdc++.so
1389%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
1390%endif
1391%ifarch sparc sparc64
1392%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libstdc++.a
1393%endif
1394%doc gcc/cp/ChangeLog*
1395
1396
1397%files -n libstdc++3
1398%defattr(-,root,root)
1399#%ifarch x86_64
1400#%{_prefix}/lib/libstdc++.so.5*
1401#%endif
1402%{_prefix}/%{_lib}/libstdc++.so.5*
1403%doc libstdc++-v3/*ChangeLog*
1404
1405
1406%if %{build_compat32}
1407%files -n compat32-libstdc++3
1408%defattr(-,root,root)
1409%{_prefix}/lib/libstdc++.so.5*
1410%endif
1411
1412
1413%files -n libstdc++3-devel
1414%defattr(-,root,root)
1415%{_prefix}/include/c++
1416%ifarch sparc
1417%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib32
1418%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib32/libstdc++.a
1419%endif
1420%ifarch sparc64
1421%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib64
1422%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib64/libstdc++.a
1423%endif
1424%ifnarch sparc sparc64
1425%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libstdc++.a
1426%endif
1427%ifnarch sparc sparc64 x86_64 s390x
1428%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libstdc++.so
1429%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
1430%endif
1431%doc libstdc++-v3/ChangeLog* libstdc++-v3/README* libstdc++-v3/docs/html/
1432
1433
1434%files objc
1435%defattr(-,root,root)
1436%dir %{gcclib_dir}
1437%dir %{gcclib_dir}/%{gcc_target_platform}
1438%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}
1439%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include
1440%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/objc
1441%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/cc1obj
1442%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libobjc.a
1443%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libobjc.so
1444%ifarch sparc
1445%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libobjc.a
1446%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libobjc.so
1447%endif
1448%ifarch sparc64 x86_64 s390x
1449%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32/libobjc.a
1450%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32/libobjc.so
1451%endif
1452%doc rpm.doc/objc/*
1453%doc libobjc/THREADS* libobjc/ChangeLog
1454
1455
1456##VINE##%files -n libobjc
1457##VINE##%defattr(-,root,root)
1458##VINE##%ifarch x86_64
1459##VINE##%{_prefix}/lib/libobjc.so.1*
1460##VINE##%endif
1461##VINE##%{_prefix}/%{_lib}/libobjc.so.1*
1462
1463
1464%files g77
1465%defattr(-,root,root)
1466%{_bindir}/g77-%{VERSION}
1467#%{_bindir}/f77
1468#%{_mandir}/man1/g77.1*
1469#%{_infodir}/g77*
1470%dir %{gcclib_dir}
1471%dir %{gcclib_dir}/%{gcc_target_platform}
1472%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}
1473%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include
1474%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/f771
1475%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libfrtbegin.a
1476%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libg2c.a
1477%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libg2c.so
1478%ifarch sparc
1479%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libfrtbegin.a
1480%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libg2c.a
1481%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libg2c.so
1482%endif
1483%ifarch sparc64 x86_64 s390x
1484%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32/libfrtbegin.a
1485%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32/libg2c.a
1486%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32/libg2c.so
1487%endif
1488%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/g2c.h
1489%doc gcc/f/ChangeLog* rpm.doc/g77/*
1490
1491
1492%files -n libf2c
1493%defattr(-,root,root)
1494%ifarch x86_64
1495%{_prefix}/lib/libg2c.so.0*
1496%endif
1497%{_prefix}/%{_lib}/libg2c.so.0*
1498
1499
1500%files java
1501%defattr(-,root,root)
1502%{_bindir}/%{gcc_target_platform}-gcj-%{VERSION}
1503%{_bindir}/gcj-%{VERSION}
1504%{_bindir}/gcjh-%{VERSION}
1505%{_bindir}/jcf-dump-%{VERSION}
1506%{_bindir}/jv-scan-%{VERSION}
1507#%{_mandir}/man1/gcj.1*
1508#%{_mandir}/man1/gcjh.1*
1509#%{_mandir}/man1/jcf-dump.1*
1510#%{_mandir}/man1/jv-scan.1*
1511#%{_infodir}/gcj*
1512%dir %{gcclib_dir}
1513%dir %{gcclib_dir}/%{gcc_target_platform}
1514%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}
1515%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/jc1
1516%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/jvgenmain
1517%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libgcj.so
1518%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib-org-w3c-dom.so
1519%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib-org-xml-sax.so
1520%ifarch sparc sparc64
1521%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libgcj.a
1522%endif
1523%ifarch sparc
1524%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libgcj.so
1525%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib-org-w3c-dom.so
1526%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib-org-xml-sax.so
1527%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/64/libgcj.a
1528%endif
1529%ifarch sparc64 x86_64 s390x
1530%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32/libgcj.so
1531%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib-org-w3c-dom.so
1532%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib-org-xml-sax.so
1533%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/32/libgcj.a
1534%endif
1535%doc gcc/java/ChangeLog*
1536
1537
1538%files -n libgcj3
1539%defattr(-,root,root)
1540%{_bindir}/jv-convert-%{version}
1541%{_bindir}/gij-%{version}
1542%{_bindir}/jar-%{version}
1543%{_bindir}/grepjar-%{version}
1544%{_bindir}/rmic-%{version}
1545%{_bindir}/rmiregistry-%{version}
1546#%{_mandir}/man1/jv-convert.1*
1547#%{_mandir}/man1/gij.1*
1548#%{_mandir}/man1/rmic.1*
1549#%{_mandir}/man1/rmiregistry.1*
1550%{_prefix}/%{_lib}/libgcj.so.*
1551%{_prefix}/%{_lib}/lib-org-w3c-dom.so.*
1552%{_prefix}/%{_lib}/lib-org-xml-sax.so.*
1553%{_prefix}/share/java
1554%ifarch x86_64
1555%{_prefix}/lib/security
1556%else
1557%{_libdir}/security
1558%endif
1559
1560
1561%files -n libgcj3-devel
1562%defattr(-,root,root)
1563%{_bindir}/addr2name.awk
1564%ifarch sparc
1565%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib32
1566%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib32/libgcj.a
1567%endif
1568%ifarch sparc64
1569%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib64
1570%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/lib64/libgcj.a
1571%endif
1572%ifnarch sparc sparc64
1573%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libgcj.a
1574%endif
1575%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/libgcj.spec
1576#GCC#%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/gc*.h
1577%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/j*.h
1578%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/java
1579%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/javax
1580%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/gnu
1581%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/gcj
1582#GCC#%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/include/org
1583%doc rpm.doc/boehm-gc/* rpm.doc/fastjar/* rpm.doc/libffi/*
1584%doc rpm.doc/libjava/*
1585
1586
1587%if %{build_ada}
1588%files gnat
1589%defattr(-,root,root)
1590%{_bindir}/gnat*
1591#%{_infodir}/gnat*
1592%dir %{gcclib_dir}
1593%dir %{gcclib_dir}/%{gcc_target_platform}
1594%dir %{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}
1595%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/adainclude
1596%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/adalib
1597%{gcclib_dir}/%{gcc_target_platform}/%{gcc_version}/gnat1
1598%doc gcc/ada/ChangeLog
1599
1600
1601%files -n libgnat
1602%defattr(-,root,root)
1603%{_prefix}/%{_lib}/libgnat-*.so.*
1604%{_prefix}/%{_lib}/libgnarl-*.so.*
1605%endif
1606
1607
1608%ifarch sparc
1609%files sparc32
1610%defattr(-,root,root)
1611%dir %{gcclib_dir}/%{_target_platform}/%{gcc_version}
1612%{gcclib_dir}/%{_target_platform}/%{gcc_version}/cc1
1613%{gcclib_dir}/%{_target_platform}/%{gcc_version}/include
1614
1615
1616%files c++-sparc32
1617%defattr(-,root,root)
1618%{gcclib_dir}/%{_target_platform}/%{gcc_version}/cc1plus
1619%endif
1620
1621
1622##VINE##%files tools
1623##VINE##%defattr(-,root,root)
1624##VINE##%doc README* COPYING COPYING.LIB
1625##VINE##%{_bindir}/gcov
1626##VINE##%{_bindir}/protoize
1627##VINE##%{_bindir}/unprotoize
1628##VINE###GCC#%{_bindir}/c++filt
1629
1630
1631##VINE##%files docs
1632##VINE##%defattr(-,root,root)
1633##VINE##%doc README* COPYING COPYING.LIB
1634##VINE##%{_infodir}/*
1635##VINE##%{_mandir}/*/*
1636
1637
1638%changelog
1639* Fri Mar 20 2009 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.3.6-3
1640- add Patch400 (fix up for the latest bison)
1641- drop Patch300; modify OPT_FLAGS (disable -mtune=generic et al.)
1642
1643* Tue Dec 30 2008 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.3.6-2
1644- add dirty hack Patch300 to accept (pass through) m32 option
1645
1646* Fri Oct 24 2008 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.3.6-1vl5
1647- applied new versioning policy
1648- spec in UTF-8
1649
1650* Mon May 07 2007 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.3.6-0vl9
1651- renamed to gcc3
1652- disable libgcc/libobjc/docs/tools subpackages
1653- lowered priority of alternatives from 30 to 21
1654
1655* Sun Jan 28 2007 Kazutaka HARADA <kazutaka@dc4.so-net.ne.jp> 3.3.6-0vl8
1656- fixed typo in spec <BTS:VineLinux:425>
1657
1658* Wed Sep 13 2006 Kazutaka HARADA <kazutaka@dc4.so-net.ne.jp> 3.3.6-0vl7
1659- change docs Group to Applications/Documentation. <BTS:VineLinux:163>
1660
1661* Sun Jul 16 2006 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.3.6-0vl6
1662- rebuild with glibc-2.3.4
1663
1664* Sat Jun 17 2006 Daisuke SUZUKI <daisuke@linux.or.jp> 3.3.6-0vl5
1665- add lib-org-* to gcc-java
1666
1667* Fri Jun 16 2006 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.3.6-0vl4
1668- added Patch200 (fix ASM_CPU_SPEC for ppc)
1669
1670* Sat Feb 18 2006 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.3.6-0vl3
1671- fixed typo in some summaries and descriptions
1672- added update-alternatives to %post libgcj
1673
1674* Sun Oct 23 2005 NAKAMURA Kenta <kenta@c.csce.kyushu-u.ac.jp> 3.3.6-0vl2
1675- replaced %{_libdir}/gcc-lib with %{gcclib_dir}
1676  for x86_64 architecture support ([VineSeed:10281],[VineSeed:10284])
1677- fixed %files section on gcc-g77
1678- added compat32-libstdc++3 package
1679
1680* Sat Aug 13 2005 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.3.6-0vl1
1681- fixed %%triggerpostun problems ([VineSeed:09815],[VineSeed:09816])
1682- updated to 3.3.6 release
1683  3.3.6 is the latest and the last release of the gcc 3.3.x series
1684
1685* Thu Mar 10 2005 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.3.5-0vl2
1686- update check-abi logic in the spec file
1687
1688* Sat Mar 05 2005 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.3.5-0vl1
1689- updated to 3.3.6 prerelease (as of 20050305)
1690
1691* Thu May 27 2004 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.3.2-0vl8
1692- revised %setup section to correct version strings with Vine
1693
1694* Tue Feb  3 2004 Tomoya TAKA <taka@vinelinux.org> 3.3.2-0vl7
1695- move cc1 into gcc-cpp
1696
1697* Wed Jan 21 2004 Tomoya TAKA <taka@vinelinux.org> 3.3.2-0vl6
1698- libstdc++3 provides libstdc++
1699- include pmmintrin.h on IA32/x86_64, unwind.h on all archs
1700
1701* Sun Jan 11 2004 KOBAYASHI R. Taizo <tkoba@vinelinux.org> 3.3.2-0vl5
1702- update from gcc-3_3-branch 20031219 (3.3.2-5)
1703  - PRs target/11992, target/13122, optimization/13037,
1704        target/13256, target/12598, optimization/13318,
1705        optimization/13060, optimization/12965, target/13354,
1706        optimization/4490, target/13150, middle-end/10060,
1707        driver/13211, target/13302, target/11322, target/12467,
1708        12969, target/8407, 10239, 11640, c++/12253,
1709        c++/13262, c++/13323, fortran/12633, libstdc++/6243,
1710        libstdc++/11612, libstdc++/12496, libstdc++/13290,
1711        libstdc++/9371, libstdc++/9546, libstdc++/10093,
1712        libstdc++/10095
1713  - fix __builtin_expect in C++ code
1714
1715* Thu Jan 01 2004 Satoshi MACHINO <machino@vinelinux.org> 3.3.2-0vl4
1716- added emmintrin.h to gcc's package, see [VineSeed:08374]
1717
1718* Sat Dec 20 2003 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.3.2-0vl3
1719- added BuildRequires: texinfo >= 4.2, for /usr/bin/makeinfo no older than
1720  4.2 seems to be needed for making info files
1721
1722* Fri Dec 19 2003 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.3.2-0vl2
1723- version string changed for Vine, then rebuilt
1724
1725* Fri Dec 19 2003 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.3.2-0vl1
1726- updated to 3.3.2 (as of 20021023), based on [VineSeed:08312]
1727
1728* Mon Sep 15 2003 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 3.2.3-0vl5
1729- use License tag
1730
1731* Wed Sep 10 2003 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.3-0vl4
1732- rebuilt
1733
1734* Fri Jul 18 2003 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.3-0vl3
1735- added Patch0
1736
1737* Mon May 12 2003 Daisuke SUZUKI <daisuke@linux.or.jp> 3.2.3-0vl2
1738- use more macros in spec file.
1739
1740* Mon May 12 2003 Daisuke SUZUKI <daisuke@linux.or.jp> 3.2.3-0vl1
1741- new upstream release 3.2.3
1742
1743* Fri Feb 07 2003 Tomoya TAKA <taka@vinelinux.org> 3.2.2-0vl1
1744- new upstream release 3.2.2
1745
1746* Mon Jan 27 2003 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.2-0vl0.10
1747- source updated to CVS (3.2.2 prerelease) as of 2003-01-26
1748- including such PRs as:
1749  optimization/9279, c/2454, opt/7507, c++/9328, c++/47, c++/8503,
1750  c++/8442, C++/8031, libstdc++/9322
1751
1752* Tue Jan 14 2003 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.2-0vl0.9
1753- rebuilt with binutils-2.13.90.16-3vl4 and glibc-2.3.1-34vl1
1754
1755* Mon Jan 13 2003 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.2-0vl0.8
1756- source updated to CVS (3.2.2 prerelease) as of 2003-01-12
1757
1758* Wed Jan 08 2003 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.2-0vl0.7
1759- source updated to CVS (3.2.2 prerelease) as of 2003-01-07
1760
1761* Wed Dec 21 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.2-0vl0.6
1762- source updated to CVS (3.2.2 prerelease) as of 2002-12-20
1763
1764* Sat Dec 14 2002 Daisuke SUZUKI <daisuke@linux.or.jp> 3.2.2-0vl0.5
1765- rebuild to remove unnecessary dependancy.
1766
1767* Thu Dec 12 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.2-0vl0.4
1768- added more %%post scripts to fix broken symlink on alternatives
1769
1770* Wed Dec 11 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.2-0vl0.3
1771- source updated to CVS (3.2.2 prerelease) as of 2002-12-10
1772
1773* Sun Dec 08 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.2-0vl0.2
1774- fixed a bug in triggerscript which deals with cpp alternatives
1775- %%{gcc_target_platform}-{gcc,g++,c++} with alternatives
1776- TODO: we have decide better way how to handle
1777        %%{gcc_target_platform}-{gcc,g++,c++} with alternatives
1778
1779* Thu Dec 05 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.2-0vl0.1
1780- source updated to CVS (3.2.2 prerelease) as of 2002-12-04
1781  (including several bug fix such as PR 8275,8362,8599
1782   see ChangeLog for details)
1783- added some missing ChangeLog to the %%doc list
1784
1785* Sat Nov 21 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.1-0vl5
1786- source updated to CVS (3.2.1 release) as of 2002-11-20
1787  (it's the same as gcc-3.2.1 tarball in essence)
1788
1789* Sat Nov 16 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.1-0vl4
1790- source updated to CVS (3.2.1 prerelease) as of late 2002-11-15
1791  (includes important bug fix:
1792   http://gcc.gnu.org/ml/gcc-cvs/2002-11/msg00441.html)
1793- BuildRequires for binutils bumped to 2.13.90.0.10
1794  (powerpc-*-linux-gnu needs this version or up for a working gcc)
1795
1796* Thu Nov 14 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.1-0vl3
1797- rebuilt with new toolchain (binutils-2.13.90.0.10-3vl4, glibc-2.3.1-6vl3)
1798- source updated to CVS (3.2.1 prerelease) as of 2002-11-15
1799
1800* Wed Nov 13 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.1-0vl2
1801- rebuilt with new toolchain (glibc-2.3.1-6vl2)
1802
1803* Tue Nov 12 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.1-0vl1
1804- source updated to CVS (3.2.1 prerelease) as of 2002-11-11
1805- make check with LANG=C
1806
1807* Mon Nov 11 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2.1-0vl0
1808- source updated to CVS (3.2.1 prerelease) as of 2002-11-10
1809- Doh! strange macro definition. My own mistake. Fixed.
1810- Don't replace version strings (with Red Hat ones)
1811- several Obsoletes/Conflicts/Provides treatments
1812- make c89 and c99 alternatives-savvy
1813- added Patch100 back (from previous Vine's gcc package) for ppc
1814
1815* Mon Nov 11 2002 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 3.2-11vl0
1816- based on 3.2-11 from Rawhide and re-constructed for Vine Linux
1817- make alternatives-savvy as in previous Vine packageing scheme
1818- temporarily disabled to build Ada subpackages (gcc-gnat, libgnat) for Vine
1819
1820* Wed Oct 23 2002 Jakub Jelinek  <jakub@redhat.com> 3.2-11
1821- update from gcc-3_2-rhl8-branch
1822  - PRs target/7693, opt/7630, c++/6419, target/7396, c++/8218,
1823    c++/7676, c++/7584, c++/7478, c++/8134, c++/7524, c++/7176,
1824    c++/5661, c++/6803, c++/7721, c++/7803, c++/7754, c++/7188,
1825    libstdc++/8071, libstdc++/8127, c++/6745, libstdc++/8096,
1826    libstdc++/7811
1827- fix x86-64 ICE with stdarg in -fpic (#76491)
1828- fix IA-32 miscompilation of DImode code (Jim Wilson, PR target/6981)
1829
1830* Wed Oct 16 2002 Jakub Jelinek  <jakub@redhat.com> 3.2-10
1831- update from gcc-3_2-rhl8-branch
1832  - PRs target/7370, target/8232, opt/7409, preprocessor/7862,
1833    preprocessor/8190, optimization/6631, target/5610, optimization/7951,
1834    target/7723
1835- allow building even if de_DE locale is not installed (#74503, #75889)
1836- s390x multilib
1837- x86-64 TLS fixes
1838- 15 Java fixes (Anthony Green, Andrew Haley, Tom Tromey,
1839  PRs java/6005, java/7611, java/8003, java/7950, java/5794, libgcj/7073)
1840- %%define _unpackaged_files_terminate_build 0
1841- fix make check-abi
1842
1843* Fri Oct 11 2002 Jakub Jelinek  <jakub@redhat.com> 3.2-9
1844- update from gcc-3_2-rhl8-branch
1845  - __attribute__((tls_model("")))
1846  - PRs c/7353, opt/7124, opt/7912, opt/7390, doc/7484,
1847        c/7411, target/8087, optimization/6713
1848- x86-64 TLS
1849
1850* Tue Oct  8 2002 Jakub Jelinek  <jakub@redhat.com> 3.2-8
1851- switch to gcc-3_2-rhl8-branch snapshots
1852  - thus most of the patches went away as they are in CVS
1853- merge from gcc-3_2-branch between 20020903 and 20021007
1854  - PRs target/7434, optimization/6627, preprocessor/8120,
1855        middle-end/7151, preprocessor/8055, optimization/7335,
1856        c/7160, target/7842, opt/7515, optimization/7130,
1857        optimization/6984, c/7150, target/7380, other/7114,
1858        target/5967, optimization/7120, target/7374, opt/7814,
1859        c/7102
1860- backported libffi and libjava bits for x86-64 and s390*
1861- added sparc* support
1862- multilib setup for sparc* and x86-64
1863- some IA-32 TLS fixes (Richard Henderson)
1864
1865* Tue Sep  3 2002 Bill Nottingham <notting@redhat.com> 3.2-7
1866- fix calling of C++ destructors in certain cases
1867
1868* Tue Sep  3 2002 Jakub Jelinek <jakub@redhat.com> 3.2-6
1869- update from CVS (but revert C++ tail padding patches
1870  for now)
1871- further fixes to make libstdc++-v3 build on glibc 2.3
1872- run libstdc++-v3 make check-abi on IA-32 during testing
1873
1874* Fri Aug 30 2002 Jakub Jelinek <jakub@redhat.com> 3.2-5
1875- disable tail copy patches, they seem to still have problems
1876- make libstdc++-v3 build on glibc 2.3 (and use thread-local
1877  locale model)
1878- fix c89 and c99 scripts (#73104)
1879
1880* Wed Aug 26 2002 Jakub Jelinek <jakub@redhat.com> 3.2-4
1881- reorder alpha_encode_section_info checks slightly to fix an ICE
1882  when building glibc and to take better advantage of visibility
1883  attribute on Alpha
1884- as gdb is not there yet, disable -momit-leaf-frame-pointer
1885  by default for now on IA-32
1886- fix IA-64 bootstrap with tail padding patch (Jason Merrill, Daniel Berlin)
1887- fix x86-64 %RIP to %rip, only output (%rip) if no other relocation
1888  is used (Richard Henderson)
1889
1890* Fri Aug 23 2002 Jakub Jelinek <jakub@redhat.com> 3.2-3
1891- take advantage of __attribute__((visibility())) on Alpha
1892- avoid copying tail padding (Jason Merrill)
1893
1894* Thu Aug 22 2002 Jakub Jelinek <jakub@redhat.com> 3.2-2
1895- fixed Dwarf2 DW_OP_GNU_push_tls_address patch from Richard Henderson
1896- don't mention removed -a and -ax options in the documentation
1897  (Nathan Sidwell, #72233)
1898- fixed __typeof() followed by __asm() redirection from Alexandre Oliva
1899
1900* Wed Aug 14 2002 Jakub Jelinek <jakub@redhat.com> 3.2-1
1901- update to 3.2 release
1902- fix x86-64 PR target/7559 (Jan Hubicka)
1903- fix -fprefetch-loop-arrays (Janis Johnson)
1904- fix x86-64 prefetch (Jan Hubicka)
1905
1906* Fri Aug  9 2002 Jakub Jelinek <jakub@redhat.com> 3.2-0.3
1907- istream fix (Benjamin Kosnik)
1908- emit Dwarf2 DW_OP_GNU_push_tls_address extension for TLS (Richard Henderson)
1909- temporarily disable __typeof() + __asm() fix
1910
1911* Thu Aug  8 2002 Jakub Jelinek <jakub@redhat.com> 3.2-0.2
1912- update from 3.2 branch
1913  - ABI incompatible changes in libstdc++.so.5, long long bitfield
1914    layout on IA-32 (both C and C++), oversized bitfields layout
1915    on IA-32 and bitfields with base type with __attribute__((aligned ()))
1916  - fix strstream segfaults (#68292, Benjamin Kosnik)
1917- fix __attribute__((visibility())) together with __asm__()
1918  function redirection
1919- fix __typeof() followed by __asm() redirection (Alexandre Oliva)
1920- fix TLS ICE on glibc (#70061)
1921- fix K6 ICE on linux kernel (#69989, Richard Sandiford, Jan Hubicka)
1922- fix inlining bug with labels (#70941)
1923- fix fold-const bug (#70541)
1924- fix PR preprocessor/7358 (Neil Booth)
1925- error when mixing __thread and non-__thread declarations
1926  (#70059, Aldy Hernandez)
1927- fix TLS bug on g++.dg/tls/diag-1.C (Jason Merrill)
1928- add -mcmodel= x86-64 documentation (Andreas Jaeger)
1929- avoid TLS emitting movl %gs:0, MEMORY on IA-32 (#71033)
1930
1931* Mon Jul 22 2002 Jakub Jelinek <jakub@redhat.com> 3.2-0.1
1932- first attempt for gcc 3.2
1933- remove .la files
1934
1935* Sat Jul 20 2002 Jakub Jelinek <jakub@redhat.com> 3.1-10
1936- update from 3.1 branch
1937  - add throw() to set_new_handler (Andreas Schwab)
1938  - fixed PR optimization/7147, optimization/7153
1939- make sure pic register is set up even when the only @PLT calls
1940  are done in EH basic blocks (Richard Henderson)
1941
1942* Sun Jul 14 2002 Jakub Jelinek <jakub@redhat.com> 3.1-9
1943- define %%_gnu to nothing for compatibility
1944
1945* Sat Jul 13 2002 Jakub Jelinek <jakub@redhat.com> 3.1-8
1946- update from 3.1 branch
1947  - fix OpenOffice miscompilation (PR c++/7279, Jason Merrill)
1948  - PRs c++/7224, c++/6255, optimization/7145, c++/6706, preprocessor/7070,
1949    middle-end/6963, target/6841, target/6770, target/6719,
1950    other/6836, libstdc++/7057, libstdc++/7097, libstdc++/3946,
1951    libstdc++/7173
1952  - fix a GC bug with named labels in C++ (Jim Wilson)
1953  - fix ICE on Mesa (Bernd Schmidt, #65771)
1954- added some NRV tests
1955- fix typo in i386 specs (PR c/7242)
1956- fix IA-32 ICE with shifts by negative values followed by compare
1957  (PR middle-end/7245, #68395)
1958- fixed DWARF-2 output for const char * (PR debug/7241)
1959- actually enable __cxa_atexit for standard compliance at configury time
1960- added PPC as Ada enabled architecture
1961
1962* Wed Jun 19 2002 Jakub Jelinek <jakub@redhat.com> 3.1-7
1963- update from 3.1 branch
1964  - PRs target/6922, opt/6722, c/7030, c/6677, objc/6834, c++/6892,
1965    c++/6723, opt/6793
1966- use __cxa_atexit for standard compliance:
1967  if your C++ project knows it won't call atexit from within its
1968  static constructors, use -fno-use-cxa-atexit to optimize it
1969- share hard register rtxs where possible to speed the compiler up (Jeff Law)
1970- optimize tree_code_* arrays (Kaveh Ghazi)
1971- don't link prefix.o into libgnat, link libgnat against libgcc_s and
1972  libgnarl against libgnat
1973- fix typo in GNAT %%post (#66847, #66941, #66639)
1974- add TLS support
1975
1976* Fri Jun  7 2002 Jakub Jelinek <jakub@redhat.com> 3.1-6
1977- add GNAT
1978- remove DT_RPATH from Java binaries (#66103)
1979- obsolete kaffe, install jar as %{_bindir}/jar
1980- add include/org directory in java
1981- add rmic and rmiregistry programs to libgcj
1982- add info documentation for gcj and various man pages
1983- add message catalogues for da, el, es, fr, ja, nl, sv, tr
1984- don't put IA-64 vtables with relocations into read-only sections
1985  with -fpic
1986
1987* Tue Jun  4 2002 Jakub Jelinek <jakub@redhat.com> 3.1-5
1988- update from 3.1 branch
1989  - PRs optimization/6822, preprocessor/6844, target/6838, target/6788,
1990        libstdc++/6886, libstdc++/6795, libstdc++/6811
1991- m$ compatibility for unnamed fields as typedef of struct/union
1992  (PR c/6660)
1993- fix -fverbose-asm with unnamed fields (PR c/6809)
1994- fix -mmmx ICE (PR optimization/6842)
1995- default to -momit-leaf-frame-pointer on i386 (Richard Henderson)
1996- use linkonce section/hidden symbol for i686 pic getpc thunks
1997  (Richard Henderson)
1998
1999* Tue May 28 2002 Jakub Jelinek <jakub@redhat.com> 3.1-4
2000- rebuilt
2001
2002* Sat May 25 2002 Jakub Jelinek <jakub@redhat.com> 3.1-3
2003- update from 3.1 branch
2004  - PRs other/6782, preprocessor/6780, preprocessor/6517,
2005        libstdc++/6282, libstdc++/6701, libstdc++/6701
2006  - fix out << "" bug (Ben Kosnik, #65409, PR libstdc++/6750)
2007- 3 new patches
2008  - fix C++ __PRETTY_FUNCTION__ (PR c++/6794)
2009  - fix ICE on jikes (#65379)
2010  - add test for fixed mozilla miscompilation
2011- include intrinsic headers on IA-32/x86-64, include altivec.h on PPC
2012
2013* Wed May 22 2002 Jakub Jelinek <jakub@redhat.com> 3.1-2
2014- update from 3.1 branch
2015- 8 new patches
2016  - fix as version test for 2.12.1 and newer binutils non-CVS releases
2017  - fix ICE in do_subst (#65049)
2018  - fix SSE conditional move (PR target/6753)
2019  - fix SPARC CSE ICE (PR optimization/6759)
2020  - fix x86_64 dbx64_register_map typo (Jan Hubicka)
2021  - fix DWARF-2 with flag_asynchronous_unwind_tables set for leaf
2022    functions (Jan Hubicka)
2023  - fix DWARF-2 x86_64 __builtin_dwarf_reg_sizes (Jan Hubicka)
2024  - fix x86_64 movabsdi (Michael Matz)
2025
2026* Wed May 15 2002 Jakub Jelinek <jakub@redhat.com> 3.1-1
2027- update to 3.1 final
2028- 15 new patches
2029  - fix PR c/6643
2030  - fix fold-const.c typo
2031  - fix unitialized pointer-to-member values (Alexandre Oliva)
2032  - fix templates with asm inputs (Jason Merrill)
2033  - fix -fdata-section (Andreas Schwab)
2034  - readd warning about i386 -malign-double into documentation (Jan Hubicka)
2035  - fix PR libstdc++/6594 (Ben Kosnik)
2036  - fix PR PR libstdc++/6648 (Paolo Carlini)
2037  - fix libstdc++ testsuite rlimits (Rainer Orth)
2038  - s390 java support (Gerhard Tonn)
2039  - rotate testcases (Tom Rix)
2040  - build libiberty with -fpic on x86_64 (Andreas Schwab)
2041  - fix x86_64 multilib build (Bo Thorsen)
2042  - fix x86_64 ASM_OUTPUT_MI_THUNK (Jan Hubicka)
2043  - fix loop-2[cd].c tests on i386 (Eric Botcazou)
2044- fix typo in g77 info files tweaking
2045- fix libgcj.so symlink
2046
2047* Thu May  9 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.28
2048- update to CVS 3.1 branch
2049  - PR c++/6212, target/6429, opt/6534, c/6543, target/6561, c/6569
2050- fix x86_64 q_regs_operand (Jan Hubicka)
2051- better PR c++/6381 fix (Jason Merrill)
2052
2053* Fri May  3 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.27
2054- update to CVS 3.1 branch
2055  - PR target/5628, libstdc++/5820, c++/6396, preprocessor/6489,
2056    libstdc++/6501, libstdc++/6511, target/6512, libstdc++/6513,
2057    bootstrap/6514, opt/6516, bootstrap/6525, c++/6527, libstdc++/6533,
2058    target/6540
2059- fix PR target/6542, target/6522, libstdc++/6549
2060
2061* Mon Apr 29 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.26
2062- update to CVS 3.1 branch
2063  - PR c/3581, libstdc++/4150, libstdc++/4164, c/5154, c/5430, c++/5504,
2064    c++/5658, c++/5719, f/6138, libgcj/6158, middle-end/6205, c++/6256,
2065    c/6300, c++/6331, c/6343, c/6344, c++/6352, c/6358, libstdc++/6360,
2066    c++/6395, target/6413, libstdc++/6414, target/6422, bootstrap/6445,
2067    optimization/6475, target/6476, c++/6477, c++/6479, c++/6486, c++/6492,
2068    target/6494, target/6496, c/6497, target/6500
2069- fix PR c++/6396
2070- run make check as part of build process
2071
2072* Thu Apr 18 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.25
2073- update to CVS 3.1 branch
2074  - PR opt/420, c++/525, target/817, target/1538, opt/3967, target/3997,
2075    opt/4120, bootstrap/4191, opt/4311, optimization/4328, c++/4884, c++/4934,
2076    c/5078, c++/5104, opt/5120, c++/5189, c++/5373, target/5446, c/5484,
2077    c++/5507, c++/5571, c++/5636, target/5672, target/5715, target/5886,
2078    c++/5933, c++/5964, c++/5998, opt/6007, target/6032, target/6041,
2079    target/6054, c++/6073, target/6082, optimization/6086, target/6087,
2080    middle-end/6096, middle-end/6098, middle-end/6099, middle-end/6100,
2081    middle-end/6102, fortran/6106, c++/6119, opt/6165, optimization/6177,
2082    c++/6179, optimization/6189, c/6202, c/6223, optimization/6233,
2083    middle-end/6279, c/6290, optimization/6305, target/6305, bootstrap/6315,
2084    c++/6320...
2085- fix PR c++/6316
2086
2087* Wed Mar 27 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.24
2088- update to CVS 3.1 branch
2089  - PRs c/5656, c/5972, bootstrap/4192, target/4792, bootstrap/4195,
2090    optimization/5854, target/6043, c++/6037, bootstrap/4128, target/5740,
2091    c/5597, optimization/5863, optimization/5742, target/3177, c/5354,
2092    optimization/5999, target/5977, middle-end/5731, target/5312...
2093
2094* Fri Mar 15 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.23.1
2095- fix info and man page generation
2096
2097* Thu Mar 14 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.23
2098- update to CVS 3.1 branch
2099  - fix IA-64 packet selection (PR optimization/5892)
2100  - make highest_pow2_factor work for all constants (PR middle-end/5877)
2101  - fix -Wunused (#61047)
2102  - fix loop on mixed mode class assignments (#60923)
2103  - fix wide character literals
2104  - support SPARC v9 long distance branches (PR target/5626)
2105  - fix SPARC leaf functions
2106  - fix a rtl sharing problem (Richard Henderson, #60760,
2107    PR optimization/5844)
2108  - fix va_arg with variable size types (PR c/3711)
2109  - PRs optimization/5901, optimization/5878, 5693, preprocessor/5899
2110- fix C++ ?: at the end of stmt expr (PR c++/5373)
2111- fix loop unrolling with sibcalls (PR optimization/5891)
2112
2113* Thu Mar  7 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.22
2114- update to CVS 3.1 branch
2115  - fix ICE with volatile long long (#60650)
2116  - fix tempbuf.h (Philipp Thomas, #60212)
2117  - fix -fssa-ccp (Jeff Law, #60651)
2118  - versioned libstdc++
2119  - backport __attribute__((visibility("..."))) patches from trunk
2120- include libstdc++ html documentation
2121
2122* Tue Feb  5 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.21
2123- update to CVS HEAD
2124  - fix demangler (H.J. Lu, #59300, #59310)
2125  - fix typo in IA-32 specs file (#59081)
2126  - support moving SFmode values in MMX regs if -mmmx (#59083)
2127  - fix recog_for_combine (#59084)
2128  - don't ICE when inserting insns on edge from bb0 to bb0 (Bernd Schmidt,
2129    #59087)
2130  - make sure configure has not time in the future (#59203)
2131  - fix division/modulo by certain constants (#58065, PR c/5304)
2132  - fix -Wswitch (PR c/4475)
2133
2134* Thu Jan 31 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.20
2135- update to CVS HEAD
2136  - fix jar (Tom Tromey)
2137  - fix loop unrolling (Richard Henderson)
2138
2139* Wed Jan 30 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.19
2140- update to CVS HEAD
2141  - fix a reload bug on ia32 (#58579, #58648)
2142  - issue error about unknown -W* options (#58909)
2143  - fix ia64 libbfd miscompilation (#58694)
2144  - register all pending unparsed_text structures with GC (#58647)
2145  - fix __builtin_apply with ia32 -msse (#58447)
2146  - prevent ia64 prologue insns saving regs required for eh from being
2147    deleted (#58387)
2148
2149* Tue Jan 15 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.18
2150- update to CVS HEAD
2151  - handle static x[] = { [X...Y] = (foo) { Z } } (#58338)
2152  - fix getdents.os miscompilation (Richard Henderson, #58308)
2153  - fix ICE in try_forward_edges (#58125)
2154  - fix ICE with -fexceptions -foptimize-sibling-calls
2155
2156* Tue Jan  8 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.17
2157- avoid division by 0 when computing prediction probabilities (#57992)
2158- fix ICE due to store_expr not adjusting value back for mode
2159- increase -ftemplate-depth default value to 500
2160
2161* Mon Jan  7 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.16
2162- if using PT_GNU_EH_FRAME registry, work around assembler bug resp. feature
2163  and don't provide weak prototypes of functions which won't be used
2164- on Alpha, fix a typo so that crtbeginT.o is built and installed
2165- fix glibc inl-tester miscompilation on ia32
2166
2167* Sun Jan  6 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.15
2168- update to CVS HEAD (fix glibc bootstrap failure)
2169
2170* Thu Jan  3 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.14
2171- update to CVS HEAD (#57907)
2172  - fix alpha bootstrap (Richard Henderson)
2173- fix simplification of (div:SI (???:DI ???) (const_int 1))
2174  (#57916)
2175- add contrib/gcc_update --touch
2176
2177* Tue Jan  1 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.13
2178- update to CVS HEAD (fix glibc miscompilation on alpha)
2179- fix objc to not emit __objc_class_name_* without type and size
2180
2181* Mon Dec 31 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.12
2182- update to CVS HEAD
2183- fix sed commands for .la files
2184- make Alpha use PT_GNU_EH_FRAME
2185
2186* Thu Dec 27 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.11
2187- update to CVS HEAD (#57165, #57212, #57467, #57488, #57502,
2188  #57505, #57574)
2189- readd .la files after fixing them up by sed
2190- add %%defattr(-,root,root) to libobjc subpackage
2191
2192* Mon Dec  3 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.10
2193- one more gcc.spec fix for passing --gdwarf-2 resp. --gstabs to as
2194- fix conditional register dead computation on IA-64
2195- fix extern array of incomplete structures handling
2196- fix gcc -xc -
2197- fix Fortran ICEs with SAVE_EXPRs (Richard Kenner)
2198
2199* Tue Nov 27 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.9
2200- update to CVS HEAD
2201- make DWARF 2 preferred debugging format on Linux
2202
2203* Mon Nov 12 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.8
2204- don't ship .la files (#56072)
2205- include libfrtbegin.a (#56098)
2206
2207* Mon Nov 12 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.7
2208- update to CVS HEAD
2209- back out Nov 7th loop.c change for now
2210
2211* Fri Nov  9 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.6
2212- update to CVS HEAD
2213- frame unwind compatibility with 7.[12] binutils
2214
2215* Tue Nov  6 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.5
2216- update to CVS HEAD
2217- merge DW_EH_PE_indirect constants and their relocs
2218
2219* Thu Oct 25 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.4
2220- don't loop forever or ICE on bogus array initializers (#53704)
2221- fix store motion with pure calls
2222- disable store motion for now
2223
2224* Tue Oct 23 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.3
2225- fix inlining of C nested functions with auto prototypes
2226
2227* Mon Oct 22 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.2
2228- update to CVS HEAD
2229- tree inlining fix from Alexandre Oliva
2230- fix anonymous union ICE on alpha
2231
2232* Mon Oct 15 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.1
2233- switch package to main compiler from alternate compiler
2234- update to CVS HEAD
2235- early gcc-2.96-RH compatibility in __frame_state_for
2236- change weak function tests for functions always present in GLIBC 2.2
2237  into simple non-weak calls in crt*.o to avoid unnecessary symbol
2238  lookups and prelink conflicts
2239- don't link against libgcc_s C shared libraries
2240
2241* Tue Oct  2 2001 Jakub Jelinek <jakub@redhat.com> 3.0.1-4
2242- update from CVS 3.0 branch
2243  - ia64 function descriptors in vtables
2244- handle large files in Fortran (#53328)
2245- allow Java programs to be statically linked (#53605)
2246- remove #include_next patch, Benjamin commited it
2247
2248* Thu Sep  6 2001 Jakub Jelinek <jakub@redhat.com> 3.0.1-3
2249- don't use #include_next in <bits/std_c*> headers (Benjamin Kosnik, #53262)
2250
2251* Wed Sep  5 2001 Jakub Jelinek <jakub@redhat.com> 3.0.1-2
2252- update from CVS 3.0 branch
2253- check all gcc-2.96-RH patches whether they have made it into 3.0.1,
2254  and if not, whether they are appropriate for 3.0.1
2255- 8 new patches
2256  - add 36 testcases from gcc-2.96-RH
2257  - fix ICE on very questionable C++ code from JDK (#39858, #52960)
2258  - fix -frepo (Nathan Sidwell, #52877)
2259  - avoid generating bogus .stabs (#49214)
2260  - issue a clear error message about invalid ia32 floating point
2261    asm constraints (#27137)
2262  - fix some comment typos
2263  - fix ADDRESSOF recognition (#29686)
2264
2265* Mon Aug 27 2001 Jakub Jelinek <jakub@redhat.com> 3.0.1-1
2266- update from CVS (3.0.1 final)
2267- properly handle throw() exception specifiers in template decls (#51824)
2268- fix IA-64 varargs handling in presence of additional anonymous arguments
2269  (#50757)
2270- fix boehm-gc for prelink
2271- fix a typo in gcc3-c++ description (#52323)
2272- remove Chill from package summary (#51764)
2273
2274* Tue Aug  7 2001 Jakub Jelinek <jakub@redhat.com> 3.0-6
2275- update from CVS
2276  - fix glibc vfprintf miscompilation
2277- don't warn about if (&foo) if foo is weak (H.J.Lu, #50855)
2278
2279* Wed Jul 25 2001 Jakub Jelinek <jakub@redhat.com> 3.0-5
2280- include libgcjgc.a in libgcj3-devel
2281- include libgcjgc.so.* in libgcj3 on ia64
2282- remove dependency on libgcj on ia64
2283- add ldconfig to libgcj3 post/postun
2284
2285* Tue Jul 24 2001 Jakub Jelinek <jakub@redhat.com> 3.0-4
2286- update from CVS
2287- make gcc3-java/libgcj3* packages, so that they can coexist
2288  with 2.96-RH Java
2289- make sure shared Java libraries are built with proper dependencies
2290
2291* Wed Jul 11 2001 Jakub Jelinek <jakub@redhat.com> 3.0-3
2292- fix libgcc_s.so and libstdc++.so symlinks
2293- don't ship jar
2294
2295* Tue Jul 10 2001 Jakub Jelinek <jakub@redhat.com> 3.0-2
2296- move libstdc++.so into gcc-lib
2297- add libobjc.so symlink
2298
2299* Tue Jul 10 2001 Jakub Jelinek <jakub@redhat.com> 3.0-1
2300- new rpm
Note: See TracBrowser for help on using the repository browser.