mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
35b34e8e42
The tdb build needs to know whether Samba is building with TDB bundled or not, otherwise linking will fail. Signed-off-by: David Mulder <dmulder@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
36 lines
1.1 KiB
Rust
36 lines
1.1 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("-includesys/stat.h")
|
|
.header("../../lib/tdb/include/tdb.h")
|
|
.parse_callbacks(Box::new(bindgen::CargoCallbacks::new()))
|
|
.generate()
|
|
.expect("Unable to generate bindings");
|
|
|
|
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/lib/tdb");
|
|
if config::USING_SYSTEM_TDB == 1 {
|
|
println!("cargo:rustc-link-lib=tdb");
|
|
} else {
|
|
println!("cargo:rustc-link-lib=tdb-private-samba");
|
|
}
|
|
println!(
|
|
"cargo:rustc-link-search=native={}",
|
|
src_dir.to_str().unwrap()
|
|
);
|
|
}
|