> > 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