[package]
name = "yggdrasil-abi"
version = "0.1.0"
edition = "2021"
authors = ["Mark Poliakov <mark@alnyan.me>"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
core = { version = "1.0.0", optional = true, package = "rustc-std-workspace-core" }
rustc_std_alloc = { version = "1.0.0", optional = true, package = "rustc-std-workspace-alloc" }
compiler_builtins = { version = "0.1", optional = true }

abi-serde = { path = "../abi-serde" }

serde = { version = "1.0.193", features = ["derive"], default-features = false, optional = true }
bytemuck = { version = "1.14.0", features = ["derive"], optional = true }

abi-lib = { path = "../../lib/abi-lib" }

[build-dependencies]
abi-generator = { path = "../../tool/abi-generator" }
prettyplease = "0.2.15"

[lints.rust]
unexpected_cfgs = { level = "allow", check-cfg = ['cfg(rust_analyzer)'] }

[features]
default = []
alloc = []
abi-private = []
serde_kernel = ["serde", "serde/alloc"]
rustc-dep-of-std = [
    "core",
    "rustc_std_alloc",
    "compiler_builtins/rustc-dep-of-std",
    "abi-lib/rustc-dep-of-std",
    "abi-serde/rustc-dep-of-std"
]
