2019-02-01 18:52:22 -06:00
|
|
|
extern crate cbindgen;
|
|
|
|
|
2019-03-06 10:39:34 +01:00
|
|
|
use cbindgen::{Builder, Language};
|
2019-03-05 15:52:18 +01:00
|
|
|
use std::{env, path::Path};
|
2019-02-01 18:52:22 -06:00
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let crate_dir = env::var("CARGO_MANIFEST_DIR").unwrap();
|
2019-03-06 10:39:34 +01:00
|
|
|
|
2019-03-05 15:52:18 +01:00
|
|
|
let out_dir = env::var("OUT_DIR").unwrap();
|
|
|
|
let out_path = Path::new(&out_dir);
|
2019-03-06 10:39:34 +01:00
|
|
|
|
2019-03-05 15:52:18 +01:00
|
|
|
let mut wasmer_h = out_path.to_path_buf();
|
|
|
|
wasmer_h.push("wasmer.h");
|
2019-03-06 10:39:34 +01:00
|
|
|
|
2019-03-05 15:52:18 +01:00
|
|
|
let mut wasmer_hh = out_path.to_path_buf();
|
|
|
|
wasmer_hh.push("wasmer.hh");
|
2019-02-01 18:52:22 -06:00
|
|
|
|
2019-03-06 10:39:34 +01:00
|
|
|
Builder::new()
|
2019-02-04 19:54:12 -06:00
|
|
|
.with_crate(crate_dir.clone())
|
2019-02-01 22:10:36 -06:00
|
|
|
.with_language(Language::C)
|
2019-02-09 18:07:05 -06:00
|
|
|
.with_include_guard("WASMER_H")
|
2019-02-01 18:52:22 -06:00
|
|
|
.generate()
|
2019-02-04 19:54:12 -06:00
|
|
|
.expect("Unable to generate C bindings")
|
2019-03-05 15:52:18 +01:00
|
|
|
.write_to_file(wasmer_h);
|
2019-02-04 19:54:12 -06:00
|
|
|
|
2019-03-06 10:39:34 +01:00
|
|
|
Builder::new()
|
2019-02-04 19:54:12 -06:00
|
|
|
.with_crate(crate_dir)
|
|
|
|
.with_language(Language::Cxx)
|
2019-02-09 18:07:05 -06:00
|
|
|
.with_include_guard("WASMER_H")
|
2019-02-04 19:54:12 -06:00
|
|
|
.generate()
|
|
|
|
.expect("Unable to generate C++ bindings")
|
2019-03-05 15:52:18 +01:00
|
|
|
.write_to_file(wasmer_hh);
|
2019-02-01 18:52:22 -06:00
|
|
|
}
|