diff --git a/msm_kernel_la.bzl b/msm_kernel_la.bzl index 0057f559f332..7ee854c73a8a 100644 --- a/msm_kernel_la.bzl +++ b/msm_kernel_la.bzl @@ -9,6 +9,7 @@ load( "kernel_compile_commands", "kernel_images", "kernel_modules_install", + "kernel_uapi_headers_cc_library", "merged_kernel_uapi_headers", ) load( @@ -25,7 +26,6 @@ load(":msm_common.bzl", "define_top_level_config", "gen_config_without_source_li load(":msm_dtc.bzl", "define_dtc_dist") load(":msm_abl.bzl", "define_abl_dist") load(":super_image.bzl", "super_image") -load(":uapi_library.bzl", "define_uapi_library") load(":image_opts.bzl", "boot_image_opts") load(":target_variants.bzl", "la_variants") load(":modules.bzl", "COMMON_GKI_MODULES_LIST") @@ -334,6 +334,17 @@ def _define_kernel_dist(target, msm_target, variant, base_kernel): dist_dir = dist_dir, ) +def _define_uapi_library(target): + """Define a cc_library for userspace programs to use + + Args: + target: kernel_build target name (e.g. "kalama_gki") + """ + kernel_uapi_headers_cc_library( + name = "{}_uapi_header_library".format(target), + kernel_build = ":{}".format(target), + ) + def define_msm_la( msm_target, variant, @@ -414,10 +425,10 @@ def define_msm_la( _define_kernel_dist(target, msm_target, variant, base_kernel) + _define_uapi_library(target) + define_abl_dist(target, msm_target, variant) define_dtc_dist(target, msm_target, variant) - define_uapi_library(target) - define_extras(target) diff --git a/msm_kernel_vm.bzl b/msm_kernel_vm.bzl index 8aa00df99481..9cc02b783d3c 100644 --- a/msm_kernel_vm.bzl +++ b/msm_kernel_vm.bzl @@ -8,6 +8,7 @@ load( "kernel_compile_commands", "kernel_images", "kernel_modules_install", + "kernel_uapi_headers_cc_library", "merged_kernel_uapi_headers", ) load( @@ -22,7 +23,6 @@ load( load(":msm_common.bzl", "define_top_level_config", "gen_config_without_source_lines", "get_out_dir") load(":msm_dtc.bzl", "define_dtc_dist") load(":image_opts.bzl", "vm_image_opts") -load(":uapi_library.bzl", "define_uapi_library") load(":target_variants.bzl", "vm_variants") def define_make_vm_dtb_img(target, dtb_list, page_size): @@ -248,6 +248,17 @@ def _define_kernel_dist(target, msm_target, variant): dist_dir = dist_dir, ) +def _define_uapi_library(target): + """Define a cc_library for userspace programs to use + + Args: + target: kernel_build target name (e.g. "kalama_gki") + """ + kernel_uapi_headers_cc_library( + name = "{}_uapi_header_library".format(target), + kernel_build = ":{}".format(target), + ) + def define_msm_vm( msm_target, variant, @@ -294,9 +305,9 @@ def define_msm_vm( _define_kernel_dist(target, msm_target, variant) - define_dtc_dist(target, msm_target, variant) + _define_uapi_library(target) - define_uapi_library(target) + define_dtc_dist(target, msm_target, variant) # use only dtbs related to the variant for dtb image creation if "tuivm" in msm_target: diff --git a/uapi_library.bzl b/uapi_library.bzl deleted file mode 100644 index 189f49b55e36..000000000000 --- a/uapi_library.bzl +++ /dev/null @@ -1,18 +0,0 @@ -load(":uapi_unpacker.bzl", "uapi_unpacker") - -def define_uapi_library(target): - """Create a header-only cc_library of the kernel's UAPI headers - - Args: - target: name of main Bazel target (e.g. `kalama_gki`) - """ - uapi_unpacker( - name = "{}_uapi_unpacker".format(target), - kernel_uapi_headers = ":{}_uapi_headers".format(target), - ) - - native.cc_library( - name = "{}_uapi_header_library".format(target), - hdrs = [":{}_uapi_unpacker".format(target)], - includes = ["{}_uapi_unpacker_uapi_headers".format(target)], - ) diff --git a/uapi_unpacker.bzl b/uapi_unpacker.bzl deleted file mode 100644 index 672bf8fa2dad..000000000000 --- a/uapi_unpacker.bzl +++ /dev/null @@ -1,31 +0,0 @@ -def _uapi_unpacker_impl(ctx): - input_tar = ctx.file.kernel_uapi_headers - out_dir = ctx.actions.declare_directory(ctx.label.name + "_uapi_headers") - - ctx.actions.run_shell( - outputs = [out_dir], - inputs = [input_tar], - arguments = [input_tar.path, out_dir.path], - progress_message = "Unpacking UAPI headers", - command = """ - tar_file="${PWD}/$1" - out_dir="${PWD}/$2" - mkdir -p "$out_dir" - cd "$out_dir" - tar --strip-components=2 -xzf "$tar_file" - """, - ) - - return [DefaultInfo(files = depset([out_dir]))] - -uapi_unpacker = rule( - implementation = _uapi_unpacker_impl, - doc = """Unpack `kernel-uapi-headers.tar.gz`""", - attrs = { - "kernel_uapi_headers": attr.label( - allow_single_file = True, - mandatory = True, - doc = "the kernel_uapi_headers tarball or label", - ), - }, -)