embox
30 строк · 987.0 Байт
1/*
2В cargo.toml необходимо добавить:
3[build-dependencies]
4bindgen = "0.60.1"
5*/
6use std::{path::PathBuf, env};
7
8extern crate bindgen;
9
10fn main() {
11let bindings = bindgen::Builder::default()
12.header("../embox_rust/src/compat/libc/include/string.h")
13.header("../embox_rust/src/compat/libc/include/stdio.h")
14.header("../embox_rust/src/compat/libc/include/stdlib.h")
15.clang_arg("-I../embox_rust/src/compat/posix/include")
16.clang_arg("-I../embox_rust/src/compat/libc/include")
17.clang_arg("-I../embox_rust/src/include")
18.clang_arg("-I../embox_rust/src/arch/x86/include")
19.clang_arg("-I../embox_rust/build/base/gen/include")
20.ctypes_prefix("::core::ffi")
21.use_core()
22.emit_builtins()
23.generate()
24.expect("Unable to generate bindings");
25
26let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
27bindings
28.write_to_file(out_path.join("bindings.rs"))
29.expect("Couldn't write bindings!");
30}