aboutsummaryrefslogtreecommitdiff
path: root/platforms/product_variables/product_platform.bzl
diff options
context:
space:
mode:
Diffstat (limited to 'platforms/product_variables/product_platform.bzl')
-rw-r--r--platforms/product_variables/product_platform.bzl38
1 files changed, 14 insertions, 24 deletions
diff --git a/platforms/product_variables/product_platform.bzl b/platforms/product_variables/product_platform.bzl
index b04ae947..f2c6f91f 100644
--- a/platforms/product_variables/product_platform.bzl
+++ b/platforms/product_variables/product_platform.bzl
@@ -1,7 +1,7 @@
"""Parallels variable.go to provide variables and create a platform based on converted config."""
load("//build/bazel/product_variables:constants.bzl", "constants")
-load("//build/bazel/platforms/arch/variants:constants.bzl", _arch_constants = "constants")
+load("//prebuilts/clang/host/linux-x86:cc_toolchain_constants.bzl", "variant_name")
def _product_variables_providing_rule_impl(ctx):
return [
@@ -105,12 +105,9 @@ def product_variable_config(name, product_config_vars):
os = "android"
- native.platform(
+ native.alias(
name = name,
- constraint_values = constraints + [
- "//build/bazel/platforms/arch:" + arch,
- "//build/bazel/platforms/os:" + os,
- ] + android_variant_constraints(arch, arch_variant, cpu_variant),
+ actual = "{os}_{arch}{variant}".format(os = os, arch = arch, variant = _variant_name(arch, arch_variant, cpu_variant)),
)
arch = local_vars.get("DeviceSecondaryArch")
@@ -118,12 +115,9 @@ def product_variable_config(name, product_config_vars):
cpu_variant = local_vars.get("DeviceSecondaryCpuVariant")
if arch:
- native.platform(
+ native.alias(
name = name + "_secondary",
- constraint_values = constraints + [
- "//build/bazel/platforms/arch:" + arch,
- "//build/bazel/platforms/os:" + os,
- ] + android_variant_constraints(arch, arch_variant, cpu_variant),
+ actual = "{os}_{arch}{variant}".format(os = os, arch = arch, variant = _variant_name(arch, arch_variant, cpu_variant)),
)
product_variables_providing_rule(
@@ -134,20 +128,16 @@ def product_variable_config(name, product_config_vars):
def _is_variant_default(arch, variant):
return variant == None or variant in (arch, "generic")
-def android_variant_constraints(arch, arch_variant = None, cpu_variant = None):
- additional_constraints = []
- if not _is_variant_default(arch, arch_variant):
- additional_constraints.append("//build/bazel/platforms/arch/variants:" + arch_variant)
- else:
+def _variant_name(arch, arch_variant, cpu_variant):
+ if _is_variant_default(arch, arch_variant):
arch_variant = ""
-
- features = _arch_constants.AndroidArchToVariantToFeatures[arch].get(arch_variant, [])
- for feature in features:
- additional_constraints.append("//build/bazel/platforms/arch/variants:" + feature)
-
- if not _is_variant_default(arch, cpu_variant):
- additional_constraints.append("//build/bazel/platforms/arch/variants:" + cpu_variant)
- return additional_constraints
+ if _is_variant_default(arch, cpu_variant):
+ cpu_variant = ""
+ variant = struct(
+ arch_variant = arch_variant,
+ cpu_variant = cpu_variant,
+ )
+ return variant_name(variant)
def android_platform(name = None, constraint_values = [], product = None):
""" android_platform creates a platform with the specified constraint_values and product constraints."""