Files
moss-kernel/Cargo.toml
Matthew Leach 3f87c1f3d9 libkernel: add feature gates
Add feature gates for different libkernel features. Specifically:

 - alloc: Memory allocation APIs.
 - paging: Paging related types & functions.
 - fs: Filesystem implementations.
 - proc_vm: Process VM management.
 - kbuf: Circular, page-backed, kernel buffer.

Also gate crate dependencies bsaed upon selected features.
2026-04-13 11:37:57 -07:00

66 lines
1.9 KiB
TOML

[workspace]
members = ["libkernel", "moss-macros", "usertest"]
[workspace.dependencies]
async-trait = "0.1.89"
bitflags = "2.11"
log = "0.4"
paste = "1.0.15"
rand = { version = "0.10", default-features = false }
[workspace.lints.clippy]
semicolon_if_nothing_returned = "warn"
uninlined_format_args = "warn"
[package]
name = "moss"
version = "0.1.0"
edition = "2024"
[[bin]]
name = "moss"
test = true
bench = false
[dependencies]
libkernel = { path = "libkernel", features = ["all"] }
moss-macros = { path = "moss-macros" }
aarch64-cpu = "11.1.0"
arm-pl011-uart = { version = "0.5.0", default-features = false }
arm_pl031 = { version = "0.2.1", default-features = false }
async-trait = { workspace = true }
bitflags = { workspace = true }
blake2 = { version = "0.10.6", default-features = false }
chacha20 = { version = "0.10.0", default-features = false, features = ["rng"] }
fdt-parser = "0.4.16"
futures = { version = "0.3.31", default-features = false, features = ["alloc", "async-await"] }
getargs = { version = "0.5.0", default-features = false }
log = { workspace = true }
object = { version = "0.38.0", default-features = false, features = ["core", "elf", "read_core"] }
paste = { workspace = true }
ringbuf = { version = "0.4.8", default-features = false, features = ["alloc"] }
rand = { workspace = true }
rustc-hash = { version = "2.1", default-features = false }
smoltcp = { version = "0.12.0", default-features = false, features = ["alloc", "medium-ethernet", "medium-ip", "proto-ipv4", "proto-ipv6", "socket-tcp", "socket-udp"] }
tock-registers = "0.10.1"
virtio-drivers = "0.13.0"
atomic_enum = "0.3.0"
[build-dependencies]
time = { version = "0.3.47", features = ["formatting", "macros"] } # For build timestamping via build.rs
[features]
default = ["smp"]
# Support for Symmetric Multiprocessing
smp = []
[profile.release]
debug = "full"
opt-level = 3
codegen-units = 1
[lints]
workspace = true