From ba6a164da70c30faf074b4c2b255b46941fafb3a Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Thu, 29 Sep 2016 12:08:29 -0700 Subject: [PATCH] Add LOCAL_EXPORT_C_INCLUDE_DEPS This shouldn't be necessary for most makefiles, since we add $(LOCAL_GENERATED_SOURCES) to this already included, but for prebuilts that aren't actually prebuilts (Soong modules), we need to pass dependencies so that the generated headers are built before being used. Bug: 31742855 Test: Use, inspect build-*.ninja Change-Id: I8d9f675af639d3f40780d48a016fc079a82531c2 --- core/binary.mk | 3 ++- core/clear_vars.mk | 1 + core/prebuilt_internal.mk | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/binary.mk b/core/binary.mk index b4400913c..7f6f2fb03 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -56,6 +56,7 @@ my_c_includes := $(LOCAL_C_INCLUDES) my_generated_sources := $(LOCAL_GENERATED_SOURCES) my_additional_dependencies := $(LOCAL_ADDITIONAL_DEPENDENCIES) my_export_c_include_dirs := $(LOCAL_EXPORT_C_INCLUDE_DIRS) +my_export_c_include_deps := $(LOCAL_EXPORT_C_INCLUDE_DEPS) ifneq (,$(foreach dir,$(COVERAGE_PATHS),$(filter $(dir)%,$(LOCAL_PATH)))) my_native_coverage := true @@ -1727,7 +1728,7 @@ export_include_deps += $(strip \ $(export_includes): PRIVATE_REEXPORTED_INCLUDES := $(export_include_deps) # By adding $(my_generated_sources) it makes sure the headers get generated # before any dependent source files get compiled. -$(export_includes) : $(my_generated_sources) $(export_include_deps) +$(export_includes) : $(my_export_c_include_deps) $(my_generated_sources) $(export_include_deps) @echo Export includes file: $< -- $@ $(hide) mkdir -p $(dir $@) && rm -f $@.tmp && touch $@.tmp ifdef my_export_c_include_dirs diff --git a/core/clear_vars.mk b/core/clear_vars.mk index 661448997..1d927b073 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -56,6 +56,7 @@ LOCAL_CLANG_CPPFLAGS:= LOCAL_CONLYFLAGS:= LOCAL_RTTI_FLAG:= LOCAL_C_INCLUDES:= +LOCAL_EXPORT_C_INCLUDE_DEPS:= LOCAL_EXPORT_C_INCLUDE_DIRS:= LOCAL_LDFLAGS:= LOCAL_CLANG_LDFLAGS:= diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk index c31a07ec5..af5975626 100644 --- a/core/prebuilt_internal.mk +++ b/core/prebuilt_internal.mk @@ -126,7 +126,7 @@ else # my_strip_module and my_pack_module_relocations not true ifdef prebuilt_module_is_a_library export_includes := $(intermediates)/export_includes $(export_includes): PRIVATE_EXPORT_C_INCLUDE_DIRS := $(LOCAL_EXPORT_C_INCLUDE_DIRS) -$(export_includes) : +$(export_includes): $(LOCAL_EXPORT_C_INCLUDE_DEPS) @echo Export includes file: $< -- $@ $(hide) mkdir -p $(dir $@) && rm -f $@ ifdef LOCAL_EXPORT_C_INCLUDE_DIRS