xref: /qemu/rust/hw/char/pl011/meson.build (revision f8a113701dd2d28f3bedb216e59125ddcb77fd05)
1d0f0cd5bSPaolo Bonzini_libpl011_rs = static_library(
2d0f0cd5bSPaolo Bonzini  'pl011',
3d0f0cd5bSPaolo Bonzini  files('src/lib.rs'),
4d0f0cd5bSPaolo Bonzini  override_options: ['rust_std=2021', 'build.rust_std=2021'],
5d0f0cd5bSPaolo Bonzini  rust_abi: 'rust',
6d0f0cd5bSPaolo Bonzini  dependencies: [
71297b285SPaolo Bonzini    bilge_rs,
81297b285SPaolo Bonzini    bilge_impl_rs,
9*9c8ff2a1SPaolo Bonzini    bits_rs,
10d0f0cd5bSPaolo Bonzini    qemu_api,
11d0f0cd5bSPaolo Bonzini    qemu_api_macros,
12d0f0cd5bSPaolo Bonzini  ],
13d0f0cd5bSPaolo Bonzini)
14d0f0cd5bSPaolo Bonzini
15d0f0cd5bSPaolo Bonzinirust_devices_ss.add(when: 'CONFIG_X_PL011_RUST', if_true: [declare_dependency(
16d0f0cd5bSPaolo Bonzini  link_whole: [_libpl011_rs],
17d0f0cd5bSPaolo Bonzini  # Putting proc macro crates in `dependencies` is necessary for Meson to find
18d0f0cd5bSPaolo Bonzini  # them when compiling the root per-target static rust lib.
191297b285SPaolo Bonzini  dependencies: [bilge_impl_rs, qemu_api_macros],
20d0f0cd5bSPaolo Bonzini  variables: {'crate': 'pl011'},
21d0f0cd5bSPaolo Bonzini)])
22