[packages/crossmingw32-gcc] - updated to 5.4.0 (with C++14 support) - enabled objc++, updated some configure options - removed o

qboosh qboosh at pld-linux.org
Sun Dec 18 14:52:44 CET 2016


commit 14b9b67e5ed901b62e384f99f076419fb96778ed
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Dec 18 14:53:26 2016 +0100

    - updated to 5.4.0 (with C++14 support)
    - enabled objc++, updated some configure options
    - removed obsolete isl0.15 patches (upstream supports isl up to 0.17.x)
    - added mingw32 patch for libgfortran (chmod and umask require <io.h> on mingw32)

 crossmingw32-gcc.spec | 227 ++++++++++++++++++++++++++++++++++++++++-------
 gcc-isl0.15-1.patch   | 237 --------------------------------------------------
 gcc-isl0.15-2.patch   |  86 ------------------
 gcc-mingw32.patch     |  12 +++
 gcc-optimize-la.pl    |   2 +-
 5 files changed, 207 insertions(+), 357 deletions(-)
---
diff --git a/crossmingw32-gcc.spec b/crossmingw32-gcc.spec
index 2e9a342..800df65 100644
--- a/crossmingw32-gcc.spec
+++ b/crossmingw32-gcc.spec
@@ -13,50 +13,54 @@ Summary(pl.UTF-8):	Skrośne narzędzia programistyczne GNU dla MinGW32 - gcc
 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:	4.9.3
-Release:	3
+Version:	5.4.0
+Release:	1
 Epoch:		1
 License:	GPL v3+
 Group:		Development/Languages
 Source0:	https://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.bz2
-# Source0-md5:	6f831b4d251872736e8e9cc09746f327
+# Source0-md5:	4c626ac2a83ef30dfb9260e6f59c2b30
 %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_4_9_3_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch > gcc-branch.diff
+# 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:	253cbf4cc2f71d9c9362f4a3be25bb17
+# Patch100-md5:	8211f0f6f0a2179e51b4ac42f91bd44d
 Patch0:		%{name}-buildsystem1.patch
 Patch1:		%{name}-buildsystem2.patch
 Patch2:		%{name}-lfs.patch
-Patch12:	gcc-isl0.15-1.patch
-Patch13:	gcc-isl0.15-2.patch
+Patch3:		gcc-mingw32.patch
 URL:		http://gcc.gnu.org/
 BuildRequires:	autoconf >= 2.64
-BuildRequires:	automake >= 1:1.9.3
+BuildRequires:	automake >= 1:1.11.1
 BuildRequires:	bison
-BuildRequires:	crossmingw32-binutils >= 2.15.91.0.2-2
+BuildRequires:	crossmingw32-binutils >= 2.23
 %{?with_gomp:BuildRequires:	crossmingw32-pthreads-w32}
 %if %{without bootstrap}
 BuildRequires:	crossmingw32-runtime >= 3.5
 BuildRequires:	crossmingw32-w32api >= 3.1
 %endif
-BuildRequires:	cloog-isl-devel >= 0.17.0
-BuildRequires:	cloog-isl-devel < 0.19
-BuildRequires:	flex
-BuildRequires:	gmp-devel >= 4.1
-BuildRequires:	isl-devel >= 0.13
-BuildRequires:	libmpc-devel
-BuildRequires:	mpfr-devel
+BuildRequires:	flex >= 2.5.4
+BuildRequires:	gettext-tools >= 0.14.5
+BuildRequires:	gmp-devel >= 4.3.2
+BuildRequires:	isl-devel >= 0.14
+BuildRequires:	libmpc-devel >= 0.8.1
+BuildRequires:	mpfr-devel >= 2.4.2
 BuildRequires:	perl-tools-pod
-BuildRequires:	texinfo >= 4.2
+BuildRequires:	texinfo >= 4.7
+BuildRequires:	zlib-devel
 %if %{with booststrap}
 BuildRequires:	tar >= 1:1.22
 BuildRequires:	xz
 %endif
-Requires:	crossmingw32-binutils >= 2.15.91.0.2-2
+BuildConflicts:	pdksh < 5.2.14-50
+Requires:	crossmingw32-binutils >= 2.23
 Requires:	gcc-dirs
