########################################################### ## 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