Skip to main content

Crate wolfram_export_core

Crate wolfram_export_core 

Source
Expand description

Shared inventory + manifest plumbing for the wolfram-export-* runtime crates.

Hosts the ExportEntry enum (the unified inventory entry type used by all three modes — Native, Wstp, Wxf), the inventory::collect! declaration, and the exported_library_functions_association builder that produces the WL Association[name -> LibraryFunctionLoad[...], ...] Expr used by both the WSTP-mode generate_loader! runtime path and the WXF-mode build-time manifest path.

The two transports share this one Expr-producing function — only the wire format at the boundary differs.

Re-exports§

pub use inventory;

Structs§

FunctionEntry
Serializable description of one exported function, embedded in every dylib via __wolfram_manifest_data__. Defined here so the CLI can share the type and deserialize directly with [wolfram_serialize::deserialize].

Enums§

ExportEntry
Inventory entry for one #[export]-marked function.

Functions§

__wolfram_manifest__
C-ABI symbol that the cargo wolfram-manifest subcommand calls via dlopen to extract the library’s exported-function manifest at build time, without running a WSTP loop.
__wolfram_manifest_data__
C-ABI symbol returning WXF-serialized Vec<FunctionEntry> for every exported function. Consumed by cargo wl build via libloading — no WL kernel needed.
exported_library_functions_association
Returns an Association containing the names and LibraryFunctionLoad calls for every #[export(..)]-marked function in this library.