[package]
name = "libwild"
description = "A library that provides a fast Linux linker"
version.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
edition.workspace = true

[dependencies]
anyhow = { workspace = true }
atomic-take = { workspace = true }
bitflags = { workspace = true }
blake3 = { workspace = true }
bumpalo-herd = { workspace = true }
bytesize = { workspace = true }
derive_more = { workspace = true }
colored = { workspace = true }
colosseum = { workspace = true }
crossbeam-channel = { workspace = true }
crossbeam-queue = { workspace = true }
crossbeam-utils = { workspace = true }
flate2 = { workspace = true }
foldhash = { workspace = true }
gimli = { workspace = true }
git-version = { workspace = true }
glob = { workspace = true }
hashbrown = { workspace = true }
hex = { workspace = true }
indexmap = { workspace = true }
itertools = { workspace = true }
jobserver = { workspace = true }
leb128 = {workspace = true}
libc = { workspace = true }
linker-layout = { path = "../linker-layout", version = "0.8.0" }
linker-trace = { path = "../linker-trace", version = "0.8.0" }
linker-utils = { path = "../linker-utils", version = "0.8.0" }
memchr = { workspace = true }
memmap2 = { workspace = true }
object = { workspace = true }
perfetto-recorder = { workspace = true }
rayon = { workspace = true }
sharded-offset-map = { workspace = true }
sharded-vec-writer = { workspace = true }
smallvec = { workspace = true }
symbolic-common = { workspace = true }
symbolic-demangle = { workspace = true }
thread_local = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
uuid = { workspace = true }
winnow = { workspace = true }
zerocopy = { workspace = true }
zstd = { workspace = true }

[target.'cfg(all(target_os = "linux", any(target_arch = "x86_64", target_arch = "aarch64")))'.dependencies]
perf-event = { workspace = true }

[dev-dependencies]
ar = { workspace = true }
tempfile = { workspace = true }

[features]
# Support for running the linker as a subprocess.
fork = []

# Enable support for emitting a perfetto trace.
perfetto = ["perfetto-recorder/enable", "tracing/release_max_level_info"]

# Enable work-in-progress features
wip = []

[lints]
workspace = true
