Automatically generate header with cbindgen

This commit is contained in:
Jackson Coxson
2025-03-24 15:30:39 -06:00
parent f3761a5d44
commit 7f93b664d4
2 changed files with 38 additions and 0 deletions

20
ffi/Cargo.toml Normal file
View File

@@ -0,0 +1,20 @@
[package]
name = "idevice-ffi"
version = "0.1.0"
edition = "2024"
[dependencies]
idevice = { path = "../idevice", features = ["full"] }
log = "0.4.26"
simplelog = "0.12.2"
once_cell = "1.21.1"
tokio = { version = "1.44.1", features = ["full"] }
libc = "0.2.171"
openssl-sys = { version = "0.9", features = ["vendored"] }
[build-dependencies]
cbindgen = "0.28.0"
[lib]
crate-type = ["staticlib", "cdylib"]

18
ffi/build.rs Normal file
View File

@@ -0,0 +1,18 @@
// Jackson Coxson
use std::env;
fn main() {
let crate_dir = env::var("CARGO_MANIFEST_DIR").unwrap();
cbindgen::Builder::new()
.with_crate(crate_dir)
.with_header(
"// Jackson Coxson\n// Bindings to idevice - https://github.com/jkcoxson/idevice",
)
.with_language(cbindgen::Language::C)
.with_sys_include("sys/socket.h")
.generate()
.expect("Unable to generate bindings")
.write_to_file("idevice.h");
}