use std::{env, path::PathBuf};
const TARGET_HEADER: &str = "./libpg_query/pg_query.h";
fn main() -> Result<(), Box<dyn std::error::Error>> {
let out_path = PathBuf::from(env::var("OUT_DIR")?);
println!("cargo:rerun-if-changed={}", TARGET_HEADER);
println!("cargo:rustc-link-search=native=./libpg_query");
println!("cargo:rustc-link-lib=static=pg_query");
bindgen::Builder::default()
.header(TARGET_HEADER)
.parse_callbacks(Box::new(bindgen::CargoCallbacks))
.generate()
.map_err(|_| "Unable to generate bindings")?
.write_to_file(out_path.join("bindings.rs"))?;
prost_build::compile_protos(
&["./libpg_query/protobuf/pg_query.proto"],
&["./libpg_query/protobuf"],
)?;
Ok(())
}