# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
name = "getrandom"
version = "0.2.12"
authors = ["The Rand Project Developers"]
exclude = [".*"]
description = "A small cross-platform library for retrieving random data from system source"
documentation = "https://docs.rs/getrandom"
readme = "README.md"
categories = [
    "os",
    "no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-random/getrandom"

[package.metadata.cross.target.x86_64-unknown-netbsd]
pre-build = [
    "mkdir -p /tmp/netbsd",
    "curl https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.2/amd64/binary/sets/base.tar.xz -O",
    "tar -C /tmp/netbsd -xJf base.tar.xz",
    "cp /tmp/netbsd/usr/lib/libexecinfo.so /usr/local/x86_64-unknown-netbsd/lib",
    "rm base.tar.xz",
    "rm -rf /tmp/netbsd",
]

[package.metadata.docs.rs]
features = [
    "std",
    "custom",
]
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[dependencies.cfg-if]
version = "1"

[dependencies.compiler_builtins]
version = "0.1"
optional = true

[dependencies.core]
version = "1.0"
optional = true
package = "rustc-std-workspace-core"

[features]
custom = []
js = [
    "wasm-bindgen",
    "js-sys",
]
rdrand = []
rustc-dep-of-std = [
    "compiler_builtins",
    "core",
    "libc/rustc-dep-of-std",
    "wasi/rustc-dep-of-std",
]
std = []
test-in-browser = []

[target."cfg(all(any(target_arch = \"wasm32\", target_arch = \"wasm64\"), target_os = \"unknown\"))".dependencies.js-sys]
version = "0.3"
optional = true

[target."cfg(all(any(target_arch = \"wasm32\", target_arch = \"wasm64\"), target_os = \"unknown\"))".dependencies.wasm-bindgen]
version = "0.2.62"
optional = true
default-features = false

[target."cfg(all(any(target_arch = \"wasm32\", target_arch = \"wasm64\"), target_os = \"unknown\"))".dev-dependencies.wasm-bindgen-test]
version = "0.3.18"

[target."cfg(target_os = \"wasi\")".dependencies.wasi]
version = "0.11"
default-features = false

[target."cfg(unix)".dependencies.libc]
version = "0.2.149"
default-features = false