+Requires:	gmp >= 4.3.2
+Requires:	isl >= 0.14
+Requires:	libmpc >= 0.8.1
+Requires:	mpfr >= 2.4.2
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define		target		i386-mingw32
@@ -111,6 +115,49 @@ libgcc DLL library for Windows.
 %description -n crossmingw32-libgcc-dll -l pl.UTF-8
 Biblioteka DLL libgcc dla Windows.
 
+%package -n crossmingw32-libatomic
+Summary:	The GNU Atomic library - cross MinGW32 version
+Summary(pl.UTF-8):	Biblioteka GNU Atomic - wersja skrośna MinGW32
+License:	GPL v3+ with GCC Runtime Library Exception v3.1
+Group:		Development/Libraries
+Requires:	%{name} = %{epoch}:%{version}-%{release}
+
+%description -n crossmingw32-libatomic
+This package contains cross MinGW32 version of the GNU Atomic library
+which is a GCC support library for atomic operations not supported by
+hardware.
+
+%description -n crossmingw32-libatomic -l pl.UTF-8
+Ten pakiet zawiera wersję skrośną MinGW32 biblioteki GNU Atomic,
+będącej biblioteką GCC, wspierającej operacje atomowe na sprzęcie ich
+nie obsługującym.
+
+%package -n crossmingw32-libatomic-static
+Summary:	The GNU Atomic static library - cross MinGW32 version
+Summary(pl.UTF-8):	Statyczna biblioteka GNU Atomic - wersja skrośna MinGW32
+License:	GPL v3+ with GCC Runtime Library Exception v3.1
+Group:		Development/Libraries
+Requires:	crossmingw32-libatomic = %{epoch}:%{version}-%{release}
+
+%description -n crossmingw32-libatomic-static
+The GNU Atomic static library - cross MinGW32 version.
+
+%description -n crossmingw32-libatomic-static
+Statyczna biblioteka GNU Atomic - wersja skrośna MinGW32.
+
+%package -n crossmingw32-libatomic-dll
+Summary:	DLL GNU Atomic library for Windows
+Summary(pl.UTF-8):	Biblioteka DLL GNU Atomic dla Windows
+License:	GPL v3+ with GCC Runtime Library Exception v3.1
+Group:		Applications/Emulators
+Requires:	wine
+
+%description -n crossmingw32-libatomic-dll
+DLL GNU Atomic library for Windows.
+
+%description -n crossmingw32-libatomic-dll -l pl.UTF-8
+Biblioteka DLL GNU Atomic dla Windows.
+
 %package -n crossmingw32-libgomp
 Summary:	GNU OpenMP library - cross MinGW32 version
 Summary(pl.UTF-8):	Biblioteka GNU OpenMP - wersja skrośna MinGW32
@@ -141,7 +188,7 @@ Statyczna biblioteka GNU OpenMP - wersja skrośna MinGW32.
 Summary:	DLL GNU OpenMP library for Windows
 Summary(pl.UTF-8):	Biblioteka DLL GNU OpenMP dla Windows
 License:	GPL v3+ with GCC Runtime Library Exception v3.1
-Group:		Development/Libraries
+Group:		Applications/Emulators
 Requires:	crossmingw32-libgcc-dll = %{epoch}:%{version}-%{release}
 Requires:	crossmingw32-pthreads-w32-dll
 
@@ -151,6 +198,53 @@ DLL GNU OpenMP library for Windows.
 %description -n crossmingw32-libgomp-dll -l pl.UTF-8
 Biblioteka DLL GNU OpenMP dla Windows.
 
