tag | 077e57c2e676798282b77c7be420dc52c4d2ec94 | |
---|---|---|
tagger | Emilio Cobos Álvarez <emilio@crisal.io> | Sun Oct 07 11:14:58 2018 +0200 |
object | 35a349dd76cb5ba9470de30bb2eb51ea152a9640 |
v0.42.0
commit | 35a349dd76cb5ba9470de30bb2eb51ea152a9640 | [log] [tgz] |
---|---|---|
author | bors-servo <lbergstrom+bors@mozilla.com> | Thu Oct 04 10:18:54 2018 -0400 |
committer | GitHub <noreply@github.com> | Thu Oct 04 10:18:54 2018 -0400 |
tree | 4108eb952daacff39051caabcf7aee6ca676df1b | |
parent | 820435c8ebec4d66148c12eb5f98089dc637c453 [diff] | |
parent | 66ba296a1e41ae7c6334d0d0d9366184948fd359 [diff] |
Auto merge of #1410 - emilio:unbreak-osx-stuff, r=emilio Puts blocks behind a switch. Since #1378 broke a bunch of OSX builds. Most people don't care about them and they're in some OSX system headers which means that this could break normal C and C++ stuff. This introduces --generate-block / generate_block to generate these signatures, and adds tests so that this is getting tested.
bindgen
impl period
has been started! Join us at Gitter.im.
bindgen
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