mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
33bdebb7c8
Signed-off-by: David Mulder <dmulder@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
54 lines
1.9 KiB
Rust
54 lines
1.9 KiB
Rust
use std::env;
|
|
use std::path::PathBuf;
|
|
|
|
fn main() {
|
|
let bindings = bindgen::Builder::default()
|
|
.blocklist_function("qgcvt")
|
|
.blocklist_function("qgcvt_r")
|
|
.blocklist_function("qfcvt")
|
|
.blocklist_function("qfcvt_r")
|
|
.blocklist_function("qecvt")
|
|
.blocklist_function("qecvt_r")
|
|
.blocklist_function("strtold")
|
|
.clang_arg("-Dbool=int")
|
|
.clang_arg("-Doffset_t=loff_t")
|
|
.clang_arg("-I../../bin/default")
|
|
.clang_arg("-I../../lib/talloc")
|
|
.generate_comments(false)
|
|
.clang_arg("-includestdint.h")
|
|
.header("../../lib/param/param.h")
|
|
.header("../../lib/param/loadparm.h")
|
|
.header("../../source3/param/loadparm.h")
|
|
.header("../../bin/default/lib/param/param_functions.h")
|
|
.parse_callbacks(Box::new(bindgen::CargoCallbacks::new()))
|
|
.generate()
|
|
.expect("Unable to generate bindings");
|
|
println!("cargo:rerun-if-changed=../../lib/param/param.h");
|
|
println!("cargo:rerun-if-changed=../../lib/param/loadparm.h");
|
|
println!("cargo:rerun-if-changed=../../source3/param/loadparm.h");
|
|
println!(
|
|
"cargo:rerun-if-changed=../../bin/default/lib/param/param_functions.h"
|
|
);
|
|
|
|
let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
|
|
bindings
|
|
.write_to_file(out_path.join("bindings.rs"))
|
|
.expect("Couldn't write bindings!");
|
|
|
|
let mut src_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
|
|
src_dir.push("../../bin/default/source3");
|
|
println!(
|
|
"cargo:rustc-link-search=native={}",
|
|
src_dir.to_str().unwrap()
|
|
);
|
|
println!("cargo:rustc-link-lib=smbconf");
|
|
|
|
let mut src_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR").unwrap());
|
|
src_dir.push("../../bin/default/lib/param");
|
|
println!("cargo:rustc-link-lib=samba-hostconfig-private-samba");
|
|
println!(
|
|
"cargo:rustc-link-search=native={}",
|
|
src_dir.to_str().unwrap()
|
|
);
|
|
}
|