Latest mingw64 packages.
authorRichard W.M. Jones <rjones@redhat.com>
Thu, 12 Feb 2009 11:05:46 +0000 (11:05 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Thu, 12 Feb 2009 11:05:46 +0000 (11:05 +0000)
mingw64-binutils/mingw64-binutils.spec
mingw64-filesystem/macros.mingw64
mingw64-filesystem/mingw64-filesystem.spec
mingw64-gcc/mingw64-gcc-bootstrap.spec [new file with mode: 0644]
mingw64-gcc/mingw64-gcc-build.patch [new file with mode: 0644]
mingw64-gcc/mingw64-gcc.spec [new file with mode: 0644]
mingw64-headers/mingw64-headers.spec
mingw64-runtime/mingw-w64-crt-607.tar.gz [new file with mode: 0644]
mingw64-runtime/mingw64-runtime.spec [new file with mode: 0644]

index 36f3589..4793bab 100644 (file)
@@ -1,21 +1,26 @@
 Name:           mingw64-binutils
 Version:        2.19.1
-Release:        1%{?dist}
+Release:        4%{?dist}
 Summary:        MinGW Windows binutils
 
 License:        GPLv2+ and LGPLv2+ and GPLv3+ and LGPLv3+
 Group:          Development/Libraries
+
 URL:            http://www.gnu.org/software/binutils/
 Source0:        http://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.bz2
+
+# Possible patch added after 2.19.1:
+# http://sourceware.org/ml/binutils/2009-02/msg00090.html
+
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  flex
 BuildRequires:  bison
 BuildRequires:  texinfo
-BuildRequires:  mingw64-filesystem >= 2
+BuildRequires:  mingw64-filesystem >= 6
 
 # NB: This must be left in.
-Requires:       mingw64-filesystem >= 2
+Requires:       mingw64-filesystem >= 6
 
 
 %description
@@ -43,7 +48,7 @@ CFLAGS="$RPM_OPT_FLAGS" \
   --includedir=%{_includedir} --libdir=%{_libdir} \
   --mandir=%{_mandir} --infodir=%{_infodir}
 
-make all
+make %{?_smp_mflags} all
 
 
 %install
@@ -70,7 +75,7 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
-* Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 2.19.1-1
+* Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 2.19.1-4
 - Started mingw64 development.
 
 * Tue Feb 10 2009 Richard W.M. Jones <rjones@redhat.com> - 2.19.1-1
index f4d8306..1e7b258 100644 (file)
@@ -4,8 +4,8 @@
 
 # Paths.
 %_mingw64_sysroot         %{_prefix}/%{_mingw64_target}/sys-root
-%_mingw64_prefix          %{_mingw64_sysroot}/mingw
-%_mingw64_exec_prefix     %{_mingw64_prefix}
+%_mingw64_prefix          %{_mingw64_sysroot}
+%_mingw64_exec_prefix     %{_mingw64_prefix}/%{_mingw64_target}
 %_mingw64_bindir          %{_mingw64_exec_prefix}/bin
 %_mingw64_sbindir         %{_mingw64_exec_prefix}/sbin
 %_mingw64_libexecdir      %{_mingw64_exec_prefix}/libexec
 %_mingw64_sysconfdir      %{_mingw64_prefix}/etc
 %_mingw64_sharedstatedir  %{_mingw64_prefix}/com
 %_mingw64_localstatedir   %{_mingw64_prefix}/var
-%_mingw64_includedir      %{_mingw64_prefix}/include
+
+# XXX Not sure which of these is correct ...
+#%_mingw64_includedir      %{_mingw64_prefix}/include
+%_mingw64_includedir      %{_mingw64_exec_prefix}/include
 
 # Build macros.
 %_mingw64_host            %{_mingw64_target}
index c2f1df3..d43e404 100644 (file)
@@ -1,7 +1,7 @@
 %define debug_package %{nil}
 
 Name:           mingw64-filesystem
-Version:        2
+Version:        6
 Release:        1%{?dist}
 Summary:        MinGW base filesystem and environment
 
@@ -95,30 +95,37 @@ mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32
 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/bin
 mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/lib
 
-# The MinGW system root which will contain Windows native binaries
+# The system root which will contain Windows native binaries
 # and Windows-specific header files, pkgconfig, etc.
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/mingw
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/mingw/bin
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/mingw/include
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/mingw/include/sys
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/mingw/lib
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/mingw/lib/pkgconfig
-
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/mingw/share/aclocal
+# NOTE different from mingw32.
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/x86_64-pc-mingw32
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/x86_64-pc-mingw32/bin
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/x86_64-pc-mingw32/include
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/x86_64-pc-mingw32/include/sys
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/x86_64-pc-mingw32/lib
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/x86_64-pc-mingw32/lib/pkgconfig
 
 # We don't normally package manual pages and info files, except
 # where those are not supplied by a Fedora native package.  So we
 # need to create the directories.
 #
 # Note that some packages try to install stuff in
-#   /usr/x86_64-pc-mingw32/sys-root/mingw/man and
-#   /usr/x86_64-pc-mingw32/sys-root/mingw/doc
+#   /usr/x86_64-pc-mingw32/sys-root/man and
+#   /usr/x86_64-pc-mingw32/sys-root/doc
 # but those are both packaging bugs.
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/mingw/share
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/mingw/share/doc
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/mingw/share/info
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/mingw/share/man
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/mingw/share/man/man{1,2,3,4,5,6,7,8,l,n}
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/share
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/share/doc
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/share/info
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/share/man
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/share/man/man{1,2,3,4,5,6,7,8,l,n}
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root/share/aclocal
+
+
+# This is needed because of some problems with upstream gcc and
+# bad mingw32 patches.
+pushd $RPM_BUILD_ROOT%{_prefix}/x86_64-pc-mingw32/sys-root
+ln -s x86_64-pc-mingw32 mingw
+popd
 
 # NB. NOT _libdir
 mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm
@@ -145,7 +152,7 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
-* Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 2-1
+* Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 6-1
 - Start mingw64 development.
 
 * Sun Feb  1 2009 Richard W.M. Jones <rjones@redhat.com> - 46-1
diff --git a/mingw64-gcc/mingw64-gcc-bootstrap.spec b/mingw64-gcc/mingw64-gcc-bootstrap.spec
new file mode 100644 (file)
index 0000000..2a4b4b9
--- /dev/null
@@ -0,0 +1,163 @@
+# This is the bootstrap GCC which is required for bootstrapping
+# mingw64-runtime.
+
+%define __os_install_post /usr/lib/rpm/brp-compress %{nil}
+
+%define upstream_version 4.4-20090206
+
+Name:           mingw64-gcc-bootstrap
+Version:        4.4.0
+Release:        0.20090206.6%{?dist}
+Summary:        MinGW Windows cross-compiler (GCC) for C
+
+License:        GPLv2+
+Group:          Development/Languages
+URL:            http://www.mingw.org/
+Source0:        ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/snapshots/4.4-20090206/gcc-core-4.4-20090206.tar.bz2
+
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires:  texinfo
+BuildRequires:  mingw64-filesystem >= 6
+BuildRequires:  mingw64-binutils
+BuildRequires:  mingw64-headers
+BuildRequires:  gmp-devel
+%if 0%{?fedora} >= 9
+BuildRequires:  mpfr-devel
+%endif
+BuildRequires:  libgomp
+
+# NB: Explicit mingw64-filesystem dependency is REQUIRED here.
+Requires:       mingw64-filesystem >= 6
+Requires:       mingw64-binutils
+Requires:       mingw64-headers
+Requires:       mingw64-cpp-bootstrap
+
+
+%description
+MinGW Windows cross-compiler (GCC) for C
+
+
+%package -n mingw64-cpp-bootstrap
+Summary: MinGW Windows cross-C Preprocessor.
+Group: Development/Languages
+
+
+%description -n mingw64-cpp-bootstrap
+MinGW Windows cross-C Preprocessor
+
+
+%prep
+%setup -q -c
+
+
+%build
+cd gcc-%{upstream_version}
+
+mkdir -p build
+cd build
+
+languages="c"
+
+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=%{_mingw64_target} \
+  --with-gnu-as --with-gnu-ld --verbose \
+  --without-newlib \
+  --disable-multilib \
+  --with-system-zlib \
+  --disable-nls --without-included-gettext \
+  --disable-win32-registry \
+  --enable-version-specific-runtime-libs \
+  --with-sysroot=%{_mingw64_sysroot} \
+  --enable-languages="$languages" $optargs
+
+make %{?_smp_mflags} all-gcc
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+cd gcc-%{upstream_version}
+cd build
+make DESTDIR=$RPM_BUILD_ROOT install-gcc
+
+# These files conflict with existing installed files.
+rm -rf $RPM_BUILD_ROOT%{_infodir}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man7/*
+
+mkdir -p $RPM_BUILD_ROOT/lib
+ln -sf ..%{_prefix}/bin/x86_64-pc-mingw32-cpp \
+  $RPM_BUILD_ROOT/lib/x86_64-pc-mingw32-cpp
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%files
+%defattr(-,root,root)
+%{_bindir}/x86_64-pc-mingw32-gcc
+%{_bindir}/x86_64-pc-mingw32-gcc-%{version}
+%{_bindir}/x86_64-pc-mingw32-gccbug
+%{_bindir}/x86_64-pc-mingw32-gcov
+%dir %{_libdir}/gcc/x86_64-pc-mingw32
+%dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}
+%dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include
+%dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include-fixed
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include-fixed/README
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include-fixed/*.h
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include/*.h
+%dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/install-tools
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/install-tools/*
+%dir %{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/install-tools
+%{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/install-tools/*
+%{_mandir}/man1/x86_64-pc-mingw32-gcc.1*
+%{_mandir}/man1/x86_64-pc-mingw32-gcov.1*
+
+
+%files -n mingw64-cpp-bootstrap
+%defattr(-,root,root)
+/lib/x86_64-pc-mingw32-cpp
+%{_bindir}/x86_64-pc-mingw32-cpp
+%{_mandir}/man1/x86_64-pc-mingw32-cpp.1*
+%dir %{_libdir}/gcc/x86_64-pc-mingw32
+%dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}
+%{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/cc1
+%{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/collect2
+
+
+%changelog
+* Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 4.4.0-0.20090206.6
+- Started mingw64 development.
+
+* Mon Nov 24 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-12
+- Rebuild against latest filesystem package.
+
+* Fri Nov 21 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-11
+- Remove obsoletes for a long dead package.
+
+* Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-10
+- Rebuild against mingw32-filesystem 37
+
+* Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-9
+- Rebuild against mingw32-filesystem 36
+
+* Thu Oct 30 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-8
+- Don't BR mpfr-devel for RHEL/EPEL-5 (Levente Farkas).
+
+* Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-7
+- Rename mingw -> mingw32.
+
+* Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-6
+- Use RPM macros from mingw-filesystem.
+
+* Mon Jul  7 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-3
+- Initial RPM release, largely based on earlier work from several sources.
diff --git a/mingw64-gcc/mingw64-gcc-build.patch b/mingw64-gcc/mingw64-gcc-build.patch
new file mode 100644 (file)
index 0000000..5ef4de1
--- /dev/null
@@ -0,0 +1,54 @@
+diff -rup mingw-gcc-4.3.2.orig/gcc-4.3.2/gcc/toplev.c mingw-gcc-4.3.2.new/gcc-4.3.2/gcc/toplev.c
+--- mingw-gcc-4.3.2.orig/gcc-4.3.2/gcc/toplev.c        2008-04-24 13:59:01.000000000 -0400
++++ mingw-gcc-4.3.2.new/gcc-4.3.2/gcc/toplev.c 2008-09-02 07:31:12.000000000 -0400
+@@ -536,7 +536,7 @@ read_integral_parameter (const char *p, 
+    for floor_log2 and exact_log2; see toplev.h.  That construct, however,
+    conflicts with the ISO C++ One Definition Rule.   */
+-#if GCC_VERSION < 3004 || !defined (__cplusplus)
++#if GCC_VERSION < 3004
+ /* Given X, an unsigned number, return the largest int Y such that 2**Y <= X.
+    If X is 0, return -1.  */
+diff -rup mingw-gcc-4.3.2.orig/gcc-4.3.2/gcc/toplev.h mingw-gcc-4.3.2.new/gcc-4.3.2/gcc/toplev.h
+--- mingw-gcc-4.3.2.orig/gcc-4.3.2/gcc/toplev.h        2007-09-23 15:18:27.000000000 -0400
++++ mingw-gcc-4.3.2.new/gcc-4.3.2/gcc/toplev.h 2008-09-03 07:08:46.000000000 -0400
+@@ -154,12 +154,6 @@ extern void decode_d_option               (const char
+ /* Return true iff flags are set as if -ffast-math.  */
+ extern bool fast_math_flags_set_p     (void);
+-/* Return log2, or -1 if not exact.  */
+-extern int exact_log2                  (unsigned HOST_WIDE_INT);
+-
+-/* Return floor of log2, with -1 for zero.  */
+-extern int floor_log2                  (unsigned HOST_WIDE_INT);
+-
+ /* Inline versions of the above for speed.  */
+ #if GCC_VERSION >= 3004
+ # if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
+@@ -173,17 +167,23 @@ extern int floor_log2                  (
+ #  define CTZ_HWI __builtin_ctz
+ # endif
+-extern inline int
++static inline int
+ floor_log2 (unsigned HOST_WIDE_INT x)
+ {
+   return x ? HOST_BITS_PER_WIDE_INT - 1 - (int) CLZ_HWI (x) : -1;
+ }
+-extern inline int
++static inline int
+ exact_log2 (unsigned HOST_WIDE_INT x)
+ {
+   return x == (x & -x) && x ? (int) CTZ_HWI (x) : -1;
+ }
++#else
++/* Return log2, or -1 if not exact.  */
++extern int exact_log2                  (unsigned HOST_WIDE_INT);
++
++/* Return floor of log2, with -1 for zero.  */
++extern int floor_log2                  (unsigned HOST_WIDE_INT);
+ #endif /* GCC_VERSION >= 3004 */
+ /* Functions used to get and set GCC's notion of in what directory
diff --git a/mingw64-gcc/mingw64-gcc.spec b/mingw64-gcc/mingw64-gcc.spec
new file mode 100644 (file)
index 0000000..bee50c9
--- /dev/null
@@ -0,0 +1,204 @@
+%define __os_install_post /usr/lib/rpm/brp-compress %{nil}
+
+%define upstream_version 4.4-20090206
+
+Name:           mingw64-gcc
+Version:        4.4.0
+Release:        0.20090206.6%{?dist}
+Summary:        MinGW Windows cross-compiler (GCC) for C
+
+License:        GPLv2+
+Group:          Development/Languages
+URL:            http://www.mingw.org/
+Source0:        ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/snapshots/%{upstream_version}/gcc-core-%{upstream_version}.tar.bz2
+Source1:        ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/snapshots/%{upstream_version}/gcc-g++-%{upstream_version}.tar.bz2
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires:  texinfo
+BuildRequires:  mingw64-filesystem >= 6
+BuildRequires:  mingw64-binutils
+BuildRequires:  mingw64-headers
+BuildRequires:  mingw64-runtime
+BuildRequires:  gmp-devel
+%if 0%{?fedora} >= 9
+BuildRequires:  mpfr-devel
+%endif
+BuildRequires:  libgomp
+
+# NB: Explicit mingw64-filesystem dependency is REQUIRED here.
+Requires:       mingw64-filesystem >= 6
+Requires:       mingw64-binutils
+Requires:       mingw64-headers
+Requires:       mingw64-runtime
+Requires:       mingw64-cpp
+
+# Once this full GCC is installed, it obsoletes the bootstrap GCC.
+Obsoletes:      mingw64-gcc-bootstrap <= %{version}-%{release}
+Provides:       mingw64-gcc-bootstrap = %{version}-%{release}
+
+
+%description
+MinGW Windows cross-compiler (GCC) for C
+
+
+%package -n mingw64-cpp
+Summary: MinGW Windows cross-C Preprocessor.
+Group: Development/Languages
+Obsoletes:      mingw64-cpp-bootstrap <= %{version}-%{release}
+Provides:       mingw64-cpp-bootstrap = %{version}-%{release}
+
+
+%description -n mingw64-cpp
+MinGW Windows cross-C Preprocessor
+
+
+%package c++
+Summary: MinGW Windows cross-compiler for C++
+Group: Development/Languages
+
+%description c++
+MinGW Windows cross-compiler for C++
+
+
+%prep
+%setup -q -c
+%setup -q -D -T -a1
+
+
+%build
+cd gcc-%{upstream_version}
+
+mkdir -p build
+cd build
+
+languages="c,c++"
+
+CC="%{__cc} ${RPM_OPT_FLAGS}" \
+MINGW64_CFLAGS="%{_mingw64_cflags} -L%{_mingw64_libdir}" \
+../configure \
+  --prefix=%{_prefix} \
+  --bindir=%{_bindir} \
+  --includedir=%{_includedir} \
+  --libdir=%{_libdir} \
+  --mandir=%{_mandir} \
+  --infodir=%{_infodir} \
+  --datadir=%{_datadir} \
+  --build=%_build --host=%_host \
+  --target=%{_mingw64_target} \
+  --with-gnu-as --with-gnu-ld --verbose \
+  --without-newlib \
+  --disable-multilib \
+  --with-system-zlib \
+  --disable-nls --without-included-gettext \
+  --disable-win32-registry \
+  --enable-version-specific-runtime-libs \
+  --with-sysroot=%{_mingw64_sysroot} \
+  --enable-languages="$languages" $optargs
+
+make %{?_smp_mflags} all
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+cd gcc-%{upstream_version}
+cd build
+make DESTDIR=$RPM_BUILD_ROOT install
+
+# 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/*
+
+mkdir -p $RPM_BUILD_ROOT/lib
+ln -sf ..%{_prefix}/bin/x86_64-pc-mingw32-cpp \
+  $RPM_BUILD_ROOT/lib/x86_64-pc-mingw32-cpp
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%files
+%defattr(-,root,root)
+%{_bindir}/x86_64-pc-mingw32-gcc
+%{_bindir}/x86_64-pc-mingw32-gcc-%{version}
+%{_bindir}/x86_64-pc-mingw32-gccbug
+%{_bindir}/x86_64-pc-mingw32-gcov
+%{_prefix}/x86_64-pc-mingw32/lib/libiberty.a
+%dir %{_libdir}/gcc/x86_64-pc-mingw32
+%dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/crtbegin.o
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/crtend.o
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/crtfastmath.o
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libgcc.a
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libgcov.a
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libssp.a
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libssp.la
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libssp_nonshared.a
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libssp_nonshared.la
+%dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include
+%dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include-fixed
+%dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include/ssp
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include-fixed/README
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include-fixed/*.h
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include/*.h
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include/ssp/*.h
+%dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/install-tools
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/install-tools/*
+%dir %{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/install-tools
+%{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/install-tools/*
+%{_mandir}/man1/x86_64-pc-mingw32-gcc.1*
+%{_mandir}/man1/x86_64-pc-mingw32-gcov.1*
+
+
+%files -n mingw64-cpp
+%defattr(-,root,root)
+/lib/x86_64-pc-mingw32-cpp
+%{_bindir}/x86_64-pc-mingw32-cpp
+%{_mandir}/man1/x86_64-pc-mingw32-cpp.1*
+%dir %{_libdir}/gcc/x86_64-pc-mingw32
+%dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}
+%{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/cc1
+
+
+%files c++
+%defattr(-,root,root)
+%{_bindir}/x86_64-pc-mingw32-g++
+%{_bindir}/x86_64-pc-mingw32-c++
+%{_mandir}/man1/x86_64-pc-mingw32-g++.1*
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include/c++/
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libstdc++.a
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libstdc++.la
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libsupc++.a
+%{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libsupc++.la
+%{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/cc1plus
+%{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/collect2
+
+
+%changelog
+* Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 4.4.0-0.20090206.6
+- Started mingw64 development.
+
+* Mon Nov 24 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-12
+- Rebuild against latest filesystem package.
+
+* Fri Nov 21 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-11
+- Remove obsoletes for a long dead package.
+
+* Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-10
+- Rebuild against mingw32-filesystem 37
+
+* Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-9
+- Rebuild against mingw32-filesystem 36
+
+* Thu Oct 30 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-8
+- Don't BR mpfr-devel for RHEL/EPEL-5 (Levente Farkas).
+
+* Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-7
+- Rename mingw -> mingw32.
+
+* Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-6
+- Use RPM macros from mingw-filesystem.
+
+* Mon Jul  7 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-3
+- Initial RPM release, largely based on earlier work from several sources.
index 6b27671..a295b2d 100644 (file)
@@ -6,7 +6,7 @@
 
 Name:           mingw64-headers
 Version:       0.1
-Release:        0.svn%{svn_revision}.2%{?dist}
+Release:        0.svn%{svn_revision}.6%{?dist}
 Summary:        Win32 header files and stubs
 
 License:        Public Domain and LGPLv2+
@@ -19,9 +19,9 @@ BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildArch:      noarch
 
-BuildRequires:  mingw64-filesystem >= 2
+BuildRequires:  mingw64-filesystem >= 6
 
-Requires:       mingw64-filesystem >= 2
+Requires:       mingw64-filesystem >= 6
 
 
 %description
@@ -50,10 +50,10 @@ mkdir -p $RPM_BUILD_ROOT%{_mingw64_includedir}
 cp -a trunk/mingw-w64-headers/include/* $RPM_BUILD_ROOT%{_mingw64_includedir}/
 cp -a trunk/mingw-w64-headers/direct-x/include/* $RPM_BUILD_ROOT%{_mingw64_includedir}/
 
-# This link is a temporary hack to get builds working.  Eventually
-# upstream will sort this out so the link is no longer necessary.
-pushd $RPM_BUILD_ROOT%{_mingw64_sysroot}
-ln -s mingw %{_mingw64_target}
+# XXX We don't know why this is required, but gcc/cc1 fails
+# to find the header files without it.
+pushd $RPM_BUILD_ROOT%{_mingw64_exec_prefix}
+ln -s include include64
 popd
 
 
@@ -64,11 +64,11 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(-,root,root)
 %{_mingw64_includedir}/*
-%{_mingw64_sysroot}/%{_mingw64_target}
+%{_mingw64_exec_prefix}/include64
 
 
 %changelog
-* Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 0.1-0.svn607.2
+* Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 0.1-0.svn607.6
 - Started mingw64 development.
 
 * Mon Dec 15 2008 Richard W.M. Jones <rjones@redhat.com> - 3.13-1
diff --git a/mingw64-runtime/mingw-w64-crt-607.tar.gz b/mingw64-runtime/mingw-w64-crt-607.tar.gz
new file mode 100644 (file)
index 0000000..5377c03
Binary files /dev/null and b/mingw64-runtime/mingw-w64-crt-607.tar.gz differ
diff --git a/mingw64-runtime/mingw64-runtime.spec b/mingw64-runtime/mingw64-runtime.spec
new file mode 100644 (file)
index 0000000..2831725
--- /dev/null
@@ -0,0 +1,111 @@
+%define __strip %{_mingw64_strip}
+%define __objdump %{_mingw64_objdump}
+%define _use_internal_dependency_generator 0
+%define __find_requires %{_mingw64_findrequires}
+%define __find_provides %{_mingw64_findprovides}
+
+# SVN repo: https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64
+# svn co https://....
+# tar zcf mingw-w64-headers-%{svn_revision}.tar.gz \
+#   mingw-w64/trunk/mingw-w64-headers
+%define svn_revision 607
+
+Name:           mingw64-runtime
+Version:        0.1
+Release:        0.svn%{svn_revision}.1%{?dist}
+Summary:        MinGW Windows cross-compiler runtime
+
+License:        Public Domain
+Group:          Development/Libraries
+URL:            http://mingw-w64.sourceforge.net/
+Source0:        mingw-w64-crt-%{svn_revision}.tar.gz
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildArch:      noarch
+
+BuildRequires:  mingw64-filesystem >= 3
+BuildRequires:  mingw64-binutils
+BuildRequires:  mingw64-headers
+BuildRequires:  mingw64-gcc-bootstrap
+
+
+%description
+MinGW Windows cross-compiler runtime, base libraries.
+
+
+%prep
+%setup -q -n mingw-w64
+
+
+%build
+pushd trunk/mingw-w64-crt
+%{_mingw64_configure} --with-sysroot=%{_mingw64_prefix}
+make %{?_smp_mflags}
+popd
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+pushd trunk/mingw-w64-crt
+make DESTDIR=$RPM_BUILD_ROOT install
+popd
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%files
+%defattr(-,root,root)
+%{_mingw64_libdir}/*
+
+
+%changelog
+* Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 0.1-0.svn607.1
+- Started mingw64 development.
+
+* Tue Feb 10 2009 Richard W.M. Jones <rjones@redhat.com> - 3.15.2-1
+- New upstream release 3.15.2.
+
+* Tue Dec  9 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-10
+- Force rebuild to get rid of the binary bootstrap package and replace
+  with package built from source.
+
+* Wed Nov 26 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-9
+- No runtime dependency on binutils or gcc.
+- But it DOES BR w32api.
+
+* Mon Nov 24 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-8
+- Rebuild against latest filesystem package.
+- MINGW_CFLAGS -> MINGW32_CFLAGS.
+- Rewrite the summary for accuracy and brevity.
+
+* Fri Nov 21 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-6
+- Remove obsoletes for a long dead package.
+- Reenable (and fix) _mingw32_configure (Levente Farkas).
+
+* Thu Nov 20 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-5
+- Don't use _mingw32_configure macro - doesn't work here.
+
+* Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-4
+- Rebuild against mingw32-filesystem 37
+
+* Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-3
+- Remove the useconds patch, which is no longer needed (Levente Farkas).
+- Use _mingw32_configure macro.
+
+* Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-2
+- Rebuild against mingw32-filesystem 36
+
+* Thu Oct 16 2008 Richard W.M. Jones <rjones@redhat.com> - 3.15.1-1
+- New upstream version 3.15.1.
+
+* Wed Sep 24 2008 Richard W.M. Jones <rjones@redhat.com> - 3.14-6
+- Rename mingw -> mingw32.
+
+* Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 3.14-4
+- Use RPM macros from mingw-filesystem.
+
+* Mon Jul  7 2008 Richard W.M. Jones <rjones@redhat.com> - 3.14-2
+- Initial RPM release, largely based on earlier work from several sources.