qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC 2/4] tcg/plugins: Automatically define CURRENT_PLUGIN


From: Andrew S. Fasano
Subject: Re: [RFC 2/4] tcg/plugins: Automatically define CURRENT_PLUGIN
Date: Mon, 26 Sep 2022 21:37:36 +0000

From: Alex Bennée <alex.bennee@linaro.org>
> Andrew Fasano <fasano@mit.edu> writes:
> 
> > Use plugin filenames to set the preprocessor variable CURRENT_PLUGIN
> > as a string during plugin compilation.
> >
> > Signed-off-by: Andrew Fasano <fasano@mit.edu>
> > ---
> >  contrib/plugins/Makefile | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/contrib/plugins/Makefile b/contrib/plugins/Makefile
> > index df3499f4f2..b7720fea0f 100644
> > --- a/contrib/plugins/Makefile
> > +++ b/contrib/plugins/Makefile
> > @@ -34,7 +34,7 @@ CFLAGS += -I$(SRC_PATH)/include/qemu
> >  all: $(SONAMES)
> > 
> >  %.o: %.c
> > -     $(CC) $(CFLAGS) -c -o $@ $<
> > +     $(CC) $(CFLAGS) -DCURRENT_PLUGIN=\"$(basename $@)\" -c -o $@ $<
> 
> While all plugins are currently single files this seems a little clumsy.
> 
> We can already check exported plugin symbols in loader.c (see
> qemu_plugin_version) so maybe it would be better to declare an API
> update and mandate any plugin object also needs to define a
> qemu_plugin_name with a null terminated string?

That design sounds good to me and would be good for multi-file plugins. Perhaps
plugins could also (optionally?) specify their own API versioning here.

> 
> > 
> >  lib%.so: %.o
> >        $(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDLIBS)
> 
> 
> --
> Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]