load("@bazel_skylib//rules:write_file.bzl", "write_file")
load("@rules_rust//rust:toolchain.bzl", "rust_stdlib_filegroup", "rust_toolchain")

# We have to declare our toolchains individually to get the corect constraints
# configured so we can robustly select the correct one for each of our
# platforms.

toolchain(
    name = "rust-toolchain-x86",
    exec_compatible_with = [
        "@platforms//os:linux",
        "@platforms//cpu:x86_64",
    ],
    target_compatible_with = [
        "@platforms//os:linux",
        "@platforms//cpu:x86_64",
    ],
    toolchain = "@rust__x86_64-unknown-linux-gnu__stable_tools//:rust_toolchain",
    toolchain_type = "@rules_rust//rust:toolchain",
)

toolchain(
    name = "rust-toolchain-armv7",
    exec_compatible_with = [
        "@platforms//os:linux",
        "@platforms//cpu:x86_64",
    ],
    target_compatible_with = [
        "@platforms//os:linux",
        "@platforms//cpu:armv7",
        # Include this so we're incompatible with the roborio platform, to avoid
        # subtle order dependencies.
        "//tools/platforms/hardware:raspberry_pi",
    ],
    toolchain = "@rust__armv7-unknown-linux-gnueabihf__stable_tools//:rust_toolchain",
    toolchain_type = "@rules_rust//rust:toolchain",
)

toolchain(
    name = "rust-toolchain-arm64",
    exec_compatible_with = [
        "@platforms//os:linux",
        "@platforms//cpu:x86_64",
    ],
    target_compatible_with = [
        "@platforms//os:linux",
        "@platforms//cpu:arm64",
    ],
    toolchain = "@rust__aarch64-unknown-linux-gnu__stable_tools//:rust_toolchain",
    toolchain_type = "@rules_rust//rust:toolchain",
)

toolchain(
    name = "rust-toolchain-roborio",
    exec_compatible_with = [
        "@platforms//os:linux",
        "@platforms//cpu:x86_64",
    ],
    target_compatible_with = [
        "@platforms//os:linux",
        "@platforms//cpu:armv7",
        "//tools/platforms/hardware:roborio",
    ],
    toolchain = "@rust__arm-unknown-linux-gnueabi__stable_tools//:rust_toolchain",
    toolchain_type = "@rules_rust//rust:toolchain",
)

# The remainder of this file exists to create a NOOP toolchain for Rust on
# platforms that don't support Rust. We can probably get rid of this once
# https://github.com/bazelbuild/bazel/issues/12897 is fixed.

write_file(
    name = "noop_error_exit",
    out = "noop_error_exit.sh",
    content = [
        "#!/bin/bash",
        "echo 'This should never be executed. Something went wrong.' >&2",
        "echo 'This NOOP Rust toolchain should never be executed. Something went wrong.' >&2",
        "echo 'Check that your target has `target_compatible_with` set to a platform that supports Rust.' >&2",
        "exit 1",
    ],
    is_executable = True,
)

rust_stdlib_filegroup(
    name = "empty_stdlib",
    srcs = [":noop_error_exit"],
)

rust_toolchain(
    name = "noop_rust_toolchain_impl",
    binary_ext = "",
    cargo = ":noop_error_exit",
    clippy_driver = ":noop_error_exit",
    default_edition = "2021",
    dylib_ext = ".so",
    exec_triple = "none-none-none",
    rust_doc = ":noop_error_exit",
    rust_std = ":empty_stdlib",
    rustc = ":noop_error_exit",
    rustc_lib = ":noop_error_exit",
    rustfmt = ":noop_error_exit",
    staticlib_ext = ".a",
    stdlib_linkflags = [],
    tags = ["manual"],
    target_triple = "none-none-none",
)

toolchain(
    name = "noop_rust_toolchain",
    exec_compatible_with = [
        "@platforms//os:linux",
    ],
    target_compatible_with = [
        "//tools/platforms/rust:lacks_support",
    ],
    toolchain = ":noop_rust_toolchain_impl",
    toolchain_type = "@rules_rust//rust:toolchain",
)

cc_library(
    name = "forward_allocator",
    srcs = ["forward_allocator.c"],
    visibility = ["//visibility:public"],
)
