[package]
name = "ax-runtime"
version = "0.5.14"
repository = "https://github.com/rcore-os/tgoskits"
edition.workspace = true
authors = ["Yuekai Jia <equation618@gmail.com>"]
description = "Runtime library of ArceOS"
license.workspace = true

[features]
default = []

alloc = ["dep:ax-alloc"]
dma = ["paging"]
buddy-slab = ["alloc", "ax-alloc/buddy-slab"]
ipi = ["dep:ax-ipi"]
irq = ["ax-hal/irq", "ax-task?/irq", "dep:ax-percpu"]
multitask = ["ax-task/multitask"]
paging = ["ax-hal/paging", "dep:ax-mm", "dep:axklib"]
rtc = []
smp = ["alloc", "ax-hal/smp", "ax-task?/smp"]
tls = ["ax-hal/tls", "ax-task?/tls"]

plat-dyn = ["ax-hal/plat-dyn", "ax-driver/dyn", "paging", "buddy-slab"]

ax-driver = ["dep:ax-driver"]
display = ["ax-driver", "dep:ax-display"]
fs = ["ax-driver", "dep:ax-fs"]
fs-ng = ["ax-driver", "dep:ax-fs-ng"]
input = ["ax-driver", "dep:ax-input"]
net = ["ax-driver", "dep:ax-net"]
net-ng = ["ax-driver", "dep:ax-net-ng"]
vsock = ["net-ng", "ax-net-ng/vsock"]

[dependencies]
ax-alloc = { workspace = true, optional = true }
axbacktrace = { workspace = true }
ax-config = { workspace = true }
ax-display = { workspace = true, optional = true }
ax-driver = { workspace = true, optional = true }
ax-fs = { workspace = true, optional = true }
ax-fs-ng = { workspace = true, optional = true }
ax-hal = { workspace = true }
ax-input = { workspace = true, optional = true }
ax-ipi = { workspace = true, optional = true }
axklib = { workspace = true, optional = true }
ax-log = { workspace = true }
ax-lazyinit = { workspace = true }
ax-memory-addr = { workspace = true }
ax-mm = { workspace = true, optional = true }
ax-net = { workspace = true, optional = true }
ax-net-ng = { workspace = true, optional = true }
axpanic = { workspace = true }
ax-plat = { workspace = true }
ax-task = { workspace = true, optional = true }
cfg-if = { workspace = true }
chrono = { version = "0.4", default-features = false }
ax-crate-interface = { workspace = true }
ax-ctor-bare = { workspace = true }
indoc = "2"
ax-percpu = { workspace = true, optional = true }
