platform_build/core/use_lld_setup.mk

32 lines
1.0 KiB
Makefile
Raw Normal View History

#############################################################
## Set up flags based on USE_CLANG_LLD and LOCAL_USE_CLANG_LLD.
## Input variables: USE_CLANG_LLD,LOCAL_USE_CLANG_LLD.
## Output variables: my_use_clang_lld
#############################################################
# Use LLD by default.
# Do not use LLD if LOCAL_USE_CLANG_LLD is false or 0,
# of if LOCAL_USE_CLANG_LLD is not set and USE_CLANG_LLD is 0 or false.
my_use_clang_lld := true
ifneq (,$(LOCAL_USE_CLANG_LLD))
ifneq (,$(filter 0 false,$(LOCAL_USE_CLANG_LLD)))
my_use_clang_lld := false
endif
else
ifneq (,$(filter 0 false,$(USE_CLANG_LLD)))
my_use_clang_lld := false
endif
endif
ifeq ($(LOCAL_IS_HOST_MODULE),true)
# Do not use LLD for Darwin host executables or shared libraries. See
# https://lld.llvm.org/AtomLLD.html for status of lld for Mach-O.
ifeq ($(HOST_OS),darwin)
my_use_clang_lld := false
endif
# http://b/110800681 - lld cannot link Android's Windows modules yet.
ifeq ($(HOST_CROSS_OS),windows)
my_use_clang_lld := false
endif
endif