This page lists the requirements for running bindgen
and how to get them.
bindgen
leverages libclang
to preprocess, parse, and type check C and C++
header files.
It is required to use Clang 9.0 or greater.
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
If you use Homebrew:
$ brew install llvm
If you use MacPorts:
$ port install clang
# apt install libclang-dev
If you want to use the function bindgen::Builder::dump_preprocessed_input
, then you also need the package clang
.
# pacman -S clang
# dnf install clang-devel
# pkg_add llvm
Add export LIBCLANG_PATH=/usr/local/lib
to your profile.
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