[target.'cfg(all(any(target_arch = "riscv32", target_arch = "xtensa"), target_os = "none"))'] runner = "espflash flash --monitor" # runner = "probe-rs run --chip esp32s3 --preverify" [build] target = "xtensa-esp32s3-none-elf" rustflags = [ # Required to obtain backtraces (e.g. when using the "esp-backtrace" crate.) # NOTE: May negatively impact performance of produced code "-C", "force-frame-pointers", ] [env] LIBXKBCOMMON_BUILD_DIR = "libxkbcommon/build" SPECTRE_API_BUILD_DIR = "spectre-api/build" SPECTRE_API_SYS_CC = "xtensa-esp32s3-elf-cc.exe" ESP_LOG = "warn" # This is overkill, but we can afford it. SLINT_FONT_SIZES = "8,11,10,12,13,14,15,16,18,20,22,24,32" # Xtensa only: # Needed for nightly, until llvm upstream has support for Rust Xtensa. # TODO: RE-ENABLE WHEN acid-firmware IS MOVED TO ITS OWN SUBDIRECTORY. # For now, `-Zbuild-std="core,alloc"` can be used instead. # [unstable] # build-std = ["alloc", "core"] [patch."https://github.com/Limeth/spectre-api-sys"] spectre-api-sys = { path = "../../../rust/spectre-api-sys" } [patch.crates-io] rmk = { path = "../../../rust/rmk/rmk" } xkbcommon = { path = "../../../rust/xkbcommon-rs-ffi" } scrypt = { path = "../../../rust/password-hashes/scrypt" } # [patch.crates-io] # esp-backtrace = { path = "../../../rust/esp-hal/esp-backtrace" } # esp-hal = { path = "../../../rust/esp-hal/esp-hal" } # esp-storage = { path = "../../../rust/esp-hal/esp-storage" } # esp-alloc = { path = "../../../rust/esp-hal/esp-alloc" } # esp-println = { path = "../../../rust/esp-hal/esp-println" } # esp-radio = { path = "../../../rust/esp-hal/esp-radio" } # esp-rtos = { path = "../../../rust/esp-hal/esp-rtos" } # esp-bootloader-esp-idf = { path = "../../../rust/esp-hal/esp-bootloader-esp-idf" }