Index: mingw32-gcc.spec =================================================================== RCS file: /cvs/pkgs/rpms/mingw32-gcc/devel/mingw32-gcc.spec,v retrieving revision 1.1 diff -u -r1.1 mingw32-gcc.spec --- mingw32-gcc.spec 25 Nov 2008 17:49:43 -0000 1.1 +++ mingw32-gcc.spec 19 Feb 2009 14:23:58 -0000 @@ -1,20 +1,50 @@ %define __os_install_post /usr/lib/rpm/brp-compress %{nil} +%define DATE 20090216 +%define SVNREV 144214 + Name: mingw32-gcc -Version: 4.3.2 -Release: 12%{?dist} +Version: 4.4.0 +Release: 0.1%{?dist} Summary: MinGW Windows cross-compiler (GCC) for C -License: GPLv2+ +License: GPLv3+ and GPLv2+ with exceptions Group: Development/Languages -URL: http://www.mingw.org/ -Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-core-%{version}.tar.bz2 -Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-g++-%{version}.tar.bz2 -Patch1: %{name}-build.patch + +# We use the same source as Fedora's native gcc. +URL: http://gcc.gnu.org +Source0: gcc-%{version}-%{DATE}.tar.bz2 +Source1: libgcc_post_upgrade.c +Source2: README.libgcjwebplugin.so +Source3: protoize.1 +Source5: ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-ppl-0.15.tar.gz + +# Patches from Fedora's native gcc. +Patch0: gcc44-hack.patch +Patch1: gcc44-build-id.patch +Patch2: gcc44-c++-builtin-redecl.patch +Patch3: gcc44-ia64-libunwind.patch +Patch4: gcc44-java-nomulti.patch +Patch5: gcc44-ppc32-retaddr.patch +Patch7: gcc44-pr27898.patch +Patch8: gcc44-pr32139.patch +Patch9: gcc44-pr33763.patch +Patch10: gcc44-rh330771.patch +Patch11: gcc44-rh341221.patch +Patch12: gcc44-java-debug-iface-type.patch +Patch13: gcc44-i386-libgomp.patch +Patch15: gcc44-sparc-config-detection.patch +Patch16: gcc44-libgomp-omp_h-multilib.patch +Patch20: gcc44-libtool-no-rpath.patch +Patch21: gcc44-cloog-dl.patch +Patch22: gcc44-raw-string.patch +Patch23: gcc44-pr39175.patch +Patch24: gcc44-diff.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: texinfo -BuildRequires: mingw32-filesystem >= 39-3 +BuildRequires: mingw32-filesystem >= 48 BuildRequires: mingw32-binutils BuildRequires: mingw32-runtime BuildRequires: mingw32-w32api @@ -25,7 +55,8 @@ BuildRequires: libgomp # NB: Explicit mingw32-filesystem dependency is REQUIRED here. -Requires: mingw32-filesystem >= 39-3 +Requires: mingw32-filesystem >= 48 + Requires: mingw32-binutils Requires: mingw32-runtime Requires: mingw32-w32api @@ -33,7 +64,7 @@ %description -MinGW Windows cross-compiler (GCC) for C +MinGW Windows cross-compiler (GCC) for C. %package -n mingw32-cpp @@ -47,24 +78,72 @@ %package c++ Summary: MinGW Windows cross-compiler for C++ Group: Development/Languages +Requires: %{name} = %{version}-%{release} %description c++ -MinGW Windows cross-compiler for C++ +MinGW Windows cross-compiler for C++. + + +%package objc +Summary: MinGW Windows cross-compiler support for Objective C +Group: Development/Languages +Requires: %{name} = %{version}-%{release} +Requires: mingw32-libobjc = %{version}-%{release} + +%description objc +MinGW Windows cross-compiler support for Objective C. + + +%package objc++ +Summary: MinGW Windows cross-compiler support for Objective C++ +Group: Development/Languages +Requires: %{name}-g++ = %{version}-%{release} +Requires: %{name}-objc = %{version}-%{release} + +%description objc++ +MinGW Windows cross-compiler support for Objective C++. + + +%package gfortran +Summary: MinGW Windows cross-compiler for FORTRAN +Group: Development/Languages +Requires: %{name} = %{version}-%{release} + +%description gfortran +MinGW Windows cross-compiler for FORTRAN. %prep -%setup -q -c -%setup -q -D -T -a1 -%patch1 -p1 +%setup -q -n gcc-%{version}-%{DATE} +%patch0 -p0 -b .hack~ +%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~ +%patch7 -p0 -b .pr27898~ +%patch8 -p0 -b .pr32139~ +%patch9 -p0 -b .pr33763~ +%patch10 -p0 -b .rh330771~ +%patch11 -p0 -b .rh341221~ +%patch12 -p0 -b .java-debug-iface-type~ +%patch13 -p0 -b .i386-libgomp~ +%patch15 -p0 -b .sparc-config-detection~ +%patch16 -p0 -b .libgomp-omp_h-multilib~ +%patch20 -p0 -b .libtool-no-rpath~ +%patch21 -p0 -b .cloog-dl~ +%patch22 -p0 -b .raw-string~ +%patch23 -p0 -b .pr39175~ +%patch24 -p0 -b .diff~ %build -cd gcc-%{version} - mkdir -p build -cd build +pushd build -languages="c,c++" +# 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 \ @@ -85,16 +164,18 @@ --disable-win32-registry \ --enable-version-specific-runtime-libs \ --with-sysroot=%{_mingw32_sysroot} \ - --enable-languages="$languages" $optargs + --enable-languages="$languages" \ + --with-bugurl=http://bugzilla.redhat.com/bugzilla make all +popd + %install rm -rf $RPM_BUILD_ROOT -cd gcc-%{version} -cd build +pushd build make DESTDIR=$RPM_BUILD_ROOT install # These files conflict with existing installed files. @@ -106,6 +187,15 @@ ln -sf ..%{_prefix}/bin/i686-pc-mingw32-cpp \ $RPM_BUILD_ROOT/lib/i686-pc-mingw32-cpp +# Not sure why gcc puts this DLL into _bindir, but surely better if +# it goes into _mingw32_bindir. +mkdir -p $RPM_BUILD_ROOT%{_mingw32_bindir} +mv $RPM_BUILD_ROOT%{_bindir}/libgcc_s_sjlj-1.dll \ + $RPM_BUILD_ROOT%{_mingw32_bindir} + +popd + + %clean rm -rf $RPM_BUILD_ROOT @@ -123,11 +213,14 @@ %{_libdir}/gcc/i686-pc-mingw32/%{version}/crtend.o %{_libdir}/gcc/i686-pc-mingw32/%{version}/crtfastmath.o %{_libdir}/gcc/i686-pc-mingw32/%{version}/libgcc.a +%{_libdir}/gcc/i686-pc-mingw32/%{version}/libgcc_eh.a +%{_libdir}/gcc/i686-pc-mingw32/%{version}/libgcc_s.a %{_libdir}/gcc/i686-pc-mingw32/%{version}/libgcov.a %{_libdir}/gcc/i686-pc-mingw32/%{version}/libssp.a %{_libdir}/gcc/i686-pc-mingw32/%{version}/libssp.la %{_libdir}/gcc/i686-pc-mingw32/%{version}/libssp_nonshared.a %{_libdir}/gcc/i686-pc-mingw32/%{version}/libssp_nonshared.la +%{_libdir}/gcc/i686-pc-mingw32/%{version}/libssp.dll.a %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}/include %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}/include-fixed %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}/include/ssp @@ -137,8 +230,11 @@ %{_libdir}/gcc/i686-pc-mingw32/%{version}/include/ssp/*.h %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}/install-tools %{_libdir}/gcc/i686-pc-mingw32/%{version}/install-tools/* +%dir %{_libdir}/gcc/i686-pc-mingw32/bin/ +%{_libdir}/gcc/i686-pc-mingw32/bin/libssp-0.dll %dir %{_libexecdir}/gcc/i686-pc-mingw32/%{version}/install-tools %{_libexecdir}/gcc/i686-pc-mingw32/%{version}/install-tools/* +%{_mingw32_bindir}/libgcc_s_sjlj-1.dll %{_mandir}/man1/i686-pc-mingw32-gcc.1* %{_mandir}/man1/i686-pc-mingw32-gcov.1* @@ -167,7 +263,37 @@ %{_libexecdir}/gcc/i686-pc-mingw32/%{version}/collect2 +%files objc +%defattr(-,root,root) +%{_libdir}/gcc/i686-pc-mingw32/%{version}/include/objc/ +%{_libdir}/gcc/i686-pc-mingw32/%{version}/libobjc.a +%{_libdir}/gcc/i686-pc-mingw32/%{version}/libobjc.la +%{_libexecdir}/gcc/i686-pc-mingw32/%{version}/cc1obj + + +%files objc++ +%defattr(-,root,root) +%{_libexecdir}/gcc/i686-pc-mingw32/%{version}/cc1objplus + + +%files gfortran +%defattr(-,root,root) +%{_bindir}/i686-pc-mingw32-gfortran +%{_mandir}/man1/i686-pc-mingw32-gfortran.1* +%{_libdir}/gcc/i686-pc-mingw32/%{version}/libgfortran.a +%{_libdir}/gcc/i686-pc-mingw32/%{version}/libgfortran.la +%{_libdir}/gcc/i686-pc-mingw32/%{version}/libgfortranbegin.a +%{_libdir}/gcc/i686-pc-mingw32/%{version}/libgfortranbegin.la +%{_libexecdir}/gcc/i686-pc-mingw32/%{version}/f951 + + %changelog +* Thu Feb 19 2009 Richard W.M. Jones - 4.4.0-0.1 +- Move to upstream version 4.4.0-20090216 (same as Fedora native version). +- Added FORTRAN support. +- Added Objective C support. +- Added Objective C++ support. + * Mon Nov 24 2008 Richard W.M. Jones - 4.3.2-12 - Rebuild against latest filesystem package.