[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", "imports/com_rs-ref", "services/ime-plugin-api", "services/ime-frontend", "services/ime-plugin-shell", "services/content-plugin-api", "services/shellchat", "services/llio", "services/codec", "services/engine-sha512", "services/engine-25519", "services/aes", "services/spinor", "services/root-keys", "services/jtag", "services/pddb", "services/net", "services/dns", "services/modals", "services/usb-device-xous", "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/trng", "services/gam", "services/status", "services/ime-frontend", "services/ime-plugin-shell", "services/ime-plugin-tts", "services/shellchat", "svd2repl", "svd2utra", "xtask", "imports/com_rs-ref", "imports/getrandom", "services/ime-plugin-api", "services/content-plugin-api", "services/llio", "services/codec", "services/engine-sha512", "services/engine-25519", "services/aes", "services/spinor", "services/root-keys", "services/jtag", "tools/wycheproof-import", "services/pddb", "services/net", "services/dns", "services/modals", "apps/ball", "apps/hello", "apps/mtxcli", "apps/repl", "apps/vault", "apps/vault/tools/vaultbackup-rs", "services/libstd-test", "services/ffi-test", "services/tts", "services/test-spawn", "services/test-spawn/spawn", "services/usb-test", "services/usb-device-xous", "tools/perflib", "kernel", "loader", "libs/userprefs" ] 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-susres", "api/xous-api-ticktimer", # The "packing" crate is forked and is a separate workspace "libs/mass-storage/packing", ] [profile.release] codegen-units = 1 # 1 better optimizations debug = false strip = true lto = "fat" incremental = true #panic = "abort" # Remove panic output, which can reduce file size #opt-level = 1 # z,s: Optimize for size instead of performance; 1 for easier debugging # prefer hardware-accelerated versions of services [patch.crates-io.sha2] path = "services/engine-sha512" [patch.crates-io.aes] path = "services/aes" [patch.crates-io.xous-names] path = "services/xous-names" [patch.crates-io.curve25519-dalek] git="https://github.com/betrusted-io/curve25519-dalek.git" branch="main" #path = "../curve25519-dalek" # when doing local dev work # feature overrides are specified at the crate level [patch."https://github.com/betrusted-io/xous-engine-25519.git"] engine-25519 = {path = "services/engine-25519"} [patch.crates-io.usb-device] git="https://github.com/betrusted-io/usb-device.git" branch="main" # local dev shortcuts #path = "../usb-device" #[patch.crates-io.usbd-human-interface-device] #path = "../usbd-human-interface-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="4296c2e7904898766cf7d8d589759a129794783b" # 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. ####################################################### ### Minimum recommended patch set: this causes xous-ring to behave correctly when doing local dev # [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" ### 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-api-susres] # path = "./api/xous-api-susres" # [patch.crates-io.xous-susres] # path = "./services/xous-susres"