From 3ceeecc3bc0213622efa7b6135f442ff2da14286 Mon Sep 17 00:00:00 2001 From: sneurlax Date: Thu, 10 Oct 2024 21:30:28 -0500 Subject: /monero_rust -> /monero.rs just to match the style in impls and sneurlax/monero_c -> MrCyjaneK/monero_c --- impls/monero.rs/build.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 impls/monero.rs/build.rs (limited to 'impls/monero.rs/build.rs') diff --git a/impls/monero.rs/build.rs b/impls/monero.rs/build.rs new file mode 100644 index 0000000..c3dd63a --- /dev/null +++ b/impls/monero.rs/build.rs @@ -0,0 +1,30 @@ +use std::env; +use std::path::PathBuf; + +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"); + println!("cargo:rustc-link-lib=dylib=stdc++"); + 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