[mingw32-gcc] Update to gcc 4.7 20120224 snapshot and perform a bootstrap build
epienbro
epienbro at fedoraproject.org
Mon Feb 27 15:16:39 UTC 2012
commit ea4223a714371a67b0d3f0732ac2c5ff5b5796a7
Author: Erik van Pienbroek <epienbro at fedoraproject.org>
Date: Mon Feb 27 16:14:57 2012 +0100
Update to gcc 4.7 20120224 snapshot and perform a bootstrap build
- Update to gcc 4.7 20120224 snapshot
- Perform a bootstrap build using mingw-w64
- Dropped the /lib/i686-pc-mingw32-cpp symlink
- Dropped the float.h patch as it isn't needed anymore with mingw-w64
- Added some patches which upstream mingw-w64 recommends us to apply
.gitignore | 1 +
gcc-1-mingw-float.patch | 18 ---
gcc-4.7-fix-float128-soft-float.patch | 86 +++++++++++
gcc-r184560.patch | 24 +++
mingw32-gcc.spec | 268 +++++++++++++++++++++------------
sources | 2 +-
6 files changed, 285 insertions(+), 114 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 5155359..7461fc0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ gcc-4.5.1.tar.bz2
/gcc-4.6.1.tar.bz2
/gcc-4.7.0-20120106.tar.bz2
/gcc-4.7.0-20120126.tar.bz2
+/gcc-4.7.0-20120224.tar.bz2
diff --git a/gcc-4.7-fix-float128-soft-float.patch b/gcc-4.7-fix-float128-soft-float.patch
new file mode 100644
index 0000000..be1db7c
--- /dev/null
+++ b/gcc-4.7-fix-float128-soft-float.patch
@@ -0,0 +1,86 @@
+From gcc-patches-return-313740-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org Mon Feb 27 06:57:25 2012
+Return-Path: <gcc-patches-return-313740-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org>
+Delivered-To: listarch-gcc-patches at gcc dot gnu dot org
+Received: (qmail 16489 invoked by alias); 27 Feb 2012 06:57:23 -0000
+Received: (qmail 16478 invoked by uid 22791); 27 Feb 2012 06:57:22 -0000
+X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW
+X-Spam-Check-By: sourceware.org
+Received: from mail-tul01m020-f175.google.com (HELO mail-tul01m020-f175.google.com) (209.85.214.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 27 Feb 2012 06:57:09 +0000
+Received: by obhx4 with SMTP id x4so5306837obh.20 for <gcc-patches at gcc.gnu.org>; Sun, 26 Feb 2012 22:57:09 -0800 (PST)
+Received-SPF: pass (google.com: domain of ktietz70 at googlemail.com designates 10.182.72.69 as permitted sender) client-ip=10.182.72.69;
+Authentication-Results: mr.google.com; spf=pass (google.com: domain of ktietz70 at googlemail.com designates 10.182.72.69 as permitted sender) smtp.mail=ktietz70 at googlemail.com; dkim=pass header.i=ktietz70 at googlemail.com
+Received: from mr.google.com ([10.182.72.69]) by 10.182.72.69 with SMTP id b5mr4374646obv.77.1330325829010 (num_hops = 1); Sun, 26 Feb 2012 22:57:09 -0800 (PST)
+MIME-Version: 1.0
+Received: by 10.182.72.69 with SMTP id b5mr3938096obv.77.1330325828931; Sun, 26 Feb 2012 22:57:08 -0800 (PST)
+Received: by 10.182.33.103 with HTTP; Sun, 26 Feb 2012 22:57:08 -0800 (PST)
+Date: Mon, 27 Feb 2012 07:57:08 +0100
+Message-ID: <CAEwic4aZE8WXvs0TwAWr-1GZn6JNzi7_WJ50vBcm45HpdPVGdw at mail.gmail.com>
+Subject: [patch libgcc]: Fix float128 soft-float for mingw targets
+From: Kai Tietz <ktietz70 at googlemail dot com>
+To: GCC Patches <gcc-patches at gcc dot gnu dot org>
+Cc: Richard Henderson <rth at redhat dot com>
+Content-Type: text/plain; charset=ISO-8859-1
+X-IsSubscribed: yes
+Mailing-List: contact gcc-patches-help at gcc dot gnu dot org; run by ezmlm
+Precedence: bulk
+List-Id: <gcc-patches.gcc.gnu.org>
+List-Archive: <http://gcc.gnu.org/ml/gcc-patches/>
+List-Post: <mailto:gcc-patches at gcc dot gnu dot org>
+List-Help: <mailto:gcc-patches-help at gcc dot gnu dot org>
+Sender: gcc-patches-owner at gcc dot gnu dot org
+Delivered-To: mailing list gcc-patches at gcc dot gnu dot org
+
+Hi,
+
+by recent tests in gcc.target/i386 I noticed that testcase
+float128-2.c failed on executation. This failure is caused by
+incompatible bitfield-structure definition in soft-fp/quad.h for
+enabled ms-bitfields layout.
+
+Patch marks those structures to be 'gcc_struct' for mingw targets.
+
+ChangeLog
+
+2012-02-27 Kai Tietz <ktietz at redhat.com>
+
+ * soft-fp/quad.h: Mark bitfield-structures as gcc_struct.
+
+Regression tested for i686-w64-mingw32, x86_64-w64-mingw32, and
+x86_64-unknown-linux-gnu for all languages (including Ada + Obj-C++).
+Ok for apply?
+
+Regards,
+Kai
+
+Index: soft-fp/quad.h
+===================================================================
+--- soft-fp/quad.h (revision 184486)
++++ soft-fp/quad.h (working copy)
+@@ -67,7 +67,11 @@
+ union _FP_UNION_Q
+ {
+ TFtype flt;
+- struct
++ struct
++#ifdef __MINGW32__
++ /* Make sure we are using gnu-style bitfield handling. */
++ __attribute__ ((gcc_struct))
++#endif
+ {
+ #if __BYTE_ORDER == __BIG_ENDIAN
+ unsigned sign : 1;
+@@ -174,7 +178,12 @@
+ struct {
+ _FP_W_TYPE a, b;
+ } longs;
+- struct {
++ struct
++#ifdef __MINGW32__
++ /* Make sure we are using gnu-style bitfield handling. */
++ __attribute__ ((gcc_struct))
++#endif
++ {
+ #if __BYTE_ORDER == __BIG_ENDIAN
+ unsigned sign : 1;
+ unsigned exp : _FP_EXPBITS_Q;
+
diff --git a/gcc-r184560.patch b/gcc-r184560.patch
new file mode 100644
index 0000000..df66c1f
--- /dev/null
+++ b/gcc-r184560.patch
@@ -0,0 +1,24 @@
+Index: gcc/config/i386/i386.c
+===================================================================
+--- gcc/config/i386/i386.c (revision 184559)
++++ gcc/config/i386/i386.c (revision 184560)
+@@ -13241,6 +13241,19 @@
+
+ if (TARGET_64BIT)
+ {
++ if (GET_CODE (x) == CONST
++ && GET_CODE (XEXP (x, 0)) == PLUS
++ && GET_MODE (XEXP (x, 0)) == Pmode
++ && CONST_INT_P (XEXP (XEXP (x, 0), 1))
++ && GET_CODE (XEXP (XEXP (x, 0), 0)) == UNSPEC
++ && XINT (XEXP (XEXP (x, 0), 0), 1) == UNSPEC_PCREL)
++ {
++ rtx x2 = XVECEXP (XEXP (XEXP (x, 0), 0), 0, 0);
++ x = gen_rtx_PLUS (Pmode, XEXP (XEXP (x, 0), 1), x2);
++ if (MEM_P (orig_x))
++ x = replace_equiv_address_nv (orig_x, x);
++ return x;
++ }
+ if (GET_CODE (x) != CONST
+ || GET_CODE (XEXP (x, 0)) != UNSPEC
+ || (XINT (XEXP (x, 0), 1) != UNSPEC_GOTPCREL
diff --git a/mingw32-gcc.spec b/mingw32-gcc.spec
index 9a3304e..8070e88 100644
--- a/mingw32-gcc.spec
+++ b/mingw32-gcc.spec
@@ -1,9 +1,15 @@
%global __os_install_post /usr/lib/rpm/brp-compress %{nil}
-%global snapshot_date 20120126
+%global snapshot_date 20120224
+
+# Set this to one when mingw-crt isn't built yet
+%global bootstrap 1
+
+# Libgomp requires pthreads so this can only be enabled once pthreads is built
+%global enable_libgomp 0
Name: mingw32-gcc
Version: 4.7.0
-Release: 0.2.%{snapshot_date}%{?dist}
+Release: 0.3.%{snapshot_date}%{?dist}
Summary: MinGW Windows cross-compiler (GCC) for C
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions
@@ -15,15 +21,25 @@ URL: http://gcc.gnu.org
# tar cf - gcc-%{version}-%{DATE} | bzip2 -9 > gcc-%{version}-%{snapshot_date}.tar.bz2
Source0: gcc-%{version}-%{snapshot_date}.tar.bz2
#Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.bz2
-Patch0: gcc-1-mingw-float.patch
+
+# Recommended by upstream mingw-w64
+# Already upstreamed in gcc r184560
+Patch0: gcc-r184560.patch
+
+# Fix float128 soft-float for mingw targets
+# http://gcc.gnu.org/ml/gcc-patches/2012-02/msg01309.html
+Patch1: gcc-4.7-fix-float128-soft-float.patch
BuildRequires: texinfo
-BuildRequires: mingw32-filesystem >= 68
-# Need mingw32-binutils which support %gnu_unique_object >= 2.19.51.0.14
-BuildRequires: mingw32-binutils >= 2.19.51.0.14
-BuildRequires: mingw32-runtime >= 3.18-4
-BuildRequires: mingw32-w32api
+BuildRequires: mingw32-filesystem >= 95
+BuildRequires: mingw32-binutils
+BuildRequires: mingw32-headers
+%if 0%{bootstrap} == 0
+BuildRequires: mingw32-crt
+%if 0%{enable_libgomp}
BuildRequires: mingw32-pthreads
+%endif
+%endif
BuildRequires: gmp-devel
BuildRequires: mpfr-devel
BuildRequires: libmpc-devel
@@ -33,10 +49,12 @@ BuildRequires: ppl-devel
BuildRequires: cloog-ppl-devel
BuildRequires: flex
-# Need mingw32-binutils which support %gnu_unique_object
-Requires: mingw32-binutils >= 2.19.51.0.14
-Requires: mingw32-w32api
+Requires: mingw32-binutils
+Requires: mingw32-headers
Requires: mingw32-cpp
+%if 0%{bootstrap} == 0
+Requires: mingw32-crt
+%endif
%description
MinGW Windows cross-compiler (GCC) for C.
@@ -90,7 +108,10 @@ MinGW Windows cross-compiler for FORTRAN.
%prep
%setup -q -n gcc-%{version}-%{snapshot_date}
-%patch0 -p1 -b .float
+%patch0 -p0
+pushd libgcc
+%patch1 -p0
+popd
echo 'Fedora MinGW %{version}-%{release}' > gcc/DEV-PHASE
# Install python files into _mingw32_datadir
@@ -98,65 +119,99 @@ sed -i -e '/^pythondir =/ s|$(datadir)|%{_mingw32_datadir}|' libstdc++-v3/python
%build
-mkdir -p build
+# Default configure arguments
+configure_args="\
+ --prefix=%{_prefix} \
+ --bindir=%{_bindir} \
+ --includedir=%{_includedir} \
+ --libdir=%{_libdir} \
+ --mandir=%{_mandir} \
+ --infodir=%{_infodir} \
+ --datadir=%{_datadir} \
+ --build=%_build --host=%_host \
+ --with-gnu-as --with-gnu-ld --verbose \
+ --without-newlib \
+ --disable-multilib \
+ --disable-plugin \
+ --with-system-zlib \
+ --disable-nls --without-included-gettext \
+ --disable-win32-registry \
+ --target=%{_mingw32_target} \
+ --with-sysroot=%{_mingw32_sysroot} \
+ --with-gxx-include-dir=%{_mingw32_includedir}/c++ \
+ --enable-languages="c,c++,objc,obj-c++,fortran" \
+ --with-bugurl=http://bugzilla.redhat.com/bugzilla"
+
+# PPL/CLOOG optimalisations are only available on Fedora
+%if 0%{?fedora}
+configure_args="$configure_args --with-ppl --with-cloog"
+%endif
+
+# When bootstrapping, disable LTO support as it causes errors while building any binary
+# $ i686-pc-mingw32-gcc -o conftest conftest.c >&5
+# i686-pc-mingw32-gcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found
+%if 0%{bootstrap}
+configure_args="$configure_args --disable-lto"
+%endif
+
+%if 0%{enable_libgomp}
+configure_args="$configure_args --enable-libgomp"
+%endif
+
+# As we can't use the %%configure macro for out of source builds
+# we've got to set the right compiler flags here
+export CC="%{__cc} ${RPM_OPT_FLAGS}"
+
+mkdir build
pushd build
-
-# GNAT is required to build Ada. Don't build GCJ.
-#languages="c,c++,objc,obj-c++,java,fortran,ada"
-languages="c,c++,objc,obj-c++,fortran"
-
-CC="%{__cc} ${RPM_OPT_FLAGS}" \
-../configure \
- --prefix=%{_prefix} \
- --bindir=%{_bindir} \
- --includedir=%{_includedir} \
- --libdir=%{_libdir} \
- --mandir=%{_mandir} \
- --infodir=%{_infodir} \
- --datadir=%{_datadir} \
- --build=%_build --host=%_host \
- --target=%{_mingw32_target} \
- --with-gnu-as --with-gnu-ld --verbose \
- --without-newlib \
- --disable-multilib \
- --disable-plugin \
- --enable-libgomp \
- --with-ppl --with-cloog \
- --with-system-zlib \
- --disable-nls --without-included-gettext \
- --disable-win32-registry \
- --enable-version-specific-runtime-libs \
- --with-sysroot=%{_mingw32_sysroot} \
- --enable-languages="$languages" \
- --with-bugurl=http://bugzilla.redhat.com/bugzilla
-
-make %{?_smp_mflags} all
-
+ ../configure $configure_args
+
+ # If we're bootstrapping, only build the GCC core
+ %if 0%{bootstrap}
+ make %{?_smp_mflags} all-gcc
+ %else
+ make %{?_smp_mflags} all
+ %endif
popd
%install
pushd build
+%if 0%{bootstrap}
+make DESTDIR=$RPM_BUILD_ROOT install-gcc
+%else
make DESTDIR=$RPM_BUILD_ROOT install
+%endif
# These files conflict with existing installed files.
rm -rf $RPM_BUILD_ROOT%{_infodir}
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty*
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/*
+rm -rf $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python
-mkdir -p $RPM_BUILD_ROOT/lib
-ln -sf ..%{_prefix}/bin/%{_mingw32_target}-cpp \
- $RPM_BUILD_ROOT/lib/%{_mingw32_target}-cpp
-
-# Move runtime dll files to _mingw32_bindir.
+%if 0%{bootstrap} == 0
+# Move the DLL's manually to the correct location
mkdir -p $RPM_BUILD_ROOT%{_mingw32_bindir}
-mv $RPM_BUILD_ROOT%{_libdir}/gcc/%{_mingw32_target}/%{version}/*.dll \
- $RPM_BUILD_ROOT%{_libdir}/gcc/%{_mingw32_target}/*.dll \
- $RPM_BUILD_ROOT%{_mingw32_bindir}
+mv $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}/lib/libgcc_s_sjlj-1.dll \
+ $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}/lib/libssp-0.dll \
+ $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}/lib/libstdc++-6.dll \
+ $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}/lib/libobjc-4.dll \
+ $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}/lib/libgfortran-3.dll \
+ $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}/lib/libquadmath-0.dll \
+%if 0%{enable_libgomp}
+ $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}/lib/libgomp-1.dll \
+%endif
+ $RPM_BUILD_ROOT%{_mingw32_bindir}
+
+# Various import libraries are placed in the wrong folder
+mkdir -p $RPM_BUILD_ROOT%{_mingw32_libdir}
+mv $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}/lib/* $RPM_BUILD_ROOT%{_mingw32_libdir}
# Don't want the *.la files.
find $RPM_BUILD_ROOT -name '*.la' -delete
+%endif
+
# For some reason there are wrapper libraries created named $target-$target-gcc-$tool
# Drop those files for now as this looks like a bug in GCC
rm -f $RPM_BUILD_ROOT%{_bindir}/%{_mingw32_target}-%{_mingw32_target}-*
@@ -173,72 +228,82 @@ popd
%{_bindir}/%{_mingw32_target}-gcov
%dir %{_libdir}/gcc/%{_mingw32_target}
%dir %{_libdir}/gcc/%{_mingw32_target}/%{version}
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/crtbegin.o
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/crtend.o
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/crtfastmath.o
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgcc.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgcc_eh.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgcc_s.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgcov.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgomp.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgomp.dll.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgomp.spec
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libssp.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libssp_nonshared.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libssp.dll.a
%dir %{_libdir}/gcc/%{_mingw32_target}/%{version}/include
%dir %{_libdir}/gcc/%{_mingw32_target}/%{version}/include-fixed
-%dir %{_libdir}/gcc/%{_mingw32_target}/%{version}/include/ssp
%{_libdir}/gcc/%{_mingw32_target}/%{version}/include-fixed/README
%{_libdir}/gcc/%{_mingw32_target}/%{version}/include-fixed/*.h
%{_libdir}/gcc/%{_mingw32_target}/%{version}/include/*.h
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/include/ssp/*.h
%dir %{_libdir}/gcc/%{_mingw32_target}/%{version}/install-tools
%{_libdir}/gcc/%{_mingw32_target}/%{version}/install-tools/*
%dir %{_libexecdir}/gcc/%{_mingw32_target}/%{version}/install-tools
%{_libexecdir}/gcc/%{_mingw32_target}/%{version}/install-tools/*
%{_libexecdir}/gcc/%{_mingw32_target}/%{version}/lto-wrapper
-%{_libexecdir}/gcc/%{_mingw32_target}/%{version}/lto1
-%{_libexecdir}/gcc/%{_mingw32_target}/%{version}/liblto_plugin.so*
-%{_mingw32_bindir}/libgcc_s_sjlj-1.dll
-%{_mingw32_bindir}/libgomp-1.dll
-%{_mingw32_bindir}/libssp-0.dll
%{_mandir}/man1/%{_mingw32_target}-gcc.1*
%{_mandir}/man1/%{_mingw32_target}-gcov.1*
-%{_mingw32_datadir}/gcc-%{version}/
+# Non-bootstrap files
+%if 0%{bootstrap} == 0
+%{_mingw32_bindir}/libgcc_s_sjlj-1.dll
+%{_mingw32_bindir}/libssp-0.dll
+%{_mingw32_libdir}/libgcc_s.a
+%{_mingw32_libdir}/libssp.a
+%{_mingw32_libdir}/libssp.dll.a
+%{_mingw32_libdir}/libssp_nonshared.a
+%{_libdir}/gcc/%{_mingw32_target}/%{version}/crtbegin.o
+%{_libdir}/gcc/%{_mingw32_target}/%{version}/crtend.o
+%{_libdir}/gcc/%{_mingw32_target}/%{version}/crtfastmath.o
+%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgcc.a
+%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgcc_eh.a
+%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgcov.a
+%dir %{_libdir}/gcc/%{_mingw32_target}/%{version}/include/ssp
+%{_libdir}/gcc/%{_mingw32_target}/%{version}/include/ssp/*.h
+%{_libexecdir}/gcc/%{_mingw32_target}/%{version}/lto1
+%{_libexecdir}/gcc/%{_mingw32_target}/%{version}/liblto_plugin.so*
+
+%if 0%{enable_libgomp}
+%{_mingw32_bindir}/libgomp-1.dll
+%{_mingw32_libdir}/libgomp.a
+%{_mingw32_libdir}/libgomp.dll.a
+%{_mingw32_libdir}/libgomp.spec
+%endif
+%endif
%files -n mingw32-cpp
-/lib/%{_mingw32_target}-cpp
%{_bindir}/%{_mingw32_target}-cpp
%{_mandir}/man1/%{_mingw32_target}-cpp.1*
+%{_libexecdir}/gcc/%{_mingw32_target}/%{version}/cc1
%dir %{_libdir}/gcc/%{_mingw32_target}
%dir %{_libdir}/gcc/%{_mingw32_target}/%{version}
-%{_libexecdir}/gcc/%{_mingw32_target}/%{version}/cc1
%files c++
%{_bindir}/%{_mingw32_target}-g++
%{_bindir}/%{_mingw32_target}-c++
%{_mandir}/man1/%{_mingw32_target}-g++.1*
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/include/c++/
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libc++11.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libc++98.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libstdc++.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libstdc++.dll.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libstdc++.dll.a-gdb.py
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libsupc++.a
%{_libexecdir}/gcc/%{_mingw32_target}/%{version}/cc1plus
%{_libexecdir}/gcc/%{_mingw32_target}/%{version}/collect2
+
+# Non-bootstrap files
+%if 0%{bootstrap} == 0
+%{mingw32_includedir}/c++/
+%{_mingw32_libdir}/libstdc++.a
+%{_mingw32_libdir}/libstdc++.dll.a
+%{_mingw32_libdir}/libstdc++.dll.a-gdb.py
+%{_mingw32_libdir}/libsupc++.a
%{_mingw32_bindir}/libstdc++-6.dll
+%endif
%files objc
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/include/objc/
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libobjc.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libobjc.dll.a
%{_libexecdir}/gcc/%{_mingw32_target}/%{version}/cc1obj
+
+# Non-bootstrap files
+%if 0%{bootstrap} == 0
+%{_libdir}/gcc/%{_mingw32_target}/%{version}/include/objc/
+%{_mingw32_libdir}/libobjc.a
+%{_mingw32_libdir}/libobjc.dll.a
%{_mingw32_bindir}/libobjc-4.dll
+%endif
%files objc++
@@ -248,24 +313,37 @@ popd
%files gfortran
%{_bindir}/%{_mingw32_target}-gfortran
%{_mandir}/man1/%{_mingw32_target}-gfortran.1*
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgfortran.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgfortran.dll.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgfortran.spec
+%{_libexecdir}/gcc/%{_mingw32_target}/%{version}/f951
+%dir %{_libdir}/gcc/%{_mingw32_target}/%{version}/finclude
+
+# Non-bootstrap files
+%if 0%{bootstrap} == 0
+%{_mingw32_bindir}/libgfortran-3.dll
+%{_mingw32_bindir}/libquadmath-0.dll
+%{_mingw32_libdir}/libgfortran.a
+%{_mingw32_libdir}/libgfortran.dll.a
+%{_mingw32_libdir}/libgfortran.spec
+%{_mingw32_libdir}/libquadmath.a
+%{_mingw32_libdir}/libquadmath.dll.a
%{_libdir}/gcc/%{_mingw32_target}/%{version}/libgfortranbegin.a
%{_libdir}/gcc/%{_mingw32_target}/%{version}/libcaf_single.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libquadmath.a
-%{_libdir}/gcc/%{_mingw32_target}/%{version}/libquadmath.dll.a
-%dir %{_libdir}/gcc/%{_mingw32_target}/%{version}/finclude
+%if 0%{enable_libgomp}
%{_libdir}/gcc/%{_mingw32_target}/%{version}/finclude/omp_lib.f90
%{_libdir}/gcc/%{_mingw32_target}/%{version}/finclude/omp_lib.h
%{_libdir}/gcc/%{_mingw32_target}/%{version}/finclude/omp_lib.mod
%{_libdir}/gcc/%{_mingw32_target}/%{version}/finclude/omp_lib_kinds.mod
-%{_libexecdir}/gcc/%{_mingw32_target}/%{version}/f951
-%{_mingw32_bindir}/libgfortran-3.dll
-%{_mingw32_bindir}/libquadmath-0.dll
+%endif
+%endif
%changelog
+* Sat Feb 25 2012 Erik van Pienbroek <epienbro at fedoraproject.org> - 4.7.0-0.3.20120224
+- Update to gcc 4.7 20120224 snapshot
+- Perform a bootstrap build using mingw-w64
+- Dropped the /lib/i686-pc-mingw32-cpp symlink
+- Dropped the float.h patch as it isn't needed anymore with mingw-w64
+- Added some patches which upstream mingw-w64 recommends us to apply
+
* Fri Jan 27 2012 Erik van Pienbroek <epienbro at fedoraproject.org> - 4.7.0-0.2.20120126
- Update to gcc 4.7 20120126 snapshot (fixes mingw32-qt build failure)
diff --git a/sources b/sources
index 3452c45..b733364 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-d96c83882dc395b8465feb9f86ba999d gcc-4.7.0-20120126.tar.bz2
+efd453ff4dfe84ed08aa1f2287b299ef gcc-4.7.0-20120224.tar.bz2
More information about the mingw
mailing list