From: Marc-André Lureau <marcandre.lureau@redhat.com>
Otherwise, no functions are generated:
https://github.com/rust-lang/rust-bindgen/issues/2989
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
Message-ID: <20250924120426.2158655-27-marcandre.lureau@redhat.com>
---
meson.build | 4 ++++
rust/bql/meson.build | 1 +
rust/chardev/meson.build | 1 +
rust/hw/char/pl011/meson.build | 1 +
rust/hw/core/meson.build | 1 +
rust/migration/meson.build | 3 ++-
rust/qom/meson.build | 1 +
rust/system/meson.build | 1 +
rust/util/meson.build | 1 +
9 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 762c533a31..55c8202a4d 100644
--- a/meson.build
+++ b/meson.build
@@ -4256,6 +4256,10 @@ if have_rust
else
bindgen_args_common += ['--merge-extern-blocks']
endif
+ bindgen_c_args = []
+ if host_arch == 'wasm32'
+ bindgen_c_args += ['-fvisibility=default']
+ endif
subdir('rust')
endif
diff --git a/rust/bql/meson.build b/rust/bql/meson.build
index 7214d94408..bc51c7f160 100644
--- a/rust/bql/meson.build
+++ b/rust/bql/meson.build
@@ -21,6 +21,7 @@ _bql_bindings_inc_rs = rust.bindgen(
include_directories: bindings_incdir,
bindgen_version: ['>=0.60.0'],
args: bindgen_args_common,
+ c_args: bindgen_c_args,
)
_bql_rs = static_library(
diff --git a/rust/chardev/meson.build b/rust/chardev/meson.build
index 370895c111..e7ce02b3bc 100644
--- a/rust/chardev/meson.build
+++ b/rust/chardev/meson.build
@@ -20,6 +20,7 @@ _chardev_bindings_inc_rs = rust.bindgen(
include_directories: bindings_incdir,
bindgen_version: ['>=0.60.0'],
args: bindgen_args_common + _chardev_bindgen_args,
+ c_args: bindgen_c_args,
)
_chardev_rs = static_library(
diff --git a/rust/hw/char/pl011/meson.build b/rust/hw/char/pl011/meson.build
index ffdc8af53f..a33f32906e 100644
--- a/rust/hw/char/pl011/meson.build
+++ b/rust/hw/char/pl011/meson.build
@@ -12,6 +12,7 @@ _libpl011_bindings_inc_rs = rust.bindgen(
include_directories: bindings_incdir,
bindgen_version: ['>=0.60.0'],
args: bindgen_args_common,
+ c_args: bindgen_c_args,
)
_libpl011_rs = static_library(
diff --git a/rust/hw/core/meson.build b/rust/hw/core/meson.build
index 81d8c77f9a..e1ae95ed61 100644
--- a/rust/hw/core/meson.build
+++ b/rust/hw/core/meson.build
@@ -41,6 +41,7 @@ _hwcore_bindings_inc_rs = rust.bindgen(
include_directories: bindings_incdir,
bindgen_version: ['>=0.60.0'],
args: bindgen_args_common + _hwcore_bindgen_args,
+ c_args: bindgen_c_args,
)
_hwcore_rs = static_library(
diff --git a/rust/migration/meson.build b/rust/migration/meson.build
index 2a49bd1633..ddf5c2f51d 100644
--- a/rust/migration/meson.build
+++ b/rust/migration/meson.build
@@ -22,7 +22,8 @@ _migration_bindings_inc_rs = rust.bindgen(
include_directories: bindings_incdir,
bindgen_version: ['>=0.60.0'],
args: bindgen_args_common + _migration_bindgen_args,
- )
+ c_args: bindgen_c_args,
+)
_migration_rs = static_library(
'migration',
diff --git a/rust/qom/meson.build b/rust/qom/meson.build
index 21e12148da..71fdac696c 100644
--- a/rust/qom/meson.build
+++ b/rust/qom/meson.build
@@ -12,6 +12,7 @@ _qom_bindings_inc_rs = rust.bindgen(
include_directories: bindings_incdir,
bindgen_version: ['>=0.60.0'],
args: bindgen_args_common,
+ c_args: bindgen_c_args,
)
_qom_rs = static_library(
diff --git a/rust/system/meson.build b/rust/system/meson.build
index 3ec140de01..0859f39745 100644
--- a/rust/system/meson.build
+++ b/rust/system/meson.build
@@ -20,6 +20,7 @@ _system_bindings_inc_rs = rust.bindgen(
include_directories: bindings_incdir,
bindgen_version: ['>=0.60.0'],
args: bindgen_args_common + _system_bindgen_args,
+ c_args: bindgen_c_args,
)
_system_rs = static_library(
diff --git a/rust/util/meson.build b/rust/util/meson.build
index 7ca69939ce..094b43355a 100644
--- a/rust/util/meson.build
+++ b/rust/util/meson.build
@@ -22,6 +22,7 @@ _util_bindings_inc_rs = rust.bindgen(
include_directories: bindings_incdir,
bindgen_version: ['>=0.60.0'],
args: bindgen_args_common + _util_bindgen_args,
+ c_args: bindgen_c_args,
)
_util_rs = static_library(
--
2.51.0