Path: blob/main/crates/wasi-common/Cargo.toml
1691 views
[package]1name = "wasi-common"2version.workspace = true3authors.workspace = true4description = "WASI implementation in Rust"5license = "Apache-2.0 WITH LLVM-exception"6categories = ["wasm"]7keywords = ["webassembly", "wasm"]8repository = "https://github.com/bytecodealliance/wasmtime"9readme = "README.md"10edition.workspace = true11rust-version.workspace = true12include = ["src/**/*", "tests/**/*", "witx", "README.md", "LICENSE", "build.rs"]1314[lints]15workspace = true1617[dependencies]18anyhow = { workspace = true, features = ['std'] }19thiserror = { workspace = true }20wiggle = { workspace = true }21tracing = { workspace = true }22cap-std = { workspace = true }23cap-rand = { workspace = true }24bitflags = { workspace = true }25log = { workspace = true }2627# Optional, enabled by wasmtime feature:28wasmtime = { workspace = true, optional = true, features = ['runtime'] }29# Optional, enabled by sync feature:30cap-fs-ext = { workspace = true, optional = true }31cap-time-ext = { workspace = true, optional = true }32fs-set-times = { workspace = true, optional = true }33system-interface = { workspace = true, features = ["cap_std_impls"], optional = true }34io-lifetimes = { workspace = true, optional = true }35# Optional, enabled by tokio feature:36tokio = { workspace = true, features = [ "rt", "fs", "time", "io-util", "net", "io-std", "rt-multi-thread"], optional = true }3738# Optional, enabled by exit feature:39libc = { workspace = true, optional = true }4041[target.'cfg(unix)'.dependencies]42rustix = { workspace = true, features = ["fs", "event"] }4344[target.'cfg(windows)'.dependencies]45io-extras = { workspace = true }46rustix = { workspace = true, features = ["net"] }4748[target.'cfg(windows)'.dependencies.windows-sys]49workspace = true50features = [51"Win32_Foundation",52"Win32_Networking_WinSock",53]5455[dev-dependencies]56wasi-common = { path = '.', features = ['tokio'] }57tempfile = { workspace = true }58test-log = { workspace = true }59tracing-subscriber = { workspace = true }60wasmtime = { workspace = true, features = ['cranelift', 'async', 'runtime'] }61test-programs-artifacts = { workspace = true }62tokio = { workspace = true, features = ['macros', 'rt-multi-thread'] }6364[features]65default = ["trace_log", "wasmtime", "sync"]66# This feature enables the `tracing` logs in the calls to target the `log`67# ecosystem of backends (e.g. `env_logger`. Disable this if you want to use68# `tracing-subscriber`.69trace_log = [ "wiggle/tracing_log", "tracing/log" ]70# Need to make the wiggle_metadata feature available to consumers of this71# crate if they want the snapshots to have metadata available.72wiggle_metadata = ["wiggle/wiggle_metadata"]73# This feature enables integration with wasmtime.74wasmtime = [75"dep:wasmtime",76"wiggle/wasmtime",77]78# This feature enables an implementation of the Wasi traits for a79# synchronous wasmtime embedding.80sync = [81"dep:cap-fs-ext",82"dep:cap-time-ext",83"dep:fs-set-times",84"dep:system-interface",85"dep:io-lifetimes",86]87tokio = [88"sync",89"wasmtime/async",90"wiggle/wasmtime_async",91"dep:tokio",92]93exit = [ "wasmtime", "dep:libc" ]9495[package.metadata.docs.rs]96all-features = true9798[[test]]99name = "all"100101102