kumquat-buildroot/package/tremor/tremor.mk
Jörg Krause 0ee4deb961 package/tremor: fix build with Thumb only ARM archs
Some ARM architectures like ARMv7-M only supports Thumb instructions,
but the tremor build configuration enables ARM assembly code
unconditionally for all arm triplets by defining _ARM_ASSEM_.

We are overriding this by undefining this macro for ARM architectures
not supporting ARM instructions.

Fixes:
http://autobuild.buildroot.net/results/054/054f1c77b0e5d46b2dc53769469c0ed03e6b79ef/
http://autobuild.buildroot.net/results/ba1/ba1760b1428584f70e44dbffb8218ff3ee55e702/
http://autobuild.buildroot.net/results/2a6/2a687853cf0bc832fef29f88de0d85bd495fe87d/
http://autobuild.buildroot.net/results/cb6/cb6c560bf31834aadbe3d13a118b31ea8190159b/

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-15 23:29:27 +01:00

33 lines
1.0 KiB
Makefile

################################################################################
#
# tremor
#
################################################################################
TREMOR_SITE = http://svn.xiph.org/trunk/Tremor
TREMOR_SITE_METHOD = svn
TREMOR_VERSION = 19427
TREMOR_LICENSE = BSD-3c
TREMOR_LICENSE_FILES = COPYING
TREMOR_AUTORECONF = YES
TREMOR_INSTALL_STAGING = YES
TREMOR_DEPENDENCIES = libogg
# tremor has ARM assembly code that cannot be compiled in Thumb2 mode,
# so we must force the traditional ARM mode.
# However, some ARM architectures like ARNv7-M only supports Thumb
# instructions, but the tremor build configuration enables ARM assembly
# code unconditionally for all arm triplets by defining _ARM_ASSEM_.
# We are overriding this by undefining this macro for the ARM
# architectures not supporting ARM instructions.
ifeq ($(BR2_arm),y)
ifeq ($(BR2_ARM_CPU_HAS_ARM),y)
TREMOR_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -marm"
else
TREMOR_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -U_ARM_ASSEM_"
endif
endif
$(eval $(autotools-package))