ctdb-server: Clean up connection tracking functions
[samba4-gss.git] / rust / param / build.rs
blob6d533e3b3dbf50de89f0dd96e713aef8ebb2196a
1 use std::env;
2 use std::path::PathBuf;
4 fn main() {
5     let bindings = bindgen::Builder::default()
6         .blocklist_function("qgcvt")
7         .blocklist_function("qgcvt_r")
8         .blocklist_function("qfcvt")
9         .blocklist_function("qfcvt_r")
10         .blocklist_function("qecvt")
11         .blocklist_function("qecvt_r")
12         .blocklist_function("strtold")
13         .clang_arg("-Dbool=int")
14         .clang_arg("-Doffset_t=loff_t")
15         .clang_arg("-I../../bin/default")
16         .clang_arg("-I../../lib/talloc")
17         .generate_comments(false)
18         .clang_arg("-includestdint.h")
19         .header("../../lib/param/param.h")
20         .header("../../lib/param/loadparm.h")
21         .header("../../source3/param/loadparm.h")
22         .header("../../bin/default/lib/param/param_functions.h")
23         .parse_callbacks(Box::new(bindgen::CargoCallbacks::new()))
24         .generate()
25         .expect("Unable to generate bindings");
26     println!("cargo:rerun-if-changed=../../lib/param/param.h");
27     println!("cargo:rerun-if-changed=../../lib/param/loadparm.h");
28     println!("cargo:rerun-if-changed=../../source3/param/loadparm.h");
29     println!(
30         "cargo:rerun-if-changed=../../bin/default/lib/param/param_functions.h"
31     );
33     let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
34     bindings
35         .write_to_file(out_path.join("bindings.rs"))
36         .expect("Couldn't write bindings!");
38     let mut src_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
39     src_dir.push("../../bin/default/source3");
40     println!(
41         "cargo:rustc-link-search=native={}",
42         src_dir.to_str().unwrap()
43     );
44     println!("cargo:rustc-link-lib=smbconf");
46     let mut src_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
47     src_dir.push("../../bin/default/lib/param");
48     println!("cargo:rustc-link-lib=samba-hostconfig-private-samba");
49     println!(
50         "cargo:rustc-link-search=native={}",
51         src_dir.to_str().unwrap()
52     );