load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
load(
    "//rust:defs.bzl",
    "capture_clippy_output",
    "clippy_flags",
    "error_format",
    "extra_exec_rustc_flag",
    "extra_exec_rustc_flags",
    "extra_rustc_flag",
    "extra_rustc_flags",
    "no_std",
    "per_crate_rustc_flag",
    "rustc_output_diagnostics",
)

exports_files([
    "LICENSE",
    "MODULE.bazel",
])

bzl_library(
    name = "bzl_lib",
    srcs = [
        ":version.bzl",
    ],
    visibility = ["//visibility:public"],
)

# This setting may be changed from the command line to generate machine readable errors.
error_format(
    name = "error_format",
    build_setting_default = "human",
    visibility = ["//visibility:public"],
)

# This setting may be changed from the command line to generate rustc diagnostics.
rustc_output_diagnostics(
    name = "rustc_output_diagnostics",
    build_setting_default = False,
    visibility = ["//visibility:public"],
)

# This setting may be used to pass extra options to clippy from the command line.
# It applies across all targets.
clippy_flags(
    name = "clippy_flags",
    build_setting_default = [],
    visibility = ["//visibility:public"],
)

# This setting may be used to pass extra options to rustc from the command line
# in non-exec configuration.
# It applies across all targets whereas the rustc_flags option on targets applies only
# to that target. This can be useful for passing build-wide options such as LTO.
extra_rustc_flags(
    name = "extra_rustc_flags",
    build_setting_default = [],
    visibility = ["//visibility:public"],
)

extra_rustc_flag(
    name = "extra_rustc_flag",
    build_setting_default = "",
    visibility = ["//visibility:public"],
)

# This setting may be used to pass extra options to rustc from the command line
# in exec configuration.
# It applies across all targets whereas the rustc_flags option on targets applies only
# to that target. This can be useful for passing build-wide options such as LTO.
extra_exec_rustc_flags(
    name = "extra_exec_rustc_flags",
    build_setting_default = [],
    visibility = ["//visibility:public"],
)

extra_exec_rustc_flag(
    name = "extra_exec_rustc_flag",
    build_setting_default = "",
    visibility = ["//visibility:public"],
)

per_crate_rustc_flag(
    name = "experimental_per_crate_rustc_flag",
    build_setting_default = "",
    visibility = ["//visibility:public"],
)

# This setting is used by the clippy rules. See https://bazelbuild.github.io/rules_rust/rust_clippy.html
label_flag(
    name = "clippy.toml",
    build_setting_default = "//tools/clippy:clippy.toml",
    visibility = ["//visibility:public"],
)

# This setting is used by the rustfmt rules. See https://bazelbuild.github.io/rules_rust/rust_fmt.html
label_flag(
    name = "rustfmt.toml",
    build_setting_default = "//tools/rustfmt:rustfmt.toml",
    visibility = ["//visibility:public"],
)

alias(
    name = "rustfmt",
    actual = "//tools/rustfmt",
    visibility = ["//visibility:public"],
)

capture_clippy_output(
    name = "capture_clippy_output",
    build_setting_default = False,
    visibility = ["//visibility:public"],
)

# This setting may be used to enable builds without the standard library.
# Currently only no_std + alloc is supported, which can be enabled with setting the value to "alloc".
# In the future we could add support for additional modes, e.g "core", "alloc,collections".
string_flag(
    name = "no_std",
    build_setting_default = "off",
    values = [
        "alloc",
        "off",
    ],
    visibility = ["//visibility:public"],
)

# A hack target to allow as to only apply the no_std mode in target config.
no_std(
    name = "build_target_in_no_std",
)

# A config setting for setting conditional `cargo_features`, `deps`, based on the `:no_std` value.
config_setting(
    name = "is_no_std",
    flag_values = {
        ":build_target_in_no_std": "alloc",
    },
    visibility = ["//visibility:public"],
)
