use std::env;
use std::path::PathBuf;
fn main() {
let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap());
let manifest_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
let src_dir = manifest_dir.join("src");
let grammar_src = src_dir.join("parser/intent.lalrpop");
let grammar_dst = out_dir.join("intent.lalrpop");
std::fs::copy(&grammar_src, &grammar_dst).expect("failed to copy grammar");
if let Err(e) = lalrpop::Configuration::new()
.force_build(true)
.emit_rerun_directives(true)
.process_file(&grammar_dst)
{
panic!("lalrpop failed: {:?}", e);
}
println!("cargo:rerun-if-changed={}", grammar_src.display());
}