-
Notifications
You must be signed in to change notification settings - Fork 246
/
Cargo.toml
89 lines (76 loc) · 3.11 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
[package]
name = "wasmparser"
version.workspace = true
authors = ["Yury Delendik <[email protected]>"]
license.workspace = true
repository = "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wasmparser"
homepage = "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wasmparser"
keywords = ["parser", "WebAssembly", "wasm"]
description = """
A simple event-driven library for parsing WebAssembly binary files.
"""
edition.workspace = true
exclude = ["benches/*.wasm"]
rust-version.workspace = true
[lints]
workspace = true
[package.metadata.docs.rs]
all-features = true
[dependencies]
bitflags = "2.4.1"
indexmap = { workspace = true, optional = true }
semver = { workspace = true, optional = true }
hashbrown = { workspace = true, optional = true }
serde = { workspace = true, optional = true }
[dev-dependencies]
anyhow = { workspace = true }
criterion = { workspace = true }
wat = { path = "../wat" }
wast = { path = "../wast" }
rayon = { workspace = true }
once_cell = "1.13.0"
wasm-encoder = { path = "../wasm-encoder" }
env_logger.workspace = true
log.workspace = true
[[bench]]
name = "benchmark"
harness = false
[features]
default = ['std', 'validate', 'serde', 'features', 'component-model', 'hash-collections', 'simd']
# A feature which enables implementations of `std::error::Error` as appropriate
# along with other convenience APIs. This additionally uses the standard
# library's source of randomness for seeding hash maps.
std = ['indexmap?/std']
# Tells the `wasmparser` crate to provide (and use) hash-based collections internally.
#
# Disabling this crate feature allows to drop `hashbrown`, `indexmap` dependencies
# entirely, reducing compilation times and shrink binary sizes.
hash-collections = [
'dep:hashbrown',
'dep:indexmap',
]
# Tells the `wasmparser` crate to prefer using its built-in btree-based collections
# even if `hash-collections` is enabled.
prefer-btree-collections = []
# A feature that enables validating WebAssembly files. This is enabled by
# default but not required if you're only parsing a file, for example, as
# opposed to validating all of its contents.
validate = []
# Enable Serialize/Deserialize implementations for types in
# `wasmparser::collections`
serde = ['dep:serde', 'indexmap?/serde', 'hashbrown?/serde']
# A feature that enables the guts of the `WasmFeatures` type in this crate.
#
# This feature is enabled by default. When disabled this crate does not support
# runtime configuration of WebAssembly features. Instead the set of WebAssembly
# features/proposals support are fixed at compile time to `wasmparser`'s default
# set of supported features.
features = []
# A feature that enables parsing and validating the component-model proposal for
# WebAssembly. This is enabled by default but if your use case is only
# interested in working with core modules then this feature can be disabled.
component-model = ['dep:semver']
# A feature that enables parsing and validating the `simd` and `relaxed-simd`
# proposals for WebAssembly. This is enabled by default but if your use case is
# only interested in working on non-SIMD code then this feature can be disabled.
simd = []