xref: /qemu/rust/hw/char/pl011/meson.build (revision d0f0cd5b1f7e9780753344548e17ad4df9fcf5d8)
1*d0f0cd5bSPaolo Bonzinisubproject('bilge-0.2-rs', required: true)
2*d0f0cd5bSPaolo Bonzinisubproject('bilge-impl-0.2-rs', required: true)
3*d0f0cd5bSPaolo Bonzini
4*d0f0cd5bSPaolo Bonzinibilge_dep = dependency('bilge-0.2-rs')
5*d0f0cd5bSPaolo Bonzinibilge_impl_dep = dependency('bilge-impl-0.2-rs')
6*d0f0cd5bSPaolo Bonzini
7*d0f0cd5bSPaolo Bonzini_libpl011_rs = static_library(
8*d0f0cd5bSPaolo Bonzini  'pl011',
9*d0f0cd5bSPaolo Bonzini  files('src/lib.rs'),
10*d0f0cd5bSPaolo Bonzini  override_options: ['rust_std=2021', 'build.rust_std=2021'],
11*d0f0cd5bSPaolo Bonzini  rust_abi: 'rust',
12*d0f0cd5bSPaolo Bonzini  dependencies: [
13*d0f0cd5bSPaolo Bonzini    bilge_dep,
14*d0f0cd5bSPaolo Bonzini    bilge_impl_dep,
15*d0f0cd5bSPaolo Bonzini    qemu_api,
16*d0f0cd5bSPaolo Bonzini    qemu_api_macros,
17*d0f0cd5bSPaolo Bonzini  ],
18*d0f0cd5bSPaolo Bonzini)
19*d0f0cd5bSPaolo Bonzini
20*d0f0cd5bSPaolo Bonzinirust_devices_ss.add(when: 'CONFIG_X_PL011_RUST', if_true: [declare_dependency(
21*d0f0cd5bSPaolo Bonzini  link_whole: [_libpl011_rs],
22*d0f0cd5bSPaolo Bonzini  # Putting proc macro crates in `dependencies` is necessary for Meson to find
23*d0f0cd5bSPaolo Bonzini  # them when compiling the root per-target static rust lib.
24*d0f0cd5bSPaolo Bonzini  dependencies: [bilge_impl_dep, qemu_api_macros],
25*d0f0cd5bSPaolo Bonzini  variables: {'crate': 'pl011'},
26*d0f0cd5bSPaolo Bonzini)])
27