diff options
Diffstat (limited to 'plugins/dwarf/dwarf_import/demo')
| -rw-r--r-- | plugins/dwarf/dwarf_import/demo/Cargo.toml | 24 | ||||
| -rw-r--r-- | plugins/dwarf/dwarf_import/demo/build.rs | 30 |
2 files changed, 54 insertions, 0 deletions
diff --git a/plugins/dwarf/dwarf_import/demo/Cargo.toml b/plugins/dwarf/dwarf_import/demo/Cargo.toml new file mode 100644 index 00000000..e088fb68 --- /dev/null +++ b/plugins/dwarf/dwarf_import/demo/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "dwarf_import-static" +version = "0.1.0" +edition = "2021" +license = "Apache-2.0" + +[lib] +crate-type = ["staticlib"] +path = "../src/lib.rs" + +[features] +demo = [] + +[dependencies] +dwarfreader = { path = "../../shared/" } +binaryninja = { workspace = true, features = ["demo"]} +binaryninjacore-sys.workspace = true +gimli = "0.31" +log = "0.4" +iset = "0.2.2" +cpp_demangle = "0.4.3" +regex = "1" +indexmap = "2.5.0" +object = "0.36" diff --git a/plugins/dwarf/dwarf_import/demo/build.rs b/plugins/dwarf/dwarf_import/demo/build.rs new file mode 100644 index 00000000..8cbaf2b1 --- /dev/null +++ b/plugins/dwarf/dwarf_import/demo/build.rs @@ -0,0 +1,30 @@ +fn main() { + let link_path = std::env::var_os("DEP_BINARYNINJACORE_PATH") + .expect("DEP_BINARYNINJACORE_PATH not specified"); + + println!("cargo::rustc-link-lib=dylib=binaryninjacore"); + println!( + "cargo::rustc-link-search={}", + link_path + .to_str() + .expect("Failed to convert link path to string") + ); + + #[cfg(target_os = "linux")] + { + println!( + "cargo::rustc-link-arg=-Wl,-rpath,{0},-L{0}", + link_path.to_string_lossy() + ); + } + + #[cfg(target_os = "macos")] + { + let crate_name = std::env::var("CARGO_PKG_NAME").expect("CARGO_PKG_NAME not set"); + let lib_name = crate_name.replace('-', "_"); + println!( + "cargo::rustc-link-arg=-Wl,-install_name,@rpath/lib{}.dylib", + lib_name + ); + } +} |
