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
11 ## LOCAL_IS_HOST_MODULE
12 ## LOCAL_MODULE_HOST_OS
14 ## Inputs from build system:
15 ## $(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT
16 ## LOCAL_2ND_ARCH_VAR_PREFIX
19 ## my_module_arch_supported := (true|false)
20 ###########################################################
22 my_module_arch_supported := true
24 ifeq ($(my_module_multilib),none)
25 my_module_arch_supported := false
28 ifeq ($($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT)|$(my_module_multilib),true|32)
29 my_module_arch_supported := false
31 ifeq ($($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT)|$(my_module_multilib),|64)
32 my_module_arch_supported := false
35 ifneq ($(LOCAL_2ND_ARCH_VAR_PREFIX),)
36 ifeq ($(my_module_multilib),first)
37 my_module_arch_supported := false
41 ifneq (,$(LOCAL_MODULE_$(my_prefix)ARCH))
42 ifeq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH)))
43 my_module_arch_supported := false
47 ifneq (,$(LOCAL_MODULE_$(my_prefix)ARCH_WARN))
48 ifeq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH_WARN)))
49 my_module_arch_supported := false
50 $(warning $(LOCAL_MODULE): architecture $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) not supported)
54 ifneq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH)))
55 my_module_arch_supported := false
58 ifneq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH_WARN)))
59 my_module_arch_supported := false
60 $(warning $(LOCAL_MODULE): architecture $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) unsupported)
63 ifdef LOCAL_IS_HOST_MODULE
64 ifneq (,$(LOCAL_MODULE_HOST_OS))
65 ifeq (,$(filter $($(my_prefix)OS),$(LOCAL_MODULE_HOST_OS)))
66 my_module_arch_supported := false
68 else 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