Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bytecodealliance
GitHub Repository: bytecodealliance/wasmtime
Path: blob/main/crates/wiggle/Cargo.toml
3073 views
1
[package]
2
name = "wiggle"
3
version.workspace = true
4
authors = ["Pat Hickey <[email protected]>", "Jakub Konka <[email protected]>", "Alex Crichton <[email protected]>"]
5
edition.workspace = true
6
rust-version.workspace = true
7
license = "Apache-2.0 WITH LLVM-exception"
8
description = "Runtime components of wiggle code generator"
9
categories = ["wasm"]
10
keywords = ["webassembly", "wasm"]
11
repository = "https://github.com/bytecodealliance/wasmtime"
12
include = ["src/**/*", "README.md", "LICENSE"]
13
14
[lints]
15
workspace = true
16
17
[dependencies]
18
thiserror = { workspace = true }
19
witx = { version = "0.9.1", optional = true }
20
wiggle-macro = { workspace = true }
21
tracing = { workspace = true }
22
bitflags = { workspace = true }
23
wasmtime = { workspace = true, optional = true }
24
wasmtime-environ = { workspace = true }
25
26
[dev-dependencies]
27
wiggle-test = { path = "test-helpers" }
28
proptest = "1.0.0"
29
tokio = { version = "1", features = ["rt-multi-thread","time", "macros"] }
30
# Explicitly enable default features so that tests pass even testing only this
31
# crate in isolation and we can't accidentally rely on cargo feature resolution
32
# to enable the runtime and compiler.
33
wasmtime = { workspace = true, features = ["default"] }
34
35
[[test]]
36
name = "atoms_async"
37
path = "tests/atoms_async.rs"
38
required-features = ["wasmtime_async"]
39
40
[[test]]
41
name = "wasmtime_async"
42
path = "tests/wasmtime_async.rs"
43
required-features = ["wasmtime_async", "wasmtime/wat"]
44
45
[[test]]
46
name = "wasmtime_sync"
47
path = "tests/wasmtime_sync.rs"
48
required-features = ["wasmtime/wat"]
49
50
[[test]]
51
name = "wasmtime_integration"
52
path = "tests/wasmtime_integration.rs"
53
required-features = ["wasmtime/wat"]
54
55
56
[features]
57
# The wiggle proc-macro emits some code (inside `pub mod metadata`) guarded
58
# by the `wiggle_metadata` feature flag. We use this feature flag so that
59
# users of wiggle are not forced to take a direct dependency on the `witx`
60
# crate unless they want it.
61
wiggle_metadata = ['witx', "wiggle-macro/wiggle_metadata"]
62
63
# The `tracing` crate can use the `log` ecosystem of backends with this
64
# non-default feature. We don't need to provide this by default, but its
65
# useful for users that don't want to use `tracing-subscriber` to get
66
# the logs out of wiggle-generated libraries.
67
tracing_log = [ "tracing/log" ]
68
69
# This feature enables integration with wasmtime.
70
wasmtime = ["dep:wasmtime"]
71
72
# Support for async in the wasmtime crates.
73
wasmtime_async = [ "wasmtime/async" ]
74
75
default = ["wiggle_metadata", "wasmtime", "wasmtime_async" ]
76
77