soong: Support prebuilt_kernel_headers

This depends on a kernel headers tarball path being passed in
TARGET_PREBUILT_KERNEL_HEADERS, in the style that the kleaf kernel
platform build generates.

Change-Id: Ib82659fa44ef221e73d0d129daafbaae6bad87a2
This commit is contained in:
Aaron Kling
2025-04-16 20:59:01 -05:00
committed by Jan Altensen
parent dde831fce2
commit cae9b362a9
2 changed files with 31 additions and 1 deletions

View File

@@ -42,6 +42,22 @@ lineage_generator {
],
}
lineage_generator {
name: "prebuilt_kernel_includes",
// The headers extract command
cmd: "mkdir -p $(KERNEL_BUILD_OUT_PREFIX)$(genDir) && gzip -d < $(TARGET_PREBUILT_KERNEL_HEADERS) | tar -x -C $(KERNEL_BUILD_OUT_PREFIX)$(genDir) && vendor/lineage/tools/clean_headers.sh $(KERNEL_BUILD_OUT_PREFIX)$(genDir)",
// Directories that can be imported by a cc_* module generated_headers property
export_include_dirs: [
"usr/audio/include/uapi",
"usr/include",
"usr/include/audio",
"usr/include/audio/include/uapi",
"usr/techpack/audio/include",
],
}
bootstrap_go_package {
name: "soong-lineage-mkdir",
pkgPath: "lineage/soong/mkdir",
@@ -66,6 +82,14 @@ cc_defaults {
recovery_available: true,
}
cc_defaults {
name: "prebuilt_kernel_header_defaults",
generated_headers: ["prebuilt_kernel_includes"],
export_generated_headers: ["prebuilt_kernel_includes"],
vendor_available: true,
recovery_available: true,
}
cc_library_headers {
name: "generated_kernel_headers",
defaults: ["generated_kernel_header_defaults"],
@@ -75,3 +99,8 @@ cc_library_headers {
name: "qti_kernel_headers",
defaults: ["generated_kernel_header_defaults"],
}
cc_library_headers {
name: "prebuilt_kernel_headers",
defaults: ["prebuilt_kernel_header_defaults"],
}

View File

@@ -9,7 +9,8 @@ EXPORT_TO_SOONG := \
KERNEL_MAKE_FLAGS \
PATH_OVERRIDE_SOONG \
TARGET_KERNEL_CONFIG \
TARGET_KERNEL_SOURCE
TARGET_KERNEL_SOURCE \
TARGET_PREBUILT_KERNEL_HEADERS
# Setup SOONG_CONFIG_* vars to export the vars listed above.
# Documentation here: