pub trait BuildConfig {
// Required methods
fn cargo_link(&self, lib: &'static str);
fn configure_bindgen(&self, builder: Builder) -> Builder;
fn configure_cc<'a>(&'a self, builder: &'a mut Build) -> &'a mut Build;
// Provided methods
fn default_bindgen(&self) -> Builder { ... }
fn default_cc(&self) -> Build { ... }
}