Configuration
The generated Swift module can be configured using a uniffi.toml
configuration file.
Available options
The configurations prefixed with experimental_
should be regarded as unstable and
more likely to change than other configurations.
Configuration name | Default | Description |
---|---|---|
cdylib_name | uniffi_{namespace} 1 | The name of the compiled Rust library containing the FFI implementation (not needed when using generate --library ). |
module_name | {namespace} 1 | The name of the Swift module containing the high-level foreign-language bindings. |
ffi_module_name | {module_name}FFI | The name of the lower-level C module containing the FFI declarations. |
ffi_module_filename | {ffi_module_name} | The filename stem for the lower-level C module containing the FFI declarations. |
generate_module_map | true | Whether to generate a .modulemap file for the lower-level C module with FFI declarations. |
omit_argument_labels | false | Whether to omit argument labels in Swift function definitions. |
generate_immutable_records | false | Whether to generate records with immutable fields (let instead of var ). |
experimental_sendable_value_types | false | Whether to mark value types as `Sendable'. |
custom_types | A map which controls how custom types are exposed to Swift. See the custom types section of the manual |
1
namespace
is the top-level namespace from your UDL file.
Example
[bindings.swift]
cdylib_name = "mycrate_ffi"
omit_argument_labels = true