Files
vendor_lineage/build/soong/Android.bp
AnierinB ce53198051 soong: Conditionally spoof ro.product.first_api_level to 32 [1/2]
Devices that shipped on API 33 or higher need to set
ro.product.first_api_level to 32 in order to pass integrity.

Set SPOOF_FIRST_API_LEVEL_32 := true in BoardConfig*.mk to enable.

Signed-off-by: AnierinB <anierin@evolution-x.org>
2025-12-10 00:00:23 +09:00

128 lines
4.0 KiB
Plaintext

// LineageOS soong configs
bootstrap_go_package {
name: "soong-lineage-generator",
pkgPath: "lineage/soong/generator",
deps: [
"blueprint",
"blueprint-pathtools",
"soong",
"soong-android",
"soong-shared",
],
srcs: [
"generator/generator.go",
"generator/variables.go",
],
pluginFor: ["soong_build"],
}
lineage_generator {
name: "generated_kernel_includes",
// The headers make command
cmd: "if [ -n \"$(TARGET_KERNEL_PLATFORM_TARGET)\" ]; then " +
" pushd $(KERNEL_PATH); " +
" ./tools/bazel --output_user_root=$(KERNEL_BUILD_OUT_PREFIX)$(genDir)/bazel-out --output_root=$(KERNEL_BUILD_OUT_PREFIX)$(genDir)/bazel-out run --experimental_convenience_symlinks=ignore --cpu=$(KERNEL_ARCH) //$(TARGET_KERNEL_SOURCE):$(TARGET_KERNEL_PLATFORM_TARGET)_uapi_headers_dist -- --destdir=$(KERNEL_BUILD_OUT_PREFIX)$(genDir); " +
" popd; " +
" gzip -d $(KERNEL_BUILD_OUT_PREFIX)$(genDir)/kernel-uapi-headers.tar.gz; " +
" tar -xf $(KERNEL_BUILD_OUT_PREFIX)$(genDir)/kernel-uapi-headers.tar -C $(KERNEL_BUILD_OUT_PREFIX)$(genDir); " +
"else " +
" $(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; " +
"fi; " +
"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",
],
// Sources for dependency tracking
dep_root: "$(TARGET_KERNEL_SOURCE)",
dep_files: [
"Makefile",
"include/**/*",
"arch/$(KERNEL_ARCH)/include/**/*",
"techpack/audio/include/**/*",
],
}
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",
deps: [
"blueprint",
"blueprint-pathtools",
"soong",
"soong-android",
],
srcs: [
"mkdir/init.go",
"mkdir/mkdir.go",
],
pluginFor: ["soong_build"],
}
cc_defaults {
name: "generated_kernel_header_defaults",
generated_headers: ["generated_kernel_includes"],
export_generated_headers: ["generated_kernel_includes"],
vendor_available: true,
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"],
}
cc_library_headers {
name: "prebuilt_kernel_headers",
defaults: ["prebuilt_kernel_header_defaults"],
}
soong_config_module_type {
name: "spoof_first_api_level_32",
module_type: "cc_defaults",
config_namespace: "lineageGlobalVars",
bool_variables: ["spoof_first_api_level_32"],
properties: ["cppflags"]
}
spoof_first_api_level_32 {
name: "spoof_first_api_level_32_defaults",
soong_config_variables: {
spoof_first_api_level_32: {
cppflags: ["-DSPOOF_FIRST_API_LEVEL_32"],
},
},
}