[Libguestfs] [PATCH v2 2/3] rust: create basic Rust bindings

Eric Blake eblake at redhat.com
Wed Jul 12 13:36:55 UTC 2023


On Mon, Jun 26, 2023 at 08:02:08AM +0000, Tage Johansson wrote:
> From: Tage Johansson <frans.tage at gmail.com>
> 
> This commit creates basic Rust bindings in the rust directory.
> The bindings are generated by generator/Rust.ml and generator/Rust.mli.
> 
> No tests are created so far.
> 
> In rust/libnbd-sys, [rust-bindgen](https://github.com/rust-lang/rust-bindgen)
> is used to generate low level Rust bindings to libnbd.h. This requires Clang,
> see [this link](https://rust-lang.github.io/rust-bindgen/requirements.html#clang).
> Ultimately, we shall generate the low level bindings without rust-bindgen in
> the future so that Clang would not be required.
> 
> Apart from Clang, you would need Cargo with Rustdoc and Rustfmt to build
> the Rust bindings. See [here](https://www.rust-lang.org/tools/install)
> for installation instructions.
> ---
>  Makefile.am                |   1 +
>  configure.ac               |  28 ++
>  generator/Makefile.am      |   2 +
>  generator/Rust.ml          | 529 +++++++++++++++++++++++++++++++++++++
>  generator/Rust.mli         |  20 ++
>  generator/generator.ml     |   2 +
>  generator/utils.ml         |   9 +-
>  generator/utils.mli        |   3 +-
>  rust/.gitignore            |   3 +
>  rust/Cargo.toml            |  48 ++++
>  rust/Makefile.am           |  60 +++++
>  rust/cargo_test/.gitignore |   2 +

Do we need the separate .gitignore files?  I tend to prefer everything
in the top-level .gitignore (just one file to edit when amending the
list of ignored files, instead of a recursive hunt for which
.gitignore is most applicable).

Also, have a look at scripts/git.orderfile; it includes a trick for
making your diffs display in an order more logical for reviewers than
just alphabetical by filename.

I haven't reviewed the patch itself at this time (I'm letting Rich
have first crack at it).

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


More information about the Libguestfs mailing list