1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#[macro_use]
extern crate log;
extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate serde_json;
extern crate syn;
extern crate toml;
mod bindgen;
pub use bindgen::*;
use std::path::Path;
pub fn generate(crate_dir: &str) -> Result<GeneratedBindings, String> {
let crate_dir = Path::new(crate_dir);
let config = Config::from_root_or_default(crate_dir);
Library::load_crate(Cargo::load(crate_dir,
None,
config.parse.parse_deps)?,
&config)?.generate()
}
pub fn generate_with_config(crate_dir: &str, config: &Config) -> Result<GeneratedBindings, String> {
let crate_dir = Path::new(crate_dir);
Library::load_crate(Cargo::load(crate_dir,
None,
config.parse.parse_deps)?,
config)?.generate()
}