Files
wasmtime/Cargo.toml
Jakub Konka 667f272edd Rewrite majority of impl reusing libstd (#34)
* Rewrite FdEntry reusing as much libstd as possible

* Use the new FdEntry, FdObject, Descriptor struct in *nix impl

* Adapt Windows impl

* Remove unnecessary check in fd_read

Check `host_nread == 0` caused premature FdEntry closure and removal
which ultimately was resulting in an attempt at "double closing" of
the same file descriptor at the end of the Wasm program:
...
fd_close(fd=4)
    -> errno=WASI_ESUCCESS
fd_close(fd=4)
    -> errno=WASI_EBADF

* Use libstd vectored IO

* Use std:🧵:yield_now to implement sched_yield

* Add logging to integration tests

* Add preliminary support for host-specific errors

* Operate on std::fs::File in path_get on *nix

* Add cross-platform RawString type encapsulating OsStrExt

* Fix Windows build

* Update Travis and README to Rust v1.36

* Remove unused winx::handle::close helper

* Refactor Descriptor into raw handles/fds

* Strip readlinkat in prep for path_get host-independent

* Strip openat in prep for path_get host-independent

* Move ManuallyDrop up one level from Descriptor to FdObject

* Make (c)iovec host fns unsafe

* Swap unwraps/expects for Results in fdentry_impl on nix

* Rewrite fd_pread/write and implement for Win

* Use File::sync_all to impl fd_sync

* Use File::sync_data to impl fd_datasync

* Rewind file cursor after fd_p{read, write} on Windows

* Add fd_p{read, write} tests

* Handle errors instead of panicking in path_get

* Use File::set_len to impl fd_allocate

* Add test for fd_allocate

* Replace all panics with Results

* Document the point of RawString
2019-07-15 15:34:28 -07:00

52 lines
1.3 KiB
TOML

[package]
name = "wasi-common"
version = "0.1.0"
authors = [
"Adam C. Foltzer <acfoltzer@fastly.com>",
"Frank Denis <github@pureftpd.org>",
"Jakub Konka <kubkon@jakubkonka.com>",
"Dan Gohman <sunfish@mozilla.com>"]
edition = "2018"
license = "Apache-2.0 WITH LLVM-exception"
[dependencies]
wasi-common-cbindgen = { path = "wasi-common-cbindgen" }
failure = "0.1"
libc = "0.2"
rand = "0.6"
cfg-if = "0.1.9"
log = "0.4"
[target.'cfg(unix)'.dependencies]
nix = "0.13"
[target.'cfg(windows)'.dependencies]
winx = { path = "winx" }
winapi = "0.3"
[dev-dependencies]
wasmtime-runtime = { git = "https://github.com/cranestation/wasmtime" }
wasmtime-environ = { git = "https://github.com/cranestation/wasmtime" }
wasmtime-jit = { git = "https://github.com/cranestation/wasmtime" }
wasmtime-wasi = { git = "https://github.com/cranestation/wasmtime" }
cranelift-codegen = "0.33.0"
cranelift-entity = "0.33.0"
cranelift-wasm = "0.33.0"
cranelift-native = "0.33.0"
target-lexicon = "0.3.0"
pretty_env_logger = "0.3.0"
[patch."https://github.com/CraneStation/wasi-common"]
wasi-common = { path = "." }
[build-dependencies]
cfg-if = "0.1.9"
[lib]
name = "wasi_common"
crate-type = ["rlib", "staticlib", "cdylib"]
[workspace]
members = ["wasi-common-cbindgen"]
exclude = ["winx"]