###############################################################################
# @generated
# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
# regenerate this file, run the following:
#
#     bazel run @//wasm_bindgen/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 OR Apache-2.0
# ])

rust_library(
    name = "libc",
    srcs = glob(["**/*.rs"]),
    compile_data = glob(
        include = ["**"],
        exclude = [
            "**/* *",
            ".tmp_git_root/**/*",
            "BUILD",
            "BUILD.bazel",
            "WORKSPACE",
            "WORKSPACE.bazel",
        ],
    ),
    crate_features = select({
        "@rules_rust//rust/platform:aarch64-apple-darwin": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-apple-ios": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-fuchsia": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-linux-android": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:armv7-linux-androideabi": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:i686-apple-darwin": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:i686-linux-android": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:i686-unknown-freebsd": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
            "default",
            "std",
        ],
        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
            "default",
            "std",
        ],
        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
            "default",
            "std",
        ],
        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
            "default",
            "std",
        ],
        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
            "default",
            "std",
        ],
        "@rules_rust//rust/platform:wasm32-wasi": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-apple-darwin": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-apple-ios": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-fuchsia": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-linux-android": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-unknown-none": [
            "default",
            "std",
        ],
        "//conditions:default": [],
    }),
    crate_root = "src/lib.rs",
    edition = "2015",
    rustc_flags = ["--cap-lints=allow"],
    tags = [
        "cargo-bazel",
        "crate-name=libc",
        "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:aarch64-unknown-nixos-gnu": [],
        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
        "@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-nixos-gnu": [],
        "@rules_rust//rust/platform:x86_64-unknown-none": [],
        "//conditions:default": ["@platforms//:incompatible"],
    }),
    version = "0.2.150",
    deps = [
        "@rules_rust_wasm_bindgen__libc-0.2.150//:build_script_build",
    ],
)

cargo_build_script(
    name = "libc_build_script",
    srcs = glob(["**/*.rs"]),
    crate_features = select({
        "@rules_rust//rust/platform:aarch64-apple-darwin": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-apple-ios": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-fuchsia": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-linux-android": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:armv7-linux-androideabi": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:i686-apple-darwin": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:i686-linux-android": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:i686-unknown-freebsd": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
            "default",
            "std",
        ],
        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
            "default",
            "std",
        ],
        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
            "default",
            "std",
        ],
        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
            "default",
            "std",
        ],
        "@rules_rust//rust/platform:wasm32-unknown-unknown": [
            "default",
            "std",
        ],
        "@rules_rust//rust/platform:wasm32-wasi": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-apple-darwin": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-apple-ios": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-fuchsia": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-linux-android": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
            "default",
            "extra_traits",
            "std",
        ],
        "@rules_rust//rust/platform:x86_64-unknown-none": [
            "default",
            "std",
        ],
        "//conditions:default": [],
    }),
    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=libc",
        "manual",
        "noclippy",
        "norustfmt",
    ],
    version = "0.2.150",
    visibility = ["//visibility:private"],
)

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