[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