# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "wasmtime-jit-icache-coherence"
version = "24.0.0"
authors = ["The Wasmtime Project Developers"]
build = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Utilities for JIT icache maintenance"
documentation = "https://docs.rs/jit-icache-coherence"
readme = false
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"

[lib]
name = "wasmtime_jit_icache_coherence"
path = "src/lib.rs"

[dependencies.anyhow]
version = "1.0.22"
default-features = false

[dependencies.cfg-if]
version = "1.0"

[features]
one-core = []

[target.'cfg(any(target_os = "linux", target_os = "macos", target_os = "freebsd", target_os = "android"))'.dependencies.libc]
version = "0.2.112"
default-features = true

[target.'cfg(target_os = "windows")'.dependencies.windows-sys]
version = "0.52.0"
features = [
    "Win32_Foundation",
    "Win32_System_Threading",
    "Win32_System_Diagnostics_Debug",
]

[lints.clippy]
clone_on_copy = "warn"
manual_strip = "warn"
map_clone = "warn"
unnecessary_to_owned = "warn"

[lints.clippy.all]
level = "allow"
priority = -1

[lints.rust]
trivial_numeric_casts = "warn"
unstable_features = "warn"
unused-lifetimes = "warn"
unused_extern_crates = "warn"
unused_import_braces = "warn"
