"""Generates C++ bindings from Rust APIs."""

load(
    "@rules_rust//rust:defs.bzl",
    "rust_library",
)
load(
    "//common:crubit_wrapper_macros_oss.bzl",
    "crubit_rust_binary",
    "crubit_rust_test",
)

package(default_applicable_licenses = ["//:license"])

rust_library(
    name = "bindings",
    srcs = ["bindings.rs"],
    deps = [
        ":crubit_attr",
        ":run_compiler",
        ":toposort",
        "//common:code_gen_utils",
        "@crate_index//:anyhow",
        "@crate_index//:itertools",
        "@crate_index//:proc-macro2",
        "@crate_index//:quote",
        "@crate_index//:syn",
        "@rules_rust//tools/runfiles",
    ],
)

crubit_rust_test(
    name = "bindings_test",
    crate = ":bindings",
    tags = [
        "not_build:arm",
        "noubsan",  # rustc-as-a-library isn't supported for UBSan.
    ],
    deps = [
        ":run_compiler_test_support",
        "//common:token_stream_matchers",
        "@crate_index//:itertools",
    ],
)

crubit_rust_binary(
    name = "cc_bindings_from_rs",
    srcs = ["cc_bindings_from_rs.rs"],
    # TODO(b/242703401): Remove once cc_common.link works for rustc libraries.
    tags = [
        "not_build:arm",
        "noubsan",  # rustc-as-a-library isn't supported for UBSan.
    ],
    visibility = [
        "//visibility:public",
    ],
    deps = [
        ":bindings",
        ":cmdline",
        ":run_compiler",
        "//common:code_gen_utils",
        "//common:token_stream_printer",
        "@crate_index//:anyhow",
        "@crate_index//:clap",
        "@crate_index//:itertools",
    ],
)

crubit_rust_test(
    name = "cc_bindings_from_rs_test",
    crate = ":cc_bindings_from_rs",
    tags = [
        "not_build:arm",
        "noubsan",  # rustc-as-a-library isn't supported for UBSan.
    ],
    deps = [
        ":run_compiler_test_support",
        "@crate_index//:regex",
        "@crate_index//:tempfile",
    ],
)

sh_test(
    name = "cc_bindings_from_rs_sh_test",
    srcs = ["cc_bindings_from_rs_sh_test.sh"],
    data = [
        ":cc_bindings_from_rs",
    ],
    deps = [
        "//util/shell/gbash",
        "//util/shell/gbash:unit",
    ],
)

rust_library(
    name = "cmdline",
    srcs = [
        "cmdline.rs",
    ],
    deps = [
        "@crate_index//:anyhow",
        "@crate_index//:clap",
    ],
)

crubit_rust_test(
    name = "cmdline_test",
    crate = ":cmdline",
    tags = [
        "not_build:arm",
        "noubsan",  # rustc-as-a-library isn't supported for UBSan.
    ],
    deps = [
        ":run_compiler_test_support",
        "@crate_index//:itertools",
        "@crate_index//:tempfile",
    ],
)

rust_library(
    name = "crubit_attr",
    srcs = ["crubit_attr.rs"],
    deps = [
        "@crate_index//:anyhow",
        "@crate_index//:once_cell",
    ],
)

crubit_rust_test(
    name = "crubit_attr_test",
    crate = ":crubit_attr",
    tags = [
        "not_build:arm",
        "noubsan",  # rustc-as-a-library isn't supported for UBSan.
    ],
    deps = [":run_compiler_test_support"],
)

rust_library(
    name = "run_compiler",
    srcs = [
        "run_compiler.rs",
    ],
    deps = [
        "@crate_index//:anyhow",
        "@crate_index//:either",
        "@crate_index//:once_cell",
    ],
)

crubit_rust_test(
    name = "run_compiler_test",
    crate = ":run_compiler",
    tags = [
        "not_build:arm",
        "noubsan",  # rustc-as-a-library isn't supported for UBSan.
    ],
    deps = [
        ":run_compiler_test_support",
        "@crate_index//:tempfile",
    ],
)

rust_library(
    name = "run_compiler_test_support",
    testonly = True,
    srcs = [
        "run_compiler_test_support.rs",
    ],
    data = [
        "@rust_linux_x86_64__x86_64-unknown-linux-gnu__nightly_tools//:rust_std-x86_64-unknown-linux-gnu",
    ],
    rustc_flags = ["--cfg=oss"],
    deps = [
        "@crate_index//:itertools",
        "@rules_rust//tools/runfiles",
    ],
)

crubit_rust_test(
    name = "run_compiler_test_support_test",
    crate = ":run_compiler_test_support",
    rustc_flags = ["--cfg=oss"],
    tags = [
        "not_build:arm",
        "noubsan",  # rustc-as-a-library isn't supported for UBSan.
    ],
)

rust_library(
    name = "toposort",
    srcs = ["toposort.rs"],
)

crubit_rust_test(
    name = "toposort_test",
    crate = ":toposort",
)
