Requirements

This page lists the requirements for running bindgen and how to get them.

Clang

bindgen leverages libclang to preprocess, parse, and type check C and C++ header files.

It is required to use Clang 9.0 or greater.

Installing Clang

Windows

If you use winget:

winget install LLVM.LLVM 

Alternatively, you can download and install the official pre-built binary from LLVM download page.

You will also need to set LIBCLANG_PATH as an environment variable pointing to the bin directory of your LLVM install. For example, if you installed LLVM to D:\programs\LLVM, then you'd set the value to be D:\programs\LLVM\bin.

Alternatively, for Mingw64, you can install clang via

pacman -S mingw64/mingw-w64-x86_64-clang 

macOS

If you use Homebrew:

$ brew install llvm 

If you use MacPorts:

$ port install clang 

Debian-based Linuxes

# apt install libclang-dev 

If you want to use the function bindgen::Builder::dump_preprocessed_input, then you also need the package clang.

Arch

# pacman -S clang 

Fedora

# dnf install clang-devel 

OpenBSD

# pkg_add llvm 

Add export LIBCLANG_PATH=/usr/local/lib to your profile.

From source

If your package manager doesn't yet offer Clang 9.0, you'll need to build from source. For that, follow the instructions here.

Those instructions list optional steps. For bindgen:

  • Checkout and build clang
  • Checkout and build clang-tools-extra
  • You do not need to checkout or build compiler-rt
  • You do not need to checkout or build libcxx