build: fix TARGET_PREFER_32_BIT
TARGET_PREFER_32_BIT can't assume that the 32-bit rule is allowed, it needs to try the 32-bit rule first, then fall back to the 64-bit rule in case the module specifies LOCAL_MODULE_TARGET_ARCH or LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH to disallow the 32-bit build. Also port TARGET_PREFER_32_BIT to package.mk. Change-Id: I07520b75c4ee11a1e95a82b3afa2a33d4907eb04
This commit is contained in:
@@ -5,23 +5,31 @@
|
||||
|
||||
include $(BUILD_SYSTEM)/multilib.mk
|
||||
|
||||
ifndef my_module_multilib
|
||||
# packages default to building for either architecture,
|
||||
# the first if its supported, otherwise the second.
|
||||
my_module_multilib := both
|
||||
endif
|
||||
|
||||
LOCAL_NO_2ND_ARCH_MODULE_SUFFIX := true
|
||||
|
||||
# check if first arch is supported
|
||||
# if TARGET_PREFER_32_BIT is set, try to build 32-bit first
|
||||
ifdef TARGET_2ND_ARCH
|
||||
ifeq ($(TARGET_PREFER_32_BIT),true)
|
||||
LOCAL_2ND_ARCH_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX)
|
||||
else
|
||||
LOCAL_2ND_ARCH_VAR_PREFIX :=
|
||||
endif
|
||||
endif
|
||||
|
||||
# check if preferred arch is supported
|
||||
include $(BUILD_SYSTEM)/module_arch_supported.mk
|
||||
ifeq ($(my_module_arch_supported),true)
|
||||
# first arch is supported
|
||||
include $(BUILD_SYSTEM)/package_internal.mk
|
||||
else ifneq (,$(TARGET_2ND_ARCH))
|
||||
# check if secondary arch is supported
|
||||
# check if the non-preferred arch is the primary or secondary
|
||||
ifeq ($(TARGET_PREFER_32_BIT),true)
|
||||
LOCAL_2ND_ARCH_VAR_PREFIX :=
|
||||
else
|
||||
LOCAL_2ND_ARCH_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX)
|
||||
endif
|
||||
|
||||
# check if non-preferred arch is supported
|
||||
include $(BUILD_SYSTEM)/module_arch_supported.mk
|
||||
ifeq ($(my_module_arch_supported),true)
|
||||
# secondary arch is supported
|
||||
|
Reference in New Issue
Block a user