Summary(pt_BR.UTF-8): Utilitários para desenvolvimento de binários da GNU - MinGW32 gcc
Summary(tr.UTF-8): GNU geliştirme araçları - MinGW32 gcc
Name: crossmingw32-gcc
-Version: 6.4.0
+Version: 8.5.0
Release: 1
Epoch: 1
License: GPL v3+
Group: Development/Languages
Source0: https://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz
-# Source0-md5: 11ba51a0cfb8471927f387c8895fe232
-%define mingw32_ver 4.0.3
-Source1: http://downloads.sourceforge.net/mingw/mingwrt-%{mingw32_ver}-1-mingw32-dev.tar.lzma
-# Source1-md5: c2c9aa82e0cb47abac01760525684858
-Source2: gcc-optimize-la.pl
-# svn diff -x --ignore-eol-style --force svn://gcc.gnu.org/svn/gcc/tags/gcc_5_4_0_release svn://gcc.gnu.org/svn/gcc/branches/gcc-5-branch > gcc-branch.diff
-Patch100: gcc-branch.diff
-# Patch100-md5: 1d4bc26154e47de7d727d6767215e776
+# Source0-md5: 0c1f625768840187ef3b10adebe8e3b0
+%define w32api_ver 5.4.2
+#Source1Download: https://osdn.net/projects/mingw/releases/
+Source1: https://osdn.net/projects/mingw/downloads/74926/w32api-%{w32api_ver}-mingw32-dev.tar.xz
+# Source1-md5: 88b0dc6185079e60d83bdbaec92028b8
+%define mingw32_ver 5.4.2
+#Source2Download: https://osdn.net/projects/mingw/releases/
+Source2: https://osdn.net/projects/mingw/downloads/74925/mingwrt-%{mingw32_ver}-mingw32-dev.tar.xz
+# Source2-md5: d8dceb05b85602eec82eac4e11d5c027
+Source3: gcc-optimize-la.pl
+#Patch100: gcc-branch.diff
Patch0: %{name}-buildsystem1.patch
Patch1: %{name}-buildsystem2.patch
Patch2: %{name}-lfs.patch
Requires: isl >= 0.15
Requires: libmpc >= 0.8.1
Requires: mpfr >= 2.4.2
+# java support dropped from gcc 7+
+Obsoletes: crossmingw32-java < 1:7
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define target i386-mingw32
%define sysprefix /usr
-%define arch %{sysprefix}/%{target}
+%define archprefix %{sysprefix}/%{target}
+%define archbindir %{archprefix}/bin
+%define archincludedir %{archprefix}/include
+%define archlibdir %{archprefix}/lib
%define gccarchdir %{_libdir}/gcc/%{target}
%define gcclibdir %{gccarchdir}/%{version}
%define _dlldir /usr/share/wine/windows/system
%description -n crossmingw32-libatomic-static
The GNU Atomic static library - cross MinGW32 version.
-%description -n crossmingw32-libatomic-static
+%description -n crossmingw32-libatomic-static -l pl.UTF-8
Statyczna biblioteka GNU Atomic - wersja skrośna MinGW32.
%package -n crossmingw32-libatomic-dll
Group: Development/Languages
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: crossmingw32-libquadmath = %{epoch}:%{version}-%{release}
-Obsoletes: crossmingw32-gcc-g77
+Obsoletes: crossmingw32-gcc-g77 < 1:4
%description fortran
crossmingw32 is a complete cross-compiling development system for
%description -n crossmingw32-libquadmath-dll -l pl.UTF-8
Biblioteka DLL GCC do obsługi typu __float128 dla Windows.
-%package java
-Summary: MinGW32 binary utility development utilities - Java
-Summary(pl.UTF-8): Zestaw narzędzi MinGW32 - Java
-Group: Development/Languages
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description java
-crossmingw32 is a complete cross-compiling development system for
-building stand-alone Microsoft Windows applications under Linux using
-the MinGW32 build libraries. This includes a binutils, gcc with g++
-and objc, and libstdc++, all cross targeted to i386-mingw32, along
-with supporting Win32 libraries in 'coff' format from free sources.
-
-This package contains cross targeted Java compiler.
-
-%description java -l pl.UTF-8
-crossmingw32 jest kompletnym systemem do kompilacji skrośnej,
-pozwalającym budować aplikacje MS Windows pod Linuksem używając
-bibliotek MinGW32. System składa się z binutils, gcc z g++ i objc,
-libstdc++ - wszystkie generujące kod dla platformy i386-mingw32, oraz
-z bibliotek w formacie COFF.
-
-Ten pakiet zawiera kompilator Javy generujący kod pod Win32.
-
%prep
%setup -q -n gcc-%{version}
-%patch100 -p0
+#patch100 -p0
%patch0 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%if %{with bootstrap}
-# note: "winsup" dir is special, handled by gcc's configure
-install -d winsup/mingw
-tar xf %{SOURCE1} -C winsup/mingw
+# note: "winsup" dirs are special, handled by gcc's configure
+install -d winsup/{mingw,w32api}
+tar xf %{SOURCE1} -C winsup/w32api
+tar xf %{SOURCE2} -C winsup/mingw
%endif
# override snapshot version.
%if %{with bootstrap}
install -d %{target}/winsup
ln -sf ../../../winsup/mingw/lib %{target}/winsup/mingw
-ln -sf ../../../winsup/mingw/include %{target}/winsup/w32api
+ln -sf ../../../winsup/w32api %{target}/winsup/w32api
WINSUPDIR=$(cd ..; pwd)/winsup
%endif
CXXFLAGS_FOR_TARGET="-O2 -march=i486" \
../configure \
--prefix=%{sysprefix} \
- --bindir=%{arch}/bin \
+ --bindir=%{archbindir} \
--libdir=%{_libdir} \
- --includedir=%{arch}/include \
+ --includedir=%{archincludedir} \
--libexecdir=%{_libdir} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
- --with-build-time-tools=%{arch}/bin \
- %{!?with_bootstrap:--with-headers=%{arch}/include} \
- --with-libs=%{!?with_bootstrap:%{arch}/lib}%{?with_bootstrap:${WINSUPDIR}/mingw/lib} \
+ --with-bugurl="http://bugs.pld-linux.org" \
+ --with-build-time-tools=%{archbindir} \
+ %{!?with_bootstrap:--with-headers=%{archincludedir}} \
+ --with-libs=%{!?with_bootstrap:%{archlibdir}}%{?with_bootstrap:${WINSUPDIR}/mingw/lib} \
--with-demangler-in-ld \
--with-dwarf2 \
--with-gnu-as \
--with-gnu-ld \
--with-long-double-128 \
+ --with-pkgversion="PLD-Linux" \
--enable-c99 \
--enable-fully-dynamic-string \
--disable-isl-version-check \
- --enable-languages="c,c++,fortran,java,objc,obj-c++" \
+ --enable-languages="c,c++,fortran,objc,obj-c++" \
--disable-libcc1 \
--enable-libgomp%{!?with_gomp:=no} \
--disable-libssp \
--disable-sjlj-exceptions \
--disable-symvers \
--enable-threads \
- --enable-version-specific-runtime-libs \
--disable-werror \
--disable-win32-registry \
--target=%{target}
%{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/install-tools
# these must be symlinks: gcclibdir is calculated relatively to real binary path
-ln -sf %{arch}/bin/%{target}-gcc $RPM_BUILD_ROOT%{_bindir}/%{target}-gcc
-ln -sf %{arch}/bin/%{target}-g++ $RPM_BUILD_ROOT%{_bindir}/%{target}-g++
-ln -sf %{arch}/bin/%{target}-cpp $RPM_BUILD_ROOT%{_bindir}/%{target}-cpp
-ln -sf %{arch}/bin/%{target}-gcov $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov
-ln -sf %{arch}/bin/%{target}-gcov-dump $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov-dump
-ln -sf %{arch}/bin/%{target}-gcov-tool $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov-tool
-ln -sf %{arch}/bin/%{target}-gcj $RPM_BUILD_ROOT%{_bindir}/%{target}-gcj
-ln -sf %{arch}/bin/%{target}-jcf-dump $RPM_BUILD_ROOT%{_bindir}/%{target}-jcf-dump
-ln -sf %{arch}/bin/%{target}-gfortran $RPM_BUILD_ROOT%{_bindir}/%{target}-gfortran
+ln -sf %{archbindir}/%{target}-gcc $RPM_BUILD_ROOT%{_bindir}/%{target}-gcc
+ln -sf %{archbindir}/%{target}-g++ $RPM_BUILD_ROOT%{_bindir}/%{target}-g++
+ln -sf %{archbindir}/%{target}-cpp $RPM_BUILD_ROOT%{_bindir}/%{target}-cpp
+ln -sf %{archbindir}/%{target}-gcov $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov
+ln -sf %{archbindir}/%{target}-gcov-dump $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov-dump
+ln -sf %{archbindir}/%{target}-gcov-tool $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov-tool
+ln -sf %{archbindir}/%{target}-gfortran $RPM_BUILD_ROOT%{_bindir}/%{target}-gfortran
# DLLs
install -d $RPM_BUILD_ROOT%{_dlldir}
-%{__mv} $RPM_BUILD_ROOT%{gccarchdir}/*.dll $RPM_BUILD_ROOT%{_dlldir}
-%{__mv} $RPM_BUILD_ROOT%{gcclibdir}/*.dll $RPM_BUILD_ROOT%{_dlldir}
+%{__mv} $RPM_BUILD_ROOT%{archlibdir}/*.dll $RPM_BUILD_ROOT%{_dlldir}
if [ ! -f $RPM_BUILD_ROOT%{_dlldir}/libgcc_s_dw2-1.dll ]; then
echo "libgcc DLL not installed?"
install builddir/i386-mingw32/libgcc/shlib/libgcc_s_dw2-1.dll $RPM_BUILD_ROOT%{_dlldir}
%if 0%{!?debug:1}
%{target}-strip --strip-unneeded -R.comment -R.note $RPM_BUILD_ROOT%{_dlldir}/*.dll
+%{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{archlibdir}/lib*.a
%{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{gcclibdir}/lib*.a
%endif
# avoid -L poisoning in *.la
-for f in libatomic.la libcaf_single.la libgfortran.la libobjc.la libquadmath.la %{?with_gomp:libgomp.la} ; do
+for f in libatomic.la libgfortran.la libobjc.la libquadmath.la %{?with_gomp:libgomp.la} ; do
+ file="$RPM_BUILD_ROOT%{archlibdir}/$f"
+ %{__perl} %{SOURCE3} "$file" %{gcclibdir} >"${file}.fixed"
+ %{__mv} "${file}.fixed" "$file"
+done
+for f in libcaf_single.la ; do
file="$RPM_BUILD_ROOT%{gcclibdir}/$f"
- %{__perl} %{SOURCE2} "$file" %{gcclibdir} >"${file}.fixed"
+ %{__perl} %{SOURCE3} "$file" %{gcclibdir} >"${file}.fixed"
%{__mv} "${file}.fixed" "$file"
done
# for pretty-printers see native gcc
-%{__rm} $RPM_BUILD_ROOT%{gcclibdir}/libstdc++.dll.a-gdb.py
+%{__rm} $RPM_BUILD_ROOT%{archlibdir}/libstdc++.dll.a-gdb.py
%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx
# no plugin development for mingw32 (at least for now)
%{__rm} $RPM_BUILD_ROOT%{gcclibdir}/liblto_plugin.la
%{__rm} -r $RPM_BUILD_ROOT%{_infodir}
# common FSF man pages
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man7/{fsf-funding,gfdl,gpl}.7
-# programs not packaged
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/%{target}-{aot-compile,gc-analyze,gcj-dbtool,gij,grmic,jv-convert,rebuild-gcj-db}.1
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/%{target}-gcov
%attr(755,root,root) %{_bindir}/%{target}-gcov-dump
%attr(755,root,root) %{_bindir}/%{target}-gcov-tool
-%attr(755,root,root) %{arch}/bin/%{target}-gcc
-%attr(755,root,root) %{arch}/bin/%{target}-gcc-%{version}
-%attr(755,root,root) %{arch}/bin/%{target}-gcc-ar
-%attr(755,root,root) %{arch}/bin/%{target}-gcc-nm
-%attr(755,root,root) %{arch}/bin/%{target}-gcc-ranlib
-%attr(755,root,root) %{arch}/bin/%{target}-cpp
-%attr(755,root,root) %{arch}/bin/%{target}-gcov
-%attr(755,root,root) %{arch}/bin/%{target}-gcov-dump
-%attr(755,root,root) %{arch}/bin/%{target}-gcov-tool
+%attr(755,root,root) %{archbindir}/%{target}-cpp
+%attr(755,root,root) %{archbindir}/%{target}-gcc
+%attr(755,root,root) %{archbindir}/%{target}-gcc-%{version}
+%attr(755,root,root) %{archbindir}/%{target}-gcc-ar
+%attr(755,root,root) %{archbindir}/%{target}-gcc-nm
+%attr(755,root,root) %{archbindir}/%{target}-gcc-ranlib
+%attr(755,root,root) %{archbindir}/%{target}-gcov
+%attr(755,root,root) %{archbindir}/%{target}-gcov-dump
+%attr(755,root,root) %{archbindir}/%{target}-gcov-tool
+%{archlibdir}/libgcc_s.a
%dir %{gccarchdir}
%dir %{gcclibdir}
%attr(755,root,root) %{gcclibdir}/cc1
%attr(755,root,root) %{gcclibdir}/liblto_plugin.so*
%{gcclibdir}/libgcc.a
%{gcclibdir}/libgcc_eh.a
-%{gcclibdir}/libgcc_s.a
%{gcclibdir}/libgcov.a
%{gcclibdir}/crtbegin.o
%{gcclibdir}/crtend.o
%files -n crossmingw32-libatomic
%defattr(644,root,root,755)
-%{gcclibdir}/libatomic.dll.a
-%{gcclibdir}/libatomic.la
+%{archlibdir}/libatomic.dll.a
+%{archlibdir}/libatomic.la
%files -n crossmingw32-libatomic-static
%defattr(644,root,root,755)
-%{gcclibdir}/libatomic.a
+%{archlibdir}/libatomic.a
%files -n crossmingw32-libatomic-dll
%defattr(644,root,root,755)
%if %{with gomp}
%files -n crossmingw32-libgomp
%defattr(644,root,root,755)
-%{gcclibdir}/libgomp.dll.a
-%{gcclibdir}/libgomp.la
-%{gcclibdir}/libgomp.spec
+%{archlibdir}/libgomp.dll.a
+%{archlibdir}/libgomp.la
+%{archlibdir}/libgomp.spec
%files -n crossmingw32-libgomp-static
%defattr(644,root,root,755)
-%{gcclibdir}/libgomp.a
+%{archlibdir}/libgomp.a
%files -n crossmingw32-libgomp-dll
%defattr(644,root,root,755)
%files -n crossmingw32-libvtv
%defattr(644,root,root,755)
-%{gcclibdir}/libvtv.dll.a
-%{gcclibdir}/libvtv.la
-%{gcclibdir}/libvtv_stubs.dll.a
-%{gcclibdir}/libvtv_stubs.la
+%{archlibdir}/libvtv.dll.a
+%{archlibdir}/libvtv.la
+%{archlibdir}/libvtv_stubs.dll.a
+%{archlibdir}/libvtv_stubs.la
%files -n crossmingw32-libvtv-static
%defattr(644,root,root,755)
-%{gcclibdir}/libvtv.a
-%{gcclibdir}/libvtv_stubs.a
+%{archlibdir}/libvtv.a
+%{archlibdir}/libvtv_stubs.a
%files -n crossmingw32-libvtv-dll
%defattr(644,root,root,755)
%files c++
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/%{target}-g++
-%attr(755,root,root) %{arch}/bin/%{target}-c++
-%attr(755,root,root) %{arch}/bin/%{target}-g++
+%attr(755,root,root) %{archbindir}/%{target}-c++
+%attr(755,root,root) %{archbindir}/%{target}-g++
%attr(755,root,root) %{gcclibdir}/cc1plus
-%{gcclibdir}/libstdc++.dll.a
-%{gcclibdir}/libstdc++.la
-%{gcclibdir}/libsupc++.la
-%{gcclibdir}/libsupc++.a
-%{gcclibdir}/include/c++
+%{archlibdir}/libstdc++.dll.a
+%{archlibdir}/libstdc++.la
+%{archlibdir}/libsupc++.la
+%{archlibdir}/libsupc++.a
+%{archincludedir}/c++
%{_mandir}/man1/%{target}-g++.1*
%files -n crossmingw32-libstdc++-static
%defattr(644,root,root,755)
-%{gcclibdir}/libstdc++.a
+%{archlibdir}/libstdc++.a
%files -n crossmingw32-libstdc++-dll
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%doc libobjc/README
%attr(755,root,root) %{gcclibdir}/cc1obj
-%{gcclibdir}/libobjc.dll.a
-%{gcclibdir}/libobjc.la
+%{archlibdir}/libobjc.dll.a
+%{archlibdir}/libobjc.la
%{gcclibdir}/include/objc
%files objc++
%files -n crossmingw32-libobjc-static
%defattr(644,root,root,755)
-%{gcclibdir}/libobjc.a
+%{archlibdir}/libobjc.a
%files -n crossmingw32-libobjc-dll
%defattr(644,root,root,755)
%files fortran
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/%{target}-gfortran
-%attr(755,root,root) %{arch}/bin/%{target}-gfortran
+%attr(755,root,root) %{archbindir}/%{target}-gfortran
%attr(755,root,root) %{gcclibdir}/f951
+%{archlibdir}/libgfortran.dll.a
+%{archlibdir}/libgfortran.la
+%{archlibdir}/libgfortran.spec
%{gcclibdir}/finclude
%{gcclibdir}/libcaf_single.a
%{gcclibdir}/libcaf_single.la
-%{gcclibdir}/libgfortran.dll.a
-%{gcclibdir}/libgfortran.la
-%{gcclibdir}/libgfortran.spec
%{_mandir}/man1/%{target}-gfortran.1*
%files -n crossmingw32-libgfortran-static
%defattr(644,root,root,755)
-%{gcclibdir}/libgfortran.a
+%{archlibdir}/libgfortran.a
%files -n crossmingw32-libgfortran-dll
%defattr(644,root,root,755)
-%{_dlldir}/libgfortran-3.dll
+%{_dlldir}/libgfortran-5.dll
%files -n crossmingw32-libquadmath
%defattr(644,root,root,755)
-%{gcclibdir}/libquadmath.dll.a
-%{gcclibdir}/libquadmath.la
+%{archlibdir}/libquadmath.dll.a
+%{archlibdir}/libquadmath.la
%files -n crossmingw32-libquadmath-static
%defattr(644,root,root,755)
-%{gcclibdir}/libquadmath.a
+%{archlibdir}/libquadmath.a
%files -n crossmingw32-libquadmath-dll
%defattr(644,root,root,755)
%{_dlldir}/libquadmath-0.dll
-
-%files java
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/%{target}-gcj
-%attr(755,root,root) %{_bindir}/%{target}-jcf-dump
-%attr(755,root,root) %{arch}/bin/%{target}-gcj
-%attr(755,root,root) %{arch}/bin/%{target}-jcf-dump
-%attr(755,root,root) %{gcclibdir}/jc1
-%attr(755,root,root) %{gcclibdir}/jvgenmain
-%{_mandir}/man1/%{target}-gcj.1*
-%{_mandir}/man1/%{target}-jcf-dump.1*