module_arch_supported.mk revision 02e31d240a9044b54ee793902ad958894f84e7a1
1########################################################### 2## Determine if a module can be built for an arch 3## 4## Inputs from module makefile: 5## LOCAL_32_BIT_ONLY 6## LOCAL_NO_2ND_ARCH 7## LOCAL_MODULE_TARGET_ARCH 8## LOCAL_MODULE_TARGET_ARCH_WARN 9## LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH 10## LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH_WARN 11## 12## Inputs from build system: 13## TARGET_IS_64_BIT 14## LOCAL_2ND_ARCH_VAR_PREFIX 15## 16## Outputs: 17## my_module_arch_supported := (true|false) 18########################################################### 19 20my_module_arch_supported := true 21 22ifeq ($(LOCAL_2ND_ARCH_VAR_PREFIX),) 23ifeq ($(TARGET_IS_64_BIT)|$(LOCAL_32_BIT_ONLY),true|true) 24my_module_arch_supported := false 25else ifeq ($(call directory_is_64_bit_blacklisted,$(LOCAL_PATH)),true) 26my_module_arch_supported := false 27endif 28else # LOCAL_2ND_ARCH_VAR_PREFIX 29ifeq ($(LOCAL_NO_2ND_ARCH),true) 30my_module_arch_supported := false 31endif 32endif # !LOCAL_2ND_ARCH_VAR_PREFIX 33 34ifneq (,$(LOCAL_MODULE_TARGET_ARCH)) 35ifeq (,$(filter $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_TARGET_ARCH))) 36my_module_arch_supported := false 37endif 38endif 39 40ifneq (,$(LOCAL_MODULE_TARGET_ARCH_WARN)) 41ifeq (,$(filter $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_TARGET_ARCH_WARN))) 42my_module_arch_supported := false 43$(warning $(LOCAL_MODULE): architecture $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) not supported) 44endif 45endif 46 47ifneq (,$(filter $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH))) 48my_module_arch_supported := false 49endif 50 51ifneq (,$(filter $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH_WARN))) 52my_module_arch_supported := false 53$(warning $(LOCAL_MODULE): architecture $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) unsupported) 54endif 55