bazel: Add lunch target, base target dict & supported functions

Out of tree (OOT) modules have a requirement to compile differently
for lunch target in Android builds but still use base target's
msm-kernel bazel package.

- How get_all_lunch_target_base_target_variants is used?
  By calling this function from tech pack bazel file, It returns tuple of
  (lunch_target, base_target, variant). This is useful to define a bazel
  package sepcific to that lunch target
  <base_target>_<variant>_<lunch_target>

- How build_module.sh calls this package to run in bazel?
  When the script queries for the applicable packages under a folder,
  it will query for <base_t>_<variant>_<lunch_t>. This regex will be
  passed by individual OOT module's Makefile using
  LOCAL_MODULE_DDK_SUBTARGET_REGEX

  Syntax:
  ifeq ($(TARGET_BOARD_PLATFORM), lunch_target)
    LOCAL_MODULE_DDK_SUBTARGET_REGEX := "lunch_target_tech_regex.*"
  endif

Change-Id: Id0b79292e9ef9a7ec1562ff6f48e0ba7c131c420
Signed-off-by: Auditya Bhattaram <quic_audityab@quicinc.com>
This commit is contained in:
Auditya Bhattaram 2024-02-13 11:43:57 +05:30
parent 868a5e3f4b
commit a1731ad1ba

View File

@ -55,6 +55,11 @@ vm_variants = [
"defconfig",
]
lunch_target_bases = {
# keep sorted
"volcano": "pineapple",
}
def get_all_la_variants():
return [(t, v) for t in la_targets for v in la_variants]
@ -69,3 +74,6 @@ def get_all_vm_variants():
def get_all_variants():
return get_all_la_variants() + get_all_le_variants() + get_all_lxc_variants() + get_all_vm_variants()
def get_all_lunch_target_base_target_variants():
return [(lt, bt, v) for lt, bt in lunch_target_bases.items() for v in la_variants]