summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorTony Theodore <tonyt@logyst.com>2016-05-01 07:40:08 (GMT)
committerTony Theodore <tonyt@logyst.com>2016-05-01 07:40:08 (GMT)
commitd8f1d36d71519e868b218aae3774c773ec89c199 (patch)
tree409c6fc2cef356fba42a3a53d7dca472cf6cf0cd /plugins
parente6d7f5284ee0547ad274f9cdda8d1c01e630bef8 (diff)
parent970fa1e6176bbfded601b5bd0d2716a233e49247 (diff)
downloadmxe-d8f1d36d71519e868b218aae3774c773ec89c199.zip
mxe-d8f1d36d71519e868b218aae3774c773ec89c199.tar.gz
mxe-d8f1d36d71519e868b218aae3774c773ec89c199.tar.bz2
Merge pull request #1317 from tehnick/gcc6-plugin
Add gcc6 plugin
Diffstat (limited to 'plugins')
-rw-r--r--plugins/gcc5/gcc5-overlay.mk1
-rw-r--r--plugins/gcc6/README.md67
-rw-r--r--plugins/gcc6/gcc6-overlay.mk25
3 files changed, 93 insertions, 0 deletions
diff --git a/plugins/gcc5/gcc5-overlay.mk b/plugins/gcc5/gcc5-overlay.mk
index 3da3171..894952b 100644
--- a/plugins/gcc5/gcc5-overlay.mk
+++ b/plugins/gcc5/gcc5-overlay.mk
@@ -16,6 +16,7 @@ $(PKG)_CHECKSUM := 8ceebbf4d9a81afa2b4449113cee4b7cb14a687d7a549a963deb5e2a41458
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL := http://isl.gforge.inria.fr/$($(PKG)_FILE)
+$(PKG)_URL_2 := ftp://gcc.gnu.org/pub/gcc/infrastructure/$($(PKG)_FILE)
PKG := gcc
$(PKG)_VERSION := 5.3.0
diff --git a/plugins/gcc6/README.md b/plugins/gcc6/README.md
new file mode 100644
index 0000000..9cbd7cd
--- /dev/null
+++ b/plugins/gcc6/README.md
@@ -0,0 +1,67 @@
+# Notes about GCC version 6.1.0 and later
+
+GCC 6.1 is released with a number of major changes
+[[1](https://gcc.gnu.org/ml/gcc-announce/2016/msg00000.html)]
+[[2](https://gcc.gnu.org/gcc-6/changes.html)]
+. The most notable change is:
+> The `C++` frontend now defaults to `C++14` standard instead of `C++98` it has
+> been defaulting to previously, for compiling older `C++` code that might
+> require either explicitly compiling with selected older `C++` standards,
+> or might require some code adjustment, see
+> [[3](http://gcc.gnu.org/gcc-6/porting_to.html)]
+> for details.
+
+So it is expected that some of MXE packages will fails to build from source
+(FTBFS) with default GCC 6.x options. As a workaround we may add `-std=gnu++11`
+or `-std=gnu++98` into `CXXFLAGS` for building problematic packages. And this
+will not affect the builds with older versions of GCC.
+
+For example, in autotools based projects:
+```
+...
+$(PKG)_CXXFLAGS := -std=gnu++11
+...
+ cd '$(1)' && \
+ CXXFLAGS="$($(PKG)_CXXFLAGS)" \
+ ./configure \
+...
+```
+
+Just after adding this plugin (gcc6) some packages were FTBFS. For now, these
+packages might be already fixed by upstream developers, by additional patches
+or using above mentioned workaround. See the table below for details. If some
+MXE packages or your personal projects are still FTBFS you may look how other
+packages were fixed and use similar approach.
+
+| package | target | fixed in commit |
+| ------------------ | -------------------- | ---------------------------------------------------- |
+| boost | all | [7ca2bce](https://github.com/mxe/mxe/commit/7ca2bce) |
+| cgal | all | - |
+| dcmtk | all | - |
+| fdk-aac | all | - |
+| flann | all | - |
+| freeimage | all | - |
+| glib | all | [58c2c96](https://github.com/mxe/mxe/commit/58c2c96) |
+| gtkimageview | all | - |
+| gtkmm2 | all | - |
+| gtkmm3 | all | - |
+| itk | all | - |
+| jsoncpp | all | [0bc73f7](https://github.com/mxe/mxe/commit/0bc73f7) |
+| json_spirit | all | - |
+| libical | all | - |
+| librsvg | all | - |
+| libxml++ | all | - |
+| log4cxx | all | - |
+| opencv | all | - |
+| ossim | all | - |
+| qt | all | [5aac1c3](https://github.com/mxe/mxe/commit/5aac1c3) |
+| qt3d | all | - |
+| sdl_sound | all | - |
+| smpeg | all | [57cb6bb](https://github.com/mxe/mxe/commit/57cb6bb) |
+| smpeg2 | all | [1a42cbc](https://github.com/mxe/mxe/commit/1a42cbc) |
+| ucl | all | - |
+| vtk | all | - |
+| vtk6 | all | - |
+| wxwidgets | all | - |
+| ... | ... | ... |
+
diff --git a/plugins/gcc6/gcc6-overlay.mk b/plugins/gcc6/gcc6-overlay.mk
new file mode 100644
index 0000000..5ca9207
--- /dev/null
+++ b/plugins/gcc6/gcc6-overlay.mk
@@ -0,0 +1,25 @@
+# This file is part of MXE.
+# See index.html for further 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 := ftp://gcc.gnu.org/pub/gcc/infrastructure/$($(PKG)_FILE)
+
+PKG := gcc
+$(PKG)_VERSION := 6.1.0
+$(PKG)_CHECKSUM := 09c4c85cabebb971b1de732a0219609f93fc0af5f86f6e437fd8d7f832f1a351
+$(PKG)_SUBDIR := gcc-$($(PKG)_VERSION)
+$(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.bz2
+$(PKG)_URL := http://ftp.gnu.org/pub/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)