Browse Source
This is a cleaned up and separated version of the patches at https://lore.kernel.org/all/20240701145853.1394967-4-pbonzini@redhat.com/ https://lore.kernel.org/all/20240701145853.1394967-5-pbonzini@redhat.com/ Its first user will be the Error bindings; for example a QEMU Error ** can be converted to a Rust Option using unsafe { Option::<Error>::from_foreign(c_error) } Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>pull/287/head
7 changed files with 41 additions and 3 deletions
@ -0,0 +1,7 @@ |
|||
[wrap-file] |
|||
directory = foreign-0.3.1 |
|||
source_url = https://crates.io/api/v1/crates/foreign/0.3.1/download |
|||
source_filename = foreign-0.3.1.tar.gz |
|||
source_hash = 17ca1b5be8c9d320daf386f1809c7acc0cb09accbae795c2001953fa50585846 |
|||
#method = cargo |
|||
patch_directory = foreign-0.3-rs |
|||
@ -0,0 +1,26 @@ |
|||
project('foreign-0.3-rs', 'rust', |
|||
meson_version: '>=1.5.0', |
|||
version: '0.2.0', |
|||
license: 'MIT OR Apache-2.0', |
|||
default_options: []) |
|||
|
|||
subproject('libc-0.2-rs', required: true) |
|||
libc_rs = dependency('libc-0.2-rs') |
|||
|
|||
_foreign_rs = static_library( |
|||
'foreign', |
|||
files('src/lib.rs'), |
|||
gnu_symbol_visibility: 'hidden', |
|||
override_options: ['rust_std=2021', 'build.rust_std=2021'], |
|||
rust_abi: 'rust', |
|||
rust_args: [ |
|||
'--cap-lints', 'allow', |
|||
], |
|||
dependencies: [libc_rs], |
|||
) |
|||
|
|||
foreign_dep = declare_dependency( |
|||
link_with: _foreign_rs, |
|||
) |
|||
|
|||
meson.override_dependency('foreign-0.3-rs', foreign_dep) |
|||
Loading…
Reference in new issue