| use std::env; |
| use std::process::Command; |
| |
| fn main() { |
| let out_dir = env::var("OUT_DIR").unwrap(); |
| let python = env::var("PYTHON").unwrap_or("python3".to_string()); |
| |
| let regtool = |
| env::var("MATCHA_REGTOOL").expect("missing environment variable 'MATCHA_REGTOOL'"); |
| println!("cargo:rerun-if-env-changed=MATCHA_REGTOOL"); |
| println!("cargo:rerun-if-changed={}", regtool); |
| |
| let plic_hjson = |
| env::var("MATCHA_PLIC_HJSON").expect("missing environment variable 'MATCHA_PLIC_HJSON'"); |
| println!("cargo:rerun-if-env-changed=MATCHA_PLIC_HJSON"); |
| println!("cargo:rerun-if-changed={}", plic_hjson); |
| |
| let mut cmd = Command::new("/usr/bin/env"); |
| cmd.arg(python) |
| .arg(regtool) |
| .arg("-R") |
| .arg("-o") |
| .arg(format!("{}/plic.rs", out_dir)) |
| .arg(plic_hjson); |
| println!("Running: {:?}", cmd); |
| assert!(cmd.status().unwrap().success()); |
| } |