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