diff options
author | Dan Willemsen <dwillemsen@google.com> | 2019-06-12 05:59:53 +0000 |
---|---|---|
committer | Dan Willemsen <dwillemsen@google.com> | 2019-06-12 21:34:52 +0000 |
commit | c5b7c4fbefa83cf002c5f30c1b4646f35e718ca2 (patch) | |
tree | fc65bc0897a5cfe2564206343218c41cf3ecddb2 | |
parent | 4995d2fe1604da269b04c6a63819ff94a64cfb0b (diff) | |
download | platform_build-c5b7c4fbefa83cf002c5f30c1b4646f35e718ca2.tar.gz platform_build-c5b7c4fbefa83cf002c5f30c1b4646f35e718ca2.tar.bz2 platform_build-c5b7c4fbefa83cf002c5f30c1b4646f35e718ca2.zip |
Add dependencies on the toolchain (clang, etc)
Historically, we've relied on the path to the clang compiler changing in
order to trigger rebuilds instead of direct dependencies on the compiler
itself. That's somewhat more reliable, since the actual $(CLANG) file is
often a script that doesn't actually change during every update.
In Soong, we've added the dependency anyway, so do it here as well. This
makes it easier for my RBE experiments to identify when we intend to use
clang and to send the entire compiler.
Test: treehugger
Test: build a system image with RBE, find that every command that needed
the compiler gets it.
Change-Id: I3838b5d77884394a8c0f7a1ba133142102602084
-rw-r--r-- | core/binary.mk | 22 | ||||
-rw-r--r-- | core/definitions.mk | 8 | ||||
-rw-r--r-- | core/executable_internal.mk | 4 | ||||
-rw-r--r-- | core/host_executable_internal.mk | 2 | ||||
-rw-r--r-- | core/shared_library_internal.mk | 2 | ||||
-rw-r--r-- | core/static_library_internal.mk | 2 |
6 files changed, 20 insertions, 20 deletions
diff --git a/core/binary.mk b/core/binary.mk index a420c02d83..ad848626c2 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -876,7 +876,7 @@ $(dotdot_objects) $(cpp_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) ifneq ($(strip $(cpp_objects)),) $(cpp_objects): $(intermediates)/%.o: \ $(TOPDIR)$(LOCAL_PATH)/%$(LOCAL_CPP_EXTENSION) \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG_CXX) $(transform-$(PRIVATE_HOST)cpp-to-o) $(call include-depfiles-for-objs, $(cpp_objects)) endif @@ -897,7 +897,7 @@ $(gen_cpp_objects): PRIVATE_ARM_MODE := $(normal_objects_mode) $(gen_cpp_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) $(gen_cpp_objects): $(intermediates)/%.o: \ $(intermediates)/%$(LOCAL_CPP_EXTENSION) \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG_CXX) $(transform-$(PRIVATE_HOST)cpp-to-o) $(call include-depfiles-for-objs, $(gen_cpp_objects)) endif @@ -912,7 +912,7 @@ $(call track-gen-file-obj,$(gen_S_sources),$(gen_S_objects)) ifneq ($(strip $(gen_S_sources)),) $(gen_S_objects): $(intermediates)/%.o: $(intermediates)/%.S \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)s-to-o) $(call include-depfiles-for-objs, $(gen_S_objects)) endif @@ -923,7 +923,7 @@ $(call track-gen-file-obj,$(gen_s_sources),$(gen_s_objects)) ifneq ($(strip $(gen_s_objects)),) $(gen_s_objects): $(intermediates)/%.o: $(intermediates)/%.s \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)s-to-o) endif @@ -961,7 +961,7 @@ $(dotdot_objects) $(c_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) ifneq ($(strip $(c_objects)),) $(c_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.c \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)c-to-o) $(call include-depfiles-for-objs, $(c_objects)) endif @@ -981,7 +981,7 @@ ifneq ($(strip $(gen_c_objects)),) $(gen_c_objects): PRIVATE_ARM_MODE := $(normal_objects_mode) $(gen_c_objects): PRIVATE_ARM_CFLAGS := $(normal_objects_cflags) $(gen_c_objects): $(intermediates)/%.o: $(intermediates)/%.c \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)c-to-o) $(call include-depfiles-for-objs, $(gen_c_objects)) endif @@ -997,7 +997,7 @@ $(call track-src-file-obj,$(objc_sources),$(objc_objects)) ifneq ($(strip $(objc_objects)),) my_soong_problems += objc $(objc_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.m \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)m-to-o) $(call include-depfiles-for-objs, $(objc_objects)) endif @@ -1012,7 +1012,7 @@ $(call track-src-file-obj,$(objcpp_sources),$(objcpp_objects)) ifneq ($(strip $(objcpp_objects)),) $(objcpp_objects): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.mm \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG_CXX) $(transform-$(PRIVATE_HOST)mm-to-o) $(call include-depfiles-for-objs, $(objcpp_objects)) endif @@ -1036,7 +1036,7 @@ $(call track-src-file-obj,$(dotdot_sources),$(dotdot_objects_S)) ifneq ($(strip $(asm_objects_S)),) $(asm_objects_S): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.S \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)s-to-o) $(call include-depfiles-for-objs, $(asm_objects_S)) endif @@ -1056,7 +1056,7 @@ $(call track-src-file-obj,$(dotdot_sources),$(dotdot_objects_s)) ifneq ($(strip $(asm_objects_s)),) $(asm_objects_s): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.s \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(CLANG) $(transform-$(PRIVATE_HOST)s-to-o) endif @@ -1069,7 +1069,7 @@ asm_sources_asm := $(filter %.asm,$(my_src_files)) ifneq ($(strip $(asm_sources_asm)),) asm_objects_asm := $(addprefix $(intermediates)/,$(asm_sources_asm:.asm=.o)) $(asm_objects_asm): $(intermediates)/%.o: $(TOPDIR)$(LOCAL_PATH)/%.asm \ - $(my_additional_dependencies) + $(my_additional_dependencies) $(YASM) $(transform-asm-to-o) $(call track-src-file-obj,$(asm_sources_asm),$(asm_objects_asm)) diff --git a/core/definitions.mk b/core/definitions.mk index dfb1b7d3f2..e1977ba9b2 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -1365,7 +1365,7 @@ DOTDOT_REPLACEMENT := dotdot/ # $(3): the variable name to collect the output object file. define compile-dotdot-cpp-file o := $(intermediates)/$(patsubst %$(LOCAL_CPP_EXTENSION),%.o,$(subst ../,$(DOTDOT_REPLACEMENT),$(1))) -$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) +$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) $(CLANG_CXX) $$(transform-$$(PRIVATE_HOST)cpp-to-o) $$(call include-depfiles-for-objs, $$(o)) $(3) += $$(o) @@ -1378,7 +1378,7 @@ endef # $(3): the variable name to collect the output object file. define compile-dotdot-c-file o := $(intermediates)/$(patsubst %.c,%.o,$(subst ../,$(DOTDOT_REPLACEMENT),$(1))) -$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) +$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) $(CLANG) $$(transform-$$(PRIVATE_HOST)c-to-o) $$(call include-depfiles-for-objs, $$(o)) $(3) += $$(o) @@ -1391,7 +1391,7 @@ endef # $(3): the variable name to collect the output object file. define compile-dotdot-s-file o := $(intermediates)/$(patsubst %.S,%.o,$(subst ../,$(DOTDOT_REPLACEMENT),$(1))) -$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) +$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) $(CLANG) $$(transform-$$(PRIVATE_HOST)s-to-o) $$(call include-depfiles-for-objs, $$(o)) $(3) += $$(o) @@ -1404,7 +1404,7 @@ endef # $(3): the variable name to collect the output object file. define compile-dotdot-s-file-no-deps o := $(intermediates)/$(patsubst %.s,%.o,$(subst ../,$(DOTDOT_REPLACEMENT),$(1))) -$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) +$$(o) : $(TOPDIR)$(LOCAL_PATH)/$(1) $(2) $(CLANG) $$(transform-$$(PRIVATE_HOST)s-to-o) $(3) += $$(o) endef diff --git a/core/executable_internal.mk b/core/executable_internal.mk index c28c144f67..c913a41d4f 100644 --- a/core/executable_internal.mk +++ b/core/executable_internal.mk @@ -74,11 +74,11 @@ $(linked_module): PRIVATE_TARGET_CRTEND_O := $(my_target_crtend_o) $(linked_module): PRIVATE_POST_LINK_CMD := $(LOCAL_POST_LINK_CMD) ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true) -$(linked_module): $(my_target_crtbegin_static_o) $(all_objects) $(all_libraries) $(my_target_crtend_o) $(my_target_libcrt_builtins) $(my_target_libgcc) $(my_target_libatomic) +$(linked_module): $(my_target_crtbegin_static_o) $(all_objects) $(all_libraries) $(my_target_crtend_o) $(my_target_libcrt_builtins) $(my_target_libgcc) $(my_target_libatomic) $(CLANG_CXX) $(transform-o-to-static-executable) $(PRIVATE_POST_LINK_CMD) else -$(linked_module): $(my_target_crtbegin_dynamic_o) $(all_objects) $(all_libraries) $(my_target_crtend_o) $(my_target_libcrt_builtins) $(my_target_libgcc) $(my_target_libatomic) +$(linked_module): $(my_target_crtbegin_dynamic_o) $(all_objects) $(all_libraries) $(my_target_crtend_o) $(my_target_libcrt_builtins) $(my_target_libgcc) $(my_target_libatomic) $(CLANG_CXX) $(transform-o-to-executable) $(PRIVATE_POST_LINK_CMD) endif diff --git a/core/host_executable_internal.mk b/core/host_executable_internal.mk index e72c4192bd..0cf62a4323 100644 --- a/core/host_executable_internal.mk +++ b/core/host_executable_internal.mk @@ -39,7 +39,7 @@ $(LOCAL_BUILT_MODULE): PRIVATE_RPATHS := ../$(my_libdir) $(my_libdir) endif my_libdir := -$(LOCAL_BUILT_MODULE): $(all_objects) $(all_libraries) +$(LOCAL_BUILT_MODULE): $(all_objects) $(all_libraries) $(CLANG_CXX) $(transform-host-o-to-executable) endif # skip_build_from_source diff --git a/core/shared_library_internal.mk b/core/shared_library_internal.mk index 44bb0203bb..746cb722ab 100644 --- a/core/shared_library_internal.mk +++ b/core/shared_library_internal.mk @@ -73,7 +73,7 @@ $(linked_module): \ $(my_target_libcrt_builtins) \ $(my_target_libgcc) \ $(my_target_libatomic) \ - $(LOCAL_ADDITIONAL_DEPENDENCIES) + $(LOCAL_ADDITIONAL_DEPENDENCIES) $(CLANG_CXX) $(transform-o-to-shared-lib) ifeq ($(my_native_coverage),true) diff --git a/core/static_library_internal.mk b/core/static_library_internal.mk index 6b4d22f129..17731e4e3c 100644 --- a/core/static_library_internal.mk +++ b/core/static_library_internal.mk @@ -21,7 +21,7 @@ endif include $(BUILD_SYSTEM)/binary.mk $(LOCAL_BUILT_MODULE) : $(built_whole_libraries) -$(LOCAL_BUILT_MODULE) : $(all_objects) +$(LOCAL_BUILT_MODULE) : $(all_objects) $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_AR) $(transform-o-to-static-lib) ifeq ($(NATIVE_COVERAGE),true) |