| # Copyright 2021 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # Constraints and platforms for Fuchsia. |
| |
| load("@bazel_skylib//lib:selects.bzl", "selects") |
| load("//:api_version.bzl", "INTERNAL_ONLY_VALID_TARGET_APIS") |
| |
| package( |
| default_visibility = ["//:__subpackages__"], |
| ) |
| |
| # The version of the Fuchsia toolchain. Specific to particular local builds of |
| # Fuchsia or particular versions of the IDK. |
| constraint_setting( |
| name = "version", |
| visibility = ["//visibility:public"], |
| ) |
| |
| # Target API level constraints. |
| [ |
| config_setting( |
| name = "api_level_%s" % target_api.api_level, |
| flag_values = { |
| "//fuchsia:fuchsia_api_level": target_api.api_level, |
| }, |
| ) |
| for target_api in INTERNAL_ONLY_VALID_TARGET_APIS |
| ] |
| |
| # CPU based configurations |
| selects.config_setting_group( |
| name = "cpu_arm64", |
| match_any = [ |
| ":cpu_arm64_flag", |
| "@platforms//cpu:arm64", |
| ], |
| ) |
| |
| selects.config_setting_group( |
| name = "cpu_x64", |
| match_any = [ |
| ":cpu_x64_flag", |
| "@platforms//cpu:x86_64", |
| ], |
| ) |
| |
| selects.config_setting_group( |
| name = "cpu_riscv64", |
| match_any = [ |
| ":cpu_riscv64_flag", |
| "@platforms//cpu:riscv64", |
| ], |
| ) |
| |
| config_setting( |
| name = "cpu_arm64_flag", |
| values = {"cpu": "aarch64"}, |
| ) |
| |
| config_setting( |
| name = "cpu_x64_flag", |
| values = {"cpu": "x86_64"}, |
| ) |
| |
| config_setting( |
| name = "cpu_riscv64_flag", |
| values = {"cpu": "riscv64"}, |
| ) |
| |
| selects.config_setting_group( |
| name = "is_fuchsia_arm64", |
| match_all = [ |
| "@platforms//os:fuchsia", |
| ":cpu_arm64", |
| ], |
| ) |
| |
| selects.config_setting_group( |
| name = "is_fuchsia_x64", |
| match_all = [ |
| "@platforms//os:fuchsia", |
| ":cpu_x64", |
| ], |
| ) |
| |
| selects.config_setting_group( |
| name = "is_fuchsia_riscv64", |
| match_all = [ |
| "@platforms//os:fuchsia", |
| ":cpu_riscv64", |
| ], |
| ) |