gcc/gcc43.spec

2008 lines
75 KiB
RPMSpec
Raw Normal View History

2008-09-17 21:48:16 +00:00
%define DATE 20080917
%define SVNREV 140410
2008-08-29 11:35:32 +00:00
%define gcc_version 4.3.2
2008-09-05 08:43:54 +00:00
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
2008-09-17 21:48:16 +00:00
%define gcc_release 4
2007-12-12 20:33:17 +00:00
%define _unpackaged_files_terminate_build 0
%define multilib_64_archs sparc64 ppc64 s390x x86_64
%define include_gappletviewer 1
%ifarch %{ix86} x86_64 ia64 ppc alpha
%define build_ada 1
%else
%define build_ada 0
%endif
%define build_java 1
# If you don't have already a usable gcc-java and libgcj for your arch,
# do on some arch which has it rpmbuild -bc --with java_tar gcc41.spec
# which creates libjava-classes-%{version}-%{release}.tar.bz2
# With this then on the new arch do rpmbuild -ba -v --with java_bootstrap gcc41.spec
%define bootstrap_java %{?_with_java_bootstrap:%{build_java}}%{!?_with_java_bootstrap:0}
%define build_java_tar %{?_with_java_tar:%{build_java}}%{!?_with_java_tar:0}
%ifarch s390x
%define multilib_32_arch s390
%endif
%ifarch sparc64
2008-06-09 11:42:57 +00:00
%define multilib_32_arch sparcv9
2007-12-12 20:33:17 +00:00
%endif
%ifarch ppc64
%define multilib_32_arch ppc
%endif
%ifarch x86_64
%define multilib_32_arch i386
%endif
Summary: Various compilers (C, C++, Objective-C, Java, ...)
Name: gcc
Version: %{gcc_version}
Release: %{gcc_release}
# libgcc, libgfortran, libmudflap and crtstuff have an exception which allows
# linking it into any kind of programs or shared libraries without
# restrictions.
License: GPLv3+ and GPLv2+ with exceptions
Group: Development/Languages
2008-09-05 08:43:54 +00:00
# The source for this package was pulled from upstream's vcs. Use the
# following commands to generate the tarball:
# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-4_3-branch@%{SVNREV} gcc-%{version}-%{DATE}
# tar cf - gcc-%{version}-%{DATE} | bzip2 -9 > gcc-%{version}-%{DATE}.tar.bz2
2007-12-12 20:33:17 +00:00
Source0: gcc-%{version}-%{DATE}.tar.bz2
Source1: libgcc_post_upgrade.c
Source2: README.libgcjwebplugin.so
Source3: protoize.1
2007-12-14 18:00:42 +00:00
%define fastjar_ver 0.95
Source4: http://download.savannah.nongnu.org/releases/fastjar/fastjar-%{fastjar_ver}.tar.gz
2007-12-12 20:33:17 +00:00
URL: http://gcc.gnu.org
2008-09-05 22:15:57 +00:00
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
2007-12-12 20:33:17 +00:00
# Need binutils with -pie support >= 2.14.90.0.4-4
# Need binutils which can omit dot symbols and overlap .opd on ppc64 >= 2.15.91.0.2-4
# Need binutils which handle -msecure-plt on ppc >= 2.16.91.0.2-2
# Need binutils which support .weakref >= 2.16.91.0.3-1
# Need binutils which support --hash-style=gnu >= 2.17.50.0.2-7
# Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8
# Need binutils which support --build-id >= 2.17.50.0.17-3
BuildRequires: binutils >= 2.17.50.0.17-3
BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo, sharutils
%if %{build_java}
2007-12-20 23:31:03 +00:00
BuildRequires: /usr/share/java/eclipse-ecj.jar, zip, unzip
2007-12-12 20:33:17 +00:00
%if %{bootstrap_java}
Source10: libjava-classes-%{version}-%{release}.tar.bz2
%else
BuildRequires: gcc-java, libgcj
%endif
%endif
# Make sure pthread.h doesn't contain __thread tokens
# Make sure glibc supports stack protector
# Make sure glibc supports DT_GNU_HASH
BuildRequires: glibc-devel >= 2.4.90-13
BuildRequires: elfutils-devel >= 0.72
%ifarch ppc ppc64 s390 s390x sparc sparcv9 alpha
# Make sure glibc supports TFmode long double
BuildRequires: glibc >= 2.3.90-35
%endif
2008-06-09 11:42:57 +00:00
%ifarch %{multilib_64_archs} sparcv9 ppc
2007-12-12 20:33:17 +00:00
# Ensure glibc{,-devel} is installed for both multilib arches
BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
%endif
%if %{build_ada}
# Ada requires Ada to build
BuildRequires: gcc-gnat >= 3.1, libgnat >= 3.1
%endif
%ifarch ia64
BuildRequires: libunwind >= 0.98
%endif
Requires: cpp = %{version}-%{release}
# Need .eh_frame ld optimizations
# Need proper visibility support
# Need -pie support
# Need --as-needed/--no-as-needed support
# On ppc64, need omit dot symbols support and --non-overlapping-opd
# Need binutils that owns /usr/bin/c++filt
# Need binutils that support .weakref
# Need binutils that supports --hash-style=gnu
# Need binutils that support mffgpr/mftgpr
# Need binutils that support --build-id
Requires: binutils >= 2.17.50.0.17-3
# Make sure gdb will understand DW_FORM_strp
Conflicts: gdb < 5.1-2
Requires: glibc-devel >= 2.2.90-12
%ifarch ppc ppc64 s390 s390x sparc sparcv9 alpha
# Make sure glibc supports TFmode long double
Requires: glibc >= 2.3.90-35
%endif
Requires: libgcc >= %{version}-%{release}
Requires: libgomp = %{version}-%{release}
2008-09-05 08:43:54 +00:00
#Obsoletes: gcc3
#Obsoletes: egcs
2007-12-12 20:33:17 +00:00
%ifarch sparc
2008-09-05 08:43:54 +00:00
#Obsoletes: gcc-sparc32
#Obsoletes: gcc-c++-sparc32
2007-12-12 20:33:17 +00:00
%endif
%ifarch ppc
2008-09-05 08:43:54 +00:00
#Obsoletes: gcc-ppc32
#Obsoletes: gcc-c++-ppc32
2007-12-12 20:33:17 +00:00
%endif
2008-09-05 08:43:54 +00:00
#Obsoletes: gcc-chill
2007-12-12 20:33:17 +00:00
%if !%{build_ada}
Obsoletes: gcc-gnat < %{version}-%{release}
Obsoletes: libgnat < %{version}-%{release}
%endif
%ifarch sparc sparc64
2008-09-05 08:43:54 +00:00
#Obsoletes: egcs64
2007-12-12 20:33:17 +00:00
%endif
2008-09-05 08:43:54 +00:00
#Obsoletes: gcc34
#Obsoletes: gcc35
#Obsoletes: gcc4
2007-12-12 20:33:17 +00:00
Prereq: /sbin/install-info
AutoReq: true
Patch1: gcc43-build-id.patch
Patch2: gcc43-c++-builtin-redecl.patch
Patch3: gcc43-ia64-libunwind.patch
Patch4: gcc43-java-nomulti.patch
Patch5: gcc43-ppc32-retaddr.patch
Patch6: gcc43-ppc64-ia64-GNU-stack.patch
Patch7: gcc43-pr27898.patch
Patch8: gcc43-pr32139.patch
Patch9: gcc43-pr33763.patch
2008-01-10 21:09:13 +00:00
Patch10: gcc43-rh330771.patch
Patch11: gcc43-rh341221.patch
2008-06-09 11:42:57 +00:00
Patch12: gcc43-java-debug-iface-type.patch
Patch13: gcc43-i386-libgomp.patch
Patch14: gcc43-rh251682.patch
Patch15: gcc43-sparc-config-detection.patch
Patch16: gcc43-libgomp-omp_h-multilib.patch
2008-09-05 08:43:54 +00:00
Patch17: gcc43-x86_64-va_start.patch
Patch18: gcc43-pr37189.patch
2008-09-05 22:15:57 +00:00
Patch19: gcc43-altivec-tests.patch
Patch20: gcc43-libtool-no-rpath.patch
2008-09-17 21:48:16 +00:00
Patch21: gcc43-pr36741-revert.patch
Patch22: gcc43-pr34037.patch
2007-12-12 20:33:17 +00:00
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
%ifnarch %{arm}
%define _gnu %{nil}
%endif
2008-06-09 11:42:57 +00:00
%ifarch sparcv9
2007-12-12 20:33:17 +00:00
%define gcc_target_platform sparc64-%{_vendor}-%{_target_os}
%endif
%ifarch ppc
%define gcc_target_platform ppc64-%{_vendor}-%{_target_os}
%endif
2008-06-09 11:42:57 +00:00
%ifnarch sparcv9 ppc
2007-12-12 20:33:17 +00:00
%define gcc_target_platform %{_target_platform}
%endif
%description
The gcc package contains the GNU Compiler Collection version 4.3.
You'll need this package in order to compile C code.
%package -n libgcc
Summary: GCC version 4.3 shared support library
Group: System Environment/Libraries
Autoreq: false
%description -n libgcc
This package contains GCC shared support library which is needed
e.g. for exception handling support.
%package c++
Summary: C++ support for GCC
Group: Development/Languages
Requires: gcc = %{version}-%{release}
Requires: libstdc++ = %{version}-%{release}
Requires: libstdc++-devel = %{version}-%{release}
2008-09-05 08:43:54 +00:00
#Obsoletes: gcc3-c++
#Obsoletes: gcc34-c++
#Obsoletes: gcc35-c++
#Obsoletes: gcc4-c++
2007-12-12 20:33:17 +00:00
Autoreq: true
%description c++
This package adds C++ support to the GNU Compiler Collection.
It includes support for most of the current C++ specification,
including templates and exception handling.
%package -n libstdc++
Summary: GNU Standard C++ Library
Group: System Environment/Libraries
2008-09-05 08:43:54 +00:00
#Obsoletes: libstdc++3
#Obsoletes: libstdc++34
2007-12-12 20:33:17 +00:00
Autoreq: true
%description -n libstdc++
The libstdc++ package contains a rewritten standard compliant GCC Standard
C++ Library.
%package -n libstdc++-devel
Summary: Header files and libraries for C++ development
Group: Development/Libraries
Requires: libstdc++ = %{version}-%{release}, %{_prefix}/%{_lib}/libstdc++.so.6
2008-09-05 08:43:54 +00:00
#Obsoletes: libstdc++3-devel
#Obsoletes: libstdc++34-devel
2007-12-12 20:33:17 +00:00
Autoreq: true
%description -n libstdc++-devel
This is the GNU implementation of the standard C++ libraries. This
package includes the header files and libraries needed for C++
development. This includes rewritten implementation of STL.
%package objc
Summary: Objective-C support for GCC
Group: Development/Languages
Requires: gcc = %{version}-%{release}
Requires: libobjc = %{version}-%{release}
2008-09-05 08:43:54 +00:00
#Obsoletes: gcc3-objc
2007-12-12 20:33:17 +00:00
Autoreq: true
%description objc
gcc-objc provides Objective-C support for the GCC.
Mainly used on systems running NeXTSTEP, Objective-C is an
object-oriented derivative of the C language.
%package objc++
Summary: Objective-C++ support for GCC
Group: Development/Languages
Requires: gcc-c++ = %{version}-%{release}, gcc-objc = %{version}-%{release}
Autoreq: true
%description objc++
gcc-objc++ package provides Objective-C++ support for the GCC.
%package -n libobjc
Summary: Objective-C runtime
Group: System Environment/Libraries
Autoreq: true
%description -n libobjc
This package contains Objective-C shared library which is needed to run
Objective-C dynamically linked programs.
%package gfortran
Summary: Fortran 95 support
Group: Development/Languages
Requires: gcc = %{version}-%{release}
Requires: libgfortran = %{version}-%{release}
BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1
Prereq: /sbin/install-info
2008-09-05 08:43:54 +00:00
#Obsoletes: gcc3-g77
#Obsoletes: gcc-g77
#Obsoletes: gcc4-gfortran
2007-12-12 20:33:17 +00:00
Autoreq: true
%description gfortran
The gcc-gfortran package provides support for compiling Fortran 95
programs with the GNU Compiler Collection.
%package -n libgfortran
Summary: Fortran 95 runtime
Group: System Environment/Libraries
2008-09-05 08:43:54 +00:00
#Obsoletes: libf2c
2007-12-12 20:33:17 +00:00
Autoreq: true
%description -n libgfortran
This package contains Fortran 95 shared library which is needed to run
Fortran 95 dynamically linked programs.
%package -n libgomp
2008-08-25 12:56:48 +00:00
Summary: GCC OpenMP v3.0 shared support library
2007-12-12 20:33:17 +00:00
Group: System Environment/Libraries
2008-03-26 19:56:57 +00:00
Prereq: /sbin/install-info
2007-12-12 20:33:17 +00:00
%description -n libgomp
This package contains GCC shared support library which is needed
2008-08-25 12:56:48 +00:00
for OpenMP v3.0 support.
2007-12-12 20:33:17 +00:00
%package -n libmudflap
Summary: GCC mudflap shared support library
Group: System Environment/Libraries
%description -n libmudflap
This package contains GCC shared support library which is needed
for mudflap support.
%package -n libmudflap-devel
Summary: GCC mudflap support
Group: Development/Libraries
Requires: libmudflap = %{version}-%{release}
Requires: gcc = %{version}-%{release}
%description -n libmudflap-devel
This package contains headers and static libraries for building
mudflap-instrumented programs.
To instrument a non-threaded program, add -fmudflap
option to GCC and when linking add -lmudflap, for threaded programs
also add -fmudflapth and -lmudflapth.
%package java
Summary: Java support for GCC
Group: Development/Languages
Requires: gcc = %{version}-%{release}
Requires: libgcj = %{version}-%{release}
Requires: libgcj-devel = %{version}-%{release}
Requires: /usr/share/java/eclipse-ecj.jar
2008-09-05 08:43:54 +00:00
#Obsoletes: gcc3-java
#Obsoletes: gcc34-java
#Obsoletes: gcc35-java
#Obsoletes: gcc4-java
2007-12-12 20:33:17 +00:00
Prereq: /sbin/install-info
Autoreq: true
%description java
This package adds support for compiling Java(tm) programs and
bytecode into native code.
%package -n libgcj
Summary: Java runtime library for gcc
Group: System Environment/Libraries
Prereq: /sbin/install-info
Requires: zip >= 2.1
Requires: gtk2 >= 2.4.0
Requires: glib2 >= 2.4.0
Requires: libart_lgpl >= 2.1.0
%if %{build_java}
BuildRequires: gtk2-devel >= 2.4.0
BuildRequires: glib2-devel >= 2.4.0
2007-12-20 17:17:48 +00:00
BuildRequires: xulrunner-devel
2007-12-12 20:33:17 +00:00
BuildRequires: libart_lgpl-devel >= 2.1.0
BuildRequires: alsa-lib-devel
BuildRequires: libXtst-devel
BuildRequires: libXt-devel
%endif
2008-09-05 08:43:54 +00:00
#Obsoletes: gcc-libgcj
#Obsoletes: libgcj3
#Obsoletes: libgcj34
#Obsoletes: libgcj4
2007-12-12 20:33:17 +00:00
Autoreq: true
%description -n libgcj
The Java(tm) runtime library. You will need this package to run your Java
programs compiled using the Java compiler from GNU Compiler Collection (gcj).
%package -n libgcj-devel
Summary: Libraries for Java development using GCC
Group: Development/Languages
Requires: libgcj = %{version}-%{release}, %{_prefix}/%{_lib}/libgcj.so.9
Requires: zlib-devel, %{_prefix}/%{_lib}/libz.so
Requires: /bin/awk
2008-09-05 08:43:54 +00:00
#Obsoletes: libgcj3-devel
#Obsoletes: libgcj34-devel
#Obsoletes: libgcj4-devel
2007-12-12 20:33:17 +00:00
Autoreq: false
Autoprov: false
%description -n libgcj-devel
The Java(tm) static libraries and C header files. You will need this
package to compile your Java programs using the GCC Java compiler (gcj).
%package -n libgcj-src
Summary: Java library sources from GCC4 preview
Group: System Environment/Libraries
Requires: libgcj = %{version}-%{release}
2008-09-05 08:43:54 +00:00
#Obsoletes: libgcj4-src
2007-12-12 20:33:17 +00:00
Autoreq: true
%description -n libgcj-src
The Java(tm) runtime library sources for use in Eclipse.
%package -n cpp
2008-09-17 21:48:16 +00:00
Summary: The C Preprocessor
2007-12-12 20:33:17 +00:00
Group: Development/Languages
Prereq: /sbin/install-info
%ifarch ia64
2008-09-05 08:43:54 +00:00
#Obsoletes: gnupro
2007-12-12 20:33:17 +00:00
%endif
Autoreq: true
%description -n cpp
Cpp is the GNU C-Compatible Compiler Preprocessor.
Cpp is a macro processor which is used automatically
by the C compiler to transform your program before actual
compilation. It is called a macro processor because it allows
you to define macros, abbreviations for longer
constructs.
The C preprocessor provides four separate functionalities: the
inclusion of header files (files of declarations that can be
substituted into your program); macro expansion (you can define macros,
and the C preprocessor will replace the macros with their definitions
throughout the program); conditional compilation (using special
preprocessing directives, you can include or exclude parts of the
program according to various conditions); and line control (if you use
a program to combine or rearrange source files into an intermediate
file which is then compiled, you can use line control to inform the
compiler about where each source line originated).
You should install this package if you are a C programmer and you use
macros.
%package gnat
Summary: Ada 95 support for GCC
Group: Development/Languages
Requires: gcc = %{version}-%{release}, libgnat = %{version}-%{release}
2008-09-05 08:43:54 +00:00
#Obsoletes: gnat-devel, gcc3-gnat
2007-12-12 20:33:17 +00:00
Prereq: /sbin/install-info
Autoreq: true
%description gnat
GNAT is a GNU Ada 95 front-end to GCC. This package includes development tools,
the documents and Ada 95 compiler.
%package -n libgnat
Summary: GNU Ada 95 runtime shared libraries
Group: System Environment/Libraries
2008-09-05 08:43:54 +00:00
#Obsoletes: gnat libgnat3
2007-12-12 20:33:17 +00:00
Autoreq: true
%description -n libgnat
GNAT is a GNU Ada 95 front-end to GCC. This package includes shared libraries,
which are required to run programs compiled with the GNAT.
%prep
%setup -q -n gcc-%{version}-%{DATE}
%patch1 -p0 -b .build-id~
%patch2 -p0 -b .c++-builtin-redecl~
%patch3 -p0 -b .ia64-libunwind~
%patch4 -p0 -b .java-nomulti~
%patch5 -p0 -b .ppc32-retaddr~
%patch6 -p0 -b .ppc64-ia64-GNU-stack~
%patch7 -p0 -b .pr27898~
%patch8 -p0 -b .pr32139~
%patch9 -p0 -b .pr33763~
2008-01-10 21:09:13 +00:00
%patch10 -p0 -b .rh330771~
%patch11 -p0 -b .rh341221~
2008-06-09 11:42:57 +00:00
%patch12 -p0 -b .java-debug-iface-type~
%patch13 -p0 -b .i386-libgomp~
%patch14 -p0 -b .rh251682~
%patch15 -p0 -b .sparc-config-detection~
%patch16 -p0 -b .libgomp-omp_h-multilib~
2008-09-05 08:43:54 +00:00
%patch17 -p0 -b .x86_64-va_start~
%patch18 -p0 -b .pr37189~
2008-09-05 22:15:57 +00:00
%patch19 -p0 -b .altivec-tests~
%patch20 -p0 -b .libtool-no-rpath~
2008-09-17 21:48:16 +00:00
%patch21 -p0 -b .pr36741-revert~
%patch22 -p0 -b .pr34037~
2007-12-14 18:00:42 +00:00
tar xzf %{SOURCE4}
2007-12-12 20:33:17 +00:00
%if %{bootstrap_java}
tar xjf %{SOURCE10}
%endif
2008-08-29 11:35:32 +00:00
sed -i -e 's/4\.3\.3/4.3.2/' gcc/BASE-VER
2007-12-14 18:00:42 +00:00
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
2007-12-12 20:33:17 +00:00
cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
# Hack to avoid building multilib libjava
perl -pi -e 's/^all: all-redirect/ifeq (\$(MULTISUBDIR),)\nall: all-redirect\nelse\nall:\n\techo Multilib libjava build disabled\nendif/' libjava/Makefile.in
perl -pi -e 's/^install: install-redirect/ifeq (\$(MULTISUBDIR),)\ninstall: install-redirect\nelse\ninstall:\n\techo Multilib libjava install disabled\nendif/' libjava/Makefile.in
perl -pi -e 's/^check: check-redirect/ifeq (\$(MULTISUBDIR),)\ncheck: check-redirect\nelse\ncheck:\n\techo Multilib libjava check disabled\nendif/' libjava/Makefile.in
perl -pi -e 's/^all: all-recursive/ifeq (\$(MULTISUBDIR),)\nall: all-recursive\nelse\nall:\n\techo Multilib libjava build disabled\nendif/' libjava/Makefile.in
perl -pi -e 's/^install: install-recursive/ifeq (\$(MULTISUBDIR),)\ninstall: install-recursive\nelse\ninstall:\n\techo Multilib libjava install disabled\nendif/' libjava/Makefile.in
perl -pi -e 's/^check: check-recursive/ifeq (\$(MULTISUBDIR),)\ncheck: check-recursive\nelse\ncheck:\n\techo Multilib libjava check disabled\nendif/' libjava/Makefile.in
./contrib/gcc_update --touch
2008-09-05 08:43:54 +00:00
# To make rpmlint happy (argh), fix up names in ChangeLog entries to valid UTF-8
LC_ALL=C sed -i \
-e 's/D\(o\|\xf6\)nmez/D\xc3\xb6nmez/' \
-e 's/\(Av\|\x81\xc1v\|\xc1v\|\xef\xbf\xbdv\?\|\x81\xc3\x81v\|\xc3v\)ila/\xc3\x81vila/' \
2008-09-17 21:48:16 +00:00
-e 's/Esp\(in\|\x81\xedn\|\xedn\|\xef\xbf\xbdn\?\|\xef\xbf\xbd\xadn\|\x81\xc3\xadn\|\xc3\xef\xbf\xbd\xadn\)dola/Esp\xc3\xadndola/' \
2008-09-05 08:43:54 +00:00
-e 's/Schl\(u\|\xef\xbf\xbd\|\xfcu\?\|\x81\xfc\|\x81\xc3\xbc\|\xc3\xaf\xc2\xbf\xc2\xbd\|\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xc2\xbc\)ter/Schl\xc3\xbcter/' \
-e 's/Humi\(e\|\xe8\)res/Humi\xc3\xa8res/' \
-e 's/L\(ow\|\xc3\xaf\xc2\xbf\xc2\xbd\|oew\|\xf6w\)is/L\xc3\xb6wis/' \
-e 's/G\xfctlein/G\xc3\xbctlein/' \
-e 's/G\xe1[b]or/G\xc3\xa1bor/' \
-e 's/L\xf3ki/L\xc3\xb3ki/' \
-e 's/Fautr\xc3 /Fautr\xc3\xa9 /' \
-e 's/S\xe9[b]astian/S\xc3\xa9bastian/' \
-e 's/Th\xef\xbf\xbd[d]ore/Th\xc3\xa9odore/' \
-e 's/Cors\xc3\xc2\xa9pius/Cors\xc3\xa9pius/' \
-e 's/K\xfchl/K\xc3\xbchl/' \
-e 's/R\xf6nnerup/R\xc3\xb6nnerup/' \
-e 's/L\xf8vset/L\xc3\xb8vset/' \
-e 's/Ph\x81\xfb\x81\xf4ng-Th\x81\xe5o/Ph\xc3\xbb\xc3\xb4ng-Th\xc3\xa5o/' \
-e 's/V\x81\xf5/V\xc3\xb5/' \
-e 's/J\xf6nsson/J\xc3\xb6nsson/' \
-e 's/V\xef\xbf\xbdis\xef\xbf\xbdnen/V\xc3\xa4is\xc3\xa4nen/' \
-e 's/J\xef\xbf\xbdrg/J\xc3\xb6rg/' \
-e 's/M\xef\xbf\xbdsli/M\xc3\xb6sli/' \
-e 's/R\xe4ty/R\xc3\xa4ty/' \
-e 's/2003\xc2\xad-/2003-/' \
-e 's/\xc2\xa0/ /g' \
-e 's/ \xa0/ /g' \
-e 's/\xa0 //' \
`find . -name \*ChangeLog\*`
LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi
2007-12-12 20:33:17 +00:00
%ifarch ppc
2008-03-01 00:15:53 +00:00
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{,64/}baseline_symbols.txt
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/{32/,}baseline_symbols.txt
rm -rf libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32
2007-12-12 20:33:17 +00:00
fi
%endif
%ifarch sparc
2008-03-01 00:15:53 +00:00
if [ -d libstdc++-v3/config/abi/post/sparc64-linux-gnu ]; then
mkdir -p libstdc++-v3/config/abi/post/sparc64-linux-gnu/64
mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{,64/}baseline_symbols.txt
mv libstdc++-v3/config/abi/post/sparc64-linux-gnu/{32/,}baseline_symbols.txt
rm -rf libstdc++-v3/config/abi/post/sparc64-linux-gnu/32
2007-12-12 20:33:17 +00:00
fi
%endif
%build
2007-12-14 18:00:42 +00:00
%if %{build_java}
# gjar isn't usable, so even when GCC source tree no longer includes
# fastjar, build it anyway.
mkdir fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
cd fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
../configure CFLAGS="$RPM_OPT_FLAGS" --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir}
make %{?_smp_mflags}
export PATH=`pwd`${PATH:+:$PATH}
cd ../../
%endif
2007-12-12 20:33:17 +00:00
rm -fr obj-%{gcc_target_platform}
mkdir obj-%{gcc_target_platform}
cd obj-%{gcc_target_platform}
%if %{build_java}
%if !%{bootstrap_java}
# If we don't have gjavah in $PATH, try to build it with the old gij
mkdir java_hacks
cd java_hacks
if [ ! -x /usr/bin/gjavah ]; then
cp -a ../../libjava/classpath/tools/external external
mkdir -p gnu/classpath/tools
cp -a ../../libjava/classpath/tools/gnu/classpath/tools/{common,javah,getopt} gnu/classpath/tools/
cp -a ../../libjava/classpath/resource/gnu/classpath/tools/common/Messages.properties gnu/classpath/tools/common
cd external/asm; for i in `find . -name \*.java`; do gcj --encoding ISO-8859-1 -C $i -I.; done; cd ../..
for i in `find gnu -name \*.java`; do gcj -C $i -I. -Iexternal/asm/; done
gcj -findirect-dispatch -O2 -fmain=gnu.classpath.tools.javah.Main -I. -Iexternal/asm/ `find . -name \*.class` -o gjavah.real
cat > gjavah <<EOF
#!/bin/sh
export CLASSPATH=`pwd`${CLASSPATH:+:$CLASSPATH}
exec `pwd`/gjavah.real "\$@"
EOF
chmod +x `pwd`/gjavah
fi
cat > ecj1 <<EOF
#!/bin/sh
exec gij -cp /usr/share/java/eclipse-ecj.jar org.eclipse.jdt.internal.compiler.batch.GCCMain "\$@"
EOF
chmod +x `pwd`/ecj1
export PATH=`pwd`${PATH:+:$PATH}
cd ..
%endif
%endif
CC=gcc
OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g'`
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
2008-06-09 11:42:57 +00:00
%ifarch sparc
2007-12-12 20:33:17 +00:00
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'`
%endif
2008-03-27 19:28:27 +00:00
%ifarch %{ix86}
OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i386//g'`
%endif
2007-12-12 20:33:17 +00:00
%ifarch sparc64
cat > gcc64 <<"EOF"
#!/bin/sh
exec /usr/bin/gcc -m64 "$@"
EOF
chmod +x gcc64
CC=`pwd`/gcc64
%endif
%ifarch ppc64
if gcc -m64 -xc -S /dev/null -o - > /dev/null 2>&1; then
cat > gcc64 <<"EOF"
#!/bin/sh
exec /usr/bin/gcc -m64 "$@"
EOF
chmod +x gcc64
CC=`pwd`/gcc64
fi
%endif
OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'`
case "$OPT_FLAGS" in
*-fasynchronous-unwind-tables*)
sed -i -e 's/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables/' \
../gcc/Makefile.in
;;
esac
CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
GCJFLAGS="$OPT_FLAGS" \
../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap \
--enable-shared --enable-threads=posix --enable-checking=release \
--with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
%if !%{build_ada}
--enable-languages=c,c++,objc,obj-c++,java,fortran \
%else
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada \
%endif
%if !%{build_java}
--disable-libgcj \
%else
--enable-java-awt=gtk --disable-dssi --enable-plugin \
--with-java-home=%{_prefix}/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre \
--enable-libgcj-multifile --enable-java-maintainer-mode \
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar \
--disable-libjava-multilib \
%endif
%ifarch %{arm}
--disable-sjlj-exceptions \
%endif
%ifarch ppc ppc64
--enable-secureplt \
%endif
2008-06-09 11:42:57 +00:00
%ifarch sparc sparcv9 sparc64 ppc ppc64 s390 s390x alpha
2007-12-12 20:33:17 +00:00
--with-long-double-128 \
%endif
%ifarch sparc
2008-06-09 11:42:57 +00:00
--disable-linux-futex \
%endif
%ifarch sparc64
--with-cpu=ultrasparc \
%endif
%ifarch sparc sparcv9
--host=%{gcc_target_platform} --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=v7
2007-12-12 20:33:17 +00:00
%endif
%ifarch ppc
--build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32
%endif
%ifarch %{ix86} x86_64
--with-cpu=generic \
%endif
%ifarch s390 s390x
--with-tune=z9-109 \
%endif
2008-06-09 11:42:57 +00:00
%ifnarch sparc sparcv9 ppc
2007-12-12 20:33:17 +00:00
--build=%{gcc_target_platform}
%endif
GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" bootstrap
#GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" profiledbootstrap
# run the tests.
make %{?_smp_mflags} -k check RUNTESTFLAGS="ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++" || :
cd gcc
mv testsuite{,.normal}
make %{?_smp_mflags} -k \
`sed -n 's/check-ada//;s/^CHECK_TARGETS[[:blank:]]*=[[:blank:]]*//p' Makefile` \
RUNTESTFLAGS="--target_board=unix/-fstack-protector ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++" || :
mv testsuite{,.ssp}
mv testsuite{.normal,}
cd ..
echo ====================TESTING=========================
( ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
echo ====================TESTING END=====================
mkdir testlogs-%{_target_platform}-%{version}-%{release}
for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats\|ada'`; do
ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || :
done
for i in `find . -name \*.log | grep -F testsuite.ssp/ | grep -v 'config.log\|acats\|ada'`; do
ln $i testlogs-%{_target_platform}-%{version}-%{release}/ssp-`basename $i` || :
done
tar cf - testlogs-%{_target_platform}-%{version}-%{release} | bzip2 -9c \
| uuencode testlogs-%{_target_platform}.tar.bz2 || :
rm -rf testlogs-%{_target_platform}-%{version}-%{release}
# Make protoize
make -C gcc CC="./xgcc -B ./ -O2" proto
# Make generated man pages even if Pod::Man is not new enough
perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
for i in ../gcc/doc/*.texi; do
cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
done
make -C gcc generated-manpages
for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done
# Copy various doc files here and there
cd ..
mkdir -p rpm.doc/gfortran rpm.doc/objc
2007-12-14 18:00:42 +00:00
mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi rpm.doc/libjava
2007-12-12 20:33:17 +00:00
mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp}
sed -e 's,@VERSION@,%{gcc_version},' %{SOURCE2} > rpm.doc/README.libgcjwebplugin.so
for i in {gcc,gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp}/ChangeLog*; do
cp -p $i rpm.doc/changelogs/$i
done
(cd gcc/fortran; for i in ChangeLog*; do
cp -p $i ../../rpm.doc/gfortran/$i
done)
(cd libgfortran; for i in ChangeLog*; do
cp -p $i ../rpm.doc/gfortran/$i.libgfortran
done)
(cd gcc/objc; for i in README*; do
cp -p $i ../../rpm.doc/objc/$i.objc
done)
(cd libobjc; for i in README*; do
cp -p $i ../rpm.doc/objc/$i.libobjc
done)
(cd boehm-gc; for i in ChangeLog*; do
cp -p $i ../rpm.doc/boehm-gc/$i.gc
done)
2007-12-14 18:00:42 +00:00
(cd fastjar-%{fastjar_ver}; for i in ChangeLog* README*; do
cp -p $i ../rpm.doc/fastjar/$i.fastjar
done)
2007-12-12 20:33:17 +00:00
(cd libffi; for i in ChangeLog* README* LICENSE; do
cp -p $i ../rpm.doc/libffi/$i.libffi
done)
(cd libjava; for i in ChangeLog* README*; do
cp -p $i ../rpm.doc/libjava/$i.libjava
done)
cp -p libjava/LIBGCJ_LICENSE rpm.doc/libjava/
rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9]
find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9
%if %{build_java_tar}
find libjava -name \*.h -type f | xargs grep -l '// DO NOT EDIT THIS FILE - it is machine generated' > libjava-classes.list
find libjava -name \*.class -type f >> libjava-classes.list
find libjava/testsuite -name \*.jar -type f >> libjava-classes.list
tar cf - -T libjava-classes.list | bzip2 -9 > $RPM_SOURCE_DIR/libjava-classes-%{version}-%{release}.tar.bz2
%endif
%install
rm -fr $RPM_BUILD_ROOT
perl -pi -e \
's~href="l(ibstdc|atest)~href="http://gcc.gnu.org/onlinedocs/libstdc++/l\1~' \
2008-03-14 17:51:01 +00:00
libstdc++-v3/doc/html/api.html
2007-12-12 20:33:17 +00:00
cd obj-%{gcc_target_platform}
%if %{build_java}
2007-12-14 18:00:42 +00:00
export PATH=`pwd`/../fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}${PATH:+:$PATH}
2007-12-12 20:33:17 +00:00
%if !%{bootstrap_java}
export PATH=`pwd`/java_hacks${PATH:+:$PATH}
%endif
%endif
TARGET_PLATFORM=%{gcc_target_platform}
# There are some MP bugs in libstdc++ Makefiles
make -C %{gcc_target_platform}/libstdc++-v3
make prefix=$RPM_BUILD_ROOT%{_prefix} mandir=$RPM_BUILD_ROOT%{_mandir} \
infodir=$RPM_BUILD_ROOT%{_infodir} install
%if %{build_java}
make DESTDIR=$RPM_BUILD_ROOT -C %{gcc_target_platform}/libjava install-src.zip
%endif
%if %{build_ada}
chmod 644 $RPM_BUILD_ROOT%{_infodir}/gnat*
%endif
FULLPATH=$RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
FULLEPATH=$RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
# fix some things
ln -sf gcc $RPM_BUILD_ROOT%{_prefix}/bin/cc
mkdir -p $RPM_BUILD_ROOT/lib
ln -sf ..%{_prefix}/bin/cpp $RPM_BUILD_ROOT/lib/cpp
ln -sf gfortran $RPM_BUILD_ROOT%{_prefix}/bin/f95
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
gzip -9 $RPM_BUILD_ROOT%{_infodir}/*.info*
ln -sf gcc $RPM_BUILD_ROOT%{_prefix}/bin/gnatgcc
cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`"
for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
if ! diff -up $cxxconfig $i; then
cat > $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/bits/c++config.h <<EOF
#ifndef _CPP_CPPCONFIG_WRAPPER
#define _CPP_CPPCONFIG_WRAPPER 1
#include <bits/wordsize.h>
#if __WORDSIZE == 32
%ifarch %{multilib_64_archs}
`cat $(find %{gcc_target_platform}/32/libstdc++-v3/include -name c++config.h)`
%else
`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
%endif
#else
%ifarch %{multilib_64_archs}
`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
%else
`cat $(find %{gcc_target_platform}/64/libstdc++-v3/include -name c++config.h)`
%endif
#endif
#endif
EOF
break
fi
done
# Nuke bits/stdc++.h.gch dirs
# 1) there is no bits/stdc++.h header installed, so when gch file can't be
# used, compilation fails
# 2) sometimes it is hard to match the exact options used for building
# libstdc++-v3 or they aren't desirable
# 3) there are multilib issues, conflicts etc. with this
# 4) it is huge
# People can always precompile on their own whatever they want, but
# shipping this for everybody is unnecessary.
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/bits/stdc++.h.gch
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 sparc64
2007-12-12 20:33:17 +00:00
ln -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_platform}-gcc \
$RPM_BUILD_ROOT%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
%endif
%ifarch ppc ppc64
ln -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_platform}-gcc \
$RPM_BUILD_ROOT%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
%endif
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 ppc
2007-12-12 20:33:17 +00:00
FULLLPATH=$FULLPATH/lib32
%endif
%ifarch sparc64 ppc64
FULLLPATH=$FULLPATH/lib64
%endif
if [ -n "$FULLLPATH" ]; then
mkdir -p $FULLLPATH
else
FULLLPATH=$FULLPATH
fi
find $RPM_BUILD_ROOT -name \*.la | xargs rm -f
%if %{build_java}
# gcj -static doesn't work properly anyway, unless using --whole-archive
# and saving 35MB is not bad.
find $RPM_BUILD_ROOT -name libgcj.a -o -name libgtkpeer.a \
-o -name libgjsmalsa.a -o -name libgcj-tools.a -o -name libjvm.a \
-o -name libgij.a -o -name libgcj_bc.a | xargs rm -f
mv $RPM_BUILD_ROOT%{_prefix}/lib/libgcj.spec $FULLPATH/
sed -i -e 's/lib: /&%%{static:%%eJava programs cannot be linked statically}/' \
$FULLPATH/libgcj.spec
%endif
mkdir -p $RPM_BUILD_ROOT/%{_lib}
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
chmod 755 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
ln -sf libgcc_s-%{gcc_version}-%{DATE}.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.1
ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 ppc
2007-12-12 20:33:17 +00:00
ln -sf /lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so
%endif
%ifarch %{multilib_64_archs}
ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
%endif
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/
%if %{build_ada}
mv -f $FULLPATH/adalib/libgnarl-*.so $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
mv -f $FULLPATH/adalib/libgnat-*.so $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
rm -f $FULLPATH/adalib/libgnarl.so* $FULLPATH/adalib/libgnat.so*
%endif
mkdir -p $RPM_BUILD_ROOT%{_prefix}/libexec/getconf
if gcc/xgcc -B gcc/ -E -dD -xc /dev/null | grep __LONG_MAX__.*2147483647; then
ln -sf POSIX_V6_ILP32_OFF32 $RPM_BUILD_ROOT%{_prefix}/libexec/getconf/default
else
ln -sf POSIX_V6_LP64_OFF64 $RPM_BUILD_ROOT%{_prefix}/libexec/getconf/default
fi
%if %{build_java}
2007-12-14 18:00:42 +00:00
pushd ../fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
make install DESTDIR=$RPM_BUILD_ROOT
popd
2007-12-12 20:33:17 +00:00
if [ "%{_lib}" != "lib" ]; then
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{_lib}/pkgconfig
sed '/^libdir/s/lib$/%{_lib}/' $RPM_BUILD_ROOT%{_prefix}/lib/pkgconfig/libgcj-*.pc \
> $RPM_BUILD_ROOT%{_prefix}/%{_lib}/pkgconfig/`basename $RPM_BUILD_ROOT%{_prefix}/lib/pkgconfig/libgcj-*.pc`
fi
%endif
pushd $FULLPATH
if [ "%{_lib}" = "lib" ]; then
ln -sf ../../../libobjc.so.2 libobjc.so
ln -sf ../../../libstdc++.so.6.* libstdc++.so
ln -sf ../../../libgfortran.so.3.* libgfortran.so
ln -sf ../../../libgomp.so.1.* libgomp.so
ln -sf ../../../libmudflap.so.0.* libmudflap.so
ln -sf ../../../libmudflapth.so.0.* libmudflapth.so
%if %{build_java}
ln -sf ../../../libgcj.so.9.* libgcj.so
ln -sf ../../../libgcj-tools.so.9.* libgcj-tools.so
ln -sf ../../../libgij.so.9.* libgij.so
%endif
%if %{build_ada}
cd adalib
ln -sf ../../../../libgnarl-*.so libgnarl.so
ln -sf ../../../../libgnarl-*.so libgnarl-4.3.so
ln -sf ../../../../libgnat-*.so libgnat.so
ln -sf ../../../../libgnat-*.so libgnat-4.3.so
cd ..
%endif
else
ln -sf ../../../../%{_lib}/libobjc.so.2 libobjc.so
ln -sf ../../../../%{_lib}/libstdc++.so.6.* libstdc++.so
ln -sf ../../../../%{_lib}/libgfortran.so.3.* libgfortran.so
ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
ln -sf ../../../../%{_lib}/libmudflap.so.0.* libmudflap.so
ln -sf ../../../../%{_lib}/libmudflapth.so.0.* libmudflapth.so
%if %{build_java}
ln -sf ../../../../%{_lib}/libgcj.so.9.* libgcj.so
ln -sf ../../../../%{_lib}/libgcj-tools.so.9.* libgcj-tools.so
ln -sf ../../../../%{_lib}/libgij.so.9.* libgij.so
%endif
%if %{build_ada}
cd adalib
ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl.so
ln -sf ../../../../../%{_lib}/libgnarl-*.so libgnarl-4.3.so
ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat.so
ln -sf ../../../../../%{_lib}/libgnat-*.so libgnat-4.3.so
cd ..
%endif
fi
%if %{build_java}
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcj_bc.so $FULLLPATH/
%endif
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libsupc++.*a .
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgfortran.*a .
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libobjc.*a .
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgomp.*a .
mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libmudflap{,th}.*a $FULLLPATH/
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 ppc
2007-12-12 20:33:17 +00:00
ln -sf ../../../../../lib64/libobjc.so.2 64/libobjc.so
ln -sf ../`echo ../../../../lib/libstdc++.so.6.* | sed s~/lib/~/lib64/~` 64/libstdc++.so
ln -sf ../`echo ../../../../lib/libgfortran.so.3.* | sed s~/lib/~/lib64/~` 64/libgfortran.so
ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so
2008-01-10 21:09:13 +00:00
rm -f libmudflap.so libmudflapth.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflap.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflapth.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflap.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 64/libmudflapth.so
2007-12-12 20:33:17 +00:00
%if %{build_java}
ln -sf ../`echo ../../../../lib/libgcj.so.9.* | sed s~/lib/~/lib64/~` 64/libgcj.so
ln -sf ../`echo ../../../../lib/libgcj-tools.so.9.* | sed s~/lib/~/lib64/~` 64/libgcj-tools.so
ln -sf ../`echo ../../../../lib/libgij.so.9.* | sed s~/lib/~/lib64/~` 64/libgij.so
ln -sf lib32/libgcj_bc.so libgcj_bc.so
ln -sf ../lib64/libgcj_bc.so 64/libgcj_bc.so
%endif
mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libsupc++.*a 64/
mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libgfortran.*a 64/
mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libobjc.*a 64/
mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libgomp.*a 64/
ln -sf lib32/libstdc++.a libstdc++.a
ln -sf ../lib64/libstdc++.a 64/libstdc++.a
ln -sf lib32/libmudflap.a libmudflap.a
ln -sf ../lib64/libmudflap.a 64/libmudflap.a
ln -sf lib32/libmudflapth.a libmudflapth.a
ln -sf ../lib64/libmudflapth.a 64/libmudflapth.a
%endif
%ifarch %{multilib_64_archs}
mkdir -p 32
ln -sf ../../../../libobjc.so.2 32/libobjc.so
ln -sf ../`echo ../../../../lib64/libstdc++.so.6.* | sed s~/../lib64/~/~` 32/libstdc++.so
ln -sf ../`echo ../../../../lib64/libgfortran.so.3.* | sed s~/../lib64/~/~` 32/libgfortran.so
ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so
2008-01-10 21:09:13 +00:00
rm -f libmudflap.so libmudflapth.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflap.so
echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflapth.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflap.so
echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflapth.so
2007-12-12 20:33:17 +00:00
%if %{build_java}
ln -sf ../`echo ../../../../lib64/libgcj.so.9.* | sed s~/../lib64/~/~` 32/libgcj.so
ln -sf ../`echo ../../../../lib64/libgcj-tools.so.9.* | sed s~/../lib64/~/~` 32/libgcj-tools.so
ln -sf ../`echo ../../../../lib64/libgij.so.9.* | sed s~/../lib64/~/~` 32/libgij.so
%endif
mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libsupc++.*a 32/
mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libgfortran.*a 32/
mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libobjc.*a 32/
mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libgomp.*a 32/
%endif
%ifarch sparc64 ppc64
ln -sf ../lib32/libstdc++.a 32/libstdc++.a
ln -sf lib64/libstdc++.a libstdc++.a
ln -sf ../lib32/libmudflap.a 32/libmudflap.a
ln -sf lib64/libmudflap.a libmudflap.a
ln -sf ../lib32/libmudflapth.a 32/libmudflapth.a
ln -sf lib64/libmudflapth.a libmudflapth.a
%if %{build_java}
ln -sf ../lib32/libgcj_bc.so 32/libgcj_bc.so
ln -sf lib64/libgcj_bc.so libgcj_bc.so
%endif
%else
%ifarch %{multilib_64_archs}
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libstdc++.a 32/libstdc++.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libmudflap.a 32/libmudflap.a
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libmudflapth.a 32/libmudflapth.a
%if %{build_java}
ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libgcj_bc.so 32/libgcj_bc.so
%endif
%endif
%endif
# Strip debug info from Fortran/ObjC/Java static libraries
strip -g `find . \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \
-o -name libmudflap.a -o -name libmudflapth.a \
-o -name libgcc.a -o -name libgcov.a \) -a -type f`
popd
chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgfortran.so.3.*
chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgomp.so.1.*
chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libmudflap{,th}.so.0.*
chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libobjc.so.2.*
%if %{build_ada}
chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgnarl*so*
chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgnat*so*
%endif
mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h
mv $FULLPATH/include-fixed/limits.h $FULLPATH/include/limits.h
for h in `find $FULLPATH/include -name \*.h`; do
if grep -q 'It has been auto-edited by fixincludes from' $h; then
rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'`
diff -up $rh $h || :
rm -f $h
fi
done
cat > $RPM_BUILD_ROOT%{_prefix}/bin/c89 <<"EOF"
#!/bin/sh
fl="-std=c89"
for opt; do
case "$opt" in
-ansi|-std=c89|-std=iso9899:1990) fl="";;
-std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
exit 1;;
esac
done
exec gcc $fl ${1+"$@"}
EOF
cat > $RPM_BUILD_ROOT%{_prefix}/bin/c99 <<"EOF"
#!/bin/sh
fl="-std=c99"
for opt; do
case "$opt" in
-std=c99|-std=iso9899:1999) fl="";;
-std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
exit 1;;
esac
done
exec gcc $fl ${1+"$@"}
EOF
chmod 755 $RPM_BUILD_ROOT%{_prefix}/bin/c?9
mkdir -p $RPM_BUILD_ROOT%{_prefix}/sbin
gcc -static -Os %{SOURCE1} -o $RPM_BUILD_ROOT%{_prefix}/sbin/libgcc_post_upgrade
strip $RPM_BUILD_ROOT%{_prefix}/sbin/libgcc_post_upgrade
cd ..
%find_lang %{name}
%find_lang cpplib
# Remove binaries we will not be including, so that they don't end up in
# gcc-debuginfo
rm -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/{libffi*,libiberty.a}
rm -f $FULLEPATH/install-tools/{mkheaders,fixincl}
rm -f $RPM_BUILD_ROOT%{_prefix}/lib/{32,64}/libiberty.a
rm -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libssp*
2008-09-05 08:43:54 +00:00
rm -f $RPM_BUILD_ROOT%{_prefix}/bin/gnative2ascii
2007-12-12 20:33:17 +00:00
%ifarch %{multilib_64_archs}
# Remove libraries for the other arch on multilib arches
rm -f $RPM_BUILD_ROOT%{_prefix}/lib/lib*.so*
rm -f $RPM_BUILD_ROOT%{_prefix}/lib/lib*.a
%else
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 ppc
2007-12-12 20:33:17 +00:00
rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/lib*.so*
rm -f $RPM_BUILD_ROOT%{_prefix}/lib64/lib*.a
%endif
%endif
%if %{build_java}
mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/java/gcj-endorsed \
$RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d
chmod 755 $RPM_BUILD_ROOT%{_prefix}/share/java/gcj-endorsed \
$RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version} \
$RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d
touch $RPM_BUILD_ROOT%{_prefix}/%{_lib}/gcj-%{version}/classmap.db
%endif
install -m644 %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man1/protoize.1
echo '.so man1/protoize.1' > $RPM_BUILD_ROOT%{_mandir}/man1/unprotoize.1
chmod 644 $RPM_BUILD_ROOT%{_mandir}/man1/unprotoize.1
%clean
rm -rf $RPM_BUILD_ROOT
%post
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/gcc.info.gz || :
%preun
if [ $1 = 0 ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/gcc.info.gz || :
fi
%post -n cpp
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/cpp.info.gz || :
%preun -n cpp
if [ $1 = 0 ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/cpp.info.gz || :
fi
%post gfortran
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || :
%preun gfortran
if [ $1 = 0 ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || :
fi
%post java
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/gcj.info.gz || :
%preun java
if [ $1 = 0 ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/gcj.info.gz || :
fi
%post gnat
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz || :
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/gnat_ugn_unw.info.gz || :
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz || :
%preun gnat
if [ $1 = 0 ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz || :
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/gnat_ugn_unw.info.gz || :
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz || :
fi
# Because glibc Prereq's libgcc and /sbin/ldconfig
# comes from glibc, it might not exist yet when
# libgcc is installed
%post -n libgcc -p %{_prefix}/sbin/libgcc_post_upgrade
%post -n libstdc++ -p /sbin/ldconfig
%postun -n libstdc++ -p /sbin/ldconfig
%post -n libobjc -p /sbin/ldconfig
%postun -n libobjc -p /sbin/ldconfig
%post -n libgcj
/sbin/ldconfig
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/cp-tools.info.gz || :
2007-12-14 18:00:42 +00:00
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/fastjar.info.gz || :
2007-12-12 20:33:17 +00:00
%preun -n libgcj
if [ $1 = 0 ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/cp-tools.info.gz || :
2007-12-14 18:00:42 +00:00
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/fastjar.info.gz || :
2007-12-12 20:33:17 +00:00
fi
%postun -n libgcj -p /sbin/ldconfig
%post -n libgfortran -p /sbin/ldconfig
%postun -n libgfortran -p /sbin/ldconfig
%post -n libgnat -p /sbin/ldconfig
%postun -n libgnat -p /sbin/ldconfig
%post -n libgomp
/sbin/ldconfig
/sbin/install-info \
--info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || :
%preun -n libgomp
if [ $1 = 0 ]; then
/sbin/install-info --delete \
--info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || :
fi
%postun -n libgomp -p /sbin/ldconfig
%post -n libmudflap -p /sbin/ldconfig
%postun -n libmudflap -p /sbin/ldconfig
%files -f %{name}.lang
%defattr(-,root,root)
%{_prefix}/bin/cc
%{_prefix}/bin/c89
%{_prefix}/bin/c99
%{_prefix}/bin/gcc
%{_prefix}/bin/gcov
%{_prefix}/bin/protoize
%{_prefix}/bin/unprotoize
2008-06-09 11:42:57 +00:00
%ifarch ppc
2007-12-12 20:33:17 +00:00
%{_prefix}/bin/%{_target_platform}-gcc
%endif
2008-06-09 11:42:57 +00:00
%ifarch sparc64 sparcv9
2007-12-12 20:33:17 +00:00
%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
%endif
%ifarch ppc64
%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
%endif
%{_prefix}/bin/%{gcc_target_platform}-gcc
%{_mandir}/man1/gcc.1*
%{_mandir}/man1/gcov.1*
%{_mandir}/man1/protoize.1*
%{_mandir}/man1/unprotoize.1*
%{_infodir}/gcc*
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
%dir %{_prefix}/libexec/gcc
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/SYSCALLS.c.X
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stddef.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdarg.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/varargs.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/float.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/limits.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdbool.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/iso646.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/syslimits.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/unwind.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/omp.h
%ifarch %{ix86} x86_64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mmintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xmmintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/emmintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/pmmintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/tmmintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ammintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/smmintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/nmmintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/bmmintrin.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mmintrin-common.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm_malloc.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm3dnow.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/cpuid.h
%endif
%ifarch ia64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ia64intrin.h
%endif
%ifarch ppc ppc64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ppc-asm.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/altivec.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/spe.h
2008-08-29 11:35:32 +00:00
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/paired.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ppu_intrinsics.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/si2vmx.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/spu2vmx.h
2007-12-12 20:33:17 +00:00
%endif
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/collect2
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/crt*.o
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcov.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc_eh.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc_s.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.spec
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.so
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 ppc
2007-12-12 20:33:17 +00:00
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/crt*.o
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcov.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc_eh.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc_s.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgomp.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgomp.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflap.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflapth.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflap.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libmudflapth.so
%endif
%ifarch %{multilib_64_archs}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/crt*.o
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcov.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc_eh.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc_s.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgomp.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgomp.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflap.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflapth.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflap.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflapth.so
%endif
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 sparc64 ppc ppc64
2007-12-12 20:33:17 +00:00
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.so
%endif
%dir %{_prefix}/libexec/getconf
%{_prefix}/libexec/getconf/default
%doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* gcc/COPYING*
%files -n cpp -f cpplib.lang
%defattr(-,root,root)
/lib/cpp
%{_prefix}/bin/cpp
%{_mandir}/man1/cpp.1*
%{_infodir}/cpp*
%dir %{_prefix}/libexec/gcc
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1
%files -n libgcc
%defattr(-,root,root)
/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
/%{_lib}/libgcc_s.so.1
%{_prefix}/sbin/libgcc_post_upgrade
%doc gcc/COPYING.LIB
%files c++
%defattr(-,root,root)
%{_prefix}/bin/%{gcc_target_platform}-*++
%{_prefix}/bin/g++
%{_prefix}/bin/c++
%{_mandir}/man1/g++.1*
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
%dir %{_prefix}/libexec/gcc
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1plus
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 ppc
2007-12-12 20:33:17 +00:00
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libsupc++.a
%endif
%ifarch %{multilib_64_archs}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libstdc++.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libstdc++.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libsupc++.a
%endif
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 ppc %{multilib_64_archs}
2007-12-12 20:33:17 +00:00
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
%endif
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 sparc64 ppc ppc64
2007-12-12 20:33:17 +00:00
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a
%endif
%doc rpm.doc/changelogs/gcc/cp/ChangeLog*
%files -n libstdc++
%defattr(-,root,root)
%{_prefix}/%{_lib}/libstdc++.so.6*
%files -n libstdc++-devel
%defattr(-,root,root)
%dir %{_prefix}/include/c++
%dir %{_prefix}/include/c++/%{gcc_version}
%{_prefix}/include/c++/%{gcc_version}/[^gjos]*
%{_prefix}/include/c++/%{gcc_version}/os*
%{_prefix}/include/c++/%{gcc_version}/s[^u]*
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 ppc
2007-12-12 20:33:17 +00:00
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libstdc++.a
%endif
%ifarch sparc64 ppc64
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libstdc++.a
%endif
2008-06-09 11:42:57 +00:00
%ifnarch sparcv9 sparc64 ppc ppc64
2007-12-12 20:33:17 +00:00
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a
%endif
2008-06-09 11:42:57 +00:00
%ifnarch sparcv9 ppc %{multilib_64_archs}
2007-12-12 20:33:17 +00:00
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
%endif
2008-01-26 09:42:33 +00:00
%doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README* libstdc++-v3/doc/html/
2007-12-12 20:33:17 +00:00
%files objc
%defattr(-,root,root)
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
%dir %{_prefix}/libexec/gcc
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/objc
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1obj
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libobjc.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libobjc.so
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 ppc
2007-12-12 20:33:17 +00:00
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libobjc.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libobjc.so
%endif
%ifarch %{multilib_64_archs}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libobjc.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libobjc.so
%endif
%doc rpm.doc/objc/*
%doc libobjc/THREADS* rpm.doc/changelogs/libobjc/ChangeLog*
%files objc++
%defattr(-,root,root)
%dir %{_prefix}/libexec/gcc
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1objplus
%files -n libobjc
%defattr(-,root,root)
%{_prefix}/%{_lib}/libobjc.so.2*
%files gfortran
%defattr(-,root,root)
%{_prefix}/bin/gfortran
%{_prefix}/bin/f95
%{_mandir}/man1/gfortran.1*
%{_infodir}/gfortran*
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
%dir %{_prefix}/libexec/gcc
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib.f90
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib.mod
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/finclude/omp_lib_kinds.mod
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/f951
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortranbegin.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortran.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgfortran.so
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 ppc
2007-12-12 20:33:17 +00:00
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortranbegin.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortran.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortran.so
%endif
%ifarch %{multilib_64_archs}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortranbegin.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortran.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgfortran.so
%endif
%doc rpm.doc/gfortran/*
%files -n libgfortran
%defattr(-,root,root)
%{_prefix}/%{_lib}/libgfortran.so.3*
%if %{build_java}
%files java
%defattr(-,root,root)
%{_prefix}/bin/gcj
%{_prefix}/bin/gjavah
%{_prefix}/bin/gcjh
%{_prefix}/bin/jcf-dump
%{_mandir}/man1/gcj.1*
%{_mandir}/man1/jcf-dump.1*
%{_mandir}/man1/gjavah.1*
%{_mandir}/man1/gcjh.1*
%{_infodir}/gcj*
%dir %{_prefix}/libexec/gcc
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/jc1
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/ecj1
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/jvgenmain
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj-tools.so
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 sparc64 ppc ppc64
2007-12-12 20:33:17 +00:00
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj_bc.so
%endif
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgij.so
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 ppc
2007-12-12 20:33:17 +00:00
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcj.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcj-tools.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcj_bc.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgij.so
%endif
%ifarch %{multilib_64_archs}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcj.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcj-tools.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcj_bc.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgij.so
%endif
%doc rpm.doc/changelogs/gcc/java/ChangeLog*
%files -n libgcj
%defattr(-,root,root)
%{_prefix}/bin/jv-convert
%{_prefix}/bin/gij
%{_prefix}/bin/gjar
2007-12-14 18:00:42 +00:00
%{_prefix}/bin/fastjar
%{_prefix}/bin/grepjar
2007-12-12 20:33:17 +00:00
%{_prefix}/bin/grmic
%{_prefix}/bin/grmid
%{_prefix}/bin/grmiregistry
%{_prefix}/bin/gtnameserv
%{_prefix}/bin/gkeytool
%{_prefix}/bin/gorbd
%{_prefix}/bin/gserialver
%{_prefix}/bin/gcj-dbtool
%if %{include_gappletviewer}
%{_prefix}/bin/gappletviewer
%{_mandir}/man1/gappletviewer.1*
%endif
%{_prefix}/bin/gjarsigner
2007-12-14 18:00:42 +00:00
%{_mandir}/man1/fastjar.1*
%{_mandir}/man1/grepjar.1*
2007-12-12 20:33:17 +00:00
%{_mandir}/man1/gjar.1*
%{_mandir}/man1/gjarsigner.1*
%{_mandir}/man1/jv-convert.1*
%{_mandir}/man1/gij.1*
%{_mandir}/man1/grmic.1*
%{_mandir}/man1/grmiregistry.1*
%{_mandir}/man1/gcj-dbtool.1*
%{_mandir}/man1/gkeytool.1*
%{_mandir}/man1/gorbd.1*
%{_mandir}/man1/grmid.1*
%{_mandir}/man1/gserialver.1*
%{_mandir}/man1/gtnameserv.1*
2007-12-14 18:00:42 +00:00
%{_infodir}/fastjar.info*
2007-12-12 20:33:17 +00:00
%{_infodir}/cp-tools.info*
%{_prefix}/%{_lib}/libgcj.so.*
%{_prefix}/%{_lib}/libgcj-tools.so.*
%{_prefix}/%{_lib}/libgcj_bc.so.*
%{_prefix}/%{_lib}/libgij.so.*
%dir %{_prefix}/%{_lib}/gcj-%{version}
%{_prefix}/%{_lib}/gcj-%{version}/libgtkpeer.so
%{_prefix}/%{_lib}/gcj-%{version}/libgjsmalsa.so
%{_prefix}/%{_lib}/gcj-%{version}/libjawt.so
%if %{include_gappletviewer}
%{_prefix}/%{_lib}/gcj-%{version}/libgcjwebplugin.so
%endif
%{_prefix}/%{_lib}/gcj-%{version}/libjvm.so
%dir %{_prefix}/share/java
%{_prefix}/share/java/[^sl]*
%{_prefix}/share/java/libgcj-%{version}.jar
%dir %{_prefix}/%{_lib}/security
%config(noreplace) %{_prefix}/%{_lib}/security/classpath.security
%{_prefix}/%{_lib}/logging.properties
%dir %{_prefix}/%{_lib}/gcj-%{version}/classmap.db.d
%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_prefix}/%{_lib}/gcj-%{version}/classmap.db
%if %{include_gappletviewer}
%doc rpm.doc/README.libgcjwebplugin.so
%endif
%files -n libgcj-devel
%defattr(-,root,root)
%{_prefix}/bin/addr2name.awk
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/gcj
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jawt.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jawt_md.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jni.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jni_md.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/jvmpi.h
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj.spec
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 ppc
2007-12-12 20:33:17 +00:00
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libgcj_bc.so
%endif
%ifarch sparc64 ppc64
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libgcj_bc.so
%endif
2008-06-09 11:42:57 +00:00
%ifnarch sparcv9 sparc64 ppc ppc64
2007-12-12 20:33:17 +00:00
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcj_bc.so
%endif
%dir %{_prefix}/include/c++
%dir %{_prefix}/include/c++/%{gcc_version}
%{_prefix}/include/c++/%{gcc_version}/[gj]*
%{_prefix}/include/c++/%{gcc_version}/org
%{_prefix}/include/c++/%{gcc_version}/sun
%{_prefix}/%{_lib}/pkgconfig/libgcj-*.pc
2007-12-14 18:00:42 +00:00
%doc rpm.doc/boehm-gc/* rpm.doc/fastjar/* rpm.doc/libffi/*
2007-12-12 20:33:17 +00:00
%doc rpm.doc/libjava/*
%files -n libgcj-src
%defattr(-,root,root)
%dir %{_prefix}/share/java
%{_prefix}/share/java/src*.zip
%{_prefix}/share/java/libgcj-tools-%{version}.jar
%endif
%if %{build_ada}
%files gnat
%defattr(-,root,root)
%{_prefix}/bin/gnat*
%{_infodir}/gnat*
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
%dir %{_prefix}/libexec/gcc
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adainclude
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib
%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/gnat1
%doc rpm.doc/changelogs/gcc/ada/ChangeLog*
%files -n libgnat
%defattr(-,root,root)
%{_prefix}/%{_lib}/libgnat-*.so
%{_prefix}/%{_lib}/libgnarl-*.so
%endif
%files -n libgomp
%defattr(-,root,root)
%{_prefix}/%{_lib}/libgomp.so.1*
%{_infodir}/libgomp.info*
%doc rpm.doc/changelogs/libgomp/ChangeLog*
%files -n libmudflap
%defattr(-,root,root)
%{_prefix}/%{_lib}/libmudflap.so.0*
%{_prefix}/%{_lib}/libmudflapth.so.0*
%files -n libmudflap-devel
%defattr(-,root,root)
%dir %{_prefix}/lib/gcc
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mf-runtime.h
2008-06-09 11:42:57 +00:00
%ifarch sparcv9 ppc
2007-12-12 20:33:17 +00:00
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libmudflap.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib32/libmudflapth.a
%endif
%ifarch sparc64 ppc64
%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libmudflap.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/lib64/libmudflapth.a
%endif
2008-06-09 11:42:57 +00:00
%ifnarch sparcv9 sparc64 ppc ppc64
2007-12-12 20:33:17 +00:00
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.a
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.so
%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.so
%endif
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
%changelog
2008-09-17 21:48:16 +00:00
* Wed Sep 17 2008 Jakub Jelinek <jakub@redhat.com> 4.3.2-4
- update from 4.3 branch
- PRs c++/37389, fortran/35837, fortran/36214, fortran/37099, fortran/37199,
rtl-optimization/37408, target/37466, tree-optimization/36630
- revert PR c++/36741 fix
- fix VLA debuginfo at -O0 (PR debug/34037)
2008-09-05 22:15:57 +00:00
* Sat Sep 6 2008 Jakub Jelinek <jakub@redhat.com> 4.3.2-3
- don't run tests that require Altivec hw on non-Altivec powerpcs
- make sure none of libgcj binaries/libraries contains /usr/%{lib} in
RPATH
- fix up BuildRoot
2008-09-05 08:43:54 +00:00
* Fri Sep 5 2008 Jakub Jelinek <jakub@redhat.com> 4.3.2-2
- update from gcc-4_3-branch
- PRs c++/37348, c/37261, fortran/36371, fortran/37193, middle-end/36449,
target/36332, target/37168
- make ChangeLog files and gcc.info valid UTF-8, remove gnative2ascii from
gcc-gnat, comment out most of the Obsoletes (#225778)
- on x86_64 decrease frame size in varargs functions that don't need saving
gpr or fpr registers
- fix ICE on implicitly determined firstprivate where copy ctor or dtor
needs synthetization (PR c++/37189)
- document how to recrease the tarball
2008-08-29 11:35:32 +00:00
* Fri Aug 29 2008 Jakub Jelinek <jakub@redhat.com> 4.3.2-1
- update from gcc-4_3-branch
- 4.3.2 release
- PRs c++/36741, middle-end/36548, middle-end/36817, middle-end/37125,
target/37184, target/37191, target/37197
- backport further Fortran debuginfo improvements (#460378, #459375)
- revert removal of adjacent bitfield comparison
optimization (PR middle-end/37248)
- on ppc/ppc64 add paired.h, ppu_instrinsics.h, si2vmx.h and spu2vmx.h
headers (#460497)
2008-08-25 12:56:48 +00:00
* Mon Aug 25 2008 Jakub Jelinek <jakub@redhat.com> 4.3.1-8
- update from gcc-4_3-branch
- PRs debug/37156, libgcj/8995, libstdc++/37100, target/37101
- backport Fortran debuginfo improvements (PRs debug/35896, fortran/35154,
fortran/35724, fortran/35892, fortran/29635, fortran/23057
fortran/24790, #457792, #457793, #459374, #459376, #459378)
2008-08-14 07:10:39 +00:00
* Thu Aug 14 2008 Jakub Jelinek <jakub@redhat.com> 4.3.1-7
2008-08-12 19:35:02 +00:00
- update from gcc-4_3-branch
- PRs bootstrap/35752, c++/36688, c++/36999, c++/37016, c/35746,
fortran/36582, libgcj/31890, middle-end/35432, middle-end/36691,
middle-end/37014, middle-end/37026, middle-end/37042,
rtl-optimization/35542, rtl-optimization/36998, target/35659,
target/36613, tree-optimization/36991
2008-08-14 07:10:39 +00:00
- fix folding of widened comparisons (PR middle-end/37103)
2008-08-12 19:35:02 +00:00
2008-08-01 07:47:56 +00:00
* Fri Aug 1 2008 Jakub Jelinek <jakub@redhat.com> 4.3.1-6
- update from gcc-4_3-branch
- PRs c++/36405, c++/36767, c++/36852, debug/36278, preprocessor/36649,
rtl-optimization/36929
- fix the last -Os -fasynchronous-unwind-tables known issue (#447912,
PR rtl-optimization/36419)
- don't loop > 230000 times in make_temp_file if /tmp is full (#203231)
2008-07-28 17:28:20 +00:00
* Mon Jul 28 2008 Jakub Jelinek <jakub@redhat.com> 4.3.1-5
- update from gcc-4_3-branch
- PRs c++/36407, fortran/36132, fortran/36366, fortran/36824, fortran/36852,
libfortran/36852, libstdc++/36552, libstdc++/36729, libstdc++/36832,
middle-end/36369, middle-end/36811, middle-end/36877,
rtl-optimization/35281, rtl-optimization/36419,
rtl-optimization/36753, target/35492, target/35802, target/36780,
target/36782, target/36784, target/36827, tree-optimization/36830
- OpenMP 3.0 bugfixes from trunk
- fix occassional hangs of libgomp.c/ordered-3.c
- PR middle-end/36790
2008-07-08 08:28:27 +00:00
* Tue Jul 8 2008 Jakub Jelinek <jakub@redhat.com> 4.3.1-4
- update from gcc-4_3-branch
- PRs c++/34963, c++/36662, fortran/36546, fortran/36657, fortran/36676,
libstdc++/36612, libstdc++/36616, rtl-optimization/34744,
target/34780, target/34856, target/36510, target/36634,
target/36684, target/36698, target/36736, testsuite/36620,
tree-optimization/36648
- fix -frepo (#448390, PR c++/36364)
- improve OpenMP debug info (PRs debug/36617, middle-end/36726)
2008-06-24 12:20:15 +00:00
* Tue Jun 24 2008 Jakub Jelinek <jakub@redhat.com> 4.3.1-3
- update from gcc-4_3-branch
- PRs c++/35317, c++/35320, documentation/30739, fortran/34908,
fortran/36276, fortran/36538, java/36247, middle-end/36584,
rtl-optimization/35604, target/36336, target/36424,
tree-optimization/36493, tree-optimization/36498,
tree-optimization/36504, tree-optimization/36519
- don't mark hard registers as reg pointers (#451068, target/36533)
- allow more compute_antic iterations (#450889, tree-optimization/36508)
- fix #pragma omp task copyfn registration with cgraph (c++/36523)
2008-06-12 20:12:04 +00:00
* Thu Jun 12 2008 Jakub Jelinek <jakub@redhat.com> 4.3.1-2
- update from gcc-4_3-branch
- PRs c++/36408, middle-end/35336, middle-end/36506, testsuite/36443,
tree-optimization/36474
- OpenMP 3.0 bugfixes from trunk
- fix a thinko in task dispatching on barriers
- PRs libgomp/36469, libgomp/36471
- fix nested inline functions in -std=gnu99 mode (#450967, PR c/36507)
* Mon Jun 9 2008 Jakub Jelinek <jakub@redhat.com> 4.3.1-1
2008-06-09 11:42:57 +00:00
- update from gcc-4_3-branch
- 4.3.1 release
- PRs ada/24880, ada/26635, bootstrap/35169, bootstrap/36452, c++/35578,
c++/35986, c++/36023, c++/36237, c++/36308, fortran/35184,
fortran/35743, fortran/35745, fortran/35756, fortran/35759,
fortran/35780, fortran/35864, fortran/35997, fortran/36176,
fortran/36233, libfortran/35990, libfortran/35993, libfortran/35995,
libgcj/36252, libstdc++/35922, middle-end/34973, middle-end/36013,
middle-end/36077, middle-end/36093, middle-end/36106,
middle-end/36137, middle-end/36154, middle-end/36172,
middle-end/36194, middle-end/36227, middle-end/36244,
middle-end/36300, middle-end/PR28690, rtl-optimization/36111,
rtl-optimization/36419, target/27386, target/30243, target/34932,
target/35661, target/35921, target/36079, target/36090, target/36095,
target/36182, target/36224, target/36321, target/36362,
tree-optimization/34244, tree-optimization/34330,
tree-optimization/34976, tree-optimization/35204,
tree-optimization/36098, tree-optimization/36119,
tree-optimization/36129, tree-optimization/36181,
tree-optimization/36187, tree-optimization/36245,
tree-optimization/36262, tree-optimization/36291,
tree-optimization/36293, tree-optimization/36339
- OpenMP 3.0 support
* Tue May 20 2008 Tom "spot" Callaway <tcallawa@redhat.com> 4.3.0-11
- fix missing file with sparcv9
* Sun May 18 2008 Tom "spot" Callaway <tcallawa@redhat.com> 4.3.0-10
- make sparcv9 the multilib_32_arch for sparc64
* Sun May 18 2008 Tom "spot" Callaway <tcallawa@redhat.com> 4.3.0-9
- sparcv9 support and detection
2008-04-28 13:34:17 +00:00
* Mon Apr 28 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-8
- update from gcc-4_3-branch
- decrease compile time stack usage during GC (#443739, PR debug/36060)
- fix -mregparm=X with K&R function decls (#443583, PR target/36015)
- fix tail called sqrt and math builtins (#435297,
PR rtl-optimization/36017)
- PRs c++/33486, c++/35316, c++/35325, c++/35678, c++/35747, c++/35758,
c++/35773, c/35436, c/35744, fortran/35932, fortran/35944,
fortran/35946, fortran/35947, fortran/35959, fortran/35994,
libgcj/35950, libstdc++/35597, libstdc++/35887, libstdc++/35954,
middle-end/36021, target/35944, testsuite/36056,
tree-optimization/35982, tree-optimization/36008,
tree-optimization/36034
- fix C++ const references to bitfields (PR c++/35909)
- fix C++ ++var = val error recovery (PR c++/35987)
- fix C++ reference binding to function through using-decl (PR c++/35650)
2008-04-16 08:15:27 +00:00
* Wed Apr 16 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-7
- update from gcc-4_3-branch
- PRs c++/35708, c++/35734, libstdc++/35816, middle-end/35519,
rtl-optimization/34916, target/35364, target/35695,
tree-optimization/35821, tree-optimization/35833
- fix libgfortran buffer overflows
- fix restoring of Altivec registers when alloca is used (PR target/35907)
- misc fixes (PRs tree-optimization/35899, target/35662, c/35739)
2008-04-04 12:50:28 +00:00
* Fri Apr 4 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-6
- update from gcc-4_3-branch
- PRs ada/33857, c++/35245, c++/35741, c/35738, fortran/35698,
fortran/35699, fortran/35702, fortran/35724, fortran/35740,
fortran/35786, libfortran/35699, libstdc++/35725, middle-end/35429,
middle-end/35705, middle-end/35818, target/31110, target/31232,
target/35657, tree-opt/35431
- fix OpenMP ICE on invalid extern/static VLA (PR c/35751)
- fix PCH failure if a precompiled header is included more than
once (#251682, PR pch/13675)
2008-03-27 14:32:22 +00:00
* Thu Mar 27 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-5
- fix libgomp when sync builtins aren't available
- on i386 build libgomp and __cxa_guard_* as i486+,
NPTL doesn't support pre-i486 anyway and atomic builtins give
significant speedups
2008-03-26 19:56:57 +00:00
* Wed Mar 26 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-4
- update from gcc-4_3-branch
- PRs c++/35332, c++/35548, debug/31510, fortran/33295, fortran/34813,
libfortran/35617, libfortran/35627, libgomp/35625, libstdc++/35256,
libstdc++/35637, middle-end/35593, middle-end/35609,
middle-end/35611, middle-end/35616, target/35504, testsuite/34168,
testsuite/35621
- backport libgomp speedups from gomp-3_0-branch (#437268)
- fix diagnostics with compound literals (PR c/35440)
- fix C++ handling of late template attributes (PR c++/35546)
- Prereq install-info in libgomp (#437523)
2008-03-14 17:51:01 +00:00
* Fri Mar 14 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-3
- update from gcc-4_3-branch
- PRs c++/33887, c++/35328, c++/35337, c++/35469, c/35438, c/35439,
fortran/35474, libstdc++/35541, libstdc++/35566, middle-end/35099,
middle-end/35185, middle-end/35456, middle-end/35526,
middle-end/35549, target/34000, target/35190, target/35225,
target/35350, target/35496, target/35540, target/35553,
tree-optimization/34989, tree-optimization/35472
- fix eclipse build (#434356)
- libstdc++ doc fix (#436687)
2008-03-07 16:36:09 +00:00
* Fri Mar 7 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-2
- fix ppc/ppc64 8/16 bit sync builtins (PR target/35498)
2008-03-07 09:08:38 +00:00
* Fri Mar 7 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-1
- gcc 4.3.0 release
- PRs c++/35244, c++/35315, c++/35323, c++/35333, c++/35338, driver/35420,
libfortran/35355, libstdc++/35480, target/33963, target/35189,
target/35222, target/35401, target/35453
2008-03-01 00:15:53 +00:00
* Fri Feb 29 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.13
- update from gcc-4_3-branch
- PRs middle-end/19984, target/25477
- remove <system_error>, fix ppc/ppc64
std::{,tr1::}hash<long double>::operator() ABI
2008-02-28 11:29:03 +00:00
* Thu Feb 28 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.12
- update from gcc-4_3-branch
- PRs c++/34715, c++/35368, libfortran/24685, middle-end/34971,
middle-end/35390, target/25477
2008-02-22 13:45:04 +00:00
* Fri Feb 22 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.11
- update from gcc-4_3-branch
- 4.3.0 rc1
- PRs bootstrap/35218, bootstrap/35273, c++/34950, c++/35282,
middle-end/35265, rtl-optimization/35232, target/34526,
target/35071, target/35239, target/35264
2008-02-18 15:35:44 +00:00
* Mon Feb 18 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.10
- update to trunk
- PRs c++/11159, c++/28743, c++/34050, c++/35023, c++/35024, c++/35026,
c++/5645, c/28368, documentation/15479, fortran/34952,
fortran/35150, libgcj/33085, libstdc++/34797, libstdc++/35209,
libstdc++/35221, middle-end/34621, middle-end/35149, middle-end/35196,
middle-end/35227, preprocessor/35061, target/34930, target/35088,
testsuite/35119, testsuite/35208, tree-optimization/35164,
tree-optimization/35231
- some OpenMP fixes (PRs c++/34964, c++/35028, c++/35078)
- fix cp-tools.info* @direntry (#433222)
2008-02-14 08:50:18 +00:00
* Thu Feb 14 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.9
- update to trunk
- PRs middle-end/29673, ada/35143, c++/34774, c++/34824, c++/34962, c++/34937,
c++/34939, debug/35065, other/35148, target/34393
- fix ia64 build (#432068)
2008-02-12 22:40:15 +00:00
* Tue Feb 12 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.8
- update to trunk
- PRs bootstrap/33781, bootstrap/34922, bootstrap/35051, bootstrap/35115,
c++/29048, c++/33553, c++/33916, c++/33964, c++/34052, c++/34094,
c++/34314, c++/34776, c++/34862, c++/34891, c++/34935, c++/34936,
c++/35049, c++/35056, c++/35074, c++/35077, c++/35096, c++/35097,
c++/35113, c++/35116, c/29326, c/34993, documentation/30330,
fortran/32315, fortran/32760, fortran/34910, fortran/34945,
fortran/35037, fortran/35093, java/35035, libffi/34612,
libfortran/35001, libfortran/35063, libgcj/30071, libstdc++/16251,
middle-end/33631, middle-end/34627, middle-end/35043,
middle-end/35136, middle-end/35163, middle_end/34150, objc++/34193,
other/29972, other/31405, other/32754, other/35042, other/35070,
other/35107, rtl-opt/33410, rtl-optimization/34773,
rtl-optimization/34995, rtl-optimization/34998, target/23322,
target/34900, target/34982, target/35045, target/35083,
target/35084, testsuite/33946, testsuite/35047,
tree-optimization/33992, tree-optimization/35085, tree-optimization/35171
- inline asm optimization fix (#432146, PR inline-asm/35160)
- SRA fix (#432090, PR c++/35144)
- fix #pragma omp parallel body calling nested functions which store
into shared parent variables (PR middle-end/35130)
- ./-> after dependent expr parsing fix (PR c++/35138)
2008-01-30 09:10:23 +00:00
* Wed Jan 30 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.7
- update from trunk
- fix ISO C99 6.7.4p3 diagnostics (#427634, PR c/35017)
* Fri Jan 25 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.6
2008-01-25 17:07:14 +00:00
- update from the trunk
2008-01-10 21:09:13 +00:00
* Thu Jan 10 2008 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.5
- update from the trunk
- don't require on ppc/ppc64 libmudflap in gcc subpackage
2007-12-20 16:34:11 +00:00
* Thu Dec 20 2007 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.4
- update from the trunk
2007-12-20 23:31:03 +00:00
- adjustments to build against xulrunner-devel
2007-12-20 16:34:11 +00:00
2007-12-14 18:00:42 +00:00
* Fri Dec 14 2007 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.3
- build fastjar, gjar is uncomparably worse
- fix profiledbootstrap and use it
2007-12-12 20:33:17 +00:00
* Wed Dec 12 2007 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.2
- update from the trunk
* Sun Dec 9 2007 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.1
- initial 4.3 package, using newly created redhat/gcc-4_3-branch