Automic VaultAutomic Vault

brew

Install bindgen with Homebrew, apt, dnf

Automatically generates Rust FFI bindings to C (and some C++) libraries. Version 0.72.1 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install bindgen

local Homebrew formula metadata

Linux

Debian aptverified · 92%
sudo apt install bindgen

Debian stable package indexes · bindgen · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install bindgen-cli

Fedora Rawhide package metadata · bindgen-cli · source: dl.fedoraproject.org

overview

Package summary

Automatically generates Rust FFI bindings to C (and some C++) libraries

Commands and aliases

  • bindgen

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2014: bindgen crate first appears on crates.io.
  • 2016: rust-lang/rust-bindgen GitHub repository is created.
  • 2024: 0.70.x and 0.71.x releases continue the modern changelog line.
  • 2025: 0.72.1 is published on crates.io and GitHub releases.

Related projects

  • Related Rust FFI projects include cbindgen, which emits C headers from Rust APIs, and clang-sys, which exposes libclang bindings used by bindgen. In downstream packages, bindgen often appears beside cc, pkg-config, and system library development headers.

Sources

  • GitHub API reports repository creation in 2016.
  • GitHub README documents purpose, user guide, environment variables, and release policy.
  • crates.io API reports first crate publication in 2014, latest version, and download adoption.
  • input.source_facts.package-manager lists distro/package-manager availability.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

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.

Configuration files

Config paths the tool may read or write during local use.

Unix
rustfmt.toml in the directory where bindgen is run

executables

Installed executables

CommandKindExposureNote
bindgencliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version0.72.1
manager updated
local dataok
upstreamcurrent
latest detectedv0.72.1

https://github.com/rust-lang/rust-bindgen

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:bindgen
Version0.72.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/bindgen
Homepagehttps://rust-lang.github.io/rust-bindgen/
Repositoryhttps://github.com/rust-lang/rust-bindgen
Upstream docshttps://github.com/rust-lang/rust-bindgen#readme
LicenseBSD-3-Clause
Source archivehttps://github.com/rust-lang/rust-bindgen/archive/refs/tags/v0.72.1.tar.gz
Build dependenciesrust
Uses from macOSllvm
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namebindgen
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

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 bindgen
  • Section: rust
  • Architecture: amd64
  • Source Package: rust-bindgen-cli
  • 3 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Bindgen
Debian stable package indexes · deb.debian.org · Debian stable package indexes: bindgen from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Ubuntu apt95%

bindgen 0.66.1-4

Automatically generate Rust FFI bindings to C and C++ libraries

https://rust-lang.github.io/rust-bindgen/

sudo apt install bindgen
  • Section: universe/rust
  • Architecture: amd64
  • Source Package: rust-bindgen-cli
  • 2 dependencies
  • normalized package name match
  • Matched by: Bindgen
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: bindgen from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
dnf95%

bindgen-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-cli
  • License: BSD-3-Clause AND Apache-2.0 AND ISC AND MIT AND Unicode-3.0 AND Unicode-DFS-2016 AND (Apache-2.0 OR MIT) AND (Unlicense OR MIT)
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: rust-bindgen-cli
  • 6 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Bindgen
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: bindgen-cli from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment