| From a8351307b800908f687ddf5af9d76db797ad74b1 Mon Sep 17 00:00:00 2001 |
| From: Jackeagle <jackeagle102@gmail.com> |
| Date: Mon, 3 Dec 2018 10:56:07 -0500 |
| Subject: [PATCH 04/17] Revert "vendor/bliss: Remove kernel.mk headers |
| generation" |
| |
| This reverts commit 6a4c7c1258ffecc26324b034c9091373bf0272dd. |
| --- |
| build/tasks/kernel.mk | 50 +++++++++++++++++++++++++++++++++++++++++++ |
| 1 file changed, 50 insertions(+) |
| |
| diff --git a/build/tasks/kernel.mk b/build/tasks/kernel.mk |
| index 9c798d68..eeba2c0d 100644 |
| --- a/build/tasks/kernel.mk |
| +++ b/build/tasks/kernel.mk |
| @@ -151,6 +151,9 @@ endif |
| |
| ifeq ($(FULL_KERNEL_BUILD),true) |
| |
| +KERNEL_HEADERS_INSTALL_DIR := $(KERNEL_OUT)/usr |
| +KERNEL_HEADERS_INSTALL_DEPS := $(KERNEL_OUT)/.headers_install_deps |
| + |
| ifeq ($(NEED_KERNEL_MODULE_ROOT),true) |
| KERNEL_MODULES_OUT := $(TARGET_ROOT_OUT) |
| KERNEL_DEPMOD_STAGING_DIR := $(call intermediates-dir-for,PACKAGING,depmod_recovery) |
| @@ -263,6 +266,53 @@ $(TARGET_KERNEL_MODULES): TARGET_KERNEL_BINARIES |
| |
| $(TARGET_PREBUILT_INT_KERNEL): $(TARGET_KERNEL_MODULES) |
| |
| +# Install kernel (uapi) headers. |
| +# |
| +# The dependency file serves two purposes: |
| +# - It is a stamp indicating when the headers were last installed. |
| +# - It contains a rule to regenerate itself when any kernel header |
| +# files change. This rule is identical to the rule emitted by |
| +# GCC using the M/MM flags. |
| +# |
| +# Note that the location of installed kernel headers changed when the |
| +# kernel uapi system was introduced in 3.7. Unfortunately, it is not |
| +# sufficient to test whether the uapi directories exist because some |
| +# kernels backport patches that contain uapi headers. So we look for |
| +# the string "version_h" in the kernel makefile which was introduced |
| +# as a part of the uapi system (commit d183e6f570f3). |
| +-include $(KERNEL_HEADERS_INSTALL_DEPS) |
| +$(KERNEL_HEADERS_INSTALL_DEPS): |
| + @echo "Building Kernel Headers" |
| + $(hide) mkdir -p $(KERNEL_OUT) |
| + $(hide) rm -f $@ |
| + $(hide) $(MAKE) $(MAKE_FLAGS) -C $(KERNEL_SRC) O=$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) $(KERNEL_CLANG_TRIPLE) $(KERNEL_CC) headers_install |
| + $(hide) echo "$@: \\" > $@ |
| + $(hide) ( cd $(KERNEL_SRC); \ |
| + if grep -q '^version_h' 'Makefile'; then \ |
| + depdirs="arch/$(KERNEL_ARCH)/include/uapi include/uapi"; \ |
| + else \ |
| + depdirs="arch/$(KERNEL_ARCH)/include/asm include"; \ |
| + fi; \ |
| + deps="Makefile $$(find $$depdirs -type f -name '*.h')"; \ |
| + for f in $$deps; do \ |
| + echo " $(KERNEL_SRC)/$$f \\" >> $@; \ |
| + done ; \ |
| + echo "" >> $@ ; \ |
| + for f in $$deps; do \ |
| + echo "$(KERNEL_SRC)/$$f:" >> $@; \ |
| + echo "" >> $@; \ |
| + done \ |
| + ) |
| + |
| +.PHONY: INSTALLED_KERNEL_HEADERS |
| +INSTALLED_KERNEL_HEADERS: $(KERNEL_HEADERS_INSTALL_DEPS) |
| + |
| +# Dependencies on $(KERNEL_OUT)/usr are deprecated |
| +$(KERNEL_HEADERS_INSTALL_DIR): $(KERNEL_HEADERS_INSTALL_DEPS) |
| + @echo "Depending on $(KERNEL_HEADERS_INSTALL_DIR) is deprecated." 1>&2 |
| + @echo "Use INSTALLED_KERNEL_HEADERS instead." 1>&2 |
| + @exit 1 |
| + |
| .PHONY: kerneltags |
| kerneltags: $(KERNEL_CONFIG) |
| $(hide) mkdir -p $(KERNEL_OUT) |
| -- |
| 2.21.0 |
| |