###############################################################################
# @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",  # MPL-2.0
# ])

rust_library(
    name = "serialport",
    srcs = glob(["**/*.rs"]),
    compile_data = glob(
        include = ["**"],
        exclude = [
            "**/* *",
            "BUILD",
            "BUILD.bazel",
            "WORKSPACE",
            "WORKSPACE.bazel",
        ],
    ),
    crate_features = [
        "default",
        "libudev",
    ],
    crate_root = "src/lib.rs",
    edition = "2018",
    rustc_flags = ["--cap-lints=allow"],
    tags = [
        "cargo-bazel",
        "crate-name=serialport",
        "manual",
        "noclippy",
        "norustfmt",
    ],
    version = "4.2.0",
    deps = select({
        "@rules_rust//rust/platform:aarch64-apple-darwin": [
            "@crate_index__CoreFoundation-sys-0.1.4//:CoreFoundation_sys",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__IOKit-sys-0.1.5//:IOKit_sys",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__mach-0.3.2//:mach",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:aarch64-apple-ios": [
            "@crate_index__CoreFoundation-sys-0.1.4//:CoreFoundation_sys",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__IOKit-sys-0.1.5//:IOKit_sys",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__mach-0.3.2//:mach",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
            "@crate_index__CoreFoundation-sys-0.1.4//:CoreFoundation_sys",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__IOKit-sys-0.1.5//:IOKit_sys",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__mach-0.3.2//:mach",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:aarch64-linux-android": [
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
            "@crate_index__regex-1.7.1//:regex",  # cfg(windows)
            "@crate_index__winapi-0.3.9//:winapi",  # cfg(windows)
        ],
        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__libudev-0.3.0//:libudev",  # cfg(all(target_os = "linux", not(target_env = "musl")))
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__libudev-0.3.0//:libudev",  # cfg(all(target_os = "linux", not(target_env = "musl")))
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:armv7-linux-androideabi": [
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__libudev-0.3.0//:libudev",  # cfg(all(target_os = "linux", not(target_env = "musl")))
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:i686-apple-darwin": [
            "@crate_index__CoreFoundation-sys-0.1.4//:CoreFoundation_sys",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__IOKit-sys-0.1.5//:IOKit_sys",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__mach-0.3.2//:mach",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:i686-linux-android": [
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
            "@crate_index__regex-1.7.1//:regex",  # cfg(windows)
            "@crate_index__winapi-0.3.9//:winapi",  # cfg(windows)
        ],
        "@rules_rust//rust/platform:i686-unknown-freebsd": [
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__libudev-0.3.0//:libudev",  # cfg(all(target_os = "linux", not(target_env = "musl")))
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__libudev-0.3.0//:libudev",  # cfg(all(target_os = "linux", not(target_env = "musl")))
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__libudev-0.3.0//:libudev",  # cfg(all(target_os = "linux", not(target_env = "musl")))
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:x86_64-apple-darwin": [
            "@crate_index__CoreFoundation-sys-0.1.4//:CoreFoundation_sys",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__IOKit-sys-0.1.5//:IOKit_sys",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__mach-0.3.2//:mach",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:x86_64-apple-ios": [
            "@crate_index__CoreFoundation-sys-0.1.4//:CoreFoundation_sys",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__IOKit-sys-0.1.5//:IOKit_sys",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__mach-0.3.2//:mach",  # cfg(any(target_os = "ios", target_os = "macos"))
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:x86_64-linux-android": [
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
            "@crate_index__regex-1.7.1//:regex",  # cfg(windows)
            "@crate_index__winapi-0.3.9//:winapi",  # cfg(windows)
        ],
        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
            "@crate_index__bitflags-1.3.2//:bitflags",  # cfg(unix)
            "@crate_index__cfg-if-1.0.0//:cfg_if",  # cfg(unix)
            "@crate_index__libudev-0.3.0//:libudev",  # cfg(all(target_os = "linux", not(target_env = "musl")))
            "@crate_index__nix-0.24.3//:nix",  # cfg(unix)
        ],
        "//conditions:default": [],
    }),
)
