macOS
brew install bindgenlocal Homebrew formula metadata
brew
Automatically generates Rust FFI bindings to C (and some C++) libraries. Version 0.72.1 via Homebrew; verified from local package data.
install
brew install bindgenlocal Homebrew formula metadata
sudo apt install bindgenDebian stable package indexes · bindgen · source: deb.debian.org
sudo dnf install bindgen-cliFedora Rawhide package metadata · bindgen-cli · source: dl.fedoraproject.org
overview
Automatically generates Rust FFI bindings to C (and some C++) libraries
history
bindgen is the Rust ecosystem's standard bridge from C and C++ header files to Rust FFI declarations. It uses Clang/libclang to understand native headers, then emits Rust declarations that let crates call C libraries without hand-maintaining large extern blocks.
The bindgen crate was first published to crates.io in November 2014, before the current rust-lang/rust-bindgen GitHub repository was created in June 2016. The project later became a Rust organization project and documents both a library API and a bindgen command-line tool.
The README describes bindgen as automatically generating Rust FFI bindings to C and some C++ libraries, and the user guide documents command-line use, libclang requirements, build-script integration, and allow/block-listing. The changelog and GitHub releases show a continuing 0.x release line, with 0.72.1 published in August 2025.
bindgen became infrastructure rather than just a utility: crates use it from build.rs scripts to follow system headers at build time, while package managers ship the standalone CLI for developers who want generated bindings on demand. The supplied package facts list Homebrew, Debian, Fedora, and Ubuntu packages, and crates.io reports hundreds of millions of crate downloads.
Typical use is to point bindgen at a wrapper header, pass any needed Clang include or target arguments, and either write the generated Rust to a file or integrate generation into a Cargo build script. The README also documents environment variables such as BINDGEN_EXTRA_CLANG_ARGS for end-user control without patching downstream crates.
bindgen matters to package people because it turns native ABI drift into a build-time concern. When a distribution updates libclang, libc headers, OpenSSL, LLVM, or another C dependency, Rust packages that rely on bindgen can regenerate declarations instead of shipping stale vendored bindings.
It is also a classic example of Rust's pragmatic systems story: memory-safe application code still has to meet decades of C APIs, and bindgen is the conveyor belt between those worlds. Its dependency on libclang makes it sensitive to compiler packaging, SDK paths, sysroots, cross-compilation flags, and reproducible-build environments.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
rustfmt.toml in the directory where bindgen is runexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
bindgen | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/rust-lang/rust-bindgen
install metadata
| Package key | brew:bindgen |
|---|---|
| Version | 0.72.1 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/bindgen |
| Homepage | https://rust-lang.github.io/rust-bindgen/ |
| Repository | https://github.com/rust-lang/rust-bindgen |
| Upstream docs | https://github.com/rust-lang/rust-bindgen#readme |
| License | BSD-3-Clause |
| Source archive | https://github.com/rust-lang/rust-bindgen/archive/refs/tags/v0.72.1.tar.gz |
| Build dependencies | rust |
| Uses from macOS | llvm |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | bindgen |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
bindgen 0.71.1-6
Automatically generate Rust FFI bindings to C and C++ libraries
https://rust-lang.github.io/rust-bindgen/
sudo apt install bindgenbindgen 0.66.1-4
Automatically generate Rust FFI bindings to C and C++ libraries
https://rust-lang.github.io/rust-bindgen/
sudo apt install bindgenbindgen-cli 0.72.1-2.fc44
Automatically generates Rust FFI bindings to C and C++ libraries
https://crates.io/crates/bindgen-cli
sudo dnf install bindgen-clisource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.