summaryrefslogtreecommitdiffstats
path: root/plugins/gcc8
diff options
context:
space:
mode:
authorMark Brand <mabrand@mabrand.nl>2018-05-08 20:55:12 (GMT)
committerMark Brand <mabrand@mabrand.nl>2018-05-08 23:53:52 (GMT)
commitb42cd62e9a4a4e583be4970ebdced357d02d5a71 (patch)
treefff4bf7b7ba741ea1aaf2f978e130e08f963a003 /plugins/gcc8
parenta08b3225ff700920aad758a46c7023d43002d4c2 (diff)
downloadmxe-b42cd62e9a4a4e583be4970ebdced357d02d5a71.zip
mxe-b42cd62e9a4a4e583be4970ebdced357d02d5a71.tar.gz
mxe-b42cd62e9a4a4e583be4970ebdced357d02d5a71.tar.bz2
add gcc8 plugin
Diffstat (limited to 'plugins/gcc8')
-rw-r--r--plugins/gcc8/gcc8-overlay.mk25
-rw-r--r--plugins/gcc8/gcc8.patch60
2 files changed, 85 insertions, 0 deletions
diff --git a/plugins/gcc8/gcc8-overlay.mk b/plugins/gcc8/gcc8-overlay.mk
new file mode 100644
index 0000000..9ddae32
--- /dev/null
+++ b/plugins/gcc8/gcc8-overlay.mk
@@ -0,0 +1,25 @@
+# This file is part of MXE. See LICENSE.md for licensing information.
+
+# override relevant cloog, isl, and gcc variables changed in:
+# https://github.com/mxe/mxe/pull/965
+#
+# simply expanded variables (*_SUBDIR, *_FILE, etc.) need to be set
+
+PKG := cloog
+$(PKG)_TARGETS := $(MXE_TARGETS)
+
+PKG := isl
+$(PKG)_VERSION := 0.16.1
+$(PKG)_CHECKSUM := 412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2
+$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL := http://isl.gforge.inria.fr/$($(PKG)_FILE)
+$(PKG)_URL_2 := https://gcc.gnu.org/pub/gcc/infrastructure/$($(PKG)_FILE)
+
+PKG := gcc
+$(PKG)_VERSION := 8.1.0
+$(PKG)_CHECKSUM := 1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153
+$(PKG)_SUBDIR := gcc-$($(PKG)_VERSION)
+$(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.xz
+$(PKG)_URL := https://ftp.gnu.org/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_PATCHES := $(dir $(lastword $(MAKEFILE_LIST)))/gcc8.patch
diff --git a/plugins/gcc8/gcc8.patch b/plugins/gcc8/gcc8.patch
new file mode 100644
index 0000000..9c14652
--- /dev/null
+++ b/plugins/gcc8/gcc8.patch
@@ -0,0 +1,60 @@
+This file is part of MXE. See LICENSE.md for licensing information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Thu, 2 Feb 2017 02:05:50 +1100
+Subject: [PATCH 1/2] allow native cpu detection when building with clang
+
+function was disabled for non-gcc5 in:
+https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=b587c12551143c14f023860a1dbdf7316ae71f27;hp=43096b526a9f23008b9769372f11475ae63487bc
+
+clang can build it correctly and this should probably be a feature test
+
+diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c
+index 1111111..2222222 100644
+--- a/gcc/config/i386/driver-i386.c
++++ b/gcc/config/i386/driver-i386.c
+@@ -24,7 +24,7 @@ along with GCC; see the file COPYING3. If not see
+
+ const char *host_detect_local_cpu (int argc, const char **argv);
+
+-#if defined(__GNUC__) && (__GNUC__ >= 5 || !defined(__PIC__))
++#if defined(__GNUC__) && (__GNUC__ >= 5 || !defined(__PIC__)) || defined(__clang__)
+ #include "cpuid.h"
+
+ struct cache_desc
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Tony Theodore <tonyt@logyst.com>
+Date: Fri, 6 Apr 2018 13:40:22 +1000
+Subject: [PATCH 2/2] remove hard-coded mingw from include path
+
+
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index 1111111..2222222 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -1713,7 +1713,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
+ tmake_file="${tmake_file} i386/t-mingw-w32"
+ ;;
+ esac
+- native_system_header_dir=/mingw/include
++ native_system_header_dir=/include
+ target_gtfiles="\$(srcdir)/config/i386/winnt.c"
+ extra_options="${extra_options} i386/cygming.opt i386/mingw.opt"
+ case ${target} in
+diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h
+index 1111111..2222222 100644
+--- a/gcc/config/i386/mingw32.h
++++ b/gcc/config/i386/mingw32.h
+@@ -170,7 +170,7 @@ along with GCC; see the file COPYING3. If not see
+ /* For native mingw-version we need to take care that NATIVE_SYSTEM_HEADER_DIR
+ macro contains POSIX-style path. See bug 52947. */
+ #undef NATIVE_SYSTEM_HEADER_DIR
+-#define NATIVE_SYSTEM_HEADER_DIR "/mingw/include"
++#define NATIVE_SYSTEM_HEADER_DIR "/include"
+
+ /* Output STRING, a string representing a filename, to FILE.
+ We canonicalize it to be in Unix format (backslashes are replaced