From a49c29b7aea694e41fb92b100325ce34affb413f Mon Sep 17 00:00:00 2001 From: Mark Rowe Date: Thu, 4 Sep 2025 14:40:53 -0700 Subject: [Swift] Initial skeleton of a plug-in for Swift support --- plugins/workflow_swift/demo/Cargo.toml | 19 +++++++++++++++++++ plugins/workflow_swift/demo/build.rs | 15 +++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 plugins/workflow_swift/demo/Cargo.toml create mode 100644 plugins/workflow_swift/demo/build.rs (limited to 'plugins/workflow_swift/demo') diff --git a/plugins/workflow_swift/demo/Cargo.toml b/plugins/workflow_swift/demo/Cargo.toml new file mode 100644 index 00000000..38fb633d --- /dev/null +++ b/plugins/workflow_swift/demo/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "workflow_swift-static" +version = "0.1.0" +edition = "2021" +license = "BSD-3-Clause" +publish = false + +[lib] +crate-type = ["staticlib"] +path = "../src/lib.rs" + +[features] +demo = [] + +[dependencies] +binaryninja = { workspace = true, features = ["demo"] } +binaryninjacore-sys.workspace = true +tracing = "0.1" +thiserror = "2.0" diff --git a/plugins/workflow_swift/demo/build.rs b/plugins/workflow_swift/demo/build.rs new file mode 100644 index 00000000..ed6cec7d --- /dev/null +++ b/plugins/workflow_swift/demo/build.rs @@ -0,0 +1,15 @@ +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().unwrap()); + + #[cfg(not(target_os = "windows"))] + { + println!( + "cargo::rustc-link-arg=-Wl,-rpath,{0},-L{0}", + link_path.to_string_lossy() + ); + } +} -- cgit v1.3.1