summaryrefslogtreecommitdiff
path: root/rand/Cargo.toml
diff options
context:
space:
mode:
Diffstat (limited to 'rand/Cargo.toml')
-rw-r--r--rand/Cargo.toml70
1 files changed, 38 insertions, 32 deletions
diff --git a/rand/Cargo.toml b/rand/Cargo.toml
index d802d36..ef344a6 100644
--- a/rand/Cargo.toml
+++ b/rand/Cargo.toml
@@ -1,39 +1,48 @@
[package]
name = "rand"
-version = "0.6.4"
+version = "0.7.0"
authors = ["The Rand Project Developers", "The Rust Project Developers"]
-license = "MIT/Apache-2.0"
+license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/rust-random/rand"
-documentation = "https://rust-random.github.io/rand"
+documentation = "https://rust-random.github.io/rand/"
homepage = "https://crates.io/crates/rand"
description = """
Random number generators and other randomness functionality.
"""
keywords = ["random", "rng"]
categories = ["algorithms", "no-std"]
-build = "build.rs"
exclude = ["/utils/*", "/.travis.yml", "/appveyor.yml", ".gitignore"]
+autobenches = true
+edition = "2018"
[badges]
travis-ci = { repository = "rust-random/rand" }
appveyor = { repository = "rust-random/rand" }
[features]
-default = ["std", "rand_os"] # without "std" rand uses libcore
+# Meta-features:
+default = ["std"] # without "std" rand uses libcore
nightly = ["simd_support"] # enables all features requiring nightly rust
-std = ["rand_core/std", "alloc", "rand_os"]
+serde1 = [] # does nothing, deprecated
+
+# Optional dependencies:
+std = ["rand_core/std", "rand_chacha/std", "alloc", "getrandom"]
alloc = ["rand_core/alloc"] # enables Vec and Box support (without std)
-i128_support = [] # enables i128 and u128 support
-simd_support = ["packed_simd"] # enables SIMD support
-serde1 = ["rand_core/serde1", "rand_isaac/serde1", "rand_xorshift/serde1"] # enables serialization for PRNGs
# re-export optional WASM dependencies to avoid breakage:
-wasm-bindgen = ["rand_os/wasm-bindgen"]
-stdweb = ["rand_os/stdweb"]
+wasm-bindgen = ["getrandom_package/wasm-bindgen"]
+stdweb = ["getrandom_package/stdweb"]
+getrandom = ["getrandom_package", "rand_core/getrandom"]
+
+# Configuration:
+simd_support = ["packed_simd"] # enables SIMD support
+small_rng = ["rand_pcg"] # enables SmallRng
[workspace]
members = [
"rand_core",
+ "rand_distr",
+ "rand_jitter",
"rand_os",
"rand_isaac",
"rand_chacha",
@@ -41,17 +50,14 @@ members = [
"rand_pcg",
"rand_xorshift",
"rand_xoshiro",
+ "tests/wasm_bindgen",
]
[dependencies]
-rand_core = { path = "rand_core", version = "0.3", default-features = false }
-rand_pcg = { path = "rand_pcg", version = "0.1" }
-rand_os = { path = "rand_os", version = "0.1", optional = true }
-# only for deprecations and benches:
-rand_isaac = { path = "rand_isaac", version = "0.1" }
-rand_chacha = { path = "rand_chacha", version = "0.1" }
-rand_hc = { path = "rand_hc", version = "0.1" }
-rand_xorshift = { path = "rand_xorshift", version = "0.1" }
+rand_core = { path = "rand_core", version = "0.5" }
+rand_pcg = { path = "rand_pcg", version = "0.2", optional = true }
+# Do not depend on 'getrandom_package' directly; use the 'getrandom' feature!
+getrandom_package = { version = "0.1.1", package = "getrandom", optional = true }
log = { version = "0.4", optional = true }
[dependencies.packed_simd]
@@ -62,23 +68,23 @@ optional = true
features = ["into_bits"]
[target.'cfg(unix)'.dependencies]
-libc = { version = "0.2", default-features = false }
+# Used for fork protection (reseeding.rs)
+libc = { version = "0.2.22", default-features = false }
-# TODO: check if all features are required
-[target.'cfg(windows)'.dependencies]
-winapi = { version = "0.3", features = ["minwindef", "ntsecapi", "profileapi", "winnt"] }
+# Emscripten does not support 128-bit integers, which are used by ChaCha code.
+# We work around this by using a different RNG.
+[target.'cfg(not(target_os = "emscripten"))'.dependencies]
+rand_chacha = { path = "rand_chacha", version = "0.2.1", default-features = false }
+[target.'cfg(target_os = "emscripten")'.dependencies]
+rand_hc = { path = "rand_hc", version = "0.2" }
[dev-dependencies]
-# This has a histogram implementation used for testing uniformity.
-average = "0.9.2"
+rand_pcg = { path = "rand_pcg", version = "0.2" }
# Only for benches:
-rand_xoshiro = { path = "rand_xoshiro", version = "0.1" }
-
-[build-dependencies]
-autocfg = "0.1"
+rand_hc = { path = "rand_hc", version = "0.2" }
+rand_xoshiro = { path = "rand_xoshiro", version = "0.3" }
+rand_isaac = { path = "rand_isaac", version = "0.2" }
+rand_xorshift = { path = "rand_xorshift", version = "0.2" }
[package.metadata.docs.rs]
all-features = true
-
-[patch.crates-io]
-rand_core = { path = "rand_core", version = "0.3", default-features = false }