diff options
Diffstat (limited to 'core/multilib.mk')
-rw-r--r-- | core/multilib.mk | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/core/multilib.mk b/core/multilib.mk new file mode 100644 index 0000000000..fa5397a773 --- /dev/null +++ b/core/multilib.mk @@ -0,0 +1,26 @@ +# Translate LOCAL_32_BIT_ONLY and LOCAL_NO_2ND_ARCH to LOCAL_MULTILIB, +# and check LOCAL_MULTILIB is a valid value. Returns module's multilib +# setting in my_module_multilib, or empty if not set. + +my_module_multilib := $(strip $(LOCAL_MULTILIB)) +ifndef my_module_multilib +ifeq ($(LOCAL_32_BIT_ONLY)|$(LOCAL_NO_2ND_ARCH),true|true) +ifdef TARGET_2ND_ARCH +# Both LOCAL_32_BIT_ONLY and LOCAL_NO_2ND_ARCH specified on 64-bit target +# skip the module completely +my_module_multilib := none +else +# Both LOCAL_32_BIT_ONLY and LOCAL_NO_2ND_ARCH specified on 32-bit target +# build for 32-bit +my_module_multilib := 32 +endif +else ifeq ($(LOCAL_32_BIT_ONLY),true) +my_module_multilib := 32 +else ifeq ($(LOCAL_NO_2ND_ARCH),true) +my_module_multilib := first +endif +else # my_module_multilib defined +ifeq (,$(filter 32 first both none,$(my_module_multilib))) +$(error $(LOCAL_PATH): Invalid LOCAL_MULTILIB specified for module $(LOCAL_MODULE)) +endif +endif # my_module_multilib defined |