|  | ########################################################### | 
|  | ## Determine if a module can be built for an arch | 
|  | ## | 
|  | ## Inputs from module makefile: | 
|  | ## my_prefix   TARGET_ or HOST_ | 
|  | ## my_module_multilib | 
|  | ## LOCAL_MODULE_$(my_prefix)ARCH | 
|  | ## LOCAL_MODULE_$(my_prefix)ARCH_WARN | 
|  | ## LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH | 
|  | ## LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH_WARN | 
|  | ## LOCAL_IS_HOST_MODULE | 
|  | ## LOCAL_MODULE_HOST_OS | 
|  | ## | 
|  | ## Inputs from build system: | 
|  | ## $(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT | 
|  | ## LOCAL_2ND_ARCH_VAR_PREFIX | 
|  | ## | 
|  | ## Outputs: | 
|  | ## my_module_arch_supported := (true|false) | 
|  | ########################################################### | 
|  |  | 
|  | my_module_arch_supported := true | 
|  |  | 
|  | ifeq ($(my_module_multilib),none) | 
|  | my_module_arch_supported := false | 
|  | endif | 
|  |  | 
|  | ifeq ($($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT)|$(my_module_multilib),true|32) | 
|  | my_module_arch_supported := false | 
|  | endif | 
|  | ifeq ($($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)IS_64_BIT)|$(my_module_multilib),|64) | 
|  | my_module_arch_supported := false | 
|  | endif | 
|  |  | 
|  | ifneq ($(LOCAL_2ND_ARCH_VAR_PREFIX),) | 
|  | ifeq ($(my_module_multilib),first) | 
|  | my_module_arch_supported := false | 
|  | endif | 
|  | endif | 
|  |  | 
|  | ifneq (,$(LOCAL_MODULE_$(my_prefix)ARCH)) | 
|  | ifeq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH))) | 
|  | my_module_arch_supported := false | 
|  | endif | 
|  | endif | 
|  |  | 
|  | ifneq (,$(LOCAL_MODULE_$(my_prefix)ARCH_WARN)) | 
|  | ifeq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_$(my_prefix)ARCH_WARN))) | 
|  | my_module_arch_supported := false | 
|  | $(warning $(LOCAL_MODULE): architecture $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) not supported) | 
|  | endif | 
|  | endif | 
|  |  | 
|  | ifneq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH))) | 
|  | my_module_arch_supported := false | 
|  | endif | 
|  |  | 
|  | ifneq (,$(filter $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_$(my_prefix)ARCH_WARN))) | 
|  | my_module_arch_supported := false | 
|  | $(warning $(LOCAL_MODULE): architecture $($(my_prefix)$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) unsupported) | 
|  | endif | 
|  |  | 
|  | ifdef LOCAL_IS_HOST_MODULE | 
|  | ifneq (,$(LOCAL_MODULE_HOST_OS)) | 
|  | ifneq (,$(filter windows,$(LOCAL_MODULE_HOST_OS))) | 
|  | $(call pretty-error,Windows is only supported in Android.bp files) | 
|  | endif | 
|  | ifeq (,$(filter $($(my_prefix)OS),$(LOCAL_MODULE_HOST_OS))) | 
|  | my_module_arch_supported := false | 
|  | endif | 
|  | endif | 
|  | endif |