1 ###########################################################
2 ## Determine if a module can be built for an arch
4 ## Inputs from module makefile:
5 ## my_prefix TARGET_ or HOST_
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
12 ## Inputs from build system:
13 ## $(my_prefix)IS_64_BIT
14 ## LOCAL_2ND_ARCH_VAR_PREFIX
17 ## my_module_arch_supported := (true|false)
18 ###########################################################
20 my_module_arch_supported := true
22 ifeq ($(my_module_multilib),none)
23 my_module_arch_supported := false
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
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
38 endif # LOCAL_2ND_ARCH_VAR_PREFIX
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
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)
53 ifneq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH)))
54 my_module_arch_supported := false
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)