On Mon, Jun 14, 2021 at 05:01:59PM +0200, Gerd Hoffmann wrote:
>   Hi,
> 
> > > softmmu_mods and block_mods are both lists already, so this sets a
> > > nested list and I wonder if it confuses meson  ? eg do you need
> > > 
> > >   input: softmmu_mods + block_mods
> > 
> > No, that should be fine.  Perhaps it's because the inputs are not part of
> > the command?  You can check what the build.ninja rule for modinfo.json looks
> > like.
> > 
> > Also:
> > 
> > - it would be better to support both directories and file names, so that
> > stale modules are not included in modinfo.json
> 
> When turning qemu-modinfo into a pure build-utility (see below) there is
> no reason to not explicitly list all module files on the command line.
> 
> > - modinfo.json needs to be disabled on non-ELF platforms (x86, Windows).
> 
> On windows modules are not supported.

Does anyone recall why modules aren't supported on Windows

> Do we have any other non-ELF platforms?

macOS uses dynlib IIUC ?

> Problem with that approach is that it doesn't work for module
> dependencies ...
> 
> Comments on the idea?  Suggestions for the module dependency problem?
> Could maybe libbfd be used to find module (symbol) dependencies
> automatically without writing a full dynamic linker?

Is there any value in exploring use of libclang ?  It gives us a real
C parser that we can use to extract information from the C source. In
libvirt we have experimental patches (not yet merged) using libclang to
auto-generate XML parser helpers from struct annotations. It is quite
nice compared to any other hacks for extracting information from C
source files without using a proper parser.  libclang can be accessed
from Python3 via its bindings and IIUC should be usable on all our
build platforms


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Reply via email to