| David Tolnay | ee907be | 2020-10-07 17:38:59 -0700 | [diff] [blame^] | 1 | use std::env; |
| 2 | use std::path::Path; |
| 3 | |
| David Tolnay | 7db7369 | 2019-10-20 14:51:12 -0400 | [diff] [blame] | 4 | fn main() { |
| 5 | cc::Build::new() |
| David Tolnay | 736cbca | 2020-03-11 16:49:18 -0700 | [diff] [blame] | 6 | .file("src/cxx.cc") |
| Christopher Chalmers | d24563d | 2020-05-08 19:23:46 +0100 | [diff] [blame] | 7 | .cpp(true) |
| David Tolnay | 110df7d | 2020-05-08 13:06:04 -0700 | [diff] [blame] | 8 | .cpp_link_stdlib(None) // linked via link-cplusplus crate |
| David Tolnay | de1cb77 | 2020-08-28 17:25:29 -0700 | [diff] [blame] | 9 | .flag_if_supported(cxxbridge_flags::STD) |
| David Tolnay | 591dcb6 | 2020-09-01 23:00:38 -0700 | [diff] [blame] | 10 | .compile("cxxbridge04"); |
| David Tolnay | 736cbca | 2020-03-11 16:49:18 -0700 | [diff] [blame] | 11 | println!("cargo:rerun-if-changed=src/cxx.cc"); |
| 12 | println!("cargo:rerun-if-changed=include/cxx.h"); |
| David Tolnay | 585a9fe | 2020-08-30 21:03:38 -0700 | [diff] [blame] | 13 | println!("cargo:rustc-cfg=built_with_cargo"); |
| David Tolnay | ee907be | 2020-10-07 17:38:59 -0700 | [diff] [blame^] | 14 | 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 Tolnay | 7db7369 | 2019-10-20 14:51:12 -0400 | [diff] [blame] | 18 | } |