Cargo Features

[dependencies]
uniffi-alicorn = { version = "0.1.2", default-features = false, features = ["doc", "ffi-trace", "build", "bindgen", "cargo-metadata", "cli", "bindgen-tests", "tokio", "scaffolding-ffi-buffer-fns"] }
default = cargo-metadata

These default features are set whenever uniffi-alicorn is added without default-features = false somewhere in the dependency tree.

Enables uniffi

doc = cli
ffi-trace

Printout tracing information on FFI calls. Useful for debugging issues with the bindings code.

Enables ffi-trace of uniffi and optional uniffi-bindgen-alicorn

build

Support for features needed by the build.rs script. Enable this in your build-dependencies.

Enables uniffi-build-alicorn, build of uniffi

bindgen cli?

Support for uniffi_bindgen::generate_bindings. Enable this feature for your uniffi-bindgen binaries if you don't need the full CLI.

Enables uniffi-bindgen-alicorn and uniffi_bindgen, bindgen of uniffi

cargo-metadata default

Enables cargo_metadata ^0.15, cargo-metadata of uniffi and optional uniffi-bindgen-alicorn

cli doc? = bindgen

Support for uniffi_bindgen_main(). Enable this feature for your uniffi-bindgen binaries.

Enables cli of uniffi and camino and clap

clap:

avoid 'clap/color' due to dependency hell.

bindgen-tests

Support for running example/fixture tests for uniffi-bindgen. You probably don't need to enable this.

Enables bindgen-tests of uniffi, uniffi-bindgen-alicorn, and optional uniffi_bindgen

tokio

Enable support for Tokio's futures. This must still be opted into on a per-function basis using #[uniffi::export(async_runtime = "tokio")].

Enables tokio of uniffi

scaffolding-ffi-buffer-fns

Generate extra scaffolding functions that use FfiBuffer to pass arguments and return values This is needed for the gecko-js bindings.

Enables scaffolding-ffi-buffer-fns of uniffi and uniffi-macros-alicorn