diff --git a/core/binary.mk b/core/binary.mk index e91616444..d9763f9ae 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -54,6 +54,7 @@ my_asflags := $(LOCAL_ASFLAGS) my_cc := $(LOCAL_CC) my_cc_wrapper := $(CC_WRAPPER) my_cxx := $(LOCAL_CXX) +my_cxx_link := $(LOCAL_CXX) my_cxx_ldlibs := my_cxx_wrapper := $(CXX_WRAPPER) my_c_includes := $(LOCAL_C_INCLUDES) @@ -1704,13 +1705,20 @@ ifeq ($(strip $(my_cxx)),) my_cxx := $(my_cxx_wrapper) $(CLANG_CXX) endif +ifeq ($(strip $(my_cxx_link)),) + my_cxx_link := $(CLANG_CXX) +endif + ifneq ($(LOCAL_NO_STATIC_ANALYZER),true) my_cxx := CCC_CXX=$(CLANG_CXX) CLANG_CXX=$(CLANG_CXX) \ $(SYNTAX_TOOLS_PREFIX)/c++-analyzer + my_cxx_link := CCC_CXX=$(CLANG_CXX) CLANG_CXX=$(CLANG_CXX) \ + $(SYNTAX_TOOLS_PREFIX)/c++-analyzer endif $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_LINKER := $(my_linker) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_CXX := $(my_cxx) +$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_CXX_LINK := $(my_cxx_link) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_YACCFLAGS := $(LOCAL_YACCFLAGS) $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_ASFLAGS := $(my_asflags) diff --git a/core/definitions.mk b/core/definitions.mk index f32a99584..a93979ade 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -951,7 +951,7 @@ define transform-bc-to-so $(hide) mkdir -p $(dir $@) $(hide) $(BCC_COMPAT) -O3 -o $(dir $@)/$(notdir $(<:.bc=.o)) -fPIC -shared \ -rt-path $(RS_PREBUILT_CLCORE) -mtriple $(RS_COMPAT_TRIPLE) $< -$(hide) $(PRIVATE_CXX) -shared -Wl,-soname,$(notdir $@) -nostdlib \ +$(hide) $(PRIVATE_CXX_LINK) -shared -Wl,-soname,$(notdir $@) -nostdlib \ -Wl,-rpath,\$$ORIGIN/../lib \ $(dir $@)/$(notdir $(<:.bc=.o)) \ $(RS_PREBUILT_COMPILER_RT) \ @@ -1533,7 +1533,7 @@ $(hide) mv -f $@.tmp $@ endef define transform-o-to-aux-executable-inner -$(hide) $(PRIVATE_CXX) -pie \ +$(hide) $(PRIVATE_CXX_LINK) -pie \ -Bdynamic \ -Wl,--gc-sections \ $(PRIVATE_ALL_OBJECTS) \ @@ -1552,7 +1552,7 @@ $(transform-o-to-aux-executable-inner) endef define transform-o-to-aux-static-executable-inner -$(hide) $(PRIVATE_CXX) \ +$(hide) $(PRIVATE_CXX_LINK) \ -Bstatic \ -Wl,--gc-sections \ $(PRIVATE_ALL_OBJECTS) \ @@ -1653,7 +1653,7 @@ endef # it to be overriden en-masse see combo/linux-arm.make for an example. ifneq ($(HOST_CUSTOM_LD_COMMAND),true) define transform-host-o-to-shared-lib-inner -$(hide) $(PRIVATE_CXX) \ +$(hide) $(PRIVATE_CXX_LINK) \ -Wl,-rpath,\$$ORIGIN/../$(notdir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)$(PRIVATE_PREFIX)OUT_SHARED_LIBRARIES)) \ -Wl,-rpath,\$$ORIGIN/$(notdir $($(PRIVATE_2ND_ARCH_VAR_PREFIX)$(PRIVATE_PREFIX)OUT_SHARED_LIBRARIES)) \ -shared -Wl,-soname,$(notdir $@) \ @@ -1694,7 +1694,7 @@ endef ########################################################### define transform-o-to-shared-lib-inner -$(hide) $(PRIVATE_CXX) \ +$(hide) $(PRIVATE_CXX_LINK) \ -nostdlib -Wl,-soname,$(notdir $@) \ -Wl,--gc-sections \ -shared \ @@ -1729,7 +1729,7 @@ endef ########################################################### define transform-o-to-executable-inner -$(hide) $(PRIVATE_CXX) -pie \ +$(hide) $(PRIVATE_CXX_LINK) -pie \ -nostdlib -Bdynamic \ -Wl,-dynamic-linker,$(PRIVATE_LINKER) \ -Wl,--gc-sections \ @@ -1772,7 +1772,7 @@ endef ########################################################### define transform-o-to-static-executable-inner -$(hide) $(PRIVATE_CXX) \ +$(hide) $(PRIVATE_CXX_LINK) \ -nostdlib -Bstatic \ $(if $(filter $(PRIVATE_LDFLAGS),-shared),,-static) \ -Wl,--gc-sections \ @@ -1810,7 +1810,7 @@ endef ifneq ($(HOST_CUSTOM_LD_COMMAND),true) define transform-host-o-to-executable-inner -$(hide) $(PRIVATE_CXX) \ +$(hide) $(PRIVATE_CXX_LINK) \ $(PRIVATE_ALL_OBJECTS) \ -Wl,--whole-archive \ $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES) \ diff --git a/core/java_renderscript.mk b/core/java_renderscript.mk index 820967a47..672863ba4 100644 --- a/core/java_renderscript.mk +++ b/core/java_renderscript.mk @@ -139,6 +139,7 @@ $(rs_compatibility_jni_libs): $(RS_PREBUILT_CLCORE) \ $(rs_support_lib) $(rs_support_io_lib) $(rs_jni_lib) $(rs_compiler_rt) $(rs_compatibility_jni_libs): $(BCC_COMPAT) $(rs_compatibility_jni_libs): PRIVATE_CXX := $(CXX_WRAPPER) $(CLANG_CXX) +$(rs_compatibility_jni_libs): PRIVATE_CXX_LINK := $(CLANG_CXX) $(rs_compatibility_jni_libs): PRIVATE_SDK_VERSION := $(my_min_sdk_version) $(rs_compatibility_jni_libs): $(renderscript_intermediate)/librs.%.so: \ $(renderscript_intermediate.bc_folder)%.bc \ diff --git a/core/rbe.mk b/core/rbe.mk index 766b12153..fb39d51d2 100644 --- a/core/rbe.mk +++ b/core/rbe.mk @@ -21,7 +21,7 @@ ifneq ($(filter-out false,$(USE_RBE)),) else rbe_dir := $(HOME)/rbe endif - RBE_WRAPPER := $(rbe_dir)/rewrapper + RBE_WRAPPER := $(rbe_dir)/rewrapper --labels=type=compile,lang=cpp,compiler=clang # Append rewrapper to existing *_WRAPPER variables so it's possible to # use both ccache and rewrapper.