libffi-sys

Crates.iolibffi-sys
lib.rslibffi-sys
version2.3.0
sourcesrc
created_at2016-06-14 03:22:46.554235
updated_at2023-04-26 22:21:15.31241
descriptionRaw Rust bindings for libffi
homepage
repositoryhttps://github.com/tov/libffi-rs
max_upload_size
id5375
size5,453,222
Yorick Peterse (yorickpeterse)

documentation

README

libffi-sys-rs: Low-level Rust bindings for libffi

GitHub Workflow Status Documentation Crates.io License: MIT License: Apache 2.0

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.

Commit count: 387

cargo fmt