On Mon, Jun 26, 2023 at 08:02:08AM +0000, Tage Johansson wrote:
 From: Tage Johansson <frans.tage(a)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