| commit | dbbffdc2302668a4bab17c83319d00ea779d5ce7 | [log] [tgz] |
|---|---|---|
| author | Ivan Lozano <ivanlozano@google.com> | Wed Apr 29 15:43:14 2020 -0400 |
| committer | Ivan Lozano <ivanlozano@google.com> | Wed Apr 29 15:44:45 2020 -0400 |
| tree | 45b69894d3a1e7c6fadbceb06634ab6ab56ba0c7 | |
| parent | 149232016d95582bad2da3c7c30782f771f1eef5 [diff] |
Only compile libbindgen for the host primary arch. Bug: 154730212 Test: mma Change-Id: I4c5b0a8561d0fb73be24906c47439b7547bc2fc7
bindgenbindgen automatically generates Rust FFI bindings to C (and some C++) libraries.
For example, given the C header doggo.h:
typedef struct Doggo { int many; char wow; } Doggo; void eleven_out_of_ten_majestic_af(Doggo* pupper);
bindgen produces Rust FFI code allowing you to call into the doggo library's functions and use its types:
/* automatically generated by rust-bindgen */ #[repr(C)] pub struct Doggo { pub many: ::std::os::raw::c_int, pub wow: ::std::os::raw::c_char, } extern "C" { pub fn eleven_out_of_ten_majestic_af(pupper: *mut Doggo); }
📚 Read the bindgen users guide here! 📚
API reference documentation is on docs.rs