# Copyright 2023 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.

# This is a `platform_mappings` file for Bazel.
# See https://bazel.build/concepts/platforms#platform-mappings
platforms:
  @fuchsia_sdk//fuchsia/constraints/platforms:fuchsia_x64
    --cpu=x86_64
    --crosstool_top=@fuchsia_clang//:toolchain
    --host_crosstool_top=@bazel_tools//tools/cpp:toolchain

  @fuchsia_sdk//fuchsia/constraints/platforms:fuchsia_arm64
    --crosstool_top=@fuchsia_clang//:toolchain
    --cpu=aarch64
    --host_crosstool_top=@bazel_tools//tools/cpp:toolchain

  @fuchsia_sdk//fuchsia/constraints/platforms:fuchsia_riscv64
    --crosstool_top=@fuchsia_clang//:toolchain
    --cpu=riscv64
    --host_crosstool_top=@bazel_tools//tools/cpp:toolchain

flags:
  --crosstool_top=@fuchsia_clang//:toolchain
  --cpu=x86_64
  --host_crosstool_top=@bazel_tools//tools/cpp:toolchain
    @fuchsia_sdk//fuchsia/constraints/platforms:fuchsia_x64

  --crosstool_top=@fuchsia_clang//:toolchain
  --cpu=aarch64
  --host_crosstool_top=@bazel_tools//tools/cpp:toolchain
    @fuchsia_sdk//fuchsia/constraints/platforms:fuchsia_arm64

  --crosstool_top=@fuchsia_clang//:toolchain
  --cpu=riscv64
  --host_crosstool_top=@bazel_tools//tools/cpp:toolchain
    @fuchsia_sdk//fuchsia/constraints/platforms:fuchsia_riscv64
