rust: create a cargo workspace

Workspaces allows tracking dependencies for multiple crates at once,
by having a single Cargo.lock file at the top of the rust/ tree.
Because QEMU's Cargo.lock files have to be synchronized with the versions
of crates in subprojects/, using a workspace avoids the need to copy
over the Cargo.lock file when adding a new device (and thus a new crate)
under rust/hw/.

In addition, workspaces let cargo download and build dependencies just
once.  While right now we have one leaf crate (hw/char/pl011), this
will not be the case once more devices are added.

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2024-10-24 11:33:07 +02:00
parent 907d2bbb80
commit 39c8faefb5
7 changed files with 7 additions and 110 deletions

View file

@ -20,6 +20,3 @@ proc-macro = true
proc-macro2 = "1"
quote = "1"
syn = "2"
# Do not include in any global workspace
[workspace]