[package] name = "wasmtime-crypto" version.workspace = true authors.workspace = true description = "Command-line interface for Wasmtime with the crypto extensions" license = "Apache-2.0 WITH LLVM-exception" documentation = "https://bytecodealliance.github.io/wasmtime/cli.html" categories = ["wasm"] keywords = ["webassembly", "wasm"] repository = "https://github.com/wasm-crypto/wasmtime-crypto" readme = "README.md" edition.workspace = true default-run = "wasmtime" rust-version.workspace = true [lib] doctest = false [[bin]] name = "wasmtime" path = "src/bin/wasmtime.rs" doc = false [dependencies] wasmtime = { workspace = true, features = ['cache', 'cranelift'] } wasmtime-cache = { workspace = true } wasmtime-cli-flags = { workspace = true } wasmtime-cranelift = { workspace = true } wasmtime-environ = { workspace = true } wasmtime-explorer = { workspace = true } wasmtime-wast = { workspace = true } wasmtime-wasi = { workspace = true, features = ["exit"] } wasmtime-wasi-nn = { workspace = true, optional = true } wasmtime-wasi-threads = { workspace = true, optional = true } wasmtime-wasi-http = { workspace = true, optional = true } clap = { workspace = true, features = ["color", "suggestions", "derive"] } anyhow = { workspace = true } target-lexicon = { workspace = true } humantime = "2.0.0" once_cell = { workspace = true } listenfd = "1.0.0" wat = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } wasmparser = { workspace = true } wasm-encoder = { workspace = true } wasi-crypto = { workspace = true } [target.'cfg(unix)'.dependencies] rustix = { workspace = true, features = ["mm", "param"] } [dev-dependencies] # depend again on wasmtime to activate its default features for tests wasmtime = { workspace = true, features = [ 'component-model', 'async', 'default', 'winch', ] } env_logger = { workspace = true } log = { workspace = true } filecheck = { workspace = true } tempfile = { workspace = true } test-programs = { path = "crates/test-programs" } wasmtime-runtime = { workspace = true } tokio = { version = "1.8.0", features = [ "rt", "time", "macros", "rt-multi-thread", ] } wast = { workspace = true } criterion = "0.5.0" num_cpus = "1.13.0" memchr = "2.4" async-trait = { workspace = true } wat = { workspace = true } rayon = "1.5.0" wasmtime-wast = { workspace = true, features = ['component-model'] } wasmtime-component-util = { workspace = true } component-macro-test = { path = "crates/misc/component-macro-test" } component-test-util = { workspace = true } bstr = "1.6.0" libc = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } walkdir = { workspace = true } [target.'cfg(windows)'.dev-dependencies] windows-sys = { workspace = true, features = ["Win32_System_Memory"] } [build-dependencies] anyhow = { workspace = true } [profile.release.build-override] opt-level = 0 [workspace] resolver = '2' members = [ "cranelift", "cranelift/isle/fuzz", "cranelift/isle/islec", "cranelift/serde", "crates/bench-api", "crates/c-api", "crates/cli-flags", "crates/environ/fuzz", "crates/jit-icache-coherence", "crates/test-programs/wasi-tests", "crates/test-programs/wasi-http-tests", "crates/test-programs/command-tests", "crates/test-programs/reactor-tests", "crates/wasi-preview1-component-adapter", "crates/wasi-preview1-component-adapter/verify", "crates/winch", "examples/fib-debug/wasm", "examples/wasi/wasm", "examples/tokio/wasm", "fuzz", "winch", "winch/codegen", ] exclude = [ 'crates/wasi-common/WASI/tools/witx-cli', 'docs/rust_wasi_markdown_parser', ] [workspace.package] version = "12.0.2" authors = ["The Wasmtime Project Developers"] edition = "2021" rust-version = "1.66.0" [workspace.dependencies] wasmtime = { path = "crates/wasmtime", version = "12.0.2", default-features = false } wasmtime-cache = { path = "crates/cache", version = "=12.0.2" } wasmtime-cli-flags = { path = "crates/cli-flags", version = "=12.0.2" } wasmtime-cranelift = { path = "crates/cranelift", version = "=12.0.2" } wasmtime-cranelift-shared = { path = "crates/cranelift-shared", version = "=12.0.2" } wasmtime-winch = { path = "crates/winch", version = "=12.0.2" } wasmtime-environ = { path = "crates/environ", version = "=12.0.2" } wasmtime-explorer = { path = "crates/explorer", version = "=12.0.2" } wasmtime-fiber = { path = "crates/fiber", version = "=12.0.2" } wasmtime-types = { path = "crates/types", version = "12.0.2" } wasmtime-jit = { path = "crates/jit", version = "=12.0.2" } wasmtime-jit-debug = { path = "crates/jit-debug", version = "=12.0.2" } wasmtime-runtime = { path = "crates/runtime", version = "=12.0.2" } wasmtime-wast = { path = "crates/wast", version = "=12.0.2" } wasmtime-wasi = { path = "crates/wasi", version = "12.0.2" } wasmtime-wasi-http = { path = "crates/wasi-http", version = "=12.0.2" } wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "12.0.2" } wasmtime-wasi-threads = { path = "crates/wasi-threads", version = "12.0.2" } wasmtime-component-util = { path = "crates/component-util", version = "=12.0.2" } wasmtime-component-macro = { path = "crates/component-macro", version = "=12.0.2" } wasmtime-asm-macros = { path = "crates/asm-macros", version = "=12.0.2" } wasmtime-versioned-export-macros = { path = "crates/versioned-export-macros", version = "=12.0.2" } component-test-util = { path = "crates/misc/component-test-util" } component-fuzz-util = { path = "crates/misc/component-fuzz-util" } wiggle = { path = "crates/wiggle", version = "=12.0.2", default-features = false } wiggle-macro = { path = "crates/wiggle/macro", version = "=12.0.2" } wiggle-generate = { path = "crates/wiggle/generate", version = "=12.0.2" } wasi-common = { path = "crates/wasi-common", version = "=12.0.2" } wasi-tokio = { path = "crates/wasi-common/tokio", version = "=12.0.2" } wasi-cap-std-sync = { path = "crates/wasi-common/cap-std-sync", version = "=12.0.2" } wasmtime-fuzzing = { path = "crates/fuzzing" } wasmtime-jit-icache-coherence = { path = "crates/jit-icache-coherence", version = "=12.0.2" } wasmtime-wit-bindgen = { path = "crates/wit-bindgen", version = "=12.0.2" } cranelift-wasm = { path = "cranelift/wasm", version = "0.99.2" } cranelift-codegen = { path = "cranelift/codegen", version = "0.99.2" } cranelift-frontend = { path = "cranelift/frontend", version = "0.99.2" } cranelift-entity = { path = "cranelift/entity", version = "0.99.2" } cranelift-native = { path = "cranelift/native", version = "0.99.2" } cranelift-module = { path = "cranelift/module", version = "0.99.2" } cranelift-interpreter = { path = "cranelift/interpreter", version = "0.99.2" } cranelift-reader = { path = "cranelift/reader", version = "0.99.2" } cranelift-filetests = { path = "cranelift/filetests" } cranelift-object = { path = "cranelift/object", version = "0.99.2" } cranelift-jit = { path = "cranelift/jit", version = "0.99.2" } cranelift-fuzzgen = { path = "cranelift/fuzzgen" } cranelift-bforest = { path = "cranelift/bforest", version = "0.99.2" } cranelift-control = { path = "cranelift/control", version = "0.99.2" } cranelift = { path = "cranelift/umbrella", version = "0.99.2" } winch-codegen = { path = "winch/codegen", version = "=0.10.2" } winch-filetests = { path = "winch/filetests" } winch-test-macros = { path = "winch/test-macros" } wasi-preview1-component-adapter = { path = "crates/wasi-preview1-component-adapter" } byte-array-literals = { path = "crates/wasi-preview1-component-adapter/byte-array-literals" } # Bytecode Alliance maintained dependencies: # --------------------------- regalloc2 = "0.9.2" # cap-std family: target-lexicon = { version = "0.12.3", default-features = false, features = ["std"] } cap-std = "2.0.0" cap-rand = { version = "2.0.0", features = ["small_rng"] } cap-fs-ext = "2.0.0" cap-time-ext = "2.0.0" cap-tempfile = "2.0.0" fs-set-times = "0.20.0" system-interface = { version = "0.26.0", features = ["cap_std_impls"] } io-lifetimes = { version = "2.0.2", default-features = false } io-extras = "0.18.0" rustix = "0.38.4" # wit-bindgen: wit-bindgen = { version = "0.9.0", default-features = false } # wasm-tools family: wasmparser = "0.110.0" wat = "1.0.69" wast = "62.0.1" wasmprinter = "0.2.62" wasm-encoder = "0.31.1" wasm-smith = "0.12.13" wasm-mutate = "0.2.30" wit-parser = "0.9.2" wit-component = "0.13.1" # Non-Bytecode Alliance maintained dependencies: # -------------------------- object = { version = "0.31.1", default-features = false, features = ['read_core', 'elf', 'std'] } gimli = { version = "0.27.0", default-features = false, features = ['read', 'std'] } anyhow = "1.0.22" windows-sys = "0.48.0" env_logger = "0.10" log = { version = "0.4.8", default-features = false } clap = { version = "4.3.12", features = ["color", "suggestions", "derive"] } hashbrown = "0.13.2" capstone = "0.9.0" once_cell = "1.12.0" smallvec = { version = "1.6.1", features = ["union"] } tracing = "0.1.26" bitflags = "2.0" thiserror = "1.0.43" async-trait = "0.1.71" heck = "0.4" similar = "2.1.0" toml = "0.5.9" serde = "1.0.94" serde_json = "1.0.80" glob = "0.3.0" libfuzzer-sys = "0.4.0" walkdir = "2.3.3" cfg-if = "1.0" tempfile = "3.1.0" filecheck = "0.5.0" libc = "0.2.60" file-per-thread-logger = "0.2.0" tokio = { version = "1.26.0" } bytes = "1.4" futures = { version = "0.3.27", default-features = false } indexmap = "2.0.0" pretty_env_logger = "0.5.0" syn = "2.0.25" wasi-crypto = { path = "ext/wasi-crypto-host-functions/rust", version = "0.1", features = [ "wasmtime", ] } [features] default = [ "jitdump", "wasmtime/wat", "wasmtime/parallel-compilation", "vtune", "wasi-nn", "wasi-threads", "wasi-http", "pooling-allocator", ] jitdump = ["wasmtime/jitdump"] vtune = ["wasmtime/vtune"] wasi-nn = ["dep:wasmtime-wasi-nn"] wasi-threads = ["dep:wasmtime-wasi-threads"] wasi-http = ["dep:wasmtime-wasi-http"] pooling-allocator = [ "wasmtime/pooling-allocator", "wasmtime-cli-flags/pooling-allocator", ] all-arch = ["wasmtime/all-arch"] posix-signals-on-macos = ["wasmtime/posix-signals-on-macos"] component-model = [ "wasmtime/component-model", "wasmtime-wast/component-model", "wasmtime-cli-flags/component-model", ] winch = ["wasmtime/winch"] [[test]] name = "host_segfault" harness = false [[example]] name = "tokio" required-features = ["wasmtime-wasi/tokio"] [[bench]] name = "instantiation" harness = false [[bench]] name = "thread_eager_init" harness = false [[bench]] name = "trap" harness = false [[bench]] name = "call" harness = false [[bench]] name = "wasi" harness = false [profile.release.package.wasi-preview1-component-adapter] opt-level = 's' strip = 'debuginfo' [profile.dev.package.wasi-preview1-component-adapter] # Make dev look like a release build since this adapter module won't work with # a debug build that uses data segments and such. incremental = false opt-level = 's' # Omit assertions, which include failure messages which require string # initializers. debug-assertions = false # Omit integer overflow checks, which include failure messages which require # string initializers. overflow-checks = false