use std::{env, path::PathBuf}; fn main() { println!("cargo:rerun-if-env-changed=DEFMT_RTT_BUFFER_SIZE"); let size = env::var("DEFMT_RTT_BUFFER_SIZE") .map(|s| { s.parse() .expect("could not parse DEFMT_RTT_BUFFER_SIZE as usize") }) .unwrap_or(1024_usize); let out_dir_path = PathBuf::from(env::var_os("OUT_DIR").unwrap()); let out_file_path = out_dir_path.join("consts.rs"); std::fs::write( out_file_path, format!( "/// RTT buffer size (default: 1024). /// /// Can be customized by setting the `DEFMT_RTT_BUFFER_SIZE` environment variable. /// Use a power of 2 for best performance. pub(crate) const BUF_SIZE: usize = {};", size ), ) .unwrap(); }