1203cca1b5
With Microblaze Gcc version < 8.x the build hangs due to bug 85180: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180 To avoid this, the flare-engine package has a !BR2_TOOLCHAIN_HAS_GCC_BUG_85180 dependency. However, gcc bug 85180 only triggers when optimization is enabled, so we can work around the issue by passing -O0, which is what we do in other Buildroot packages to work around this bug. So, this commit passes -O0 when BR2_TOOLCHAIN_HAS_GCC_BUG_85180, and re-enables flare-engine on Microblaze. It is not enough to set CMAKE_CXX_FLAGS, because flare-engine's CMakeLists.txt sets CMAKE_CXX_FLAGS_<BUILD_TYPE> (depending on the value of CMAKE_BUILD_TYPE), and the build-type-specific flags come after the generic flags, so our -O0 gets overridden again. Therefore, also set CMAKE_BUILD_TYPE to the dummy value Buildroot. Fixes: http://autobuild.buildroot.net/results/706/7065e14917a8bbc0faf21b29183ac55b6c800ee3/ Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> [Arnout: extend explanatory comment and update commit log] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
31 lines
1.1 KiB
Makefile
31 lines
1.1 KiB
Makefile
################################################################################
|
|
#
|
|
# flare-engine
|
|
#
|
|
################################################################################
|
|
|
|
FLARE_ENGINE_VERSION = v1.0
|
|
FLARE_ENGINE_SITE = $(call github,clintbellanger,flare-engine,$(FLARE_ENGINE_VERSION))
|
|
FLARE_ENGINE_LICENSE = GPL-3.0+
|
|
FLARE_ENGINE_LICENSE_FILES = COPYING
|
|
|
|
FLARE_ENGINE_DEPENDENCIES += sdl2 sdl2_image sdl2_mixer sdl2_ttf
|
|
|
|
# Don't use /usr/games and /usr/share/games
|
|
FLARE_ENGINE_CONF_OPTS += -DBINDIR=bin -DDATADIR=share/flare
|
|
|
|
# Don't use the default Debug type as it adds -pg (gprof)
|
|
ifeq ($(BR2_ENABLE_DEBUG),y)
|
|
FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
endif
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
|
|
# CMakeLists.txt sets CMAKE_CXX_FLAGS_<BUILD_TYPE> depending on
|
|
# BUILD_TYPE, and this comes after the generic CMAKE_CXX_FLAGS.
|
|
# Overrice CMAKE_BUILD_TYPE so no overrides are applied.
|
|
FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=Buildroot
|
|
FLARE_ENGINE_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -O0"
|
|
endif
|
|
|
|
$(eval $(cmake-package))
|