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::Builder16fn 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