use std::env;
use cxx_build::CFG;
fn main() {
CFG.include_prefix = "risc0/zkvm";
let inc_dir = env::var_os("DEP_RISC0_ZKVM_CIRCUIT_GEN_INC").unwrap();
let mut build = cxx_build::bridge("lib.rs");
build
.file("prove/exec.cpp")
.file("prove/io_handler.cpp")
.file("prove/method_id.cpp")
.file("prove/riscv.cpp")
.file("prove/step_context.cpp")
.file("prove/step.cpp")
.file("verify/riscv.cpp")
.file("sdk/cpp/host/c_api.cpp")
.file("sdk/cpp/host/receipt.cpp")
.include(inc_dir)
.define("__TBB_NO_IMPLICIT_LINKAGE", None)
.flag_if_supported("-Werror=missing-declarations")
.flag_if_supported("/std:c++17")
.flag_if_supported("-std=c++17")
.warnings(false);
if let Some(tbb_inc_dir) = env::var_os("DEP_TBB_INCLUDE") {
build.include(tbb_inc_dir);
}
build.compile("risc0-zkvm-sys");
println!("cargo:rustc-link-lib=static=tbb");
println!("cargo:rustc-link-lib=static=risc0-core-sys");
println!("cargo:rustc-link-lib=static=risc0-zkp-sys");
}