Files
RedBear-OS/Cargo.toml
T
bjorn3 2d065083df Use HashMap instead of BTreeMap where possible
This shrinks the kernel from 905840 bytes to 862408 bytes.
2023-12-13 19:55:20 +01:00

74 lines
1.9 KiB
TOML

[package]
name = "kernel"
version = "0.4.1"
build = "build.rs"
edition = "2021"
[build-dependencies]
cc = "1.0.3"
rustc-cfg = "0.3.0"
toml = "0.7"
[dependencies]
bitflags = "1.2.1"
bitfield = "0.13.2"
hashbrown = { version = "0.14.3", default-features = false, features = ["ahash", "inline-more"] }
linked_list_allocator = "0.9.0"
log = "0.4"
redox_syscall = { path = "syscall" }
slab_allocator = { path = "slab_allocator", optional = true }
# FIXME: There is some undefined behavior probably in the kernel, which forces us to use spin 0.9.0 and not 0.9.2.
spin = "=0.9.0"
rmm = { path = "rmm", default-features = false }
[dependencies.goblin]
version = "0.2.1"
default-features = false
features = ["elf32", "elf64"]
[dependencies.rustc-demangle]
version = "0.1.16"
default-features = false
[target.'cfg(target_arch = "aarch64")'.dependencies]
byteorder = { version = "1", default-features = false }
fdt = { git = "https://gitlab.redox-os.org/thomhuds/fdt.git", default-features = false }
paste = "1.0.7"
[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies]
raw-cpuid = "10.2.0"
x86 = { version = "0.47.0", default-features = false }
[features]
default = ["acpi", "multi_core", "graphical_debug", "serial_debug", "self_modifying"]
# Activates some limited code-overwriting optimizations, based on CPU features.
self_modifying = []
acpi = []
doc = []
graphical_debug = []
lpss_debug = []
multi_core = ["acpi"]
#TODO: remove when threading issues are fixed
pti = []
qemu_debug = []
serial_debug = []
system76_ec_debug = []
slab = ["slab_allocator"]
[profile.dev]
# Avoids having to define the eh_personality lang item and reduces kernel size
panic = "abort"
# Kernel doesn't yet work great with debug mode :(
opt-level = 3
[profile.release]
# Avoids having to define the eh_personality lang item and reduces kernel size
panic = "abort"
lto = true
debug = "full"