[package]
edition = "2024"
rust-version = "1.89.0"
name = "winch-codegen"
version = "40.0.3"
authors = ["The Winch Project Developers"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Winch code generation library"
readme = false
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
resolver = "2"
[features]
all-arch = [
"x64",
"arm64",
]
arm64 = ["cranelift-codegen/arm64"]
gc = ["wasmtime-environ/gc"]
gc-drc = ["wasmtime-environ/gc-drc"]
gc-null = ["wasmtime-environ/gc-null"]
stack-switching = ["wasmtime-environ/stack-switching"]
threads = ["wasmtime-environ/threads"]
wmemcheck = ["wasmtime-environ/wmemcheck"]
x64 = ["cranelift-codegen/x86"]
[lib]
name = "winch_codegen"
path = "src/lib.rs"
[dependencies.anyhow]
version = "1.0.100"
default-features = false
[dependencies.cranelift-assembler-x64]
version = "0.127.3"
[dependencies.cranelift-codegen]
version = "0.127.3"
features = [
"std",
"unwind",
"unwind",
]
default-features = false
[dependencies.gimli]
version = "0.32.3"
features = ["read"]
default-features = false
[dependencies.regalloc2]
version = "0.13.3"
[dependencies.smallvec]
version = "1.15.1"
features = ["union"]
[dependencies.target-lexicon]
version = "0.13.0"
features = ["std"]
[dependencies.thiserror]
version = "2.0.17"
[dependencies.wasmparser]
version = "0.243.0"
features = ["simd"]
default-features = false
[dependencies.wasmtime-cranelift]
version = "=40.0.3"
package = "wasmtime-internal-cranelift"
[dependencies.wasmtime-environ]
version = "=40.0.3"
[dependencies.wasmtime-math]
version = "=40.0.3"
package = "wasmtime-internal-math"
[lints.clippy]
allow_attributes_without_reason = "warn"
clone_on_copy = "warn"
extra_unused_type_parameters = "warn"
from_over_into = "warn"
manual_strip = "warn"
map_clone = "warn"
multiple_bound_locations = "warn"
redundant_field_names = "warn"
uninlined_format_args = "warn"
unnecessary_cast = "warn"
unnecessary_fallible_conversions = "warn"
unnecessary_mut_passed = "warn"
unnecessary_to_owned = "warn"
useless_conversion = "warn"
[lints.clippy.all]
level = "allow"
priority = -1
[lints.rust]
trivial_numeric_casts = "warn"
unstable_features = "warn"
unused-lifetimes = "warn"
unused-macro-rules = "warn"
unused_extern_crates = "warn"
unused_import_braces = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(pulley_tail_calls)",
"cfg(pulley_assume_llvm_makes_tail_calls)",
"cfg(pulley_disable_interp_simd)",
]