On 8/28/20 4:35 PM, Scott Shambarger wrote:
MacOS can not pre-load modules, so mock libraries must be built
as shared libraries (without asneeded striping, and undefined
symbols allowed).
Signed-off-by: Scott Shambarger <scott-libvirt(a)shambarger.net>
---
Given that this is a MacOS specific limitation it's not a good idea
to force it on the common code for everyone else.
The 'meson.build' file in the project root uses, in line 1727:
host_machine.system() != 'darwin'
To identify the building system as MacOS. IMO you should use an
"if host_machine.system() != 'darwin'" inside the 'foreach'
loop
below to do whatever it is necessary for MacOS, leave the rest as
is.
Thanks,
DHB
tests/meson.build | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tests/meson.build b/tests/meson.build
index b5f6e2267a..d7476452ba 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -120,9 +120,13 @@ if conf.has('WITH_SECDRIVER_SELINUX')
endif
foreach mock : mock_libs
- shared_module(
+ shared_library(
mock['name'],
mock.get('sources', [ '@0@.c'.format(mock['name']) ]),
+ override_options: [
+ 'b_asneeded=false',
+ 'b_lundef=false',
+ ],
dependencies: [
tests_dep,
mock.get('deps', []),