mirror of
https://github.com/rtic-rs/rtic.git
synced 2024-11-23 20:22:51 +01:00
4060c3def8
* Rebase to master * using interrupt_mod * bug fixes * fix other backends * Add changelog * forgot about rtic-macros * backend-specific configuration * core peripherals optional over macro argument * pre_init_preprocessing binding * CI for RISC-V (WIP) * separation of concerns * add targets for RISC-V examples * remove qemu feature * prepare examples folder * move examples all together * move ci out of examples * minor changes * add cortex-m * new xtask: proof of concept * fix build.yml * feature typo * clean rtic examples * reproduce weird issue * remove unsafe code in user app * update dependencies * allow builds on riscv32imc * let's fix QEMU * Update .github/workflows/build.yml Co-authored-by: Henrik Tjäder <henrik@tjaders.com> * New build.rs * removing test features * adapt ui test to new version of clippy * add more examples to RISC-V backend * proper configuration of heapless for riscv32imc * opt-out examples for riscv32imc * point to new version of riscv-slic * adapt new macro bindings * adapt examples and CI to stable * fix cortex-m CI * Review --------- Co-authored-by: Henrik Tjäder <henrik@tjaders.com>
39 lines
1.3 KiB
Rust
39 lines
1.3 KiB
Rust
use std::env;
|
|
|
|
fn main() {
|
|
// Get the backend feature selected by the user
|
|
let mut backends: Vec<_> = env::vars()
|
|
.filter_map(|(key, _value)| {
|
|
if key.starts_with("CARGO_FEATURE") && key.ends_with("BACKEND") {
|
|
// strip 'CARGO_FEATURE_', convert to lowercase, and replace '_' with '-'
|
|
Some(key[14..].to_lowercase().replace('_', "-"))
|
|
} else {
|
|
None
|
|
}
|
|
})
|
|
.collect();
|
|
if backends.len() > 1 {
|
|
panic!("More than one backend feature selected: {:?}", backends);
|
|
}
|
|
let backend = backends.pop().expect("No backend feature selected.");
|
|
|
|
match backend.as_str() {
|
|
"thumbv6-backend" | "thumbv8base-backend" => {
|
|
println!("cargo:rustc-cfg=feature=\"cortex-m-source-masking\"");
|
|
}
|
|
"thumbv7-backend" | "thumbv8main-backend" => {
|
|
println!("cargo:rustc-cfg=feature=\"cortex-m-basepri\"");
|
|
}
|
|
"riscv-esp32c3-backend" => {
|
|
println!("cargo:rustc-cfg=feature=\"riscv-esp32c3\"");
|
|
}
|
|
"riscv-clint-backend" => {
|
|
println!("cargo:rustc-cfg=feature=\"riscv-slic\"");
|
|
}
|
|
_ => {
|
|
panic!("Unknown backend feature: {:?}", backend);
|
|
}
|
|
}
|
|
|
|
println!("cargo:rerun-if-changed=build.rs");
|
|
}
|