Skip to content

Commit

Permalink
ANDROID: bazel: add GKI consolidate Bazel build
Browse files Browse the repository at this point in the history
Adds //common:kernel_aarch64_consolidate Bazel build target.

Bug: 255878221
Change-Id: I76b44a2764d461d6267ff217e8914298fe560544
Signed-off-by: John Moon <[email protected]>
  • Loading branch information
John Moon committed Oct 27, 2022
1 parent 6fb5892 commit e32903b
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 0 deletions.
4 changes: 4 additions & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -234,3 +234,7 @@ define_db845c(
"sound/soc/qcom/snd-soc-sm8250.ko",
],
)

load(":consolidate.bzl", "define_consolidate")

define_consolidate()
1 change: 1 addition & 0 deletions build.config.gki_consolidate.aarch64
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
KERNEL_DIR=common
DEFCONFIG=consolidate_defconfig
FRAGMENT_CONFIG=${KERNEL_DIR}/arch/arm64/configs/consolidate.fragment
PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG} ${ROOT_DIR}/${KERNEL_DIR}/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/${FRAGMENT_CONFIG}"
Expand Down
62 changes: 62 additions & 0 deletions consolidate.bzl
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
load(
"//build/kernel/kleaf:kernel.bzl",
"kernel_build",
"kernel_build_config",
"kernel_images",
"kernel_modules_install",
)
load("//build/kernel/kleaf:constants.bzl", "aarch64_outs")

rule_base = "kernel_aarch64_consolidate"

def _gen_config_without_source_lines(build_config, target):
rule_name = "{}.{}".format(target, build_config)
out_file_name = rule_name + ".generated"
native.genrule(
name = rule_name,
srcs = [build_config],
outs = [out_file_name],
cmd_bash = "sed -e '/^\\. /d' $(location {}) > $@".format(build_config),
)

return ":" + rule_name

def define_consolidate():
kernel_build_config(
name = rule_base + "_build_config",
srcs = [
# do not sort
"build.config.constants",
_gen_config_without_source_lines("build.config.common", rule_base),
"build.config.aarch64",
"build.config.gki_consolidate.aarch64",
_gen_config_without_source_lines("build.config.gki.aarch64", rule_base),
],
)

kernel_build(
name = rule_base,
outs = aarch64_outs,
implicit_outs = [
"scripts/sign-file",
"certs/signing_key.pem",
"certs/signing_key.x509",
],
module_implicit_outs = [
"drivers/block/zram/zram.ko",
"mm/zsmalloc.ko",
],
build_config = rule_base + "_build_config",
)

kernel_modules_install(
name = "{}_modules_install".format(rule_base),
kernel_build = ":{}".format(rule_base),
)

kernel_images(
name = "{}_images".format(rule_base),
kernel_build = ":{}".format(rule_base),
build_system_dlkm = True,
kernel_modules_install = ":{}_modules_install".format(rule_base),
)

0 comments on commit e32903b

Please sign in to comment.