"""
@generated
cargo-raze crate build file.

DO NOT EDIT! Replaced on runs of cargo-raze
"""

# buildifier: disable=load
load("@bazel_skylib//lib:selects.bzl", "selects")

# buildifier: disable=load
load(
    "@rules_rust//rust:defs.bzl",
    "rust_binary",
    "rust_library",
    "rust_proc_macro",
    "rust_test",
)

package(default_visibility = [
    # Public for visibility by "@raze__crate__version//" targets.
    #
    # Prefer access through "//third_party/rust/cargo", which limits external
    # visibility to explicit Cargo.toml dependencies.
    "//visibility:public",
])

licenses([
    "notice",  # MIT from expression "MIT OR Apache-2.0"
])

# Generated Targets

rust_binary(
    # Prefix bin name to disambiguate from (probable) collision with lib name
    # N.B.: The exact form of this is subject to change.
    name = "cargo_bin_gcc_shim",
    srcs = glob(["**/*.rs"]),
    crate_root = "src/bin/gcc-shim.rs",
    data = [],
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=gcc-shim",
        "manual",
    ],
    version = "1.0.78",
    # buildifier: leave-alone
    deps = [
        ":cc",
    ],
)

rust_library(
    name = "cc",
    srcs = glob(["**/*.rs"]),
    crate_root = "src/lib.rs",
    data = [],
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=cc",
        "manual",
    ],
    version = "1.0.78",
    # buildifier: leave-alone
    deps = [
    ],
)

# Unsupported target "cc_env" with type "test" omitted

# Unsupported target "cflags" with type "test" omitted

# Unsupported target "cxxflags" with type "test" omitted

# Unsupported target "test" with type "test" omitted
