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

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

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

# licenses([
#     "TODO",  # MIT
# ])

rust_library(
    name = "console",
    srcs = glob(["**/*.rs"]),
    compile_data = glob(
        include = ["**"],
        exclude = [
            "**/* *",
            "BUILD",
            "BUILD.bazel",
            "WORKSPACE",
            "WORKSPACE.bazel",
        ],
    ),
    crate_root = "src/lib.rs",
    edition = "2018",
    rustc_flags = ["--cap-lints=allow"],
    tags = [
        "cargo-bazel",
        "crate-name=console",
        "manual",
        "noclippy",
        "norustfmt",
    ],
    version = "0.15.5",
    deps = [
        "@crate_index__lazy_static-1.4.0//:lazy_static",
        "@crate_index__libc-0.2.139//:libc",
    ] + select({
        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
            "@crate_index__encode_unicode-0.3.6//:encode_unicode",  # cfg(windows)
            "@crate_index__windows-sys-0.42.0//:windows_sys",  # cfg(windows)
        ],
        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
            "@crate_index__encode_unicode-0.3.6//:encode_unicode",  # cfg(windows)
            "@crate_index__windows-sys-0.42.0//:windows_sys",  # cfg(windows)
        ],
        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
            "@crate_index__encode_unicode-0.3.6//:encode_unicode",  # cfg(windows)
            "@crate_index__windows-sys-0.42.0//:windows_sys",  # cfg(windows)
        ],
        "//conditions:default": [],
    }),
)
