libspatialindex: fix build on Microblaze
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 14 Aug 2017 21:40:59 +0000 (23:40 +0200)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tue, 15 Aug 2017 16:03:55 +0000 (18:03 +0200)
This commit fixes the build of libspatialindex on the Microblaze
architecture by working around a gcc bug, by passing -O0 as the
optimization level.

A patch to configure.ac is needed to not have -O2 be forced by the
libspatialindex build system, and therefore AUTORECONF=YES is now
needed.

Fixes:

  http://autobuild.buildroot.net/results/bbba2a2c97dbec21340c7fd07162a316a411cba4/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
package/libspatialindex/0001-configure.ac-do-not-force-O2.patch [new file with mode: 0644]
package/libspatialindex/libspatialindex.mk

diff --git a/package/libspatialindex/0001-configure.ac-do-not-force-O2.patch b/package/libspatialindex/0001-configure.ac-do-not-force-O2.patch
new file mode 100644 (file)
index 0000000..c078e71
--- /dev/null
@@ -0,0 +1,30 @@
+From 7472764fe19cb3eea77f21cc2859859b8ac62085 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Mon, 14 Aug 2017 23:36:36 +0200
+Subject: [PATCH] configure.ac: do not force -O2
+
+The user may want to provide its own set of optimization flags, and
+therefore forcing -O2 should not be done.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Submitted-upstream: https://github.com/libspatialindex/libspatialindex/pull/101
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index dc5e49f..2e2aa68 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -53,7 +53,7 @@ if test "x$enable_debug" = "xyes"; then
+       CXXFLAGS="$CXXFLAGS -g -DDEBUG"
+       AC_MSG_RESULT(checking wether debug information is enabled... yes)
+ else
+-      CXXFLAGS="$CXXFLAGS -O2 -DNDEBUG"
++      CXXFLAGS="$CXXFLAGS -DNDEBUG"
+       AC_MSG_RESULT(checking wether debug information is enabled... no)
+ fi
+-- 
+2.9.4
+
index d8153644426177f0636df28e95319ccd538b6d64..3a558dfc7e50b3b48e6a4eed1d05caed828c400f 100644 (file)
@@ -11,4 +11,16 @@ LIBSPATIALINDEX_INSTALL_STAGING = YES
 LIBSPATIALINDEX_LICENSE = MIT
 LIBSPATIALINDEX_LICENSE_FILES = COPYING
 
+# 0001-configure.ac-do-not-force-O2.patch
+LIBSPATIALINDEX_AUTORECONF = YES
+
+LIBSPATIALINDEX_CXXFLAGS = $(TARGET_CXXFLAGS)
+LIBSPATIALINDEX_CONF_ENV = CXXFLAGS="$(LIBSPATIALINDEX_CXXFLAGS)"
+
+# Workaround gcc ICE
+# (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485)
+ifeq ($(BR2_microblaze),y)
+LIBSPATIALINDEX_CXXFLAGS += -O0
+endif
+
 $(eval $(autotools-package))