* Use rsix to make system calls in Wasmtime. `rsix` is a system call wrapper crate that we use in `wasi-common`, which can provide the following advantages in the rest of Wasmtime: - It eliminates some `unsafe` blocks in Wasmtime's code. There's still an `unsafe` block in the library, but this way, the `unsafe` is factored out and clearly scoped. - And, it makes error handling more consistent, factoring out code for checking return values and `io::Error::last_os_error()`, and code that does `errno::set_errno(0)`. This doesn't cover *all* system calls; `rsix` doesn't implement signal-handling APIs, and this doesn't cover calls made through `std` or crates like `userfaultfd`, `rand`, and `region`.
59 lines
1.6 KiB
TOML
59 lines
1.6 KiB
TOML
[package]
|
|
name = "wasmtime-runtime"
|
|
version = "0.30.0"
|
|
authors = ["The Wasmtime Project Developers"]
|
|
description = "Runtime library support for Wasmtime"
|
|
documentation = "https://docs.rs/wasmtime-runtime"
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
categories = ["wasm"]
|
|
keywords = ["webassembly", "wasm"]
|
|
repository = "https://github.com/bytecodealliance/wasmtime"
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
wasmtime-environ = { path = "../environ", version = "0.30.0" }
|
|
wasmtime-fiber = { path = "../fiber", version = "0.30.0", optional = true }
|
|
region = "2.1.0"
|
|
libc = { version = "0.2.82", default-features = false }
|
|
log = "0.4.8"
|
|
memoffset = "0.6.0"
|
|
indexmap = "1.0.2"
|
|
thiserror = "1.0.4"
|
|
more-asserts = "0.2.1"
|
|
cfg-if = "1.0"
|
|
backtrace = "0.3.61"
|
|
lazy_static = "1.3.0"
|
|
rand = "0.8.3"
|
|
anyhow = "1.0.38"
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
mach = "0.3.2"
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
rsix = "0.23.2"
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
winapi = { version = "0.3.7", features = ["winbase", "memoryapi", "errhandlingapi", "handleapi"] }
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
userfaultfd = { version = "0.3.0", optional = true }
|
|
|
|
[build-dependencies]
|
|
cc = "1.0"
|
|
|
|
[badges]
|
|
maintenance = { status = "actively-developed" }
|
|
|
|
[features]
|
|
default = []
|
|
|
|
async = ["wasmtime-fiber"]
|
|
|
|
# Enables support for userfaultfd in the pooling allocator when building on Linux
|
|
uffd = ["userfaultfd"]
|
|
|
|
# Enables trap handling using POSIX signals instead of Mach exceptions on MacOS.
|
|
# It is useful for applications that do not bind their own exception ports and
|
|
# need portable signal handling.
|
|
posix-signals-on-macos = []
|