diff options
| author | sneurlax <sneurlax@gmail.com> | 2024-10-10 17:44:10 -0500 |
|---|---|---|
| committer | sneurlax <sneurlax@gmail.com> | 2024-10-10 17:44:10 -0500 |
| commit | a42cbbe83120bd4724a050e03fb95802a4a5ff42 (patch) | |
| tree | 34b69abe03eea0baa42bdb30aadf301c5228fa9f /impls/monero_rust/build.rs | |
| parent | 440f6c31c764296f5b6856dcd8ba759cfd17d1a0 (diff) | |
prove integration
Diffstat (limited to 'impls/monero_rust/build.rs')
| -rw-r--r-- | impls/monero_rust/build.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/impls/monero_rust/build.rs b/impls/monero_rust/build.rs index 47c41a6..c3dd63a 100644 --- a/impls/monero_rust/build.rs +++ b/impls/monero_rust/build.rs @@ -5,6 +5,8 @@ fn main() { println!("cargo:rerun-if-changed=build.rs"); let lib_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()).join("lib"); + let monero_include_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()) + .join("../../monero_libwallet2_api_c/src/main/cpp/"); println!("cargo:rustc-link-search=native={}", lib_dir.display()); println!("cargo:rustc-link-lib=dylib=wallet2_api_c"); @@ -12,4 +14,17 @@ fn main() { println!("cargo:rustc-link-lib=dylib=hidapi-hidraw"); println!("cargo:rustc-link-arg-bin=monero_rust=-Wl,-rpath,$ORIGIN/../../lib"); + + // Generate Rust bindings. + let bindings = bindgen::Builder::default() + .header("../../monero_libwallet2_api_c/src/main/cpp/wallet2_api_c.h") + .clang_arg(format!("-I{}", monero_include_dir.display())) + .generate() + .expect("Unable to generate bindings"); + let out_path = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap()) + .join("src") + .join("bindings.rs"); + bindings + .write_to_file(&out_path) + .expect("Couldn't write bindings!"); } |
