From f59bdfb286e2c31e2ba6731a2d601aaf94555d7b Mon Sep 17 00:00:00 2001 From: John Moon Date: Thu, 3 Nov 2022 10:31:58 -0700 Subject: [PATCH 1/2] build: Add top-level rule definition in bazel extensions Currently, the only rules that can be defined in msm_kernel_extensions.bzl are invoked for each target. If a rule just needs to be declared once at the top level, there's no way to do that. Add and invoke a new macro from the top-level to enable this functionality. Change-Id: I239c0e44f6938dee7dda4c0cb1434f9bf925b13c Signed-off-by: John Moon --- msm_kernel_extensions.bzl | 3 +++ msm_platforms.bzl | 2 ++ 2 files changed, 5 insertions(+) diff --git a/msm_kernel_extensions.bzl b/msm_kernel_extensions.bzl index c124f0c735a7..fcd17783edfb 100644 --- a/msm_kernel_extensions.bzl +++ b/msm_kernel_extensions.bzl @@ -1,3 +1,6 @@ +def define_top_level_rules(): + return + def define_extras(target, flavor = None): return diff --git a/msm_platforms.bzl b/msm_platforms.bzl index 2165bc7a5edb..c045bed629b2 100644 --- a/msm_platforms.bzl +++ b/msm_platforms.bzl @@ -2,8 +2,10 @@ load(":kalama.bzl", "define_kalama") load(":kalama_tuivm.bzl", "define_kalama_tuivm") load(":pineapple.bzl", "define_pineapple") load(":pineapple_tuivm.bzl", "define_pineapple_tuivm") +load("//build/bazel_extensions:msm_kernel_extensions.bzl", "define_top_level_rules") def define_msm_platforms(): + define_top_level_rules() define_kalama() define_kalama_tuivm() define_pineapple() From 7f1305d0f505114cd3fb93a376c331b19019457c Mon Sep 17 00:00:00 2001 From: John Moon Date: Tue, 8 Nov 2022 11:38:33 -0800 Subject: [PATCH 2/2] build: adding top-level DDK headers definition Currently, kernel_module() Kleaf rules will automatically include kernel headers based on the input kernel_build parameter. The new ddk_module() rule requires kernel headers to be explicitly exported to the build system. Change-Id: I3b4808270e0c70adf38ba382000172d7b81fda61 Signed-off-by: John Moon --- msm_platforms.bzl | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/msm_platforms.bzl b/msm_platforms.bzl index c045bed629b2..1b91b6004e0f 100644 --- a/msm_platforms.bzl +++ b/msm_platforms.bzl @@ -2,9 +2,26 @@ load(":kalama.bzl", "define_kalama") load(":kalama_tuivm.bzl", "define_kalama_tuivm") load(":pineapple.bzl", "define_pineapple") load(":pineapple_tuivm.bzl", "define_pineapple_tuivm") +load("//build/kernel/kleaf:kernel.bzl", "ddk_headers") load("//build/bazel_extensions:msm_kernel_extensions.bzl", "define_top_level_rules") +def _define_ddk_headers(): + ddk_headers( + name = "all_headers", + hdrs = native.glob([ + "arch/arm64/include/**/*.h", + "include/**/*.h", + ]), + includes = [ + "arch/arm64/include", + "arch/arm64/include/uapi", + "include", + "include/uapi", + ], + ) + def define_msm_platforms(): + _define_ddk_headers() define_top_level_rules() define_kalama() define_kalama_tuivm()