+%package -n crossmingw32-libvtv
+Summary:	The Virtual Table Verification library - cross MinGW32 version
+Summary(pl.UTF-8):	Biblioteka Virtual Table Verification do weryfikacji tablicy wirtualnej - wersja skrośna MinGW32
+License:	GPL v3+ with GCC Runtime Library Exception v3.1
+Group:		Development/Libraries
+URL:		https://gcc.gnu.org/wiki/vtv
+Requires:	%{name} = %{epoch}:%{version}-%{release}
+
+%description -n crossmingw32-libvtv
+This package contains cross MinGW32 version of the Virtual Table
+Verification library which is used for -fvtable-verify=...
+instrumented programs.
+
+%description -n crossmingw32-libvtv -l pl.UTF-8
+Ten pakiet zawiera wersję skrośną MinGW32 biblioteki Virtual Table
+Verification, służącej do weryfikacji tablicy wirtualnej w programach
+kompilowanych z opcją -fvtable-verify=....
+
+%package -n crossmingw32-libvtv-static
+Summary:	The Virtual Table Verification static library - cross MinGW32 version
+Summary(pl.UTF-8):	Statyczna biblioteka Virtual Table Verification - wersja skrośna MinGW32
+License:	GPL v3+ with GCC Runtime Library Exception v3.1
+Group:		Development/Libraries
+URL:		https://gcc.gnu.org/wiki/vtv
+Requires:	crossmingw32-libvtv = %{epoch}:%{version}-%{release}
+
+%description -n crossmingw32-libvtv-static
+The Virtual Table Verification static library - cross MinGW32 version.
+
+%description -n crossmingw32-libvtv-static -l pl.UTF-8
+Statyczna biblioteka Virtual Table Verification - wersja skrośna
+MinGW32.
+
+%package -n crossmingw32-libvtv-dll
+Summary:	DLL Virtual Table Verification libraries for Windows
+Summary(pl.UTF-8):	Biblioteki DLL Virtual Table Verification dla Windows
+License:	GPL v3+ with GCC Runtime Library Exception v3.1
+Group:		Applications/Emulators
+URL:		https://gcc.gnu.org/wiki/vtv
+Requires:	crossmingw32-libgcc-dll = %{epoch}:%{version}-%{release}
+
+%description -n crossmingw32-libvtv-dll
+DLL Virtual Table Verification libraries for Windows.
+
+%description -n crossmingw32-libvtv-dll -l pl.UTF-8
+Biblioteki DLL Virtual Table Verification dla Windows.
+
 %package c++
 Summary:	MinGW32 binary utility development utilities - g++
 Summary(pl.UTF-8):	Zestaw narzędzi MinGW32 - g++
@@ -225,6 +319,30 @@ z bibliotek w formacie COFF.
 
 Ten pakiet zawiera kompilator objc generujący kod pod Win32.
 
+%package objc++
+Summary:	MinGW32 binary utility development utilities - objc++
+Summary(pl.UTF-8):	Zestaw narzędzi MinGW32 - objc++
+Group:		Development/Languages
+Requires:	%{name}-objc = %{epoch}:%{version}-%{release}
+
+%description objc++
+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 Objective C++ support.
+
+%description objc++ -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 obsługę języka Objective C++.
+
 %package -n crossmingw32-libobjc-static
 Summary:	Static Objective C library - cross MinGW32 version
 Summary(pl.UTF-8):	Statyczna biblioteka Objective C - wersja skrośna MinGW32
@@ -373,8 +491,7 @@ Ten pakiet zawiera kompilator Javy generujący kod pod Win32.
 %patch100 -p0
 %patch0 -p1
 %patch2 -p1
-%patch12 -p1
-%patch13 -p1
+%patch3 -p1
 
 %if %{with bootstrap}
 # note: "winsup" dir is special, handled by gcc's configure
@@ -410,28 +527,30 @@ TEXCONFIG=false \
 	--with-build-time-tools=%{arch}/bin \
 	%{!?with_bootstrap:--with-headers=%{arch}/include} \
 	--with-libs=%{!?with_bootstrap:%{arch}/lib}%{?with_bootstrap:${WINSUPDIR}/mingw/lib} \
+	--with-demangler-in-ld \
 	--with-dwarf2 \
 	--with-gnu-as \
 	--with-gnu-ld \
-	--with-mangler-in-ld \
 	--with-long-double-128 \
-	--with-cloog \
-	--with-ppl \
+	--enable-c99 \
+	--enable-fully-dynamic-string \
 	--disable-isl-version-check \
