[package]
name = "gila"
version = "0.3.1"
edition = "2024"
license = "MIT"

[dependencies]
acid_alloc = { version = "0.1.0", features = ["alloc"] }
acpi = { version = "6.0.1", optional = true }
enumflags2 = "0.7.12"
fdt = { git = "https://github.com/repnop/fdt", version = "0.2.0-alpha1", optional = true }
flagset = "0.4.7"
free-list = { version = "0.3.1", features = ["x86_64"] }
intbits = "0.2.0"
lazy_static = { version = "1.5.0", default-features = false, features = ["spin_no_std"] }
limine = "0.5.0"
lzma-rs = { git = "https://github.com/glaeqen/lzma-no-std-rs/", version = "0.2.0", default-features = false, optional = true }
num-derive = "0.4.2"
num-traits = { version = "0.2.19", default-features = false }
once_cell = { version = "1.21.3", default-features = false, features = ["alloc", "critical-section"] }
spin = "0.10.0"
talc = "4.4.3"
tar-no-std = "0.4.2"

[target.'cfg(target_arch = "x86_64")'.dependencies]
x86_64 = "0.15.2"
raw-cpuid = "11.6.0"

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

[[bin]]
name = "kernel"
path = "src/kernel/main.rs"
test = false
doctest = false
bench = false

[features]
default = ["acpi", "dtb", "uefi", "compression"]
acpi = ["dep:acpi"] # Support ACPI
dtb = ["dep:fdt"] # Support device tree blobs
uefi = [] # Enable UEFI dependent features
compression = ["dep:lzma-rs"] # Enable compressed initramfs

