uniffi/Cargo.toml (58 lines of code) (raw):
[package]
name = "uniffi"
description = "a multi-language bindings generator for rust"
documentation = "https://mozilla.github.io/uniffi-rs"
homepage = "https://mozilla.github.io/uniffi-rs"
repository = "https://github.com/mozilla/uniffi-rs"
# Incrementing the minor version here means a breaking change to consumers.
# * See `docs/uniffi-versioning.md` for guidance on when to increment this
# * Make sure to also update `uniffi_bindgen::UNIFFI_CONTRACT_VERSION"
version = "0.29.1"
license = "MPL-2.0"
edition = "2021"
keywords = ["ffi", "bindgen"]
readme = "../README.md"
[dependencies]
uniffi_bindgen = { path = "../uniffi_bindgen", version = "=0.29.1", optional = true }
uniffi_build = { path = "../uniffi_build", version = "=0.29.1", optional = true }
uniffi_core = { path = "../uniffi_core", version = "=0.29.1" }
uniffi_macros = { path = "../uniffi_macros", version = "=0.29.1" }
uniffi_pipeline = { path = "../uniffi_pipeline", version = "=0.29.1" }
anyhow = "1"
camino = { version = "1.0.8", optional = true }
cargo_metadata = { version = "0.19", optional = true }
# avoid 'clap/color' due to dependency hell.
clap = { version = "4", default-features = false, features = [ "cargo", "derive", "error-context", "help", "suggestions", "std", "usage" ], optional = true }
[dev-dependencies]
trybuild = "1"
[features]
default = ["cargo-metadata"]
# Printout tracing information on FFI calls. Useful for debugging issues with the bindings code.
ffi-trace = ["uniffi_core/ffi-trace", "uniffi_bindgen?/ffi-trace"]
# Support for features needed by the `build.rs` script. Enable this in your
# `build-dependencies`.
build = [ "dep:uniffi_build" ]
# Support for `uniffi_bindgen::generate_bindings`.
# Enable this feature for your `uniffi-bindgen` binaries if you don't need the full CLI.
bindgen = ["dep:uniffi_bindgen"]
cargo-metadata = ["dep:cargo_metadata", "uniffi_bindgen?/cargo-metadata"]
# Support for `uniffi_bindgen_main()`. Enable this feature for your
# `uniffi-bindgen` binaries.
cli = [ "bindgen", "dep:clap", "dep:camino" ]
# Support for running example/fixture tests for `uniffi-bindgen`. You probably
# don't need to enable this.
bindgen-tests = [ "dep:uniffi_bindgen", "uniffi_bindgen?/bindgen-tests" ]
# Enable support for Tokio's futures.
# This must still be opted into on a per-function basis using `#[uniffi::export(async_runtime = "tokio")]`.
tokio = ["uniffi_core/tokio"]
# Generate extra scaffolding functions that use FfiBuffer to pass arguments and return values
# This is needed for the gecko-js bindings.
scaffolding-ffi-buffer-fns = ["uniffi_core/scaffolding-ffi-buffer-fns", "uniffi_macros/scaffolding-ffi-buffer-fns"]
# Support for WebAssembly targets in a single-threaded environment.
# This feature is unstable and may change in the future.
wasm-unstable-single-threaded = [
"uniffi_core/wasm-unstable-single-threaded",
"uniffi_macros/wasm-unstable-single-threaded",
]
[package.metadata.docs.rs]
rustdoc-args = ["--generate-link-to-definition"]