Files
k-os/Cargo.toml

140 lines
4.6 KiB
TOML

[workspace]
members = [
"crates/adapter-riscv",
"crates/apps/hello",
"crates/apps/shell",
"crates/apps/cat",
"crates/apps/ls",
"crates/apps/echo",
"crates/apps/sleep",
"crates/apps/smptest",
"crates/apps/spawntest",
"crates/apps/snake",
"crates/domain",
"crates/elf",
"crates/init",
"crates/kernel",
"crates/platform",
"crates/server-framework",
"crates/servers/accessibility-server",
"crates/servers/alarm-server",
"crates/servers/audio-capture-server",
"crates/servers/audio-playback-server",
"crates/servers/bluetooth-server",
"crates/servers/calendar-server",
"crates/servers/camera-server",
"crates/servers/clipboard-server",
"crates/servers/contacts-server",
"crates/servers/display-server",
"crates/servers/gatekeeper",
"crates/servers/gps-server",
"crates/servers/input-server",
"crates/servers/log-server",
"crates/servers/keychain-server",
"crates/servers/media-index-server",
"crates/servers/network-server",
"crates/servers/notification-server",
"crates/servers/package-manager",
"crates/servers/permission-manager",
"crates/servers/power-server",
"crates/servers/print-server",
"crates/servers/session-server",
"crates/servers/terminal-server",
"crates/servers/storage-server",
"crates/servers/sync-server",
"crates/servers/telephony-server",
"crates/servers/usb-server",
"crates/servers/user-manager",
"crates/types",
"crates/ports/framebuffer",
"crates/ports/block-device",
"crates/ports/input-device",
"crates/drivers/framebuffer/virtio",
"crates/drivers/framebuffer/mock",
"crates/drivers/block/virtio",
"crates/bins/display-qemu",
"crates/bins/input-qemu",
"crates/bins/storage-qemu",
"crates/drivers/input/uart",
"crates/drivers/input/virtio",
"crates/hw-virtio",
"crates/libkos",
]
resolver = "2"
[workspace.dependencies]
# kernel
types = { path = "crates/types" }
domain = { path = "crates/domain" }
elf = { path = "crates/elf" }
platform = { path = "crates/platform" }
kernel = { path = "crates/kernel" }
server-framework = { path = "crates/server-framework" }
# servers
accessibility-server = { path = "crates/servers/accessibility-server" }
alarm-server = { path = "crates/servers/alarm-server" }
audio-capture-server = { path = "crates/servers/audio-capture-server" }
audio-playback-server = { path = "crates/servers/audio-playback-server" }
bluetooth-server = { path = "crates/servers/bluetooth-server" }
calendar-server = { path = "crates/servers/calendar-server" }
camera-server = { path = "crates/servers/camera-server" }
clipboard-server = { path = "crates/servers/clipboard-server" }
contacts-server = { path = "crates/servers/contacts-server" }
display-server = { path = "crates/servers/display-server" }
gatekeeper = { path = "crates/servers/gatekeeper" }
gps-server = { path = "crates/servers/gps-server" }
input-server = { path = "crates/servers/input-server" }
keychain-server = { path = "crates/servers/keychain-server" }
media-index-server = { path = "crates/servers/media-index-server" }
network-server = { path = "crates/servers/network-server" }
notification-server = { path = "crates/servers/notification-server" }
package-manager = { path = "crates/servers/package-manager" }
permission-manager = { path = "crates/servers/permission-manager" }
power-server = { path = "crates/servers/power-server" }
print-server = { path = "crates/servers/print-server" }
storage-server = { path = "crates/servers/storage-server" }
sync-server = { path = "crates/servers/sync-server" }
telephony-server = { path = "crates/servers/telephony-server" }
usb-server = { path = "crates/servers/usb-server" }
user-manager = { path = "crates/servers/user-manager" }
# hw
hw-virtio = { path = "crates/hw-virtio" }
# libkos
libkos = { path = "crates/libkos" }
# ports
port-framebuffer = { path = "crates/ports/framebuffer" }
port-block-device = { path = "crates/ports/block-device" }
port-input-device = { path = "crates/ports/input-device" }
# drivers
driver-framebuffer-virtio = { path = "crates/drivers/framebuffer/virtio" }
driver-framebuffer-mock = { path = "crates/drivers/framebuffer/mock" }
driver-block-virtio = { path = "crates/drivers/block/virtio" }
driver-input-uart = { path = "crates/drivers/input/uart" }
driver-input-virtio = { path = "crates/drivers/input/virtio" }
# apps
snake = { path = "crates/apps/snake" }
[profile.release]
strip = true
lto = true
opt-level = "z"
panic = "abort"
[profile.dev]
panic = "abort"
# The randomized kernel invariant tests are too slow unoptimized.
[profile.test.package.kernel]
opt-level = 2
[profile.test.package.domain]
opt-level = 2