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

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/Apache-2.0
# ])

rust_library(
    name = "httpbis",
    srcs = glob(["**/*.rs"]),
    compile_data = glob(
        include = ["**"],
        exclude = [
            "**/* *",
            ".tmp_git_root/**/*",
            "BUILD",
            "BUILD.bazel",
            "WORKSPACE",
            "WORKSPACE.bazel",
        ],
    ),
    crate_root = "src/lib.rs",
    edition = "2015",
    rustc_flags = ["--cap-lints=allow"],
    tags = [
        "cargo-bazel",
        "crate-name=httpbis",
        "manual",
        "noclippy",
        "norustfmt",
    ],
    target_compatible_with = select({
        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
        "@rules_rust//rust/platform:aarch64-apple-ios": [],
        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
        "@rules_rust//rust/platform:aarch64-fuchsia": [],
        "@rules_rust//rust/platform:aarch64-linux-android": [],
        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
        "@rules_rust//rust/platform:i686-apple-darwin": [],
        "@rules_rust//rust/platform:i686-linux-android": [],
        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
        "@rules_rust//rust/platform:wasm32-wasi": [],
        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
        "@rules_rust//rust/platform:x86_64-apple-ios": [],
        "@rules_rust//rust/platform:x86_64-fuchsia": [],
        "@rules_rust//rust/platform:x86_64-linux-android": [],
        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:x86_64-unknown-none": [],
        "//conditions:default": ["@platforms//:incompatible"],
    }),
    version = "0.7.0",
    deps = [
        "@rules_rust_proto__bytes-0.4.12//:bytes",
        "@rules_rust_proto__futures-0.1.31//:futures",
        "@rules_rust_proto__futures-cpupool-0.1.8//:futures_cpupool",
        "@rules_rust_proto__httpbis-0.7.0//:build_script_build",
        "@rules_rust_proto__log-0.4.17//:log",
        "@rules_rust_proto__net2-0.2.38//:net2",
        "@rules_rust_proto__tls-api-0.1.22//:tls_api",
        "@rules_rust_proto__tls-api-stub-0.1.22//:tls_api_stub",
        "@rules_rust_proto__tokio-core-0.1.18//:tokio_core",
        "@rules_rust_proto__tokio-io-0.1.13//:tokio_io",
        "@rules_rust_proto__tokio-timer-0.1.2//:tokio_timer",
        "@rules_rust_proto__tokio-tls-api-0.1.22//:tokio_tls_api",
        "@rules_rust_proto__void-1.0.2//:void",
    ] + select({
        "@rules_rust//rust/platform:aarch64-apple-darwin": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:aarch64-apple-ios": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:aarch64-fuchsia": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:aarch64-linux-android": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:armv7-linux-androideabi": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:i686-apple-darwin": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:i686-linux-android": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:i686-unknown-freebsd": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:x86_64-apple-darwin": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:x86_64-apple-ios": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:x86_64-fuchsia": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:x86_64-linux-android": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
            "@rules_rust_proto__tokio-uds-0.1.7//:tokio_uds",  # cfg(unix)
            "@rules_rust_proto__unix_socket-0.5.0//:unix_socket",  # cfg(unix)
        ],
        "//conditions:default": [],
    }),
)

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

alias(
    name = "build_script_build",
    actual = "httpbis_build_script",
    tags = ["manual"],
)
