[package] name = "kernel" version = "0.2.5" build = "build.rs" edition = "2018" [lib] name = "kernel" path = "src/lib.rs" crate-type = ["staticlib"] [build-dependencies] cc = "1.0.3" rustc-cfg = "0.3.0" [dependencies] bitfield = "0.13.1" bitflags = "1.2.1" linked_list_allocator = "0.8.4" log = { version = "0.4" } redox_syscall = { path = "syscall" } slab_allocator = { path = "slab_allocator", optional = true } spin = "0.5.2" paste = "0.1.18" 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 } [target.'cfg(target_arch = "x86_64")'.dependencies] raw-cpuid = "8.0.0" x86 = { version = "0.32.0", default-features = false } [features] default = ["serial_debug"] acpi = [] doc = [] graphical_debug = [] live = [] lpss_debug = [] multi_core = ["acpi"] pti = [] qemu_debug = [] serial_debug = [] system76_ec_debug = [] slab = ["slab_allocator"] [profile.dev] # Kernel doesn't yet work great with debug mode :( opt-level = 3 # LTO fixes some duplicate symbols of memcpy/memmove/etc lto = true [profile.release] lto = true