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 20 my_module_arch_supported := true 21 22 ifeq ($(my_module_multilib),none) 23 my_module_arch_supported := false 24 endif 25 26 ifeq ($(LOCAL_2ND_ARCH_VAR_PREFIX),) 27 ifeq ($($(my_prefix)IS_64_BIT)|$(my_module_multilib),true|32) 28 my_module_arch_supported := false 29 else ifeq ($($(my_prefix)IS_64_BIT)|$(my_module_multilib),|64) 30 my_module_arch_supported := false 31 endif 32 else # LOCAL_2ND_ARCH_VAR_PREFIX 33 ifeq ($(my_module_multilib),first) 34 my_module_arch_supported := false 35 else ifeq ($(my_module_multilib),64) 36 my_module_arch_supported := false 37 endif 38 endif # LOCAL_2ND_ARCH_VAR_PREFIX 39 40 ifneq (,$(LOCAL_MODULE_$(my_prefix)ARCH)) 41 ifeq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH))) 42 my_module_arch_supported := false 43 endif 44 endif 45 46 ifneq (,$(LOCAL_MODULE_$(my_prefix)ARCH_WARN)) 47 ifeq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH_WARN))) 48 my_module_arch_supported := false 49 $(warning $(LOCAL_MODULE): architecture $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) not supported) 50 endif 51 endif 52 53 ifneq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH))) 54 my_module_arch_supported := false 55 endif 56 57 ifneq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH_WARN))) 58 my_module_arch_supported := false 59 $(warning $(LOCAL_MODULE): architecture $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) unsupported) 60 endif 61