summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyleMiles <krm504@nyu.edu>2023-06-06 18:22:18 -0400
committerKyleMiles <krm504@nyu.edu>2023-06-06 18:22:18 -0400
commitc36b73d2972736108e6f8b84e361e4f5f7b94700 (patch)
tree074821acc73981dfe6e7bff902976525cb03c700
parent1dc12c62adddae84b8121009f5276697c201693c (diff)
Rust API : Add the noexports feature to not export the ABI functions (for when you're statically compiling several Rust modules that use the API...only one needs to export it)
-rw-r--r--rust/Cargo.toml3
-rw-r--r--rust/src/lib.rs2
2 files changed, 5 insertions, 0 deletions
diff --git a/rust/Cargo.toml b/rust/Cargo.toml
index f51200bc..84976d3c 100644
--- a/rust/Cargo.toml
+++ b/rust/Cargo.toml
@@ -4,6 +4,9 @@ version = "0.1.0"
authors = ["Ryan Snyder <ryan@vector35.com>", "Kyle Martin <kyle@vector35.com>"]
edition = "2021"
+[features]
+noexports = []
+
[dependencies]
lazy_static = "1.4.0"
log = "0.4"
diff --git a/rust/src/lib.rs b/rust/src/lib.rs
index 9cbe32e9..06591236 100644
--- a/rust/src/lib.rs
+++ b/rust/src/lib.rs
@@ -550,12 +550,14 @@ pub fn add_optional_plugin_dependency<S: string::BnStrCompatible>(name: S) {
}
// Provide ABI version automatically so that the core can verify binary compatibility
+#[cfg(not(feature = "noexports"))]
#[no_mangle]
#[allow(non_snake_case)]
pub extern "C" fn CorePluginABIVersion() -> u32 {
plugin_abi_version()
}
+#[cfg(not(feature = "noexports"))]
#[no_mangle]
pub extern "C" fn UIPluginABIVersion() -> u32 {
plugin_ui_abi_version()