###############################################################################
# @generated
# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
# regenerate this file, run the following:
#
#     bazel run @//:crates_vendor_std
###############################################################################

load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
load("@rules_rust//rust:defs.bzl", "rust_library")

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

# licenses([
#     "TODO",  # MIT OR Apache-2.0
# ])

rust_library(
    name = "atomic_polyfill",
    srcs = glob(["**/*.rs"]),
    compile_data = glob(
        include = ["**"],
        exclude = [
            "**/* *",
            "BUILD",
            "BUILD.bazel",
            "WORKSPACE",
            "WORKSPACE.bazel",
        ],
    ),
    crate_root = "src/lib.rs",
    edition = "2021",
    rustc_flags = ["--cap-lints=allow"],
    tags = [
        "cargo-bazel",
        "crate-name=atomic-polyfill",
        "manual",
        "noclippy",
        "norustfmt",
    ],
    version = "1.0.2",
    deps = [
        "//crates_std/vendor/atomic-polyfill-1.0.2:build_script_build",
        "//crates_std/vendor/critical-section-1.1.1:critical_section",
    ],
)

cargo_build_script(
    name = "atomic-polyfill_build_script",
    srcs = glob(["**/*.rs"]),
    crate_name = "build_script_build",
    crate_root = "build.rs",
    data = glob(
        include = ["**"],
        exclude = [
            "**/* *",
            "BUILD",
            "BUILD.bazel",
            "WORKSPACE",
            "WORKSPACE.bazel",
        ],
    ),
    edition = "2021",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-bazel",
        "crate-name=atomic-polyfill",
        "manual",
        "noclippy",
        "norustfmt",
    ],
    version = "1.0.2",
    visibility = ["//visibility:private"],
)

alias(
    name = "build_script_build",
    actual = "atomic-polyfill_build_script",
    tags = ["manual"],
)
