Unified runtime for #[export]-marked Wolfram LibraryLink functions.
Pick modes via Cargo features:
= { = "0.5", = ["wxf"] } # typed WXF
= { = "0.5", = ["wstp"] } # WSTP Link
= "0.5" # native (default)
Then in your code:
use wolfram_export::export;
#[export] fn add(a: f64, b: f64) -> f64 { a + b }
#[export(wstp)] fn foo(link: &mut Link) { /* ... */ }
#[export(wxf)] fn dot(a: Vec<f64>, b: Vec<f64>) -> f64 { /* ... */ }
Each mode's wire shape, runtime, and Cargo dep set live in its own
feature-gated submodule below. The ExportEntry inventory and the
__wolfram_manifest__ C symbol are always on (they're tiny and how the
cargo wl build tool discovers exports).