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## LOCAL_IS_HOST_MODULE 12## LOCAL_MODULE_HOST_OS 13## 14## Inputs from build system: 15## $(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT 16## LOCAL_2ND_ARCH_VAR_PREFIX 17## 18## Outputs: 19## my_module_arch_supported := (true|false) 20########################################################### 21 22my_module_arch_supported := true 23 24ifeq ($(my_module_multilib),none) 25my_module_arch_supported := false 26endif 27 28ifeq ($($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT)|$(my_module_multilib),true|32) 29my_module_arch_supported := false 30endif 31ifeq ($($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT)|$(my_module_multilib),|64) 32my_module_arch_supported := false 33endif 34 35ifneq ($(LOCAL_2ND_ARCH_VAR_PREFIX),) 36ifeq ($(my_module_multilib),first) 37my_module_arch_supported := false 38endif 39endif 40 41ifneq (,$(LOCAL_MODULE_$(my_prefix)ARCH)) 42ifeq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH))) 43my_module_arch_supported := false 44endif 45endif 46 47ifneq (,$(LOCAL_MODULE_$(my_prefix)ARCH_WARN)) 48ifeq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH_WARN))) 49my_module_arch_supported := false 50$(warning $(LOCAL_MODULE): architecture $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) not supported) 51endif 52endif 53 54ifneq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH))) 55my_module_arch_supported := false 56endif 57 58ifneq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH_WARN))) 59my_module_arch_supported := false 60$(warning $(LOCAL_MODULE): architecture $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) unsupported) 61endif 62 63ifdef LOCAL_IS_HOST_MODULE 64ifneq (,$(LOCAL_MODULE_HOST_OS)) 65 ifeq (,$(filter $($(my_prefix)OS),$(LOCAL_MODULE_HOST_OS))) 66 my_module_arch_supported := false 67 endif 68else ifeq ($($(my_prefix)OS),windows) 69 # If LOCAL_MODULE_HOST_OS is empty, only linux and darwin are supported 70 my_module_arch_supported := false 71endif 72endif 73