summaryrefslogtreecommitdiff
path: root/plugins/dwarf/dwarf_import/demo
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-10-22 02:09:10 -0400
committerMason Reed <mason@vector35.com>2025-10-22 14:51:07 -0400
commit551738c693b52b8c383eab629fbc9d81d04d4c4b (patch)
treec2da8e1ebc3f69715ec8710f89f1c23241d4ac10 /plugins/dwarf/dwarf_import/demo
parent5ae046509bb7c5c0a5c338793ebc3902820ac9e7 (diff)
Add more plugins to free
Adds WARP, DWARF Import and Objective-C plugins to free
Diffstat (limited to 'plugins/dwarf/dwarf_import/demo')
-rw-r--r--plugins/dwarf/dwarf_import/demo/Cargo.toml24
-rw-r--r--plugins/dwarf/dwarf_import/demo/build.rs30
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
+ );
+ }
+}