Skip to main content

scan_c_libraries

Function scan_c_libraries 

Source
pub fn scan_c_libraries<P: AsRef<Path>>(root: P) -> LibraryScanner
Expand description

Scan a directory for C libraries and generate bindings.

This is the main convenience function for frictionless binding generation.

§Example

// In build.rs:
equilibrium_ffi::scan_c_libraries("libs/stm32")
    .with_options(equilibrium_ffi::AutoBindingOptions {
        recursive: true,
        ..Default::default()
    })
    .generate_all()
    .expect("Failed to generate bindings");

Then in your Rust code:

mod bindings {
    include!(concat!(env!("OUT_DIR"), "/bindings/mod.rs"));
}

unsafe {
    bindings::stm32f4xx_hal::HAL_Init();
}