mirror of
https://github.com/qemu/qemu.git
synced 2026-02-04 05:35:39 +00:00
Move raw FFI bindings generation to separate crates. This makes it possible to reuse bindgen declarations for a header file in its dependencies (this was not the case before this change), while keeping multiple -sys crates to avoid rebuilding all the code whenever something changes. Because the -sys crates are generated in dependency order, this also enforces that the crates are organized in something that resembles the dependencies between C headers. The meson.build for rust-safe crates becomes simpler, and it should be possible in the future to let Meson's cargo support handle most of it. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> [General cleanup and Python script. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
21 lines
691 B
Meson
21 lines
691 B
Meson
_util_rs = static_library(
|
|
'util',
|
|
'src/lib.rs',
|
|
dependencies: [anyhow_rs, libc_rs, foreign_rs, glib_sys_rs, common_rs, util_sys_rs],
|
|
)
|
|
|
|
util_rs = declare_dependency(link_with: [_util_rs], dependencies: [qemuutil, qom])
|
|
|
|
rust.test('rust-util-tests', _util_rs,
|
|
dependencies: [qemuutil, qom],
|
|
suite: ['unit', 'rust'])
|
|
|
|
# Doctests are essentially integration tests, so they need the same dependencies.
|
|
# Note that running them requires the object files for C code, so place them
|
|
# in a separate suite that is run by the "build" CI jobs rather than "check".
|
|
rust.doctest('rust-util-rs-doctests',
|
|
_util_rs,
|
|
dependencies: util_rs,
|
|
suite: ['doc', 'rust']
|
|
)
|