41 releases (15 stable)
2.3.0 | Apr 26, 2023 |
---|---|
2.2.0 | Mar 28, 2023 |
2.0.1 | Oct 20, 2022 |
2.0.0 | Mar 7, 2022 |
0.4.4 | Jun 21, 2016 |
#128 in FFI
34,493 downloads per month
Used in 58 crates
(5 directly)
3MB
69K
SLoC
Contains (autotools obfuscated code, 715KB) libffi/configure, (obscure autoconf code, 15KB) libffi/configure.ac
libffi-sys-rs: Low-level Rust bindings for libffi
The C libffi library provides two main facilities: assembling calls to functions dynamically, and creating closures that can be called as ordinary C functions. This is an undocumented wrapper, generated by bindgen, intended as the basis for higher-level bindings.
If you clone this repository in order to build the library and you do
not plan to enable the system
Cargo feature to build against your
system’s C libffi, then you should do a recursive clone, by default this
library builds C libffi from a Git submodule.
See the libffi
crate for a higher-level API.
Usage
libffi-sys
can either build its own copy of the libffi C library from
github or it can link against your
system’s C libffi. By default it builds its own because many systems
ship with an old C libffi; this requires that you have a working make,
C compiler, automake, and autoconf first. If your system libffi
is new enough (v3.2.1 as of October 2019), you can instead enable the
system
feature flag to use that. If you want this crate to build
a C libffi for you, add
[dependencies]
libffi-sys = "2.3.0"
to your Cargo.toml
. If you want to use your system C libffi, then
[dependencies.libffi-sys]
version = "2.3.0"
features = ["system"]
to your Cargo.toml
instead.
This crate supports Rust version 1.32 and later.