Signed-off-by: Zhao Liu <zhao1....@intel.com> --- scripts/archive-source.sh | 2 +- scripts/make-release | 2 +- subprojects/.gitignore | 1 + .../vm-memory-0.16-rs/meson.build | 35 +++++++++++++++++++ subprojects/vm-memory-0.16-rs.wrap | 12 +++++++ 5 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 subprojects/packagefiles/vm-memory-0.16-rs/meson.build create mode 100644 subprojects/vm-memory-0.16-rs.wrap
diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh index 99d0d898d010..41cf095ca33d 100755 --- a/scripts/archive-source.sh +++ b/scripts/archive-source.sh @@ -32,7 +32,7 @@ subprojects="keycodemapdb libvfio-user berkeley-softfloat-3 libc-0.2-rs proc-macro2-1-rs proc-macro-error-1-rs proc-macro-error-attr-1-rs quote-1-rs syn-2-rs thiserror-1-rs thiserror-impl-1-rs unicode-ident-1-rs - winapi-0.3-rs winapi-i686-pc-windows-gnu-0.4-rs + vm-memory-0.16-rs winapi-0.3-rs winapi-i686-pc-windows-gnu-0.4-rs winapi-x86_64-pc-windows-gnu-0.4-rs" sub_deinit="" diff --git a/scripts/make-release b/scripts/make-release index c53dfa0a7f4f..115739d31623 100755 --- a/scripts/make-release +++ b/scripts/make-release @@ -45,7 +45,7 @@ SUBPROJECTS="libvfio-user keycodemapdb berkeley-softfloat-3 libc-0.2-rs proc-macro2-1-rs proc-macro-error-1-rs proc-macro-error-attr-1-rs quote-1-rs syn-2-rs thiserror-1-rs thiserror-impl-1-rs unicode-ident-1-rs - winapi-0.3-rs winapi-i686-pc-windows-gnu-0.4-rs + vm-memory-0.16-rs winapi-0.3-rs winapi-i686-pc-windows-gnu-0.4-rs winapi-x86_64-pc-windows-gnu-0.4-rs" src="$1" diff --git a/subprojects/.gitignore b/subprojects/.gitignore index c42adaa928ec..518dd39199ab 100644 --- a/subprojects/.gitignore +++ b/subprojects/.gitignore @@ -22,6 +22,7 @@ /thiserror-1.0.65 /thiserror-impl-1.0.65 /unicode-ident-1.0.12 +/vm-memory-0.16 /winapi-0.3.9 /winapi-i686-pc-windows-gnu-0.4.0 /winapi-x86_64-pc-windows-gnu-0.4.0 diff --git a/subprojects/packagefiles/vm-memory-0.16-rs/meson.build b/subprojects/packagefiles/vm-memory-0.16-rs/meson.build new file mode 100644 index 000000000000..f0d99bad5b7f --- /dev/null +++ b/subprojects/packagefiles/vm-memory-0.16-rs/meson.build @@ -0,0 +1,35 @@ +project( + 'vm-memory-0.16-rs', + 'rust', + meson_version: '>=1.5.0', + #version : '0.2.0', + license : 'Apache-2.0 or BSD-3-Clause', +) + +all_deps = [] + +subproject('thiserror-1-rs', required: true) +all_deps += dependency('thiserror-1-rs') + +if host_machine.system() == 'windows' + subproject('winapi-0.3-rs', required: true) + all_deps += dependency('winapi-0.3-rs') +endif + +# Note "rawfd" (as the only default feature) is disabled by default in +# meson. It cause compilation failure on Windows and fortunately, we +# don't need it either. +lib = static_library( + 'vm_memory', + 'src/lib.rs', + override_options : ['rust_std=2021', 'build.rust_std=2021'], + rust_abi : 'rust', + rust_args: ['--cap-lints', 'allow'], + dependencies: all_deps, +) + +dep = declare_dependency( + link_with : [lib], +) + +meson.override_dependency('vm-memory-0.16-rs', dep) diff --git a/subprojects/vm-memory-0.16-rs.wrap b/subprojects/vm-memory-0.16-rs.wrap new file mode 100644 index 000000000000..a057c8c9efc1 --- /dev/null +++ b/subprojects/vm-memory-0.16-rs.wrap @@ -0,0 +1,12 @@ +[wrap-git] +directory = vm-memory-0.16 +# The latest v0.16.2 didn't contain Paolo's commit 5f59e29c3d30 +# ("guest_memory: let multiple regions slice one global bitmap"). +# Once a new release has that change, switch to crates.io. +url = https://github.com/rust-vmm/vm-memory.git +revision = 5eb996a060d7ca3844cbd2f10b1d048c0c91942f +patch_directory = vm-memory-0.16-rs +depth = 1 + +# bump this version number on every change to meson.build or the patches: +# v2 -- 2.34.1