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