android_kernel_samsung_sm8650/target_variants.bzl
Auditya Bhattaram a1731ad1ba 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>
2024-03-01 10:44:51 +05:30

80 lines
1.4 KiB
Python

la_targets = [
# keep sorted
"autogvm",
"blair",
"gen3auto",
"niobe",
"pineapple",
"pitti",
"sdmsteppeauto",
]
la_variants = [
# keep sorted
"consolidate",
"gki",
]
lxc_variants = [
# keep sorted
"debug-defconfig",
"perf-defconfig",
]
lxc_targets = [
# keep sorted
"autoghgvm",
"autogvm",
"gen4auto",
]
le_targets = [
# keep sorted
"pineapple-allyes",
]
le_variants = [
# keep sorted
"perf-defconfig",
]
vm_types = [
"tuivm",
"oemvm",
]
vm_target_bases = [
"pineapple",
]
vm_targets = ["{}-{}".format(t, vt) for t in vm_target_bases for vt in vm_types]
vm_variants = [
# keep sorted
"debug-defconfig",
"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]
def get_all_le_variants():
return [(t, v) for t in le_targets for v in le_variants]
def get_all_lxc_variants():
return [(t, v) for t in lxc_targets for v in lxc_variants]
def get_all_vm_variants():
return [(t, v) for t in vm_targets for v in 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]