#llvm #shared #proxy #calls #dynamically #own #version

sys build aya-rustc-llvm-proxy

Dynamically proxy LLVM calls into Rust own shared library

10 releases (6 breaking)

0.9.3 Aug 12, 2024
0.9.2 Mar 21, 2024
0.9.1 Feb 18, 2024
0.9.0 Sep 19, 2023
0.3.0 Dec 17, 2021

#240 in Build Utils

Download history 1185/week @ 2024-08-16 936/week @ 2024-08-23 963/week @ 2024-08-30 1356/week @ 2024-09-06 1341/week @ 2024-09-13 1847/week @ 2024-09-20 1432/week @ 2024-09-27 1212/week @ 2024-10-04 1623/week @ 2024-10-11 1792/week @ 2024-10-18 1444/week @ 2024-10-25 1241/week @ 2024-11-01 1354/week @ 2024-11-08 1589/week @ 2024-11-15 1498/week @ 2024-11-22 1349/week @ 2024-11-29

5,956 downloads per month
Used in bpf-linker

MIT license

28KB
504 lines

Aya Rustc LLVM Proxy

Build Current Version Docs

This is a fork of the rustc-llvm-proxy crate.

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. bpf-linker),
  • Your crate needs to stay up to date with Rust LLVM version (again bpf-linker),
  • You would prefer not to have dependencies on host LLVM libs (as always bpf-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 = "60"
features = ["no-llvm-linking", "disable-alltargets-init"]

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

[dependencies]
aya-rustc-llvm-proxy = "0.9"
extern crate aya_rustc_llvm_proxy;

Dependencies

~0.4–5.5MB
~20K SLoC