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

sys build aya-rustc-llvm-proxy

Dynamically proxy LLVM calls into Rust own shared library

9 releases (breaking)

0.9.2 Mar 21, 2024
0.9.0 Sep 19, 2023
0.7.0 Jul 25, 2023
0.5.0 Sep 7, 2022
0.3.0 Dec 17, 2021

#215 in Build Utils

Download history 779/week @ 2024-01-24 563/week @ 2024-01-31 877/week @ 2024-02-07 1283/week @ 2024-02-14 1220/week @ 2024-02-21 1298/week @ 2024-02-28 998/week @ 2024-03-06 912/week @ 2024-03-13 941/week @ 2024-03-20 558/week @ 2024-03-27 713/week @ 2024-04-03 666/week @ 2024-04-10 699/week @ 2024-04-17 691/week @ 2024-04-24 637/week @ 2024-05-01 477/week @ 2024-05-08

2,607 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
~16K SLoC