aboutsummaryrefslogtreecommitdiffstats
path: root/devel/rust-cbindgen/pkg-descr
blob: adcc91756fad27ae05d07e9d3f06c2c97c733fe9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
cbindgen generates C bindings from Rust code. Unlike rusty-cheddar it
supports generics, C++ enum class and template specialization as well
as multiple modules and crates. It's primarily developed for WebRender
but has been designed to support any project.

Features:
* Builds bindings for a crate, its mods, its dependent crates, and their mods
* Only the necessary types for exposed functions are given bindings
* Can specify annotations for controlling some aspects of binding
* Support for generic structs and unions
* Support for exporting constants and statics
* Customizable formatting, can be used in C or C++ projects
* Support for generating #ifdef's for #[cfg] attributes
* Support for #[repr(sized)] tagged enum's