module_arch_supported.mk revision 6feb6d5607ce86a446645564212043964628f540
1########################################################### 2## Determine if a module can be built for an arch 3## 4## Inputs from module makefile: 5## my_prefix TARGET_ or HOST_ 6## my_module_multilib 7## LOCAL_MODULE_$(my_prefix)ARCH 8## LOCAL_MODULE_$(my_prefix)ARCH_WARN 9## LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH 10## LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH_WARN 11## 12## Inputs from build system: 13## $(my_prefix)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 ($(my_module_multilib),none) 23my_module_arch_supported := false 24endif 25 26ifeq ($(LOCAL_2ND_ARCH_VAR_PREFIX),) 27ifeq ($($(my_prefix)IS_64_BIT)|$(my_module_multilib),true|32) 28my_module_arch_supported := false 29else ifeq ($($(my_prefix)IS_64_BIT)|$(my_module_multilib),|64) 30my_module_arch_supported := false 31else ifeq ($(call directory_is_64_bit_blacklisted,$(LOCAL_PATH)),true) 32my_module_arch_supported := false 33endif 34else # LOCAL_2ND_ARCH_VAR_PREFIX 35ifeq ($(my_module_multilib),first) 36my_module_arch_supported := false 37else ifeq ($(my_module_multilib),64) 38my_module_arch_supported := false 39endif 40endif # LOCAL_2ND_ARCH_VAR_PREFIX 41 42ifneq (,$(LOCAL_MODULE_$(my_prefix)ARCH)) 43ifeq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH))) 44my_module_arch_supported := false 45endif 46endif 47 48ifneq (,$(LOCAL_MODULE_$(my_prefix)ARCH_WARN)) 49ifeq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH_WARN))) 50my_module_arch_supported := false 51$(warning $(LOCAL_MODULE): architecture $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) not supported) 52endif 53endif 54 55ifneq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH))) 56my_module_arch_supported := false 57endif 58 59ifneq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH_WARN))) 60my_module_arch_supported := false 61$(warning $(LOCAL_MODULE): architecture $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) unsupported) 62endif 63