+	--enable-languages="c,c++,fortran,java,objc,obj-c++" \
 	--enable-shared \
 	--enable-threads \
-	--enable-languages="c,c++,fortran,java,objc" \
-	--enable-c99 \
-	--enable-fully-dynamic-string \
-	--enable-libgomp \
+	--disable-libcc1 \
+	--enable-libgomp%{!?with_gomp:=no} \
+	--disable-libssp \
 	--enable-libstdcxx-allocator=new \
+	--enable-linker-build-id \
 	--enable-long-long \
-	--enable-version-specific-runtime-libs \
-	--disable-libssp \
+	--enable-lto \
 	--disable-multilib \
 	--disable-nls \
 	--disable-sjlj-exceptions \
 	--disable-symvers \
+	--enable-version-specific-runtime-libs \
+	--disable-werror \
 	--disable-win32-registry \
 	--target=%{target}
 
@@ -447,7 +566,7 @@ install -d $RPM_BUILD_ROOT%{_bindir}
 %{__make} -C builddir install \
 	DESTDIR=$RPM_BUILD_ROOT
 
-mv $RPM_BUILD_ROOT%{gcclibdir}/include-fixed/{limits,syslimits}.h $RPM_BUILD_ROOT%{gcclibdir}/include
+%{__mv} $RPM_BUILD_ROOT%{gcclibdir}/include-fixed/{limits,syslimits}.h $RPM_BUILD_ROOT%{gcclibdir}/include
 %{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/include-fixed
 %{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/install-tools
 
@@ -456,14 +575,15 @@ 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-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
 
 # DLLs
 install -d $RPM_BUILD_ROOT%{_dlldir}
-mv -f $RPM_BUILD_ROOT%{gccarchdir}/*.dll $RPM_BUILD_ROOT%{_dlldir}
-mv -f $RPM_BUILD_ROOT%{gcclibdir}/*.dll $RPM_BUILD_ROOT%{_dlldir}
+%{__mv} $RPM_BUILD_ROOT%{gccarchdir}/*.dll $RPM_BUILD_ROOT%{_dlldir}
+%{__mv} $RPM_BUILD_ROOT%{gcclibdir}/*.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}
@@ -502,6 +622,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/%{target}-gcc
 %attr(755,root,root) %{_bindir}/%{target}-cpp
 %attr(755,root,root) %{_bindir}/%{target}-gcov
+%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
@@ -509,6 +630,7 @@ rm -rf $RPM_BUILD_ROOT
 %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-tool
 %dir %{gccarchdir}
 %dir %{gcclibdir}
 %attr(755,root,root) %{gcclibdir}/cc1
@@ -533,11 +655,26 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{_dlldir}/libgcc_s_dw2-1.dll
 
+%files -n crossmingw32-libatomic
+%defattr(644,root,root,755)
+%{gcclibdir}/libatomic.dll.a
+%{gcclibdir}/libatomic.la
+
+%files -n crossmingw32-libatomic-static
+%defattr(644,root,root,755)
+%{gcclibdir}/libatomic.a
+
+%files -n crossmingw32-libatomic-dll
+%defattr(644,root,root,755)
+%{_dlldir}/libatomic-1.dll
+
 %if %{with gomp}
 %files -n crossmingw32-libgomp
 %defattr(644,root,root,755)
 %{gcclibdir}/libgomp.dll.a
 %{gcclibdir}/libgomp.la
+%{gcclibdir}/libgomp-plugin-host_nonshm.dll.a
+%{gcclibdir}/libgomp-plugin-host_nonshm.la
 %{gcclibdir}/libgomp.spec
 
 %files -n crossmingw32-libgomp-static
@@ -547,8 +684,26 @@ rm -rf $RPM_BUILD_ROOT
 %files -n crossmingw32-libgomp-dll
 %defattr(644,root,root,755)
 %{_dlldir}/libgomp-1.dll
+%{_dlldir}/libgomp-plugin-host_nonshm-1.dll
 %endif
 
+%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
+
+%files -n crossmingw32-libvtv-static
+%defattr(644,root,root,755)
+%{gcclibdir}/libvtv.a
+%{gcclibdir}/libvtv_stubs.a
+
+%files -n crossmingw32-libvtv-dll
+%defattr(644,root,root,755)
+%{_dlldir}/libvtv-0.dll
+%{_dlldir}/libvtv_stubs-0.dll
+
 %files c++
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/%{target}-g++
@@ -572,11 +727,17 @@ rm -rf $RPM_BUILD_ROOT
 
 %files objc
 %defattr(644,root,root,755)
+%doc libobjc/README
 %attr(755,root,root) %{gcclibdir}/cc1obj
 %{gcclibdir}/libobjc.dll.a
 %{gcclibdir}/libobjc.la
 %{gcclibdir}/include/objc
 
+%files objc++
+%defattr(644,root,root,755)
+%doc gcc/objcp/ChangeLog
+%attr(755,root,root) %{gcclibdir}/cc1objplus
+
 %files -n crossmingw32-libobjc-static
 %defattr(644,root,root,755)
 %{gcclibdir}/libobjc.a
diff --git a/gcc-isl0.15-1.patch b/gcc-isl0.15-1.patch
deleted file mode 100644
index 4cdc746..0000000
--- a/gcc-isl0.15-1.patch
+++ /dev/null
@@ -1,237 +0,0 @@
-List-Id: <gcc-patches.gcc.gnu.org>
-List-Archive: <http://gcc.gnu.org/ml/gcc-patches/>
-From: Mike Frysinger <vapier at gentoo dot org>
-To: gcc-patches at gcc dot gnu dot org
-Subject: [PATCH] gcc: fix building w/isl-0.15
-Date: Tue, 14 Jul 2015 10:45:12 -0400
-Message-Id: <1436885112-2174-1-git-send-email-vapier at gentoo.org>
-
----
- gcc/config.in               |  6 ++++++
- gcc/configure               | 31 +++++++++++++++++++++++++++++++
- gcc/configure.ac            | 14 ++++++++++++++
- gcc/graphite-dependences.c  | 14 +++++++-------
- gcc/graphite-optimize-isl.c |  8 ++++++--
- gcc/graphite-poly.h         |  5 +++++
- 6 files changed, 69 insertions(+), 9 deletions(-)
-
-diff --git a/gcc/config.in b/gcc/config.in
-index b031a62..23e1757 100644
---- a/gcc/config.in
-+++ b/gcc/config.in
-@@ -1326,6 +1326,12 @@
- #endif
- 
- 
-+/* Define if isl_options_set_schedule_serialize_sccs exists. */
-+#ifndef USED_FOR_TARGET
-+#undef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
-+#endif
-+
-+
- /* Define if isl_schedule_constraints_compute_schedule exists. */
- #ifndef USED_FOR_TARGET
- #undef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
-diff --git a/gcc/configure b/gcc/configure
-index 9561e5c..6e81298 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -27947,6 +27947,8 @@
- 
-   # Check whether isl_schedule_constraints_compute_schedule is available;
-   # it's new in ISL-0.13.
-+  # Check whether isl_options_set_schedule_serialize_sccs is available;
-+  # it's new in ISL-0.15.
-   saved_CFLAGS="$CFLAGS"
-   CFLAGS="$CFLAGS $ISLINC"
-   saved_LIBS="$LIBS"
-@@ -27975,6 +27977,29 @@
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_schedule_constraints_compute_schedule" >&5
- $as_echo "$ac_has_isl_schedule_constraints_compute_schedule" >&6; }
- 
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking for isl_options_set_schedule_serialize_sccs" >&5
-+$as_echo_n "checking Checking for isl_options_set_schedule_serialize_sccs... " >&6; }
-+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h.  */
-+#include <isl/schedule.h>
-+int
-+main ()
-+{
-+isl_options_set_schedule_serialize_sccs (NULL, 0);
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+if ac_fn_cxx_try_link "$LINENO"; then :
-+  ac_has_isl_options_set_schedule_serialize_sccs=yes
-+else
-+  ac_has_isl_options_set_schedule_serialize_sccs=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+    conftest$ac_exeext conftest.$ac_ext
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_has_isl_options_set_schedule_serialize_sccs" >&5
-+$as_echo "$ac_has_isl_options_set_schedule_serialize_sccs" >&6; }
-+
-   LIBS="$saved_LIBS"
-   CFLAGS="$saved_CFLAGS"
- 
-@@ -27983,6 +28008,12 @@
- $as_echo "#define HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE 1" >>confdefs.h
- 
-   fi
-+
-+  if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
-+
-+$as_echo "#define HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS 1" >>confdefs.h
-+
-+  fi
- fi
- 
- 
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index cb14639..7fb964a 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -5535,6 +5535,8 @@
- 
-   # Check whether isl_schedule_constraints_compute_schedule is available;
-   # it's new in ISL-0.13.
-+  # Check whether isl_options_set_schedule_serialize_sccs is available;
-+  # it's new in ISL-0.15.
-   saved_CFLAGS="$CFLAGS"
-   CFLAGS="$CFLAGS $ISLINC"
-   saved_LIBS="$LIBS"
-@@ -5547,6 +5549,13 @@
-               [ac_has_isl_schedule_constraints_compute_schedule=no])
-   AC_MSG_RESULT($ac_has_isl_schedule_constraints_compute_schedule)
- 
-+  AC_MSG_CHECKING([Checking for isl_options_set_schedule_serialize_sccs])
-+  AC_TRY_LINK([#include <isl/schedule.h>],
-+              [isl_options_set_schedule_serialize_sccs (NULL, 0);],
-+              [ac_has_isl_options_set_schedule_serialize_sccs=yes],
-+              [ac_has_isl_options_set_schedule_serialize_sccs=no])
-+  AC_MSG_RESULT($ac_has_isl_options_set_schedule_serialize_sccs)
-+
-   LIBS="$saved_LIBS"
-   CFLAGS="$saved_CFLAGS"
- 
-@@ -5554,6 +5563,11 @@
-      AC_DEFINE(HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE, 1,
-                [Define if isl_schedule_constraints_compute_schedule exists.])
-   fi
-+
-+  if test x"$ac_has_isl_options_set_schedule_serialize_sccs" = x"yes"; then
-+     AC_DEFINE(HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS, 1,
-+               [Define if isl_options_set_schedule_serialize_sccs exists.])
-+  fi
- fi
- 
- 
-diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
-index 50fe73e..9a0986d 100644
---- a/gcc/graphite-dependences.c
-+++ b/gcc/graphite-dependences.c
-@@ -205,7 +205,7 @@ scop_get_transformed_schedule (scop_p scop, vec<poly_bb_p> pbbs)
- /* Helper function used on each MAP of a isl_union_map.  Computes the
-    maximal output dimension.  */
- 
--static int
-+static isl_stat
- max_number_of_out_dimensions (__isl_take isl_map *map, void *user)
- {
-   int global_max = *((int *) user);
-@@ -217,7 +217,7 @@ max_number_of_out_dimensions (__isl_take isl_map *map, void *user)
- 
-   isl_map_free (map);
-   isl_space_free (space);
--  return 0;
-+  return isl_stat_ok;
- }
- 
- /* Extends the output dimension of MAP to MAX dimensions.  */
-@@ -241,12 +241,12 @@ struct extend_schedule_str {
- 
- /* Helper function for extend_schedule.  */
- 
--static int
-+static isl_stat
- extend_schedule_1 (__isl_take isl_map *map, void *user)
- {
-   struct extend_schedule_str *str = (struct extend_schedule_str *) user;
-   str->umap = isl_union_map_add_map (str->umap, extend_map (map, str->max));
--  return 0;
-+  return isl_stat_ok;
- }
- 
- /* Return a relation that has uniform output dimensions.  */
-@@ -255,16 +255,16 @@ __isl_give isl_union_map *
- extend_schedule (__isl_take isl_union_map *x)
- {
-   int max = 0;
--  int res;
-+  isl_stat res;
-   struct extend_schedule_str str;
- 
-   res = isl_union_map_foreach_map (x, max_number_of_out_dimensions, (void *) &max);
--  gcc_assert (res == 0);
-+  gcc_assert (res == isl_stat_ok);
- 
-   str.max = max;
-   str.umap = isl_union_map_empty (isl_union_map_get_space (x));
-   res = isl_union_map_foreach_map (x, extend_schedule_1, (void *) &str);
--  gcc_assert (res == 0);
-+  gcc_assert (res == isl_stat_ok);
- 
-   isl_union_map_free (x);
-   return str.umap;
-diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
-index f490401..388e25c 100644
---- a/gcc/graphite-optimize-isl.c
-+++ b/gcc/graphite-optimize-isl.c
-@@ -506,13 +506,13 @@ getScheduleMap (isl_schedule *Schedule, isl_union_map **map_sepcl)
-   return ScheduleMap;
- }
- 
--static int
-+static isl_stat
- getSingleMap (__isl_take isl_map *map, void *user)
- {
-   isl_map **singleMap = (isl_map **) user;
-   *singleMap = map;
- 
--  return 0;
-+  return isl_stat_ok;
- }
- 
- static void
-@@ -584,7 +584,11 @@ optimize_isl (scop_p scop)
- 
-   isl_options_set_schedule_max_constant_term (scop->ctx, CONSTANT_BOUND);
-   isl_options_set_schedule_maximize_band_depth (scop->ctx, 1);
-+#ifdef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
-+  isl_options_set_schedule_serialize_sccs (scop->ctx, 1);
-+#else
-   isl_options_set_schedule_fuse (scop->ctx, ISL_SCHEDULE_FUSE_MIN);
-+#endif
-   isl_options_set_on_error (scop->ctx, ISL_ON_ERROR_CONTINUE);
- 
- #ifdef HAVE_ISL_SCHED_CONSTRAINTS_COMPUTE_SCHEDULE
-diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h
-index 7ffd18e..7022a1d 100644
---- a/gcc/graphite-poly.h
-+++ b/gcc/graphite-poly.h
-@@ -24,6 +24,11 @@ along with GCC; see the file COPYING3.  If not see
- 
- #include "sese.h"
- 
-+#ifndef HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS
-+# define isl_stat int
-+# define isl_stat_ok 0
-+#endif
-+
- typedef struct poly_dr *poly_dr_p;
- 
- typedef struct poly_bb *poly_bb_p;
--- 
-2.4.4
-
diff --git a/gcc-isl0.15-2.patch b/gcc-isl0.15-2.patch
deleted file mode 100644
index a12a08f..0000000
--- a/gcc-isl0.15-2.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-List-Id: <gcc-patches.gcc.gnu.org>
-List-Archive: <http://gcc.gnu.org/ml/gcc-patches/>
-From: Bernhard Reutner-Fischer <rep dot dot dot nop at gmail dot com>
-To: gcc-patches at gcc dot gnu dot org
-Subject: [PATCH] gcc/: Fix building with isl-0.15.0; includes
-Date: Fri, 17 Jul 2015 13:10:26 +0200
-Message-Id: <1437131426-27008-1-git-send-email-rep.dot.nop at gmail.com>
-In-Reply-To: <1436885112-2174-1-git-send-email-vapier at gentoo dot org>
-References: <1436885112-2174-1-git-send-email-vapier at gentoo.org>
-
-In addition to Mike's "[PATCH] gcc: fix building w/isl-0.15" in
-https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01162.html
-I seem to also need a couple of more includes for isl-0.15.0:
-
-2015-07-15  Bernhard Reutner-Fischer  <aldot at gcc.gnu.org>
-
-	* graphite-blocking.c, graphite-dependences.c,
-	graphite-interchange.c, graphite-isl-ast-to-gimple.c,
-	graphite-optimize-isl.c, graphite-poly.c,
-	graphite-scop-detection.c, graphite-sese-to-poly.c,
-	graphite.c: Add missing isl includes.
----
- gcc/graphite-blocking.c          |    1 +
- gcc/graphite-dependences.c       |    1 +
- gcc/graphite-interchange.c       |    1 +
- gcc/graphite-isl-ast-to-gimple.c |    2 ++
- gcc/graphite-optimize-isl.c      |    2 ++
- gcc/graphite-poly.c              |    1 +
- gcc/graphite-scop-detection.c    |    1 +
- gcc/graphite-sese-to-poly.c      |    1 +
- gcc/graphite.c                   |    1 +
- 9 files changed, 11 insertions(+)
-
-diff --git a/gcc/graphite-interchange.c b/gcc/graphite-interchange.c
-index aee51a8..bcf7f3b 100644
---- a/gcc/graphite-interchange.c
-+++ b/gcc/graphite-interchange.c
-@@ -24,6 +24,7 @@ along with GCC; see the file COPYING3.
- #include "config.h"
- 
- #ifdef HAVE_cloog
-+#include <isl/constraint.h>
- #include <isl/aff.h>
- #include <isl/set.h>
- #include <isl/map.h>
-diff --git a/gcc/graphite-optimize-isl.c b/gcc/graphite-optimize-isl.c
-index 388e25c..2b55783 100644
---- a/gcc/graphite-optimize-isl.c
-+++ b/gcc/graphite-optimize-isl.c
-@@ -21,7 +21,9 @@ along with GCC; see the file COPYING3.
- #include "config.h"
- 
- #ifdef HAVE_cloog
-+#include <isl/constraint.h>
- #include <isl/set.h>
-+#include <isl/union_set.h>
- #include <isl/map.h>
- #include <isl/union_map.h>
- #include <isl/schedule.h>
-diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c
-index 47e0da0..22fdde3 100644
---- a/gcc/graphite-scop-detection.c
-+++ b/gcc/graphite-scop-detection.c
-@@ -22,6 +22,7 @@ along with GCC; see the file COPYING3.
- #include "config.h"
- 
- #ifdef HAVE_cloog
-+#include <isl/constraint.h>
- #include <isl/set.h>
- #include <isl/map.h>
- #include <isl/union_map.h>
-diff --git a/gcc/graphite.c b/gcc/graphite.c
-index a81ef6a..32f405a 100644
---- a/gcc/graphite.c
-+++ b/gcc/graphite.c
-@@ -35,6 +35,7 @@ along with GCC; see the file COPYING3.
- #include "config.h"
- 
- #ifdef HAVE_cloog
-+#include <isl/constraint.h>
- #include <isl/set.h>
- #include <isl/map.h>
- #include <isl/options.h>
--- 
-1.7.10.4
-
diff --git a/gcc-mingw32.patch b/gcc-mingw32.patch
new file mode 100644
index 0000000..40d2adb
--- /dev/null
+++ b/gcc-mingw32.patch
@@ -0,0 +1,12 @@
+--- gcc-5.4.0/libgfortran/intrinsics/chmod.c.orig	2016-12-18 10:38:13.034904609 +0100
++++ gcc-5.4.0/libgfortran/intrinsics/chmod.c	2016-12-18 10:38:15.398237920 +0100
+@@ -30,6 +30,9 @@
+ #include <string.h>	/* For memcpy. */
+ #include <stdlib.h>	/* For free.  */
+ #include <sys/stat.h>	/* For stat, chmod and umask.  */
++#ifdef __MINGW32__
++#include <io.h>
++#endif
+ 
+ 
+ /* INTEGER FUNCTION CHMOD (NAME, MODE)
diff --git a/gcc-optimize-la.pl b/gcc-optimize-la.pl
index bd41d9c..39c4eac 100644
--- a/gcc-optimize-la.pl
+++ b/gcc-optimize-la.pl
@@ -18,7 +18,7 @@ foreach (@lines)
 {
     if (/(^dependency_libs='(.*)')[\ \t]*$/)
     {
-        my $trimmed = trim($2);
+	my $trimmed = trim($2);
 	$trimmed =~ y/'//d;
 	@libs = split(/[\ \t\n]+/, $trimmed);
 	@L = grep(/^-L.*gcc\/.*\/\d\.\d\.\d(\/(32|64|x32|nof))*$/, @libs);
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/crossmingw32-gcc.git/commitdiff/14b9b67e5ed901b62e384f99f076419fb96778ed



More information about the pld-cvs-commit mailing list