load("@rules_cc//cc:defs.bzl", "cc_toolchain")
load(":cc_toolchain_config.bzl", "host_cc_toolchain_config")

# Toolchain definitions.
#
# We currently define two toolchains:
#
#  - //build/toolchain:host_cc_toolchain , which points to our hermetic sandbox
#    sysroot default compiler toolchain. It is mainly used to target the execution platform
#    inside the sandbox (i.e. build tooling).
#  - //build/toolchain/musl-host-gcc:musl_host_toolchain , which combines the sandbox sysroot
#    gcc compiler with a sysroot tarball that targets the Metropolis node
#    runtime. This can be used to build C libraries/tools running within the
#    Metropolis node image or on the (unknown) host operating system outside the sandbox.

# This file defines //build/toolchain:host_cc_toolchain.
#
# This is a C++ toolchain that uses GCC from the sandbox sysroot at hardcoded paths. We
# can get away with this, as currently the entire build is performed in a hermetic
# sandbox sysroot (see: //third_party/sandboxroot). We define this toolchain so
# that we have full control over all configuration of it, which we need as we
# are building some fairly odd C binaries (notably, a qboot bootloader for
# testing).
#
# The host_cc toolchain suite is enabled for all cc_* targets whose
# platform isn't matching a more specific toolchain.
#
# This, and :cc_toolchain_config.bzl is based on the following tutorial:
# https://docs.bazel.build/versions/master/tutorial/cc-toolchain-config.html

package(default_visibility = ["//visibility:public"])

filegroup(name = "empty")

cc_toolchain(
    name = "host_cc_k8_toolchain",
    all_files = ":empty",
    ar_files = ":empty",
    as_files = ":empty",
    compiler_files = ":empty",
    dwp_files = ":empty",
    linker_files = ":empty",
    objcopy_files = ":empty",
    strip_files = ":empty",
    supports_param_files = 0,
    toolchain_config = ":host_cc_k8_toolchain_config",
    toolchain_identifier = "host-k8-toolchain",
)

host_cc_toolchain_config(name = "host_cc_k8_toolchain_config")

toolchain(
    name = "host_cc_toolchain",
    exec_compatible_with = [
        "@platforms//os:linux",
        "@platforms//cpu:x86_64",
    ],
    target_compatible_with = [
        "@platforms//os:linux",
        "@platforms//cpu:x86_64",
    ],
    toolchain = ":host_cc_k8_toolchain",
    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
)
