Message ID | 20230907114403.493361-1-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
Series | contrib/plugins: add Darwin support | expand |
On 7/9/23 13:44, Paolo Bonzini wrote: > Under Darwin, using -shared makes it impossible to have undefined symbols > and -bundle has to be used instead; so detect the OS and use > different options. > > Based-on: <20230907101811.469236-1-pbonzini@redhat.com> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > This replaces Philippe's patch to link with GLib, and also fixes > errors like > > "_qemu_plugin_get_hwaddr", referenced from: > _vcpu_mem in execlog.o > > I guess this shows that we're kinda losing in not using Meson > for the plugins, but as I said I appreciate the didactic value > of using a standalone Makefile (with only a handful of lines > in configure). > > contrib/plugins/Makefile | 4 ++++ > 1 file changed, 4 insertions(+) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff --git a/contrib/plugins/Makefile b/contrib/plugins/Makefile index db1bd04dfa6..c26fa08441e 100644 --- a/contrib/plugins/Makefile +++ b/contrib/plugins/Makefile @@ -37,7 +37,11 @@ all: $(SONAMES) $(CC) $(CFLAGS) -c -o $@ $< lib%.so: %.o +ifeq ($(CONFIG_DARWIN),y) + $(CC) -bundle -Wl,-undefined,dynamic_lookup -o $@ $^ $(LDLIBS) +else $(CC) -shared -o $@ $^ $(LDLIBS) +endif clean: rm -f *.o *.so *.d
Under Darwin, using -shared makes it impossible to have undefined symbols and -bundle has to be used instead; so detect the OS and use different options. Based-on: <20230907101811.469236-1-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- This replaces Philippe's patch to link with GLib, and also fixes errors like "_qemu_plugin_get_hwaddr", referenced from: _vcpu_mem in execlog.o I guess this shows that we're kinda losing in not using Meson for the plugins, but as I said I appreciate the didactic value of using a standalone Makefile (with only a handful of lines in configure). contrib/plugins/Makefile | 4 ++++ 1 file changed, 4 insertions(+)