mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
rust: make declaration of dependent crates more consistent
Crates like "bilge" and "libc" can be shared by more than one directory, so declare them directly in rust/meson.build. While at it, make their variable names end with "_rs" and always add a subproject() statement (as that pinpoints the error better if the subproject is missing and cannot be downloaded). Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
dc14243193
commit
1297b285cc
4 changed files with 23 additions and 23 deletions
|
@ -1,17 +1,11 @@
|
|||
subproject('bilge-0.2-rs', required: true)
|
||||
subproject('bilge-impl-0.2-rs', required: true)
|
||||
|
||||
bilge_dep = dependency('bilge-0.2-rs')
|
||||
bilge_impl_dep = dependency('bilge-impl-0.2-rs')
|
||||
|
||||
_libpl011_rs = static_library(
|
||||
'pl011',
|
||||
files('src/lib.rs'),
|
||||
override_options: ['rust_std=2021', 'build.rust_std=2021'],
|
||||
rust_abi: 'rust',
|
||||
dependencies: [
|
||||
bilge_dep,
|
||||
bilge_impl_dep,
|
||||
bilge_rs,
|
||||
bilge_impl_rs,
|
||||
qemu_api,
|
||||
qemu_api_macros,
|
||||
],
|
||||
|
@ -21,6 +15,6 @@ rust_devices_ss.add(when: 'CONFIG_X_PL011_RUST', if_true: [declare_dependency(
|
|||
link_whole: [_libpl011_rs],
|
||||
# Putting proc macro crates in `dependencies` is necessary for Meson to find
|
||||
# them when compiling the root per-target static rust lib.
|
||||
dependencies: [bilge_impl_dep, qemu_api_macros],
|
||||
dependencies: [bilge_impl_rs, qemu_api_macros],
|
||||
variables: {'crate': 'pl011'},
|
||||
)])
|
||||
|
|
|
@ -1,3 +1,19 @@
|
|||
subproject('bilge-0.2-rs', required: true)
|
||||
subproject('bilge-impl-0.2-rs', required: true)
|
||||
subproject('libc-0.2-rs', required: true)
|
||||
|
||||
bilge_rs = dependency('bilge-0.2-rs')
|
||||
bilge_impl_rs = dependency('bilge-impl-0.2-rs')
|
||||
libc_rs = dependency('libc-0.2-rs')
|
||||
|
||||
subproject('proc-macro2-1-rs', required: true)
|
||||
subproject('quote-1-rs', required: true)
|
||||
subproject('syn-2-rs', required: true)
|
||||
|
||||
quote_rs_native = dependency('quote-1-rs', native: true)
|
||||
syn_rs_native = dependency('syn-2-rs', native: true)
|
||||
proc_macro2_rs_native = dependency('proc-macro2-1-rs', native: true)
|
||||
|
||||
subdir('qemu-api-macros')
|
||||
subdir('qemu-api')
|
||||
|
||||
|
|
|
@ -1,11 +1,3 @@
|
|||
subproject('proc-macro2-1-rs', required: true)
|
||||
subproject('quote-1-rs', required: true)
|
||||
subproject('syn-2-rs', required: true)
|
||||
|
||||
quote_dep = dependency('quote-1-rs', native: true)
|
||||
syn_dep = dependency('syn-2-rs', native: true)
|
||||
proc_macro2_dep = dependency('proc-macro2-1-rs', native: true)
|
||||
|
||||
_qemu_api_macros_rs = rust.proc_macro(
|
||||
'qemu_api_macros',
|
||||
files('src/lib.rs'),
|
||||
|
@ -16,9 +8,9 @@ _qemu_api_macros_rs = rust.proc_macro(
|
|||
'--cfg', 'feature="proc-macro"',
|
||||
],
|
||||
dependencies: [
|
||||
proc_macro2_dep,
|
||||
quote_dep,
|
||||
syn_dep,
|
||||
proc_macro2_rs_native,
|
||||
quote_rs_native,
|
||||
syn_rs_native,
|
||||
],
|
||||
)
|
||||
|
||||
|
|
|
@ -2,8 +2,6 @@ _qemu_api_cfg = run_command(rustc_args,
|
|||
'--config-headers', config_host_h, '--features', files('Cargo.toml'),
|
||||
capture: true, check: true).stdout().strip().splitlines()
|
||||
|
||||
libc_dep = dependency('libc-0.2-rs')
|
||||
|
||||
# _qemu_api_cfg += ['--cfg', 'feature="allocator"']
|
||||
if get_option('debug_mutex')
|
||||
_qemu_api_cfg += ['--cfg', 'feature="debug_cell"']
|
||||
|
@ -37,7 +35,7 @@ _qemu_api_rs = static_library(
|
|||
override_options: ['rust_std=2021', 'build.rust_std=2021'],
|
||||
rust_abi: 'rust',
|
||||
rust_args: _qemu_api_cfg,
|
||||
dependencies: [libc_dep, qemu_api_macros],
|
||||
dependencies: [libc_rs, qemu_api_macros],
|
||||
)
|
||||
|
||||
rust.test('rust-qemu-api-tests', _qemu_api_rs,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue