mirror of
https://github.com/saymrwulf/xous-core.git
synced 2026-11-04 04:27:34 +00:00
doesn't make sense to push this to crates.io because it's not common across all platforms, I think.
228 lines
6.3 KiB
TOML
228 lines
6.3 KiB
TOML
[workspace]
|
|
default-members = [
|
|
"services/xous-log",
|
|
"services/xous-ticktimer",
|
|
"services/xous-names",
|
|
"services/xous-susres",
|
|
"services/graphics-server",
|
|
"services/keyboard",
|
|
"services/com",
|
|
"services/trng",
|
|
"services/gam",
|
|
"services/status",
|
|
"services/ime-plugin-api",
|
|
"services/ime-frontend",
|
|
"services/ime-plugin-shell",
|
|
"services/content-plugin-api",
|
|
"services/shellchat",
|
|
"services/llio",
|
|
"services/codec",
|
|
"services/aes",
|
|
"services/spinor",
|
|
"services/root-keys",
|
|
"services/jtag",
|
|
"services/pddb",
|
|
"services/net",
|
|
"services/dns",
|
|
"services/modals",
|
|
"services/usb-device-xous",
|
|
"services/early_settings",
|
|
"libs/userprefs",
|
|
]
|
|
members = [
|
|
"xous-ipc",
|
|
"xous-rs",
|
|
"tools",
|
|
"services/graphics-server",
|
|
"services/xous-log",
|
|
"services/xous-ticktimer",
|
|
"services/xous-susres",
|
|
"services/xous-names",
|
|
"services/aes-test",
|
|
"services/com",
|
|
"services/keyboard",
|
|
"services/kernel-test",
|
|
"services/ticktimer-test-client",
|
|
"services/trng",
|
|
"services/gam",
|
|
"services/status",
|
|
"services/ime-frontend",
|
|
"services/ime-plugin-shell",
|
|
"services/ime-plugin-tts",
|
|
"services/shellchat",
|
|
"svd2repl",
|
|
"svd2utra",
|
|
"xtask",
|
|
"imports/getrandom",
|
|
"services/ime-plugin-api",
|
|
"services/content-plugin-api",
|
|
"services/llio",
|
|
"services/codec",
|
|
"services/aes",
|
|
"services/spinor",
|
|
"services/root-keys",
|
|
"services/jtag",
|
|
"tools/wycheproof-import",
|
|
"services/pddb",
|
|
"services/net",
|
|
"services/dns",
|
|
"services/log-test-client",
|
|
"services/test-spawn",
|
|
"services/modals",
|
|
"services/early_settings",
|
|
"apps/app-loader",
|
|
"apps/app-loader/spawn",
|
|
"apps/ball",
|
|
"apps/hello",
|
|
"apps/mtxchat",
|
|
"apps/mtxcli",
|
|
"apps/repl",
|
|
"apps/vault",
|
|
"apps/vault/tools/vaultbackup-rs",
|
|
"apps/transientdisk",
|
|
"apps/chat-test",
|
|
"apps/hidv2",
|
|
"services/libstd-test",
|
|
"services/ffi-test",
|
|
"services/tts",
|
|
"services/cram-console",
|
|
"services/bao1x-mbox1",
|
|
"services/bao1x-mbox2",
|
|
#"services/test-spawn",
|
|
#"services/test-spawn/spawn",
|
|
"services/usb-test",
|
|
"services/usb-device-xous",
|
|
"kernel",
|
|
"loader",
|
|
"libs/bio-lib",
|
|
"libs/blitstr2",
|
|
"libs/chat",
|
|
"libs/flatipc",
|
|
"libs/flatipc-derive",
|
|
"libs/perflib",
|
|
"libs/tls",
|
|
"libs/userprefs",
|
|
# "libs/xous-pio",
|
|
"libs/xous-bio",
|
|
"libs/xous-bio-bdma",
|
|
"libs/xous-pl230",
|
|
"libs/bao1x-hal",
|
|
"services/bao1x-hal-service",
|
|
"services/xous-swapper",
|
|
"services/test-swapper",
|
|
"services/bao-video",
|
|
"services/usb-bao1x",
|
|
"services/bao-console",
|
|
"libs/ux-api",
|
|
"services/bao1x-emu",
|
|
"libs/bao1x-api",
|
|
"services/keystore",
|
|
"libs/precursor-hal",
|
|
"apps-baosec/vault2",
|
|
"baremetal",
|
|
"bao1x-boot/boot0",
|
|
"bao1x-boot/boot1",
|
|
"bao1x-boot/sha2-bao1x",
|
|
"apps-dabao/helloworld",
|
|
"apps-dabao/dabao-console",
|
|
"services/swaptest1",
|
|
"services/swaptest2",
|
|
]
|
|
resolver = "2"
|
|
|
|
# These packages have custom RUSTFLAGS, so if they
|
|
# were included in the workspace they would cause
|
|
# packages to be rebuilt every time they were touched.
|
|
# Keep them out of the main workspace.
|
|
exclude = [
|
|
"utralib", # Exclude UTRA, since it is machine-generated.
|
|
"locales", # exclude because it is machine-generated
|
|
"xtask",
|
|
# exclude the API crates, as they are domiciled here but referenced via crates.io
|
|
"api/xous-api-log",
|
|
"api/xous-api-names",
|
|
"api/xous-api-susres",
|
|
"api/xous-api-ticktimer",
|
|
# The "packing" crate is forked and is a separate workspace
|
|
"libs/mass-storage/packing",
|
|
# This directory is dedicated to out-of-tree tests and examples
|
|
"planning/",
|
|
# This is for signing images, and requires dependencies that are incompatible with Xous
|
|
"signing/fido-signer"
|
|
]
|
|
|
|
[profile.release]
|
|
codegen-units = 1 # 1 better optimizations
|
|
debug = false
|
|
strip = false
|
|
lto = "fat"
|
|
incremental = true
|
|
#panic = "abort" # Remove panic output, which can reduce file size
|
|
opt-level = "s" # z,s: Optimize for size instead of performance; 1 for easier debugging; comment out for "best performance" (but in Rust 1.72 this causes regressions)
|
|
|
|
# prefer hardware-accelerated versions of services
|
|
[patch.crates-io]
|
|
sha2 = { git = "https://github.com/betrusted-io/hashes.git", branch = "sha2-v0.10.8-xous" }
|
|
# sha2 = { path = "../hashes/sha2" }
|
|
|
|
# Debugging the bao1x feature on aes ("--features swap" only needed for loader):
|
|
# cargo tree -e features --features bao1x --features swap -f "{p} {f}"
|
|
[patch.crates-io.aes]
|
|
path = "services/aes"
|
|
|
|
[patch.crates-io.curve25519-dalek]
|
|
git = "https://github.com/betrusted-io/curve25519-dalek.git"
|
|
|
|
branch = "main" # c25519
|
|
# path = "../curve25519-dalek/curve25519-dalek" # when doing local dev work
|
|
# feature overrides are specified at the crate level
|
|
|
|
[patch.crates-io.usb-device]
|
|
git = "https://github.com/betrusted-io/usb-device.git"
|
|
branch = "main"
|
|
# local dev shortcuts
|
|
# path = "../usb-device"
|
|
# [patch.github-io.usb-device]
|
|
# path = "../usb-device"
|
|
|
|
[patch.crates-io.getrandom]
|
|
path = "imports/getrandom"
|
|
|
|
[patch.crates-io.ring]
|
|
# path = "../ring-xous" # for local dev only
|
|
git = "https://github.com/betrusted-io/ring-xous"
|
|
rev = "5f86cb10bebd521a45fb3abb06995200aeda2948" # use the commitref because we're still updating the branch
|
|
#branch="0.16.20-cleanup"
|
|
|
|
######################################################
|
|
### PATCHES TO DEV/TEST XOUS KERNEL CODE
|
|
###
|
|
### The kernel is published to crates.io, and all the packages in Xous are configured to get
|
|
### the kernel from crates.io and NOT the local tree.
|
|
###
|
|
### When making changes to the kernel, you must activate some or all of the patches below
|
|
### for the local sources to "see" the changes.
|
|
### You will also need to compile with `--no-verify` to acknowledge that you are doing local
|
|
### source development and accept that what's on crates.io doesn't match what's inside this tree.
|
|
#######################################################
|
|
|
|
### Selectively patch in these crates, or more, as needed depending on your dev activity
|
|
[patch.crates-io.utralib]
|
|
path = "./utralib"
|
|
[patch.crates-io.svd2utra]
|
|
path = "./svd2utra"
|
|
# [patch.crates-io.xous]
|
|
# path = "./xous-rs"
|
|
# [patch.crates-io.xous-ipc]
|
|
# path = "./xous-ipc"
|
|
# [patch.crates-io.xous-api-names]
|
|
# path = "./api/xous-api-names"
|
|
# [patch.crates-io.xous-api-log]
|
|
# path = "./api/xous-api-log"
|
|
# [patch.crates-io.xous-api-ticktimer]
|
|
# path = "./api/xous-api-ticktimer"
|
|
|
|
# [patch.crates-io.xous-tts-backend]
|
|
# path = "../tts-backend"
|
|
# [patch.crates-io.xous-api-susres]
|
|
# path = "./api/xous-api-susres"
|