From a42cbbe83120bd4724a050e03fb95802a4a5ff42 Mon Sep 17 00:00:00 2001 From: sneurlax Date: Thu, 10 Oct 2024 17:44:10 -0500 Subject: prove integration --- impls/monero_rust/build.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'impls/monero_rust/build.rs') 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!"); } -- cgit v1.2.3