Signed-off-by: Kevin Wolf <kw...@redhat.com> --- rust/Cargo.lock | 7 +++++++ rust/Cargo.toml | 1 + rust/block/Cargo.toml | 15 +++++++++++++++ rust/block/README.md | 3 +++ rust/block/meson.build | 19 +++++++++++++++++++ rust/block/src/lib.rs | 1 + rust/meson.build | 1 + 7 files changed, 47 insertions(+) create mode 100644 rust/block/Cargo.toml create mode 100644 rust/block/README.md create mode 100644 rust/block/meson.build create mode 100644 rust/block/src/lib.rs
diff --git a/rust/Cargo.lock b/rust/Cargo.lock index c0c6069247..b6af988a03 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -31,6 +31,13 @@ dependencies = [ "syn", ] +[[package]] +name = "block" +version = "0.1.0" +dependencies = [ + "qemu_api", +] + [[package]] name = "either" version = "1.12.0" diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 5b0cb55928..777a2e9157 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -3,6 +3,7 @@ resolver = "2" members = [ "qemu-api-macros", "qemu-api", + "block", "hw/char/pl011", ] diff --git a/rust/block/Cargo.toml b/rust/block/Cargo.toml new file mode 100644 index 0000000000..70ee02f429 --- /dev/null +++ b/rust/block/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "block" +version = "0.1.0" +edition = "2021" +authors = ["Kevin Wolf <kw...@redhat.com>"] +license = "GPL-2.0-or-later" +readme = "README.md" +description = "Block backends for QEMU" +repository = "https://gitlab.com/qemu-project/qemu/" +publish = false +keywords = [] +categories = [] + +[dependencies] +qemu_api = { path = "../qemu-api" } diff --git a/rust/block/README.md b/rust/block/README.md new file mode 100644 index 0000000000..debcc9d815 --- /dev/null +++ b/rust/block/README.md @@ -0,0 +1,3 @@ +# QEMU block backends + +This library implements block drivers for QEMU. diff --git a/rust/block/meson.build b/rust/block/meson.build new file mode 100644 index 0000000000..b13c037b2f --- /dev/null +++ b/rust/block/meson.build @@ -0,0 +1,19 @@ +_block_rs = static_library( + 'block', + files('src/lib.rs'), + override_options: ['rust_std=2021', 'build.rust_std=2021'], + rust_abi: 'rust', + dependencies: [ + qemu_api_tools, + qemu_api_macros, + ], + rust_dependency_map: {'qemu_api_tools': 'qemu_api'}, +) + +rust_block_ss.add(if_true: [declare_dependency( + link_whole: [_block_rs], + # Putting proc macro crates in `dependencies` is necessary for Meson to find + # them when compiling the root per-target static rust lib. + dependencies: [qemu_api_macros], + variables: {'crate': 'block'}, +)]) diff --git a/rust/block/src/lib.rs b/rust/block/src/lib.rs new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/rust/block/src/lib.rs @@ -0,0 +1 @@ + diff --git a/rust/meson.build b/rust/meson.build index 50eb23b072..d959809fda 100644 --- a/rust/meson.build +++ b/rust/meson.build @@ -1,6 +1,7 @@ subdir('qemu-api-macros') subdir('qemu-api') +subdir('block') subdir('hw') cargo = find_program('cargo', required: false) -- 2.48.1