rhai/build.rs

28 lines
770 B
Rust

use std::{env, fs::File, io::Write};
const WRITE_ERROR: &str = "cannot write to `config.rs`";
fn main() {
// Tell Cargo that if the given environment variable changes, to rerun this build script.
println!("cargo:rerun-if-env-changed=RHAI_AHASH_SEED");
let mut f = File::create("src/config.rs").expect("cannot create `config.rs`");
f.write_fmt(format_args!(
"//! Configuration settings for this Rhai build
#![allow(dead_code)]
"
))
.expect(WRITE_ERROR);
let seed = env::var("RHAI_AHASH_SEED").map_or_else(|_| "None".into(), |s| format!("Some({s})"));
f.write_fmt(format_args!(
"pub const AHASH_SEED: Option<[u64; 4]> = {seed};\n"
))
.expect(WRITE_ERROR);
f.flush().expect("cannot flush `config.rs`");
}