4 releases

0.1.16 Jul 5, 2021
0.1.15 Jul 2, 2021
0.1.14 Jul 1, 2021
0.1.13 Jul 1, 2021

#25 in #binding-generator

Download history 7/week @ 2024-02-05 9/week @ 2024-02-12 5/week @ 2024-02-19 34/week @ 2024-02-26 17/week @ 2024-03-04 20/week @ 2024-03-11 16/week @ 2024-03-18 18/week @ 2024-03-25 43/week @ 2024-04-01 13/week @ 2024-04-08 17/week @ 2024-04-15 18/week @ 2024-04-22 12/week @ 2024-04-29 25/week @ 2024-05-06 21/week @ 2024-05-13

81 downloads per month
Used in 8 crates (via ligen)

Apache-2.0

3KB

Ligen

Ligen (Language Interface Generator) is an extensible macro-based multi-language binding generator.

We officially support ligen-c, a binding generator for the Programming Language C.

You can add ligen to your codebase by adding #[ligen] attributes to the items you want to export. It is as simple as this:

use ligen::ligen;
use ligen_c::ligen_c;
use ligen_cpp::ligen_cpp;

pub struct Counter {
  count: u32
}

#[ligen(c, cpp)]
impl Counter {
  pub fn new() -> Self { Self { count: 0 } }

  pub fn count(&mut self) { self.count += 1; }

  pub fn get_count(&self) -> u32 { self.count }
}

Getting started

Here are a few links to get started:

Dependencies

~2.1–3MB
~63K SLoC