unqlite-sys 0.3.2

Rust `unqlite` bindings.
Documentation
extern crate gcc;

fn main() {
    gcc::Config::new().file("src/unqlite.c")
        .if_enable_threads()
        .if_jx9_diable_builtin_func()
        .if_jx9_enable_math_func()
        .if_jx9_disable_disk_io()
        .if_enable_jx9_hash_io()
        .compile("libunqlite.a");
}
trait ConfigExt {
    fn if_enable_threads(&mut self) -> &mut Self {
        self
    }
    fn if_jx9_diable_builtin_func(&mut self) -> &mut Self {
        self
    }
    fn if_jx9_enable_math_func(&mut self) -> &mut Self {
        self
    }
    fn if_jx9_disable_disk_io(&mut self) -> &mut Self {
        self
    }
    fn if_enable_jx9_hash_io(&mut self) -> &mut Self {
        self
    }
}

impl ConfigExt for gcc::Config {
    #[cfg(feature = "enable-threads")]
    fn if_enable_threads(&mut self) -> &mut Self {
        self.define("UNQLITE_ENABLE_THREADS", None).flag("-lpthread")
    }
    #[cfg(feature = "jx9-disable-builtin-func")]
    fn if_jx9_diable_builtin_func(&mut self) -> &mut Self {
        self.define("JX9_DISABLE_BUILTIN_FUNC", None)
    }
    #[cfg(feature = "jx9-enable-math-func")]
    fn if_jx9_enable_math_func(&mut self) -> &mut Self {
        self.define("JX9_ENABLE_MATH_FUNC", None)
    }
    #[cfg(feature = "jx9-disable-disk-io")]
    fn if_jx9_disable_disk_io(&mut self) -> &mut Self {
        self.define("JX9_DISABLE_DISK_IO", None)
    }
    #[cfg(feature = "enable-jx9-hash-io")]
    fn if_enable_jx9_hash_io(&mut self) -> &mut Self {
        self.define("UNQLITE_ENABLE_JX9_HASH_IO", None)
    }
}