1 // This file defines the customizations to the bindgen builder used to generate the v4l2r
2 // bindings.
3 //
4 // It is meant to be included from `lib/build.rs` and `android/build.rs`.
5 
6 #[derive(Debug)]
7 /// Workaround for https://github.com/rust-lang/rust-bindgen/issues/753.
8 pub struct Fix753;
9 
10 impl bindgen::callbacks::ParseCallbacks for Fix753 {
item_name(&self, original_item_name: &str) -> Option<String>11     fn item_name(&self, original_item_name: &str) -> Option<String> {
12         Some(original_item_name.trim_start_matches("Fix753_").to_owned())
13     }
14 }
15 
v4l2r_bindgen_builder(builder: bindgen::Builder) -> bindgen::Builder16 fn v4l2r_bindgen_builder(builder: bindgen::Builder) -> bindgen::Builder {
17     builder
18         .parse_callbacks(Box::new(Fix753))
19         .derive_partialeq(true)
20         .derive_eq(true)
21         .derive_default(true)
22 }
23