blob: 39fe46ef89dbe777ee22e78c4750e1bac50f09c9 [file] [log] [blame]
Mandeep Singh Grang96ac25c2016-05-05 13:09:41 -07001ifeq ($(LOCAL_MODULE_CLASS), STATIC_LIBRARIES)
2# For STATIC_LIBRARIES we need to use SD LLVM's archiver and archiver flags.
3
4AR := $(SDCLANG_PATH)/llvm-ar
Pengxuan Zheng18baabb2017-05-08 16:49:49 -07005
6ifeq ($(LOCAL_SDCLANG_2),true)
7AR := $(SDCLANG_PATH_2)/llvm-ar
8endif
9
Mandeep Singh Grang96ac25c2016-05-05 13:09:41 -070010ARFLAGS := crsD
11
12# For 32 bit
13$(LOCAL_BUILT_MODULE) : $(combo_2nd_arch_prefix)TARGET_AR := $(AR)
14$(LOCAL_BUILT_MODULE) : $(combo_var_prefix)GLOBAL_ARFLAGS := $(ARFLAGS)
15
16# For 64 bit
17intermediates := $(call local-intermediates-dir,,$(LOCAL_2ND_ARCH_VAR_PREFIX))
Anshuman Dani2e73bea2017-09-01 23:47:06 +053018LOCAL_BUILT_MODULE_64 := $(intermediates)/$(my_installed_module_stem)
Mandeep Singh Grang96ac25c2016-05-05 13:09:41 -070019
20$(LOCAL_BUILT_MODULE_64) : TARGET_AR := $(AR)
21$(LOCAL_BUILT_MODULE_64) : TARGET_GLOBAL_ARFLAGS := $(ARFLAGS)
22
23else
24# For SHARED_LIBRARIES and EXECUTABLES we need to filter out flags not
25# needed/understood by SD LLVM's Linker.
26
Pengxuan Zheng9a5e4882017-12-08 16:44:17 -080027FLAGS_TO_BE_FILTERED := -Wl,--icf=safe -Wl,--no-undefined-version -Wl,--fix-cortex-a53-843419 -fuse-ld=gold -Wl,-m,aarch64_elf64_le_vec
Anshuman Dani2e73bea2017-09-01 23:47:06 +053028linked_module_32 := $(intermediates)/LINKED/$(my_installed_module_stem)
29intermediates := $(call local-intermediates-dir,,$(LOCAL_2ND_ARCH_VAR_PREFIX))
30linked_module_64 := $(intermediates)/LINKED/$(my_installed_module_stem)
31
Mandeep Singh Grang96ac25c2016-05-05 13:09:41 -070032$(linked_module_32) : PRIVATE_TARGET_GLOBAL_LDFLAGS := $(filter-out $(FLAGS_TO_BE_FILTERED),$(PRIVATE_TARGET_GLOBAL_LDFLAGS))
33$(linked_module_64) : PRIVATE_TARGET_GLOBAL_LDFLAGS := $(filter-out $(FLAGS_TO_BE_FILTERED),$(PRIVATE_TARGET_GLOBAL_LDFLAGS))
Mandeep Singh Grang96ac25c2016-05-05 13:09:41 -070034endif