90 lines
2.0 KiB
Python
90 lines
2.0 KiB
Python
# Cpu/Arch Variants and features
|
|
|
|
load("//build/bazel/product_variables:constants.bzl", _product_variable_constants = "constants")
|
|
load(":constants.bzl", "constants")
|
|
|
|
constraint_setting(
|
|
name = "arch_variant_constraint",
|
|
)
|
|
|
|
licenses(["notice"])
|
|
|
|
package(
|
|
default_visibility = ["//visibility:public"],
|
|
)
|
|
|
|
[
|
|
constraint_value(
|
|
name = arch_variant,
|
|
constraint_setting = "arch_variant_constraint",
|
|
)
|
|
for arch_variant in constants.AvailableArchVariants
|
|
]
|
|
|
|
[
|
|
[
|
|
config_setting(
|
|
name = variant + "-" + arch,
|
|
constraint_values = [
|
|
_product_variable_constants.ArchVariantToConstraints[arch],
|
|
":" + variant,
|
|
],
|
|
)
|
|
for variant in variants
|
|
]
|
|
for arch, variants in constants.ArchToVariants.items()
|
|
]
|
|
|
|
constraint_setting(
|
|
name = "cpu_variant_constraint",
|
|
)
|
|
|
|
[
|
|
constraint_value(
|
|
name = cpu_variant,
|
|
constraint_setting = "cpu_variant_constraint",
|
|
)
|
|
for cpu_variant in constants.AvailableCpuVariants
|
|
]
|
|
|
|
[
|
|
[
|
|
config_setting(
|
|
name = variant + "-" + arch,
|
|
constraint_values = [
|
|
_product_variable_constants.ArchVariantToConstraints[arch],
|
|
":" + variant,
|
|
],
|
|
)
|
|
for variant in variants
|
|
]
|
|
for arch, variants in constants.CpuToVariants.items()
|
|
]
|
|
|
|
[
|
|
(
|
|
constraint_setting(
|
|
name = "arch_feature_constraint_" + arch_feature,
|
|
),
|
|
constraint_value(
|
|
name = arch_feature,
|
|
constraint_setting = "arch_feature_constraint_" + arch_feature,
|
|
),
|
|
)
|
|
for arch_feature in constants.AvailableArchFeatures
|
|
]
|
|
|
|
[
|
|
[
|
|
config_setting(
|
|
name = feature + "-" + arch,
|
|
constraint_values = [
|
|
_product_variable_constants.ArchVariantToConstraints[arch],
|
|
":" + feature,
|
|
],
|
|
)
|
|
for feature in features
|
|
]
|
|
for arch, features in constants.ArchToFeatures.items()
|
|
]
|