[package]
name = "aster-nix"
version = "0.1.0"
edition = "2021"

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

[dependencies]
aster-frame = { path = "../../framework/aster-frame" }
align_ext = { path = "../../framework/libs/align_ext" }
pod = { git = "https://github.com/asterinas/pod", rev = "d7dba56" }
aster-input = { path = "../comps/input" }
aster-block = { path = "../comps/block" }
aster-network = { path = "../comps/network" }
aster-console = { path = "../comps/console" }
aster-time = { path = "../comps/time" }
aster-virtio = { path = "../comps/virtio" }
aster-rights = { path = "../libs/aster-rights" }
controlled = { path = "../libs/comp-sys/controlled" }
typeflags = { path = "../libs/typeflags" }
typeflags-util = { path = "../libs/typeflags-util" }
aster-rights-proc = { path = "../libs/aster-rights-proc" }
aster-util = { path = "../libs/aster-util" }
int-to-c-enum = { path = "../libs/int-to-c-enum" }
cpio-decoder = { path = "../libs/cpio-decoder" }
ascii = { version = "1.1", default-features = false, features = ["alloc"] }
intrusive-collections = "0.9.5"
time = { version = "0.3", default-features = false, features = ["alloc"] }
smoltcp = { version = "0.9.1", default-features = false, features = [
    "alloc",
    "log",
    "medium-ethernet",
    "medium-ip",
    "proto-dhcpv4",
    "proto-ipv4",
    "proto-igmp",
    "socket-icmp",
    "socket-udp",
    "socket-tcp",
    "socket-raw",
    "socket-dhcpv4",
] }
ktest = { path = "../../framework/libs/ktest" }
tdx-guest = { path = "../../framework/libs/tdx-guest", optional = true }

# parse elf file
xmas-elf = "0.8.0"
# goblin = {version= "0.5.3", default-features = false, features = ["elf64"]}
# data-structures
bitflags = "1.3"
ringbuf = { version = "0.3.2", default-features = false, features = ["alloc"] }
keyable-arc = { path = "../libs/keyable-arc" }
# unzip initramfs
libflate = { version ="2", default-features = false }
core2 = { version = "0.4", default_features = false, features = ["alloc"] }
lending-iterator = "0.1.7"
spin = "0.9.4"
vte = "0.10"
lru = "0.12.3"
log = "0.4"
getrandom = { version = "0.2.10", default-features = false, features = [
    "rdrand",
] }
bitvec = { version = "1.0", default-features = false, features = ["alloc"] }
hashbrown = "0.14"
rand = {version = "0.8.5", default-features = false, features = ["small_rng"]}
static_assertions = "1.1.0"
inherit-methods-macro = { git = "https://github.com/asterinas/inherit-methods-macro", rev = "98f7e3e" }
getset = "0.1.2"
atomic = "0.6"
bytemuck = "1.14.3"
bytemuck_derive = "1.5.0"
takeable = "0.2.2"

[dependencies.lazy_static]
version = "1.0"
features = ["spin_no_std"]

[features]
intel_tdx = ["dep:tdx-guest"]
