blob: 1e0391483842b0584ac4f49a6fa4d617d660abd7 [file] [log] [blame]
Colin Cross8e404122014-02-06 14:45:37 -08001###########################################################
2## Determine if a module can be built for an arch
3##
4## Inputs from module makefile:
Colin Crosse6e48f62014-03-21 12:29:32 -07005## my_module_multilib
Colin Cross8e404122014-02-06 14:45:37 -08006## LOCAL_MODULE_TARGET_ARCH
7## LOCAL_MODULE_TARGET_ARCH_WARN
8## LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH
9## LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH_WARN
10##
11## Inputs from build system:
12## TARGET_IS_64_BIT
13## LOCAL_2ND_ARCH_VAR_PREFIX
14##
15## Outputs:
16## my_module_arch_supported := (true|false)
17###########################################################
18
19my_module_arch_supported := true
20
Colin Crosse6e48f62014-03-21 12:29:32 -070021ifeq ($(my_module_multilib),none)
22my_module_arch_supported := false
23endif
24
Colin Cross8e404122014-02-06 14:45:37 -080025ifeq ($(LOCAL_2ND_ARCH_VAR_PREFIX),)
Colin Crosse6e48f62014-03-21 12:29:32 -070026ifeq ($(TARGET_IS_64_BIT)|$(my_module_multilib),true|32)
Colin Cross8e404122014-02-06 14:45:37 -080027my_module_arch_supported := false
Colin Cross02e31d22014-01-24 13:38:08 -080028else ifeq ($(call directory_is_64_bit_blacklisted,$(LOCAL_PATH)),true)
29my_module_arch_supported := false
Colin Cross8e404122014-02-06 14:45:37 -080030endif
31else # LOCAL_2ND_ARCH_VAR_PREFIX
Colin Crosse6e48f62014-03-21 12:29:32 -070032ifeq ($(my_module_multilib),first)
Colin Cross8e404122014-02-06 14:45:37 -080033my_module_arch_supported := false
34endif
Colin Crosse6e48f62014-03-21 12:29:32 -070035endif # LOCAL_2ND_ARCH_VAR_PREFIX
Colin Cross8e404122014-02-06 14:45:37 -080036
37ifneq (,$(LOCAL_MODULE_TARGET_ARCH))
38ifeq (,$(filter $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_TARGET_ARCH)))
39my_module_arch_supported := false
40endif
41endif
42
43ifneq (,$(LOCAL_MODULE_TARGET_ARCH_WARN))
44ifeq (,$(filter $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_TARGET_ARCH_WARN)))
45my_module_arch_supported := false
46$(warning $(LOCAL_MODULE): architecture $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) not supported)
47endif
48endif
49
50ifneq (,$(filter $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH)))
51my_module_arch_supported := false
52endif
53
54ifneq (,$(filter $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH),$(LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH_WARN)))
55my_module_arch_supported := false
56$(warning $(LOCAL_MODULE): architecture $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH) unsupported)
57endif