[][src]Crate rustc_llvm_proxy

Dynamically proxy LLVM calls into Rust own shared library! 🎉

Use cases

Normally there is no much need for the crate, except a couple of exotic cases:

  • Your crate is some kind build process helper that leverages LLVM (e.g. ptx-linker),
  • Your crate needs to stay up to date with Rust LLVM version (again ptx-linker),
  • You would prefer not to have dependencies on host LLVM libs (as always ptx-linker).

Usage

First, you need to make sure no other crate links your binary against system LLVM library. In case you are using llvm-sys, this can be achieved with a special feature:

[dependencies.llvm-sys]
version = "70"
features = ["no-llvm-linking"]

Then all you need to do is to include the crate into your project:

[dependencies]
rustc-llvm-proxy = "0.1"
extern crate rustc_llvm_proxy;

Modules

init
proxy

Commonly used LLVM CAPI symbols with dynamic resolving