#bindings #llvm

yanked llvm-alt-sys

Bindings to LLVM's C API

Uses old Rust 2015

0.1.4 Jun 13, 2015

#74 in #llvm

21 downloads per month

MIT license


Rust bindings to LLVM's C API.


Add to your Cargo.toml:

llvm-sys = "*"

See the examples directory in this repository for API examples.

Most of the interfaces are not documented in these bindings. Refer to the LLVM documentation for more information, particularly the generated API documentation.


You will need LLVM (>= 3.6) and cmake (>= 2.6) installed on your system to compile these bindings. The llvm-config tool must be on PATH so the build scripts can find it, and the LLVM cmake scripts must be somewhere cmake can find them.

Why not use librustc_llvm?

In many cases, the interfaces exposed by librustc_llvm are sufficient for code generation or whatever else you need to do with LLVM. When they are not, however, you must link to LLVM yourself, which if mixed with rustc's LLVM runs a significant risk of library version mismatches. Users should take care not to mix uses of the two crates for this reason.

Additionally, rustc_llvm is a private API for the Rust compiler and is subject to change without notice. This crate provides a stable API.