b7c9a7d602
With Microblaze ccc version < 8.x the build hangs due to bug 85180: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180. To avoid this, the assimp package has a !BR2_microblaze 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 assimp on Microblaze. Note that the comment was talking about gcc bug 71124, but this gcc bug is a duplicate of 85180. Since all Buildroot packages now use the reference to gcc bug 85180 and the option is named BR2_TOOLCHAIN_HAS_GCC_BUG_85180, we use this naming as well for assimp. Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
35 lines
1023 B
Makefile
35 lines
1023 B
Makefile
################################################################################
|
|
#
|
|
# assimp
|
|
#
|
|
################################################################################
|
|
|
|
ASSIMP_VERSION = v3.2
|
|
ASSIMP_SITE = $(call github,assimp,assimp,$(ASSIMP_VERSION))
|
|
ASSIMP_LICENSE = BSD-3-Clause
|
|
ASSIMP_LICENSE_FILES = LICENSE
|
|
ASSIMP_DEPENDENCIES = zlib
|
|
ASSIMP_INSTALL_STAGING = YES
|
|
|
|
# relocation truncated to fit: R_68K_GOT16O
|
|
ifeq ($(BR2_m68k),y)
|
|
ASSIMP_CXXFLAGS += -mxgot
|
|
endif
|
|
|
|
# workaround SuperH compiler failure when static linking (i.e -fPIC is
|
|
# not passed) in gcc versions 5.x or older. The -Os optimization level
|
|
# causes a "unable to find a register to spill in class
|
|
# 'GENERAL_REGS'" error. -O2 works fine.
|
|
ifeq ($(BR2_sh):$(BR2_STATIC_LIBS):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:y:)
|
|
ASSIMP_CXXFLAGS += -O2
|
|
endif
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
|
|
ASSIMP_CXXFLAGS += -O0
|
|
endif
|
|
|
|
ASSIMP_CONF_OPTS += -DASSIMP_BUILD_TESTS=OFF \
|
|
-DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(ASSIMP_CXXFLAGS)"
|
|
|
|
$(eval $(cmake-package))
|