> > 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
Could you do something along the lines of ...
(1) find constructors
(2) find type_register() calls in the constructor and the
TypeInfo structs passed to those calls.
(3) inspect the TypeInfo structs to figure the QOM type names.
... with libclang?
take care,
Gerd