diff options
Diffstat (limited to 'bindgen-integration/build.rs')
-rw-r--r-- | bindgen-integration/build.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/bindgen-integration/build.rs b/bindgen-integration/build.rs new file mode 100644 index 00000000..ff8ba172 --- /dev/null +++ b/bindgen-integration/build.rs @@ -0,0 +1,28 @@ +extern crate libbindgen; +extern crate gcc; + +use std::env; +use std::path::PathBuf; +use libbindgen::Builder; + +fn main() { + gcc::Config::new() + .cpp(true) + .file("cpp/Test.cc") + .compile("libtest.a"); + + let bindings = Builder::default() + .no_unstable_rust() + .header("cpp/Test.h") + .clang_arg("-x") + .clang_arg("c++") + .clang_arg("-std=c++11") + .generate() + .expect("Unable to generate bindings"); + + + let out_path = PathBuf::from(env::var("OUT_DIR").unwrap()); + bindings + .write_to_file(out_path.join("test.rs")) + .expect("Couldn't write bindings!"); +} |