From 56e71a1ca79eddae3769a5e2d63ab94d79a02866 Mon Sep 17 00:00:00 2001 From: XiNGRZ Date: Wed, 13 Oct 2021 01:59:42 +0800 Subject: [PATCH] build: Add support of generating kernel includes for prebuilt kernels For prebuilt kernels, point TARGET_KERNEL_HEADERS_SOURCE to the dummy kernel source used to generate headers for HALs. Change-Id: I95a1050a7e0650faac112724b7bd6a300cdb6e4a --- build/soong/Android.bp | 4 ++-- config/BoardConfigKernel.mk | 7 +++++++ config/BoardConfigSoong.mk | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/build/soong/Android.bp b/build/soong/Android.bp index daad30e..78123c5 100644 --- a/build/soong/Android.bp +++ b/build/soong/Android.bp @@ -21,7 +21,7 @@ twrp_generator { name: "generated_kernel_includes", // The headers make command - cmd: "$(PATH_OVERRIDE_SOONG) $(KERNEL_MAKE_CMD) $(KERNEL_MAKE_FLAGS) -C $(TARGET_KERNEL_SOURCE) O=$(KERNEL_BUILD_OUT_PREFIX)$(genDir) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) headers_install", + cmd: "$(PATH_OVERRIDE_SOONG) $(KERNEL_MAKE_CMD) $(KERNEL_MAKE_FLAGS) -C $(TARGET_KERNEL_HEADERS_SOURCE) O=$(KERNEL_BUILD_OUT_PREFIX)$(genDir) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) headers_install", // Directories that can be imported by a cc_* module generated_headers property export_include_dirs: [ @@ -32,7 +32,7 @@ twrp_generator { ], // Sources for dependency tracking - dep_root: "$(TARGET_KERNEL_SOURCE)", + dep_root: "$(TARGET_KERNEL_HEADERS_SOURCE)", dep_files: [ "Makefile", "include/**/*", diff --git a/config/BoardConfigKernel.mk b/config/BoardConfigKernel.mk index 18ce0bf..53c90b2 100644 --- a/config/BoardConfigKernel.mk +++ b/config/BoardConfigKernel.mk @@ -20,6 +20,9 @@ # # TARGET_KERNEL_SOURCE = Kernel source dir, optional, defaults # to kernel/$(TARGET_DEVICE_DIR) +# TARGET_KERNEL_HEADERS_SOURCE = Kernel headers dir, in order to generate kernel +# includes for prebuilt kernels, optional, defaults +# to TARGET_KERNEL_SOURCE # TARGET_KERNEL_ADDITIONAL_FLAGS = Additional make flags, optional # TARGET_KERNEL_ARCH = Kernel Arch # TARGET_KERNEL_CROSS_COMPILE_PREFIX = Compiler prefix (e.g. arm-eabi-) @@ -45,6 +48,10 @@ ifneq ($(TARGET_PREBUILT_KERNEL),) TARGET_KERNEL_SOURCE := endif +ifneq ($(TARGET_KERNEL_SOURCE),) +TARGET_KERNEL_HEADERS_SOURCE := $(TARGET_KERNEL_SOURCE) +endif + TARGET_KERNEL_ARCH := $(strip $(TARGET_KERNEL_ARCH)) ifeq ($(TARGET_KERNEL_ARCH),) KERNEL_ARCH := $(TARGET_ARCH) diff --git a/config/BoardConfigSoong.mk b/config/BoardConfigSoong.mk index 45e677b..6e39d85 100644 --- a/config/BoardConfigSoong.mk +++ b/config/BoardConfigSoong.mk @@ -9,7 +9,7 @@ EXPORT_TO_SOONG := \ KERNEL_MAKE_FLAGS \ PATH_OVERRIDE_SOONG \ TARGET_KERNEL_CONFIG \ - TARGET_KERNEL_SOURCE + TARGET_KERNEL_HEADERS_SOURCE # Setup SOONG_CONFIG_* vars to export the vars listed above. # Documentation here: