blob: 688b5b77631652af15cf874df15a2245d041ff57 [file] [log] [blame]
David Tolnayee907be2020-10-07 17:38:59 -07001use std::env;
2use std::path::Path;
3
David Tolnay7db73692019-10-20 14:51:12 -04004fn main() {
5 cc::Build::new()
David Tolnay736cbca2020-03-11 16:49:18 -07006 .file("src/cxx.cc")
Christopher Chalmersd24563d2020-05-08 19:23:46 +01007 .cpp(true)
David Tolnay110df7d2020-05-08 13:06:04 -07008 .cpp_link_stdlib(None) // linked via link-cplusplus crate
David Tolnayde1cb772020-08-28 17:25:29 -07009 .flag_if_supported(cxxbridge_flags::STD)
David Tolnay591dcb62020-09-01 23:00:38 -070010 .compile("cxxbridge04");
David Tolnay736cbca2020-03-11 16:49:18 -070011 println!("cargo:rerun-if-changed=src/cxx.cc");
12 println!("cargo:rerun-if-changed=include/cxx.h");
David Tolnay585a9fe2020-08-30 21:03:38 -070013 println!("cargo:rustc-cfg=built_with_cargo");
David Tolnayee907be2020-10-07 17:38:59 -070014 if let Some(manifest_dir) = env::var_os("CARGO_MANIFEST_DIR") {
15 let cxx_h = Path::new(&manifest_dir).join("include").join("cxx.h");
16 println!("cargo:HEADER={}", cxx_h.to_string_lossy());
17 }
David Tolnay7db73692019-10-20 14:51:12 -040018}