libspatialindex: fix build on Microblaze

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>
This commit is contained in:
Thomas Petazzoni 2017-08-14 23:40:59 +02:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 8a26adddde
commit c5299a7dd0
2 changed files with 42 additions and 0 deletions

View File

@ -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

View 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))