Leverage Cargo's workspace inheritance feature (#4905)

* Leverage Cargo's workspace inheritance feature

This commit is an attempt to reduce the complexity of the Cargo
manifests in this repository with Cargo's workspace-inheritance feature
becoming stable in Rust 1.64.0. This feature allows specifying fields in
the root workspace `Cargo.toml` which are then reused throughout the
workspace. For example this PR shares definitions such as:

* All of the Wasmtime-family of crates now use `version.workspace =
  true` to have a single location which defines the version number.
* All crates use `edition.workspace = true` to have one default edition
  for the entire workspace.
* Common dependencies are listed in `[workspace.dependencies]` to avoid
  typing the same version number in a lot of different places (e.g. the
  `wasmparser = "0.89.0"` is now in just one spot.

Currently the workspace-inheritance feature doesn't allow having two
different versions to inherit, so all of the Cranelift-family of crates
still manually specify their version. The inter-crate dependencies,
however, are shared amongst the root workspace.

This feature can be seen as a method of "preprocessing" of sorts for
Cargo manifests. This will help us develop Wasmtime but shouldn't have
any actual impact on the published artifacts -- everything's dependency
lists are still the same.

* Fix wasi-crypto tests
This commit is contained in:
Alex Crichton
2022-09-26 11:30:01 -05:00
committed by GitHub
parent af226d37c2
commit 7b311004b5
63 changed files with 520 additions and 446 deletions

View File

@@ -77,7 +77,7 @@ jobs:
submodules: true
- uses: ./.github/actions/install-rust
with:
toolchain: nightly-2022-04-27
toolchain: nightly-2022-09-07
# Build C API documentation
- run: sudo apt-get update -y && sudo apt-get install -y libclang1-9 libclang-cpp9
@@ -194,7 +194,7 @@ jobs:
# flags to rustc.
- uses: ./.github/actions/install-rust
with:
toolchain: nightly-2022-04-27
toolchain: nightly-2022-09-07
- run: cargo install cargo-fuzz --vers "^0.11"
# Install the OCaml packages necessary for fuzz targets that use the
# `wasm-spec-interpreter`.
@@ -345,9 +345,8 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
- run: rustup update stable && rustup default stable
- run: rustup target add wasm32-wasi
- name: Install Rust
run: rustup update stable && rustup default stable
- run: ./ci/run-wasi-crypto-example.sh
env:
RUST_BACKTRACE: 1
@@ -359,9 +358,8 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
- uses: ./.github/actions/install-rust
- run: rustup target add wasm32-wasi
- name: Install Rust
run: rustup update stable && rustup default stable
- run: cargo test --benches --release
# Verify that cranelift's code generation is deterministic
@@ -372,8 +370,7 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
- name: Install Rust
run: rustup update stable && rustup default stable
- uses: ./.github/actions/install-rust
- run: cd cranelift/codegen && cargo build --features all-arch
- run: ci/ensure_deterministic_build.sh
@@ -408,11 +405,11 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
- uses: ./.github/actions/install-rust
# On one builder produce the source tarball since there's no need to produce
# it everywhere
- run: ./ci/build-src-tarball.sh
if: matrix.build == 'x86_64-linux'
- uses: ./.github/actions/install-rust
- uses: ./.github/actions/binary-compatible-builds
with:
name: ${{ matrix.build }}

14
Cargo.lock generated
View File

@@ -439,7 +439,7 @@ dependencies = [
[[package]]
name = "component-fuzz-util"
version = "0.1.0"
version = "0.0.0"
dependencies = [
"anyhow",
"arbitrary",
@@ -459,7 +459,7 @@ dependencies = [
[[package]]
name = "component-test-util"
version = "0.1.0"
version = "0.0.0"
dependencies = [
"anyhow",
"arbitrary",
@@ -578,7 +578,7 @@ dependencies = [
[[package]]
name = "cranelift-filetests"
version = "0.73.0"
version = "0.0.0"
dependencies = [
"anyhow",
"cranelift-codegen",
@@ -612,7 +612,7 @@ dependencies = [
[[package]]
name = "cranelift-fuzzgen"
version = "0.75.0"
version = "0.0.0"
dependencies = [
"anyhow",
"arbitrary",
@@ -3380,7 +3380,7 @@ dependencies = [
[[package]]
name = "wasmtime-bench-api"
version = "0.19.0"
version = "2.0.0"
dependencies = [
"anyhow",
"cap-std",
@@ -3397,7 +3397,7 @@ dependencies = [
[[package]]
name = "wasmtime-c-api"
version = "0.19.0"
version = "2.0.0"
dependencies = [
"anyhow",
"cap-std",
@@ -3602,7 +3602,7 @@ dependencies = [
[[package]]
name = "wasmtime-fuzzing"
version = "0.19.0"
version = "0.0.0"
dependencies = [
"anyhow",
"arbitrary",

View File

@@ -1,7 +1,7 @@
[package]
name = "wasmtime-cli"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "Command-line interface for Wasmtime"
license = "Apache-2.0 WITH LLVM-exception"
documentation = "https://bytecodealliance.github.io/wasmtime/cli.html"
@@ -9,7 +9,7 @@ categories = ["wasm"]
keywords = ["webassembly", "wasm"]
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
default-run = "wasmtime"
[lib]
@@ -21,54 +21,53 @@ path = "src/bin/wasmtime.rs"
doc = false
[dependencies]
wasmtime = { path = "crates/wasmtime", version = "2.0.0", default-features = false, features = ['cache', 'cranelift'] }
wasmtime-cache = { path = "crates/cache", version = "=2.0.0" }
wasmtime-cli-flags = { path = "crates/cli-flags", version = "=2.0.0" }
wasmtime-cranelift = { path = "crates/cranelift", version = "=2.0.0" }
wasmtime-environ = { path = "crates/environ", version = "=2.0.0" }
wasmtime-wast = { path = "crates/wast", version = "=2.0.0" }
wasmtime-wasi = { path = "crates/wasi", version = "2.0.0" }
wasmtime-wasi-crypto = { path = "crates/wasi-crypto", version = "2.0.0", optional = true }
wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "2.0.0", optional = true }
clap = { version = "3.2.0", features = ["color", "suggestions", "derive"] }
anyhow = "1.0.19"
target-lexicon = { version = "0.12.0", default-features = false }
wasmtime = { workspace = true, features = ['cache', 'cranelift'] }
wasmtime-cache = { workspace = true }
wasmtime-cli-flags = { workspace = true }
wasmtime-cranelift = { workspace = true }
wasmtime-environ = { workspace = true }
wasmtime-wast = { workspace = true }
wasmtime-wasi = { workspace = true }
wasmtime-wasi-crypto = { workspace = true, optional = true }
wasmtime-wasi-nn = { workspace = true, optional = true }
clap = { workspace = true, features = ["color", "suggestions", "derive"] }
anyhow = { workspace = true }
target-lexicon = { workspace = true }
libc = "0.2.60"
humantime = "2.0.0"
once_cell = "1.12"
once_cell = { workspace = true }
listenfd = "1.0.0"
[target.'cfg(unix)'.dependencies]
rustix = { version = "0.35.10", features = ["mm", "param"] }
rustix = { workspace = true, features = ["mm", "param"] }
[dev-dependencies]
# depend again on wasmtime to activate its default features for tests
wasmtime = { path = "crates/wasmtime", version = "2.0.0", features = ['component-model'] }
env_logger = "0.9.0"
log = "0.4.8"
wasmtime = { workspace = true, features = ['component-model', 'async', 'default'] }
env_logger = { workspace = true }
log = { workspace = true }
filecheck = "0.5.0"
tempfile = "3.1.0"
test-programs = { path = "crates/test-programs" }
wasmtime-runtime = { path = "crates/runtime" }
wasmtime-runtime = { workspace = true }
tokio = { version = "1.8.0", features = ["rt", "time", "macros", "rt-multi-thread"] }
wast = "46.0.0"
wast = { workspace = true }
criterion = "0.3.4"
num_cpus = "1.13.0"
memchr = "2.4"
async-trait = "0.1"
wat = "1.0.48"
once_cell = "1.9.0"
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" }
wasmtime-wast = { path = "crates/wast", version = "=2.0.0", features = ['component-model'] }
component-test-util = { path = "crates/misc/component-test-util" }
wasmtime-component-util = { path = "crates/component-util" }
component-test-util = { workspace = true }
[target.'cfg(windows)'.dev-dependencies]
windows-sys = { version = "0.36.0", features = ["Win32_System_Memory"] }
windows-sys = { workspace = true, features = ["Win32_System_Memory"] }
[build-dependencies]
anyhow = "1.0.19"
anyhow = { workspace = true }
[profile.release.build-override]
opt-level = 0
@@ -95,6 +94,76 @@ exclude = [
'docs/rust_wasi_markdown_parser'
]
[workspace.package]
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
edition = "2021"
[workspace.dependencies]
wasmtime = { path = "crates/wasmtime", version = "2.0.0", default-features = false }
wasmtime-cache = { path = "crates/cache", version = "=2.0.0" }
wasmtime-cli-flags = { path = "crates/cli-flags", version = "=2.0.0" }
wasmtime-cranelift = { path = "crates/cranelift", version = "=2.0.0" }
wasmtime-environ = { path = "crates/environ", version = "=2.0.0" }
wasmtime-fiber = { path = "crates/fiber", version = "=2.0.0" }
wasmtime-types = { path = "crates/types", version = "2.0.0" }
wasmtime-jit = { path = "crates/jit", version = "=2.0.0" }
wasmtime-jit-debug = { path = "crates/jit-debug", version = "=2.0.0" }
wasmtime-runtime = { path = "crates/runtime", version = "=2.0.0" }
wasmtime-wast = { path = "crates/wast", version = "=2.0.0" }
wasmtime-wasi = { path = "crates/wasi", version = "2.0.0" }
wasmtime-wasi-crypto = { path = "crates/wasi-crypto", version = "2.0.0" }
wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "2.0.0" }
wasmtime-component-util = { path = "crates/component-util", version = "=2.0.0" }
wasmtime-component-macro = { path = "crates/component-macro", version = "=2.0.0" }
wasmtime-asm-macros = { path = "crates/asm-macros", version = "=2.0.0" }
component-test-util = { path = "crates/misc/component-test-util" }
component-fuzz-util = { path = "crates/misc/component-fuzz-util" }
wiggle = { path = "crates/wiggle", version = "=2.0.0", default-features = false }
wiggle-macro = { path = "crates/wiggle/macro", version = "=2.0.0" }
wiggle-generate = { path = "crates/wiggle/generate", version = "=2.0.0" }
wasi-common = { path = "crates/wasi-common", version = "=2.0.0" }
wasi-tokio = { path = "crates/wasi-common/tokio", version = "=2.0.0" }
wasi-cap-std-sync = { path = "crates/wasi-common/cap-std-sync", version = "=2.0.0" }
wasmtime-fuzzing = { path = "crates/fuzzing" }
cranelift-wasm = { path = "cranelift/wasm", version = "0.89.0" }
cranelift-codegen = { path = "cranelift/codegen", version = "0.89.0" }
cranelift-frontend = { path = "cranelift/frontend", version = "0.89.0" }
cranelift-entity = { path = "cranelift/entity", version = "0.89.0" }
cranelift-native = { path = "cranelift/native", version = "0.89.0" }
cranelift-module = { path = "cranelift/module", version = "0.89.0" }
cranelift-interpreter = { path = "cranelift/interpreter", version = "0.89.0" }
cranelift-reader = { path = "cranelift/reader", version = "0.89.0" }
cranelift-filetests = { path = "cranelift/filetests" }
cranelift-object = { path = "cranelift/object", version = "0.89.0" }
cranelift-jit = { path = "cranelift/jit", version = "0.89.0" }
cranelift-preopt = { path = "cranelift/preopt", version = "0.89.0" }
cranelift-fuzzgen = { path = "cranelift/fuzzgen" }
cranelift-bforest = { path = "cranelift/bforest", version = "0.89.0" }
cranelift = { path = "cranelift/umbrella", version = "0.89.0" }
target-lexicon = { version = "0.12.3", default-features = false }
anyhow = "1.0.22"
wasmparser = "0.89.0"
wat = "1.0.48"
wast = "46.0.0"
wasmprinter = "0.2.39"
wasm-encoder = "0.16.0"
wasm-smith = "0.11.4"
wasm-mutate = "0.2.7"
windows-sys = "0.36.0"
env_logger = "0.9"
rustix = "0.35.10"
log = { version = "0.4.8", default-features = false }
object = { version = "0.29", default-features = false, features = ['read_core', 'elf', 'std'] }
gimli = { version = "0.26.0", default-features = false, features = ['read', 'std'] }
clap = { version = "3.2.0", features = ["color", "suggestions", "derive"] }
hashbrown = "0.12"
cap-std = "0.26.0"
once_cell = "1.12.0"
smallvec = { version = "1.6.1", features = ["union"] }
[features]
default = [
"jitdump",

View File

@@ -7,7 +7,7 @@ license = "Apache-2.0 WITH LLVM-exception"
documentation = "https://github.com/bytecodealliance/wasmtime/blob/main/cranelift/docs/index.md"
repository = "https://github.com/bytecodealliance/wasmtime"
publish = false
edition = "2021"
edition.workspace = true
[[bin]]
name = "clif-util"
@@ -20,32 +20,32 @@ harness = false
[dependencies]
cfg-if = "1.0"
cranelift-codegen = { path = "codegen", version = "0.89.0" }
cranelift-entity = { path = "entity", version = "0.89.0" }
cranelift-interpreter = { path = "interpreter", version = "0.89.0" }
cranelift-reader = { path = "reader", version = "0.89.0" }
cranelift-frontend = { path = "frontend", version = "0.89.0" }
cranelift-wasm = { path = "wasm", version = "0.89.0", optional = true }
cranelift-native = { path = "native", version = "0.89.0" }
cranelift-filetests = { path = "filetests", version = "0.73.0" }
cranelift-module = { path = "module", version = "0.89.0" }
cranelift-object = { path = "object", version = "0.89.0" }
cranelift-jit = { path = "jit", version = "0.89.0" }
cranelift-preopt = { path = "preopt", version = "0.89.0" }
cranelift = { path = "umbrella", version = "0.89.0" }
cranelift-codegen = { workspace = true }
cranelift-entity = { workspace = true }
cranelift-interpreter = { workspace = true }
cranelift-reader = { workspace = true }
cranelift-frontend = { workspace = true }
cranelift-wasm = { workspace = true, optional = true }
cranelift-native = { workspace = true }
cranelift-filetests = { workspace = true }
cranelift-module = { workspace = true }
cranelift-object = { workspace = true }
cranelift-jit = { workspace = true }
cranelift-preopt = { workspace = true }
cranelift = { workspace = true }
filecheck = "0.5.0"
log = "0.4.8"
log = { workspace = true }
termcolor = "1.1.2"
capstone = { version = "0.9.0", optional = true }
wat = { version = "1.0.47", optional = true }
target-lexicon = { version = "0.12", features = ["std"] }
wat = { workspace = true, optional = true }
target-lexicon = { workspace = true, features = ["std"] }
pretty_env_logger = "0.4.0"
rayon = { version = "1", optional = true }
indicatif = "0.13.0"
thiserror = "1.0.15"
walkdir = "2.2"
anyhow = "1.0.32"
clap = { version = "3.2.0", features = ["derive"] }
anyhow = { workspace = true }
clap = { workspace = true }
[features]
default = ["disas", "wasm", "cranelift-codegen/all-arch", "cranelift-codegen/trace-log", "souper-harvest"]

View File

@@ -9,7 +9,7 @@ repository = "https://github.com/bytecodealliance/wasmtime"
categories = ["no-std"]
readme = "README.md"
keywords = ["btree", "forest", "set", "map"]
edition = "2021"
edition.workspace = true
[dependencies]
cranelift-entity = { path = "../entity", version = "0.89.0", default-features = false }

View File

@@ -10,21 +10,21 @@ categories = ["no-std"]
readme = "README.md"
keywords = ["compile", "compiler", "jit"]
build = "build.rs"
edition = "2021"
edition.workspace = true
[dependencies]
arrayvec = "0.7"
bumpalo = "3"
cranelift-codegen-shared = { path = "./shared", version = "0.89.0" }
cranelift-entity = { path = "../entity", version = "0.89.0" }
cranelift-bforest = { path = "../bforest", version = "0.89.0" }
hashbrown = { version = "0.12", optional = true }
target-lexicon = "0.12"
log = { version = "0.4.6", default-features = false }
cranelift-entity = { workspace = true }
cranelift-bforest = { workspace = true }
hashbrown = { workspace = true, optional = true }
target-lexicon = { workspace = true }
log = { workspace = true }
serde = { version = "1.0.94", features = ["derive"], optional = true }
bincode = { version = "1.2.1", optional = true }
gimli = { version = "0.26.0", default-features = false, features = ["write"], optional = true }
smallvec = { version = "1.6.1", features = ["union"] }
gimli = { workspace = true, features = ["write"], optional = true }
smallvec = { workspace = true }
regalloc2 = { version = "0.4.1", features = ["checker"] }
souper-ir = { version = "2.1.0", optional = true }
sha2 = { version = "0.9.0", optional = true }

View File

@@ -6,7 +6,7 @@ description = "Metaprogram for cranelift-codegen code generator library"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
# FIXME(rust-lang/cargo#9300): uncomment once that lands
# [package.metadata.docs.rs]

View File

@@ -6,7 +6,7 @@ description = "For code shared between cranelift-codegen-meta and cranelift-code
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
[dependencies]
# Since this is a shared dependency of several packages, please strive to keep this dependency-free

View File

@@ -9,7 +9,7 @@ repository = "https://github.com/bytecodealliance/wasmtime"
categories = ["no-std"]
readme = "README.md"
keywords = ["entity", "set", "map"]
edition = "2021"
edition.workspace = true
[dependencies]
serde = { version = "1.0.94", features = ["derive"], optional = true }

View File

@@ -1,29 +1,29 @@
[package]
name = "cranelift-filetests"
authors = ["The Cranelift Project Developers"]
version = "0.73.0"
version = "0.0.0"
description = "Test driver and implementations of the filetest commands"
license = "Apache-2.0 WITH LLVM-exception"
documentation = "https://docs.rs/cranelift-filetests"
repository = "https://github.com/bytecodealliance/wasmtime"
publish = false
edition = "2021"
edition.workspace = true
[dependencies]
cranelift-codegen = { path = "../codegen", version = "0.89.0", features = ["testing_hooks"] }
cranelift-frontend = { path = "../frontend", version = "0.89.0" }
cranelift-interpreter = { path = "../interpreter", version = "0.89.0" }
cranelift-native = { path = "../native", version = "0.89.0" }
cranelift-reader = { path = "../reader", version = "0.89.0" }
cranelift-preopt = { path = "../preopt", version = "0.89.0" }
cranelift-jit = { path = "../jit", version = "0.89.0" }
cranelift-module = { path = "../module", version = "0.89.0" }
cranelift-codegen = { workspace = true, features = ["testing_hooks"] }
cranelift-frontend = { workspace = true }
cranelift-interpreter = { workspace = true }
cranelift-native = { workspace = true }
cranelift-reader = { workspace = true }
cranelift-preopt = { workspace = true }
cranelift-jit = { workspace = true }
cranelift-module = { workspace = true }
file-per-thread-logger = "0.1.2"
filecheck = "0.5.0"
gimli = { version = "0.26.0", default-features = false, features = ["read"] }
log = "0.4.6"
gimli = { workspace = true }
log = { workspace = true }
num_cpus = "1.8.0"
target-lexicon = "0.12"
target-lexicon = { workspace = true }
thiserror = "1.0.15"
anyhow = "1.0.32"
anyhow = { workspace = true }
similar = "2.1.0"

View File

@@ -8,14 +8,14 @@ documentation = "https://docs.rs/cranelift-frontend"
categories = ["no-std"]
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
[dependencies]
cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false }
target-lexicon = "0.12"
log = { version = "0.4.6", default-features = false }
hashbrown = { version = "0.12", optional = true }
smallvec = { version = "1.6.1", features = ["union"] }
cranelift-codegen = { workspace = true, default-features = false }
target-lexicon = { workspace = true }
log = { workspace = true }
hashbrown = { workspace = true, optional = true }
smallvec = { workspace = true }
[features]
default = ["std"]

View File

@@ -1,18 +1,18 @@
[package]
name = "cranelift-fuzzgen"
version = "0.75.0"
version = "0.0.0"
authors = ["The Wasmtime Project Developers"]
description = "Cranelift module generator"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
publish = false
[dependencies]
cranelift = { path = "../umbrella", version = "0.89.0" }
cranelift-native = { path = "../native", version = "0.89.0" }
cranelift = { workspace = true }
cranelift-native = { workspace = true }
anyhow = "1.0.19"
anyhow = { workspace = true }
arbitrary = "1.0.0"

View File

@@ -8,21 +8,21 @@ documentation = "https://docs.rs/cranelift-interpreter"
categories = ["no-std"]
license = "Apache-2.0 WITH LLVM-exception"
readme = "README.md"
edition = "2021"
edition.workspace = true
[dependencies]
cranelift-codegen = { path = "../codegen", version = "0.89.0" }
cranelift-entity = { path = "../entity", version = "0.89.0" }
log = { version = "0.4.8", default-features = false }
smallvec = { version = "1.6.1", features = ["union"] }
cranelift-codegen = { workspace = true }
cranelift-entity = { workspace = true }
log = { workspace = true }
smallvec = { workspace = true }
thiserror = "1.0.15"
[target.x86_64-pc-windows-gnu.dependencies]
libm = "0.2.4"
[dev-dependencies]
cranelift-frontend = { path = "../frontend", version = "0.89.0" }
cranelift-reader = { path = "../reader", version = "0.89.0" }
cranelift-frontend = { workspace = true }
cranelift-reader = { workspace = true }
[badges]
maintenance = { status = "experimental" }

View File

@@ -3,16 +3,16 @@ name = "isle-fuzz"
version = "0.0.0"
authors = ["Automatically generated"]
publish = false
edition = "2021"
edition.workspace = true
[package.metadata]
cargo-fuzz = true
[dependencies]
env_logger = { version = "0.9.0", default-features = false }
env_logger = { workspace = true }
cranelift-isle = { path = "../isle" }
libfuzzer-sys = "0.4"
log = "0.4.14"
log = { workspace = true }
[[bin]]
name = "compile"

View File

@@ -1,7 +1,7 @@
[package]
authors = ["The Cranelift Project Developers"]
description = "ISLE: Instruction Selection and Lowering Expressions. A domain-specific language for instruction selection in Cranelift."
edition = "2021"
edition.workspace = true
license = "Apache-2.0 WITH LLVM-exception"
name = "cranelift-isle"
readme = "../README.md"
@@ -9,7 +9,7 @@ repository = "https://github.com/bytecodealliance/wasmtime/tree/main/cranelift/i
version = "0.89.0"
[dependencies]
log = { version = "0.4", optional = true }
log = { workspace = true, optional = true }
miette = { version = "5.1.0", optional = true }
rayon = "^1.5"

View File

@@ -2,12 +2,12 @@
name = "islec"
version = "0.1.0"
authors = ["The Cranelift Project Developers"]
edition = "2021"
edition.workspace = true
license = "Apache-2.0 WITH LLVM-exception"
publish = false
[dependencies]
cranelift-isle = { version = "*", path = "../isle/", features = ["miette-errors", "logging"] }
env_logger = { version = "0.9", default-features = false }
env_logger = { workspace = true }
miette = { version = "5.1.0", features = ["fancy"] }
clap = { version = "3.2.0", features = ["derive"] }
clap = { workspace = true }

View File

@@ -7,22 +7,22 @@ repository = "https://github.com/bytecodealliance/wasmtime"
documentation = "https://docs.rs/cranelift-jit"
license = "Apache-2.0 WITH LLVM-exception"
readme = "README.md"
edition = "2021"
edition.workspace = true
[dependencies]
cranelift-module = { path = "../module", version = "0.89.0" }
cranelift-native = { path = "../native", version = "0.89.0" }
cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false, features = ["std"] }
cranelift-entity = { path = "../entity", version = "0.89.0" }
anyhow = "1.0"
cranelift-module = { workspace = true }
cranelift-native = { workspace = true }
cranelift-codegen = { workspace = true, default-features = false, features = ["std"] }
cranelift-entity = { workspace = true }
anyhow = { workspace = true }
region = "2.2.0"
libc = { version = "0.2.42" }
target-lexicon = "0.12"
target-lexicon = { workspace = true }
memmap2 = { version = "0.2.1", optional = true }
log = { version = "0.4.6", default-features = false }
log = { workspace = true }
[target.'cfg(windows)'.dependencies.windows-sys]
version = "0.36.0"
workspace = true
features = [
"Win32_Foundation",
"Win32_System_LibraryLoader",
@@ -34,9 +34,9 @@ selinux-fix = ['memmap2']
default = []
[dev-dependencies]
cranelift = { path = "../umbrella", version = "0.89.0" }
cranelift-frontend = { path = "../frontend", version = "0.89.0" }
cranelift-entity = { path = "../entity", version = "0.89.0" }
cranelift = { workspace = true }
cranelift-frontend = { workspace = true }
cranelift-entity = { workspace = true }
[badges]
maintenance = { status = "experimental" }

View File

@@ -8,12 +8,12 @@ documentation = "https://docs.rs/cranelift-module"
categories = ["no-std"]
license = "Apache-2.0 WITH LLVM-exception"
readme = "README.md"
edition = "2021"
edition.workspace = true
[dependencies]
cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false }
hashbrown = { version = "0.12", optional = true }
anyhow = "1.0"
cranelift-codegen = { workspace = true, default-features = false }
hashbrown = { workspace = true, optional = true }
anyhow = { workspace = true }
[features]
default = ["std"]

View File

@@ -8,11 +8,11 @@ repository = "https://github.com/bytecodealliance/wasmtime"
categories = ["no-std"]
license = "Apache-2.0 WITH LLVM-exception"
readme = "README.md"
edition = "2021"
edition.workspace = true
[dependencies]
cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false }
target-lexicon = "0.12"
cranelift-codegen = { workspace = true, default-features = false }
target-lexicon = { workspace = true }
[target.'cfg(target_arch = "s390x")'.dependencies]
libc = "0.2.95"

View File

@@ -7,19 +7,19 @@ repository = "https://github.com/bytecodealliance/wasmtime"
documentation = "https://docs.rs/cranelift-object"
license = "Apache-2.0 WITH LLVM-exception"
readme = "README.md"
edition = "2021"
edition.workspace = true
[dependencies]
cranelift-module = { path = "../module", version = "0.89.0" }
cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false, features = ["std"] }
object = { version = "0.29.0", default-features = false, features = ["write"] }
target-lexicon = "0.12"
anyhow = "1.0"
log = { version = "0.4.6", default-features = false }
cranelift-module = { workspace = true }
cranelift-codegen = { workspace = true, default-features = false, features = ["std"] }
object = { workspace = true, features = ["write"] }
target-lexicon = { workspace = true }
anyhow = { workspace = true }
log = { workspace = true }
[dev-dependencies]
cranelift-frontend = { path = "../frontend", version = "0.89.0" }
cranelift-entity = { path = "../entity", version = "0.89.0" }
cranelift-frontend = { workspace = true }
cranelift-entity = { workspace = true }
[badges]
maintenance = { status = "experimental" }

View File

@@ -9,7 +9,7 @@ repository = "https://github.com/bytecodealliance/wasmtime"
categories = ["no-std"]
readme = "README.md"
keywords = ["optimize", "compile", "compiler", "jit"]
edition = "2021"
edition.workspace = true
[dependencies]
cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false }

View File

@@ -7,12 +7,12 @@ license = "Apache-2.0 WITH LLVM-exception"
documentation = "https://docs.rs/cranelift-reader"
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
[dependencies]
cranelift-codegen = { path = "../codegen", version = "0.89.0" }
smallvec = { version = "1.6.1", features = ["union"] }
target-lexicon = "0.12"
cranelift-codegen = { workspace = true }
smallvec = { workspace = true }
target-lexicon = { workspace = true }
[badges]
maintenance = { status = "experimental" }

View File

@@ -7,17 +7,17 @@ repository = "https://github.com/bytecodealliance/wasmtime"
license = "Apache-2.0 WITH LLVM-exception"
readme = "README.md"
keywords = ["webassembly", "serde"]
edition = "2021"
edition.workspace = true
[[bin]]
name = "clif-json"
path = "src/clif-json.rs"
[dependencies]
clap = { version = "3.2.0", features = ["derive"] }
clap = { workspace = true }
serde_json = "1.0.26"
cranelift-codegen = { path = "../codegen", version = "0.89.0", features = ["enable-serde"] }
cranelift-reader = { path = "../reader", version = "0.89.0" }
cranelift-codegen = { workspace = true, features = ["enable-serde"] }
cranelift-reader = { workspace = true }
[badges]
maintenance = { status = "experimental" }

View File

@@ -9,7 +9,7 @@ repository = "https://github.com/bytecodealliance/wasmtime"
categories = ["no-std"]
readme = "README.md"
keywords = ["compile", "compiler", "jit"]
edition = "2021"
edition.workspace = true
[dependencies]
cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false }

View File

@@ -9,24 +9,23 @@ license = "Apache-2.0 WITH LLVM-exception"
categories = ["no-std", "wasm"]
readme = "README.md"
keywords = ["webassembly", "wasm"]
edition = "2021"
edition.workspace = true
[dependencies]
wasmparser = { version = "0.89.0", default-features = false }
cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false }
cranelift-entity = { path = "../entity", version = "0.89.0" }
cranelift-frontend = { path = "../frontend", version = "0.89.0", default-features = false }
wasmtime-types = { path = "../../crates/types", version = "2.0.0" }
hashbrown = { version = "0.12", optional = true }
wasmparser = { workspace = true }
cranelift-codegen = { workspace = true, default-features = false }
cranelift-entity = { workspace = true }
cranelift-frontend = { workspace = true, default-features = false }
wasmtime-types = { workspace = true }
hashbrown = { workspace = true, optional = true }
itertools = "0.10.0"
log = { version = "0.4.6", default-features = false }
log = { workspace = true }
serde = { version = "1.0.94", features = ["derive"], optional = true }
smallvec = { version = "1.6.1", features = ["union"] }
[dev-dependencies]
wat = "1.0.47"
target-lexicon = "0.12"
cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false }
wat = { workspace = true }
target-lexicon = { workspace = true }
[features]
default = ["std"]

View File

@@ -1,11 +1,11 @@
[package]
authors = ["The Wasmtime Project Developers"]
description = "Macros for defining asm functions in Wasmtime"
edition = "2021"
edition.workspace = true
license = "Apache-2.0 WITH LLVM-exception"
name = "wasmtime-asm-macros"
repository = "https://github.com/bytecodealliance/wasmtime"
version = "2.0.0"
version.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@@ -1,12 +1,12 @@
[package]
name = "wasmtime-bench-api"
version = "0.19.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "Exposes a benchmarking API for the Wasmtime runtime"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
publish = false
[lib]
@@ -16,19 +16,19 @@ test = false
doctest = false
[dependencies]
anyhow = "1.0"
anyhow = { workspace = true }
shuffling-allocator = { version = "1.1.1", optional = true }
target-lexicon = "0.12"
wasmtime = { path = "../wasmtime", default-features = true }
wasmtime-cli-flags = { path = "../cli-flags", default-features = true }
wasmtime-wasi = { path = "../wasi" }
wasmtime-wasi-crypto = { path = "../wasi-crypto", optional = true }
wasmtime-wasi-nn = { path = "../wasi-nn", optional = true }
wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync" }
cap-std = "0.26.0"
target-lexicon = { workspace = true }
wasmtime = { workspace = true }
wasmtime-cli-flags = { workspace = true, default-features = true }
wasmtime-wasi = { workspace = true }
wasmtime-wasi-crypto = { workspace = true, optional = true }
wasmtime-wasi-nn = { workspace = true, optional = true }
wasi-cap-std-sync = { workspace = true }
cap-std = { workspace = true }
[dev-dependencies]
wat = "1.0.45"
wat = { workspace = true }
[features]
default = ["shuffling-allocator", "wasi-nn"]

View File

@@ -1,12 +1,12 @@
[package]
name = "wasmtime-c-api"
version = "0.19.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "C API to expose the Wasmtime runtime"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
publish = false
[lib]
@@ -17,19 +17,19 @@ test = false
doctest = false
[dependencies]
env_logger = "0.9"
anyhow = "1.0"
once_cell = "1.3"
wasmtime = { path = "../wasmtime", default-features = false, features = ['cranelift'] }
env_logger = { workspace = true }
anyhow = { workspace = true }
once_cell = { workspace = true }
wasmtime = { workspace = true, features = ['cranelift'] }
wasmtime-c-api-macros = { path = "macros" }
# Optional dependency for the `wat2wasm` API
wat = { version = "1.0.47", optional = true }
wat = { workspace = true, optional = true }
# Optional dependencies for the `wasi` feature
wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync", optional = true }
wasmtime-wasi = { path = "../wasi", optional = true }
cap-std = { version = "0.26.0", optional = true }
wasi-cap-std-sync = { workspace = true, optional = true }
wasmtime-wasi = { workspace = true, optional = true }
cap-std = { workspace = true, optional = true }
[features]
default = ['jitdump', 'wat', 'wasi', 'cache', 'parallel-compilation', 'memory-init-cow']

View File

@@ -2,7 +2,7 @@
name = "wasmtime-c-api-macros"
version = "0.19.0"
authors = ["The Wasmtime Project Developers"]
edition = "2021"
edition.workspace = true
publish = false
[lib]

View File

@@ -1,36 +1,36 @@
[package]
name = "wasmtime-cache"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "Support for automatic module caching with Wasmtime"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
documentation = "https://docs.rs/wasmtime-cache/"
edition = "2021"
edition.workspace = true
[dependencies]
anyhow = "1.0"
anyhow = { workspace = true }
base64 = "0.13.0"
bincode = "1.1.4"
directories-next = "2.0"
file-per-thread-logger = "0.1.1"
log = { version = "0.4.8", default-features = false }
log = { workspace = true }
serde = { version = "1.0.94", features = ["derive"] }
sha2 = "0.9.0"
toml = "0.5.5"
zstd = { version = "0.11.1", default-features = false }
[target.'cfg(target_os = "windows")'.dependencies.windows-sys]
version = "0.36.0"
workspace = true
features = [
"Win32_System_Threading",
]
[target.'cfg(not(target_os = "windows"))'.dependencies]
rustix = { version = "0.35.10", features = ["process"] }
rustix = { workspace = true, features = ["process"] }
[dev-dependencies]
filetime = "0.2.7"
once_cell = "1.12.0"
once_cell = { workspace = true }
pretty_env_logger = "0.4.0"
tempfile = "3"

View File

@@ -1,20 +1,20 @@
[package]
name = "wasmtime-cli-flags"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "Exposes common CLI flags used for running Wasmtime"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
documentation = "https://docs.rs/wasmtime-cache/"
edition = "2021"
edition.workspace = true
[dependencies]
anyhow = "1.0.19"
clap = { version = "3.2.0", features = ["color", "suggestions", "derive"] }
anyhow = { workspace = true }
clap = { workspace = true }
file-per-thread-logger = "0.1.1"
pretty_env_logger = "0.4.0"
rayon = "1.5.0"
wasmtime = { path = "../wasmtime", version = "2.0.0", default-features = false }
wasmtime = { workspace = true }
[features]
default = [

View File

@@ -1,14 +1,14 @@
[package]
name = "wasmtime-component-macro"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "Macros for deriving component interface types from Rust types"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
documentation = "https://docs.rs/wasmtime-component-macro/"
categories = ["wasm"]
keywords = ["webassembly", "wasm"]
edition = "2021"
edition.workspace = true
[lib]
proc-macro = true
@@ -17,7 +17,7 @@ proc-macro = true
proc-macro2 = "1.0"
quote = "1.0"
syn = { version = "1.0", features = ["extra-traits"] }
wasmtime-component-util = { path = "../component-util", version = "=2.0.0" }
wasmtime-component-util = { workspace = true }
[badges]
maintenance = { status = "actively-developed" }

View File

@@ -1,11 +1,11 @@
[package]
name = "wasmtime-component-util"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "Utility types and functions to support the component model in Wasmtime"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
documentation = "https://docs.rs/wasmtime-component-util/"
categories = ["wasm"]
keywords = ["webassembly", "wasm"]
edition = "2021"
edition.workspace = true

View File

@@ -1,28 +1,28 @@
[package]
name = "wasmtime-cranelift"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "Integration between Cranelift and Wasmtime"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
documentation = "https://docs.rs/wasmtime-cranelift/"
categories = ["wasm"]
keywords = ["webassembly", "wasm"]
edition = "2021"
edition.workspace = true
[dependencies]
anyhow = "1.0"
log = "0.4"
wasmtime-environ = { path = "../environ", version = "=2.0.0" }
cranelift-wasm = { path = "../../cranelift/wasm", version = "0.89.0" }
cranelift-codegen = { path = "../../cranelift/codegen", version = "0.89.0" }
cranelift-frontend = { path = "../../cranelift/frontend", version = "0.89.0" }
cranelift-entity = { path = "../../cranelift/entity", version = "0.89.0" }
cranelift-native = { path = "../../cranelift/native", version = "0.89.0" }
wasmparser = "0.89.0"
target-lexicon = "0.12"
gimli = { version = "0.26.0", default-features = false, features = ['read', 'std'] }
object = { version = "0.29.0", default-features = false, features = ['write'] }
anyhow = { workspace = true }
log = { workspace = true }
wasmtime-environ = { workspace = true }
cranelift-wasm = { workspace = true }
cranelift-codegen = { workspace = true }
cranelift-frontend = { workspace = true }
cranelift-entity = { workspace = true }
cranelift-native = { workspace = true }
wasmparser = { workspace = true }
target-lexicon = { workspace = true }
gimli = { workspace = true }
object = { workspace = true, features = ['write'] }
thiserror = "1.0.4"
[features]

View File

@@ -1,36 +1,36 @@
[package]
name = "wasmtime-environ"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "Standalone environment support for WebAsssembly code in Cranelift"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
documentation = "https://docs.rs/wasmtime-environ/"
categories = ["wasm"]
keywords = ["webassembly", "wasm"]
edition = "2021"
edition.workspace = true
[dependencies]
anyhow = "1.0"
cranelift-entity = { path = "../../cranelift/entity", version = "0.89.0" }
wasmtime-types = { path = "../types", version = "2.0.0" }
wasmparser = "0.89.0"
anyhow = { workspace = true }
cranelift-entity = { workspace = true }
wasmtime-types = { workspace = true }
wasmparser = { workspace = true }
indexmap = { version = "1.0.2", features = ["serde-1"] }
thiserror = "1.0.4"
serde = { version = "1.0.94", features = ["derive"] }
log = { version = "0.4.8", default-features = false }
gimli = { version = "0.26.0", default-features = false, features = ['read'] }
object = { version = "0.29.0", default-features = false, features = ['read_core', 'write_core', 'elf'] }
target-lexicon = "0.12"
wasm-encoder = { version = "0.16.0", optional = true }
wasmprinter = { version = "0.2.39", optional = true }
wasmtime-component-util = { path = "../component-util", version = "=2.0.0", optional = true }
log = { workspace = true }
gimli = { workspace = true }
object = { workspace = true, features = ['write_core'] }
target-lexicon = { workspace = true }
wasm-encoder = { workspace = true, optional = true }
wasmprinter = { workspace = true, optional = true }
wasmtime-component-util = { workspace = true, optional = true }
[dev-dependencies]
atty = "0.2.14"
clap = { version = "3.2.8", features = ['derive'] }
env_logger = "0.9.0"
wat = "1.0.48"
clap = { workspace = true }
env_logger = { workspace = true }
wat = { workspace = true }
[[example]]
name = "factc"

View File

@@ -3,7 +3,7 @@ name = "wasmtime-environ-fuzz"
version = "0.0.0"
authors = ["Automatically generated"]
publish = false
edition = "2018"
edition.workspace = true
[package.metadata]
cargo-fuzz = true
@@ -12,11 +12,11 @@ cargo-fuzz = true
arbitrary = { version = "1.1.0", features = ["derive"] }
env_logger = "0.9.0"
libfuzzer-sys = "0.4"
wasmparser = "0.89.0"
wasmprinter = "0.2.39"
wat = "1.0"
wasmtime-environ = { path = ".." }
component-fuzz-util = { path = "../../misc/component-fuzz-util", optional = true }
wasmparser = { workspace = true }
wasmprinter = { workspace = true }
wat = { workspace = true }
wasmtime-environ = { workspace = true }
component-fuzz-util = { workspace = true, optional = true }
[[bin]]
name = "fact-valid-module"

View File

@@ -1,11 +1,11 @@
[package]
name = "wasmtime-fiber"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "Fiber support for Wasmtime"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
edition = "2021"
edition.workspace = true
# We link to some native code with symbols that don't change often, so let Cargo
# know that we can't show up multiple times in a crate graph. If this is an
@@ -17,11 +17,11 @@ links = "wasmtime-fiber-shims"
cfg-if = "1.0"
[target.'cfg(unix)'.dependencies]
rustix = { version = "0.35.10", features = ["mm", "param"] }
wasmtime-asm-macros = { version = "=2.0.0", path = "../asm-macros" }
rustix = { workspace = true, features = ["mm", "param"] }
wasmtime-asm-macros = { workspace = true }
[target.'cfg(windows)'.dependencies.windows-sys]
version = "0.36.1"
workspace = true
features = [
"Win32_System_Threading",
"Win32_Foundation",

View File

@@ -1,29 +1,29 @@
[package]
authors = ["The Wasmtime Project Developers"]
authors.workspace = true
description = "Fuzzing infrastructure for Wasmtime"
edition = "2021"
edition.workspace = true
name = "wasmtime-fuzzing"
publish = false
version = "0.19.0"
version = "0.0.0"
license = "Apache-2.0 WITH LLVM-exception"
[dependencies]
anyhow = "1.0.22"
anyhow = { workspace = true }
arbitrary = { version = "1.1.0", features = ["derive"] }
component-test-util = { path = "../misc/component-test-util" }
component-fuzz-util = { path = "../misc/component-fuzz-util" }
env_logger = "0.9.0"
log = "0.4.8"
component-test-util = { workspace = true }
component-fuzz-util = { workspace = true }
env_logger = { workspace = true }
log = { workspace = true }
rayon = "1.2.1"
target-lexicon = "0.12.3"
target-lexicon = { workspace = true }
tempfile = "3.3.0"
wasmparser = "0.89.0"
wasmprinter = "0.2.39"
wasmtime = { path = "../wasmtime" }
wasmtime-wast = { path = "../wast" }
wasm-encoder = "0.16.0"
wasm-smith = "0.11.4"
wasm-mutate = "0.2.7"
wasmparser = { workspace = true }
wasmprinter = { workspace = true }
wasmtime = { workspace = true, features = ['default'] }
wasmtime-wast = { workspace = true }
wasm-encoder = { workspace = true }
wasm-smith = { workspace = true }
wasm-mutate = { workspace = true }
wasm-spec-interpreter = { path = "./wasm-spec-interpreter", optional = true }
wasmi = "0.11.0"
@@ -35,7 +35,7 @@ wasmi = "0.11.0"
v8 = "0.44.3"
[dev-dependencies]
wat = "1.0.48"
wat = { workspace = true }
rand = { version = "0.8.0", features = ["small_rng"] }
# Only enable the `build-libinterpret` feature when fuzzing is enabled, enabling

View File

@@ -4,7 +4,7 @@ description = "A Rust-to-OCaml wrapper for the WebAssembly specification interpr
name = "wasm-spec-interpreter"
version = "0.1.0"
publish = false
edition = "2021"
edition.workspace = true
license = "Apache-2.0 WITH LLVM-exception"
# Until https://gitlab.com/ocaml-rust/ocaml-boxroot/-/issues/1 is resolved and
@@ -13,10 +13,10 @@ license = "Apache-2.0 WITH LLVM-exception"
# `build-libinterpret` feature set by this crate's parent).
[dependencies]
ocaml-interop = { version = "0.8", optional = true }
once_cell = { version = "1.12.0", optional = true }
once_cell = { workspace = true, optional = true }
[dev-dependencies]
wat = "1.0.47"
wat = { workspace = true }
[features]
build-libinterpret = ["ocaml-interop", "once_cell"]

View File

@@ -1,21 +1,21 @@
[package]
name = "wasmtime-jit-debug"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "JIT debug interfaces support for Wasmtime"
license = "Apache-2.0 WITH LLVM-exception"
categories = ["development-tools::debugging"]
keywords = ["gdb", "jit"]
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
[dependencies]
once_cell = {version = "1.12.0", optional = true }
object = { version = "0.29.0", default-features = false, features = ["std", "read_core"], optional = true }
once_cell = { workspace = true, optional = true }
object = { workspace = true, optional = true }
[target.'cfg(target_os = "linux")'.dependencies]
rustix = { version = "0.35.10", features = ["mm", "param", "time"], optional = true }
rustix = { workspace = true, features = ["mm", "param", "time"], optional = true }
[badges]
maintenance = { status = "actively-developed" }

View File

@@ -1,40 +1,40 @@
[package]
name = "wasmtime-jit"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "JIT-style execution for WebAsssembly code in Cranelift"
documentation = "https://docs.rs/wasmtime-jit"
license = "Apache-2.0 WITH LLVM-exception"
categories = ["wasm"]
keywords = ["webassembly", "wasm"]
repository = "https://github.com/bytecodealliance/wasmtime"
edition = "2021"
edition.workspace = true
[dependencies]
wasmtime-environ = { path = "../environ", version = "=2.0.0" }
wasmtime-jit-debug = { path = "../jit-debug", version = "=2.0.0", features = ["perf_jitdump"], optional = true }
wasmtime-runtime = { path = "../runtime", version = "=2.0.0" }
wasmtime-environ = { workspace = true }
wasmtime-jit-debug = { workspace = true, features = ["perf_jitdump"], optional = true }
wasmtime-runtime = { workspace = true }
thiserror = "1.0.4"
target-lexicon = { version = "0.12.0", default-features = false }
anyhow = "1.0"
target-lexicon = { workspace = true }
anyhow = { workspace = true }
cfg-if = "1.0"
gimli = { version = "0.26.0", default-features = false, features = ["std", "read"] }
object = { version = "0.29.0", default-features = false, features = ["std", "read_core", "elf"] }
gimli = { workspace = true }
object = { workspace = true }
serde = { version = "1.0.94", features = ["derive"] }
addr2line = { version = "0.17.0", default-features = false }
bincode = "1.2.1"
rustc-demangle = "0.1.16"
cpp_demangle = "0.3.2"
log = "0.4.8"
log = { workspace = true }
[target.'cfg(target_os = "windows")'.dependencies.windows-sys]
version = "0.36.0"
workspace = true
features = [
"Win32_System_Diagnostics_Debug",
]
[target.'cfg(target_os = "linux")'.dependencies]
rustix = { version = "0.35.10", features = ["process"] }
rustix = { workspace = true, features = ["process"] }
[target.'cfg(target_arch = "x86_64")'.dependencies]
ittapi = { version = "0.3.0", optional = true }

View File

@@ -2,13 +2,13 @@
name = "component-fuzz-util"
authors = ["The Wasmtime Project Developers"]
license = "Apache-2.0 WITH LLVM-exception"
version = "0.1.0"
edition = "2021"
version = "0.0.0"
edition.workspace = true
publish = false
[dependencies]
anyhow = { version = "1.0.19" }
anyhow = { workspace = true }
arbitrary = { version = "1.1.0", features = ["derive"] }
proc-macro2 = "1.0"
quote = "1.0"
wasmtime-component-util = { path = "../../component-util" }
wasmtime-component-util = { workspace = true }

View File

@@ -3,7 +3,7 @@ name = "component-macro-test"
authors = ["The Wasmtime Project Developers"]
license = "Apache-2.0 WITH LLVM-exception"
version = "0.1.0"
edition = "2021"
edition.workspace = true
publish = false
[lib]

View File

@@ -2,12 +2,12 @@
name = "component-test-util"
authors = ["The Wasmtime Project Developers"]
license = "Apache-2.0 WITH LLVM-exception"
version = "0.1.0"
edition = "2021"
version = "0.0.0"
edition.workspace = true
publish = false
[dependencies]
env_logger = "0.9.0"
anyhow = "1.0.19"
env_logger = { workspace = true }
anyhow = { workspace = true }
arbitrary = { version = "1.1.0", features = ["derive"] }
wasmtime = { path = "../../wasmtime", features = ["component-model"] }
wasmtime = { workspace = true, features = ["component-model"] }

View File

@@ -1,28 +1,28 @@
[package]
name = "wasmtime-runtime"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
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 = "2021"
edition.workspace = true
[dependencies]
wasmtime-asm-macros = { path = "../asm-macros", version = "=2.0.0" }
wasmtime-environ = { path = "../environ", version = "=2.0.0" }
wasmtime-fiber = { path = "../fiber", version = "=2.0.0", optional = true }
wasmtime-jit-debug = { path = "../jit-debug", version = "=2.0.0", features = ["gdb_jit_int"] }
wasmtime-asm-macros = { workspace = true }
wasmtime-environ = { workspace = true }
wasmtime-fiber = { workspace = true, optional = true }
wasmtime-jit-debug = { workspace = true, features = ["gdb_jit_int"] }
libc = { version = "0.2.112", default-features = false }
log = "0.4.8"
log = { workspace = true }
memoffset = "0.6.0"
indexmap = "1.0.2"
thiserror = "1.0.4"
cfg-if = "1.0"
rand = "0.8.3"
anyhow = "1.0.38"
anyhow = { workspace = true }
memfd = { version = "0.6.1", optional = true }
paste = "1.0.3"
encoding_rs = { version = "0.8.31", optional = true }
@@ -31,10 +31,10 @@ encoding_rs = { version = "0.8.31", optional = true }
mach = "0.3.2"
[target.'cfg(unix)'.dependencies]
rustix = { version = "0.35.10", features = ["mm"] }
rustix = { workspace = true, features = ["mm"] }
[target.'cfg(target_os = "windows")'.dependencies.windows-sys]
version = "0.36.0"
workspace = true
features = [
"Win32_System_Kernel",
"Win32_System_Memory",

View File

@@ -3,7 +3,7 @@ name = "test-programs"
version = "0.19.0"
authors = ["The Wasmtime Project Developers"]
readme = "README.md"
edition = "2021"
edition.workspace = true
publish = false
license = "Apache-2.0 WITH LLVM-exception"
@@ -11,17 +11,17 @@ license = "Apache-2.0 WITH LLVM-exception"
cfg-if = "1.0"
[dev-dependencies]
wasi-common = { path = "../wasi-common", version = "2.0.0" }
wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync", version = "2.0.0" }
wasmtime = { path = "../wasmtime", version = "2.0.0" }
wasmtime-wasi = { path = "../wasi", version = "2.0.0", features = ["tokio"] }
target-lexicon = "0.12.0"
wasi-common = { workspace = true }
wasi-cap-std-sync = { workspace = true }
wasmtime = { workspace = true }
wasmtime-wasi = { workspace = true, features = ["tokio"] }
target-lexicon = { workspace = true }
tracing-subscriber = { version = "0.3.1", default-features = false, features = ['fmt'] }
tempfile = "3.1.0"
os_pipe = "0.9"
anyhow = "1.0.19"
wat = "1.0.47"
cap-std = "0.26.0"
anyhow = { workspace = true }
wat = { workspace = true }
cap-std = { workspace = true }
tokio = { version = "1.8.0", features = ["rt-multi-thread"] }
[features]

View File

@@ -22,7 +22,7 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
[[package]]
name = "wasi-tests"
version = "0.19.0"
version = "0.0.0"
dependencies = [
"libc",
"once_cell",

View File

@@ -1,7 +1,6 @@
[package]
name = "wasi-tests"
version = "0.19.0"
authors = ["The Wasmtime Project Developers"]
version = "0.0.0"
readme = "README.md"
edition = "2021"
publish = false
@@ -9,7 +8,7 @@ publish = false
[dependencies]
libc = "0.2.65"
wasi = "0.10.2"
once_cell = "1.12.0"
once_cell = "1.12"
# This crate is built with the wasm32-wasi target, so it's separate
# from the main Wasmtime build, so use this directive to exclude it

View File

@@ -1,15 +1,15 @@
[package]
name = "wasmtime-types"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "WebAssembly type definitions for Cranelift"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
documentation = "https://docs.rs/wasmtime-types"
edition = "2021"
edition.workspace = true
[dependencies]
cranelift-entity = { path = "../../cranelift/entity", version = "0.89.0", features = ['enable-serde'] }
cranelift-entity = { workspace = true, features = ['enable-serde'] }
serde = { version = "1.0.94", features = ["derive"] }
thiserror = "1.0.4"
wasmparser = { version = "0.89.0", default-features = false }
wasmparser = { workspace = true }

View File

@@ -1,14 +1,14 @@
[package]
name = "wasi-common"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "WASI implementation in Rust"
license = "Apache-2.0 WITH LLVM-exception"
categories = ["wasm"]
keywords = ["webassembly", "wasm"]
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
include = ["src/**/*", "WASI/phases/**/*", "README.md", "LICENSE", "build.rs"]
build = "build.rs"
@@ -18,22 +18,22 @@ build = "build.rs"
links = "wasi-common-19"
[dependencies]
anyhow = "1.0"
anyhow = { workspace = true }
thiserror = "1.0"
wiggle = { path = "../wiggle", default-features = false, version = "=2.0.0" }
wiggle = { workspace = true, default-features = false }
tracing = "0.1.19"
cap-std = "0.26.0"
cap-std = { workspace = true }
cap-rand = "0.26.0"
bitflags = "1.2"
[target.'cfg(unix)'.dependencies]
rustix = { version = "0.35.10", features = ["fs"] }
rustix = { workspace = true, features = ["fs"] }
[target.'cfg(windows)'.dependencies]
io-extras = "0.15.0"
[target.'cfg(windows)'.dependencies.windows-sys]
version = "0.36.0"
workspace = true
features = [
"Win32_Foundation",
"Win32_Networking_WinSock",

View File

@@ -1,21 +1,21 @@
[package]
name = "wasi-cap-std-sync"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "WASI implementation in Rust"
license = "Apache-2.0 WITH LLVM-exception"
categories = ["wasm"]
keywords = ["webassembly", "wasm"]
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
include = ["src/**/*", "README.md", "LICENSE" ]
[dependencies]
wasi-common = { path = "../", version = "=2.0.0" }
wasi-common = { workspace = true }
async-trait = "0.1"
anyhow = "1.0"
cap-std = "0.26.0"
anyhow = { workspace = true }
cap-std = { workspace = true }
cap-fs-ext = "0.26.0"
cap-time-ext = "0.26.0"
cap-rand = "0.26.0"
@@ -26,15 +26,15 @@ io-lifetimes = { version = "0.7.0", default-features = false }
is-terminal = "0.3.0"
[target.'cfg(unix)'.dependencies]
rustix = { version = "0.35.10", features = ["fs"] }
rustix = { workspace = true, features = ["fs"] }
[target.'cfg(windows)'.dependencies]
once_cell = "1.12.0"
once_cell = { workspace = true }
io-extras = "0.15.0"
rustix = { version = "0.35.10", features = ["net"] }
rustix = { workspace = true, features = ["net"] }
[target.'cfg(windows)'.dependencies.windows-sys]
version = "0.36.0"
workspace = true
features = [
"Win32_Foundation",
]

View File

@@ -1,26 +1,26 @@
[package]
name = "wasi-tokio"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "WASI implementation in Rust"
license = "Apache-2.0 WITH LLVM-exception"
categories = ["wasm"]
keywords = ["webassembly", "wasm"]
repository = "https://github.com/bytecodealliance/wasmtime"
edition = "2021"
edition.workspace = true
include = ["src/**/*", "LICENSE" ]
[dependencies]
wasi-common = { path = "../", version = "=2.0.0" }
wasi-cap-std-sync = { path = "../cap-std-sync", version = "=2.0.0" }
wiggle = { path = "../../wiggle", version = "=2.0.0" }
wasi-common = { workspace = true }
wasi-cap-std-sync = { workspace = true }
wiggle = { workspace = true, features = ['wasmtime_integration'] }
tokio = { version = "1.8.0", features = [ "rt", "fs", "time", "io-util", "net", "io-std", "rt-multi-thread"] }
cap-std = "0.26.0"
anyhow = "1"
cap-std = { workspace = true }
anyhow = { workspace = true }
io-lifetimes = { version = "0.7.0", default-features = false }
[target.'cfg(unix)'.dependencies]
rustix = { version = "0.35.10", features = ["fs"] }
rustix = { workspace = true, features = ["fs"] }
[target.'cfg(windows)'.dependencies]
io-extras = "0.15.0"
@@ -28,5 +28,4 @@ io-extras = "0.15.0"
[dev-dependencies]
tempfile = "3.1.0"
tokio = { version = "1.8.0", features = [ "macros" ] }
anyhow = "1"
cap-tempfile = "0.26.0"

View File

@@ -1,7 +1,7 @@
[package]
name = "wasmtime-wasi-crypto"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "Wasmtime implementation of the wasi-crypto API"
documentation = "https://docs.rs/wasmtime-wasi-crypto"
license = "Apache-2.0 WITH LLVM-exception"
@@ -9,13 +9,13 @@ categories = ["wasm", "cryptography"]
keywords = ["webassembly", "wasm", "crypto"]
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
[dependencies]
anyhow = "1.0"
anyhow = { workspace = true }
wasi-crypto = { path = "spec/implementations/hostcalls/rust", version = "0.1.5" }
wasmtime = { path = "../wasmtime", version = "2.0.0", default-features = false }
wiggle = { path = "../wiggle", version = "=2.0.0" }
wasmtime = { workspace = true }
wiggle = { workspace = true, default-features = true, features = ['wasmtime_integration'] }
[badges]
maintenance = { status = "experimental" }

View File

@@ -1,7 +1,7 @@
[package]
name = "wasmtime-wasi-nn"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "Wasmtime implementation of the wasi-nn API"
documentation = "https://docs.rs/wasmtime-wasi-nn"
license = "Apache-2.0 WITH LLVM-exception"
@@ -9,12 +9,12 @@ categories = ["wasm", "computer-vision"]
keywords = ["webassembly", "wasm", "neural-network"]
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
[dependencies]
# These dependencies are necessary for the witx-generation macros to work:
anyhow = "1.0"
wiggle = { path = "../wiggle", version = "=2.0.0" }
anyhow = { workspace = true }
wiggle = { workspace = true }
# These dependencies are necessary for the wasi-nn implementation:
openvino = { version = "0.4.1", features = ["runtime-linking"] }

View File

@@ -1,24 +1,24 @@
[package]
name = "wasmtime-wasi"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "WASI implementation in Rust"
license = "Apache-2.0 WITH LLVM-exception"
categories = ["wasm"]
keywords = ["webassembly", "wasm"]
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
include = ["src/**/*", "README.md", "LICENSE", "build.rs"]
build = "build.rs"
[dependencies]
wasi-common = { path = "../wasi-common", version = "=2.0.0" }
wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync", version = "=2.0.0", optional = true }
wasi-tokio = { path = "../wasi-common/tokio", version = "=2.0.0", optional = true }
wiggle = { path = "../wiggle", default-features = false, version = "=2.0.0", features = ["wasmtime_integration"] }
wasmtime = { path = "../wasmtime", default-features = false, version = "2.0.0" }
anyhow = "1.0"
wasi-common = { workspace = true }
wasi-cap-std-sync = { workspace = true, optional = true }
wasi-tokio = { workspace = true, optional = true }
wiggle = { workspace = true, default-features = false, features = ["wasmtime_integration"] }
wasmtime = { workspace = true }
anyhow = { workspace = true }
[features]
default = ["sync"]

View File

@@ -1,46 +1,46 @@
[package]
name = "wasmtime"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "High-level API to expose the Wasmtime runtime"
documentation = "https://docs.rs/wasmtime"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
readme = "README.md"
edition = "2021"
edition.workspace = true
[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "nightlydoc"]
[dependencies]
wasmtime-runtime = { path = "../runtime", version = "=2.0.0" }
wasmtime-environ = { path = "../environ", version = "=2.0.0" }
wasmtime-jit = { path = "../jit", version = "=2.0.0" }
wasmtime-cache = { path = "../cache", version = "=2.0.0", optional = true }
wasmtime-fiber = { path = "../fiber", version = "=2.0.0", optional = true }
wasmtime-cranelift = { path = "../cranelift", version = "=2.0.0", optional = true }
wasmtime-component-macro = { path = "../component-macro", version = "=2.0.0", optional = true }
wasmtime-component-util = { path = "../component-util", version = "=2.0.0", optional = true }
target-lexicon = { version = "0.12.0", default-features = false }
wasmparser = "0.89.0"
anyhow = "1.0.19"
wasmtime-runtime = { workspace = true }
wasmtime-environ = { workspace = true }
wasmtime-jit = { workspace = true }
wasmtime-cache = { workspace = true, optional = true }
wasmtime-fiber = { workspace = true, optional = true }
wasmtime-cranelift = { workspace = true, optional = true }
wasmtime-component-macro = { workspace = true, optional = true }
wasmtime-component-util = { workspace = true, optional = true }
target-lexicon = { workspace = true }
wasmparser = { workspace = true }
anyhow = { workspace = true }
libc = "0.2"
cfg-if = "1.0"
log = "0.4.8"
wat = { version = "1.0.47", optional = true }
log = { workspace = true }
wat = { workspace = true, optional = true }
serde = { version = "1.0.94", features = ["derive"] }
bincode = "1.2.1"
indexmap = "1.6"
paste = "1.0.3"
psm = "0.1.11"
once_cell = "1.12.0"
once_cell = { workspace = true }
rayon = { version = "1.0", optional = true }
object = { version = "0.29", default-features = false, features = ['read_core', 'elf'] }
object = { workspace = true }
async-trait = { version = "0.1.51", optional = true }
encoding_rs = { version = "0.8.31", optional = true }
[target.'cfg(target_os = "windows")'.dependencies.windows-sys]
version = "0.36.0"
workspace = true
features = [
"Win32_System_Diagnostics_Debug",
]

View File

@@ -1,19 +1,19 @@
[package]
name = "wasmtime-wast"
version = "2.0.0"
authors = ["The Wasmtime Project Developers"]
version.workspace = true
authors.workspace = true
description = "wast testing support for wasmtime"
license = "Apache-2.0 WITH LLVM-exception"
categories = ["wasm"]
keywords = ["webassembly", "wasm"]
repository = "https://github.com/bytecodealliance/wasmtime"
edition = "2021"
edition.workspace = true
[dependencies]
anyhow = "1.0.19"
wasmtime = { path = "../wasmtime", version = "2.0.0", default-features = false, features = ['cranelift'] }
wast = "46.0.0"
log = "0.4"
anyhow = { workspace = true }
wasmtime = { workspace = true, features = ['cranelift'] }
wast = { workspace = true }
log = { workspace = true }
[badges]
maintenance = { status = "actively-developed" }

View File

@@ -1,8 +1,8 @@
[package]
name = "wiggle"
version = "2.0.0"
version.workspace = true
authors = ["Pat Hickey <phickey@fastly.com>", "Jakub Konka <kubkonk@jakubkonka.com>", "Alex Crichton <alex@alexcrichton.com>"]
edition = "2021"
edition.workspace = true
license = "Apache-2.0 WITH LLVM-exception"
description = "Runtime components of wiggle code generator"
categories = ["wasm"]
@@ -13,19 +13,18 @@ include = ["src/**/*", "README.md", "LICENSE"]
[dependencies]
thiserror = "1"
witx = { path = "../wasi-common/WASI/tools/witx", version = "0.9.1", optional = true }
wiggle-macro = { path = "macro", version = "=2.0.0" }
wiggle-macro = { workspace = true }
tracing = "0.1.26"
bitflags = "1.2"
async-trait = "0.1.42"
wasmtime = { path = "../wasmtime", version = "2.0.0", optional = true, default-features = false }
anyhow = "1.0"
wasmtime = { workspace = true, optional = true }
anyhow = { workspace = true }
[badges]
maintenance = { status = "actively-developed" }
[dev-dependencies]
wiggle-test = { path = "test-helpers" }
anyhow = "1"
proptest = "1.0.0"
tokio = { version = "1", features = ["rt-multi-thread","time", "macros"] }

View File

@@ -1,9 +1,9 @@
[package]
name = "wiggle-generate"
version = "2.0.0"
version.workspace = true
authors = ["Pat Hickey <phickey@fastly.com>", "Jakub Konka <kubkon@jakubkonka.com>", "Alex Crichton <alex@alexcrichton.com>"]
license = "Apache-2.0 WITH LLVM-exception"
edition = "2021"
edition.workspace = true
description = "Library crate for wiggle code generator."
categories = ["wasm"]
keywords = ["webassembly", "wasm"]
@@ -18,7 +18,7 @@ witx = { version = "0.9.1", path = "../../wasi-common/WASI/tools/witx" }
quote = "1.0"
proc-macro2 = "1.0"
heck = "0.4"
anyhow = "1"
anyhow = { workspace = true }
syn = { version = "1.0", features = ["full"] }
shellexpand = "2.0"

View File

@@ -1,8 +1,8 @@
[package]
name = "wiggle-macro"
version = "2.0.0"
version.workspace = true
authors = ["Pat Hickey <phickey@fastly.com>", "Jakub Konka <kubkon@jakubkonka.com>", "Alex Crichton <alex@alexcrichton.com>"]
edition = "2021"
edition.workspace = true
license = "Apache-2.0 WITH LLVM-exception"
description = "Wiggle code generator"
categories = ["wasm"]
@@ -21,7 +21,7 @@ test = false
doctest = false
[dependencies]
wiggle-generate = { path = "../generate", version = "=2.0.0" }
wiggle-generate = { workspace = true }
quote = "1.0"
syn = { version = "1.0", features = ["full"] }
proc-macro2 = "1.0"

View File

@@ -3,7 +3,7 @@ name = "wiggle-test"
version = "0.21.0"
authors = ["Pat Hickey <phickey@fastly.com>", "Jakub Konka <kubkon@jakubkonka.com>", "Alex Crichton <alex@alexcrichton.com>"]
license = "Apache-2.0 WITH LLVM-exception"
edition = "2021"
edition.workspace = true
description = "Reusable testing components for wiggle code generator. Only intended to be used by tests in `wiggle` crate."
categories = ["wasm"]
keywords = ["webassembly", "wasm"]

View File

@@ -1,36 +1,35 @@
[package]
name = "wasmtime-fuzz"
version = "0.0.0"
authors = ["The Wasmtime Project Developers"]
edition = "2021"
edition.workspace = true
publish = false
[package.metadata]
cargo-fuzz = true
[dependencies]
anyhow = { version = "1.0.19" }
cranelift-codegen = { path = "../cranelift/codegen", features = ["incremental-cache"] }
cranelift-reader = { path = "../cranelift/reader" }
cranelift-wasm = { path = "../cranelift/wasm" }
cranelift-filetests = { path = "../cranelift/filetests" }
cranelift-interpreter = { path = "../cranelift/interpreter" }
cranelift-fuzzgen = { path = "../cranelift/fuzzgen" }
anyhow = { workspace = true }
cranelift-codegen = { workspace = true, features = ["incremental-cache"] }
cranelift-reader = { workspace = true }
cranelift-wasm = { workspace = true }
cranelift-filetests = { workspace = true }
cranelift-interpreter = { workspace = true }
cranelift-fuzzgen = { workspace = true }
libfuzzer-sys = { version = "0.4.0", features = ["arbitrary-derive"] }
target-lexicon = "0.12"
smallvec = { version = "1.6.1", features = ["union"] }
wasmtime = { path = "../crates/wasmtime" }
wasmtime-fuzzing = { path = "../crates/fuzzing" }
component-test-util = { path = "../crates/misc/component-test-util" }
component-fuzz-util = { path = "../crates/misc/component-fuzz-util" }
target-lexicon = { workspace = true }
smallvec = { workspace = true }
wasmtime = { workspace = true }
wasmtime-fuzzing = { workspace = true }
component-test-util = { workspace = true }
component-fuzz-util = { workspace = true }
[build-dependencies]
anyhow = "1.0.19"
anyhow = { workspace = true }
proc-macro2 = "1.0"
arbitrary = { version = "1.1.0", features = ["derive"] }
rand = { version = "0.8.0" }
quote = "1.0"
component-fuzz-util = { path = "../crates/misc/component-fuzz-util" }
component-fuzz-util = { workspace = true }
[features]
default = ['fuzz-spec-interpreter']

View File

@@ -105,6 +105,10 @@ const PUBLIC_CRATES: &[&str] = &[
"wasmtime-types",
];
struct Workspace {
version: String,
}
struct Crate {
manifest: PathBuf,
name: String,
@@ -114,9 +118,13 @@ struct Crate {
fn main() {
let mut crates = Vec::new();
crates.push(read_crate("./Cargo.toml".as_ref()));
find_crates("crates".as_ref(), &mut crates);
find_crates("cranelift".as_ref(), &mut crates);
let root = read_crate(None, "./Cargo.toml".as_ref());
let ws = Workspace {
version: root.version.clone(),
};
crates.push(root);
find_crates("crates".as_ref(), &ws, &mut crates);
find_crates("cranelift".as_ref(), &ws, &mut crates);
let pos = CRATES_TO_PUBLISH
.iter()
@@ -179,9 +187,9 @@ fn main() {
}
}
fn find_crates(dir: &Path, dst: &mut Vec<Crate>) {
fn find_crates(dir: &Path, ws: &Workspace, dst: &mut Vec<Crate>) {
if dir.join("Cargo.toml").exists() {
let krate = read_crate(&dir.join("Cargo.toml"));
let krate = read_crate(Some(ws), &dir.join("Cargo.toml"));
if !krate.publish || CRATES_TO_PUBLISH.iter().any(|c| krate.name == *c) {
dst.push(krate);
} else {
@@ -192,12 +200,12 @@ fn find_crates(dir: &Path, dst: &mut Vec<Crate>) {
for entry in dir.read_dir().unwrap() {
let entry = entry.unwrap();
if entry.file_type().unwrap().is_dir() {
find_crates(&entry.path(), dst);
find_crates(&entry.path(), ws, dst);
}
}
}
fn read_crate(manifest: &Path) -> Crate {
fn read_crate(ws: Option<&Workspace>, manifest: &Path) -> Crate {
let mut name = None;
let mut version = None;
let mut publish = true;
@@ -218,6 +226,11 @@ fn read_crate(manifest: &Path) -> Crate {
.to_string(),
);
}
if let Some(ws) = ws {
if version.is_none() && line.starts_with("version.workspace = true") {
version = Some(ws.version.clone());
}
}
if line.starts_with("publish = false") {
publish = false;
}