diff options
author | Scott Mertz <scott@cyngn.com> | 2016-06-01 13:40:25 -0700 |
---|---|---|
committer | Scott Mertz <scott@cyngn.com> | 2016-06-03 08:09:31 -0700 |
commit | 0bf14034d6d724cd426f65a8917988b5459251c8 (patch) | |
tree | 25bf75202d161d091bf2480ff1a7a738c3336cad | |
parent | 96170ade9b7c48d7241e9a8b0d975c835dd961a1 (diff) | |
download | build-0bf14034d6d724cd426f65a8917988b5459251c8.zip build-0bf14034d6d724cd426f65a8917988b5459251c8.tar.gz build-0bf14034d6d724cd426f65a8917988b5459251c8.tar.bz2 |
build: add kernel header dependency if module uses kernel headers
Many of the QCOM components use kernel headers, but don't declare
the dependency on them. This is fine in CAF because of the way they
build the boot.img before anything else. In CM, we don't build the
boot.img the same, so we run into a race between the kernel build &
these modules... and the modules lose.
Warn about modules that have this missing dependency, and add it for
them so we don't have to modify each Android.mk.
Change-Id: I95f1e47b5ef440f6f5d8f64a0c3f38d9572e839e
-rw-r--r-- | core/binary.mk | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/core/binary.mk b/core/binary.mk index 77612ad..7610dce 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -30,6 +30,15 @@ else endif endif +# Many qcom modules don't correctly set a dependency on the kernel headers. Fix it for them, +# but warn the user. +ifneq (,$(findstring $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include,$(LOCAL_C_INCLUDES))) + ifeq (,$(findstring $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr,$(LOCAL_ADDITIONAL_DEPENDENCIES))) + $(warning $(LOCAL_MODULE) uses kernel headers, but does not depend on them!) + LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr + endif +endif + # The following LOCAL_ variables will be modified in this file. # Because the same LOCAL_ variables may be used to define modules for both 1st arch and 2nd arch, # we can't modify them in place. |