xref: /OK3568_Linux_fs/buildroot/package/assimp/assimp.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# assimp
4#
5################################################################################
6
7ASSIMP_VERSION = 5.0.1
8ASSIMP_SITE = $(call github,assimp,assimp,v$(ASSIMP_VERSION))
9ASSIMP_LICENSE = BSD-3-Clause
10ASSIMP_LICENSE_FILES = LICENSE
11ASSIMP_DEPENDENCIES = zlib
12ASSIMP_INSTALL_STAGING = YES
13
14# relocation truncated to fit: R_68K_GOT16O. We also need to disable
15# optimizations to not run into "Error: value -43420 out of range"
16# assembler issues.
17ifeq ($(BR2_m68k),y)
18ASSIMP_CXXFLAGS += -mxgot -O0
19endif
20
21# just like m68k coldfire, mips64 also has some limitations on the GOT
22# size for large libraries, which can be overcome by passing
23# -mxgot. Solves "relocation truncated to fit: R_MIPS_CALL16" issues.
24ifeq ($(BR2_mips64)$(BR2_mips64el),y)
25ASSIMP_CXXFLAGS += -mxgot
26endif
27
28# workaround SuperH compiler failure when static linking (i.e -fPIC is
29# not passed) in gcc versions 5.x or older. The -Os optimization level
30# causes a "unable to find a register to spill in class
31# 'GENERAL_REGS'" error. -O2 works fine.
32ifeq ($(BR2_sh):$(BR2_STATIC_LIBS):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:y:)
33ASSIMP_CXXFLAGS += -O2
34endif
35
36ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
37ASSIMP_CXXFLAGS += -O0
38endif
39
40ASSIMP_CONF_OPTS += -DASSIMP_BUILD_TESTS=OFF \
41	-DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(ASSIMP_CXXFLAGS)"
42
43$(eval $(cmake-package))
44