Philippe Mathieu-Daudé <phi...@redhat.com> writes: > A lot of QAPI generated code is never used by user-mode. > > Split out qapi_system_modules and qapi_system_or_tools_modules > from the qapi_all_modules array. We now have 3 groups: > - always used > - use by system-mode or tools (usually by the block layer) > - only used by system-mode > > Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> > --- > Resetting due to Meson update: > Reviewed-by: Richard Henderson <richard.hender...@linaro.org> > --- > qapi/meson.build | 51 ++++++++++++++++++++++++++++++++++-------------- > 1 file changed, 36 insertions(+), 15 deletions(-) > > diff --git a/qapi/meson.build b/qapi/meson.build > index 7c4a89a882..ba9677ba97 100644 > --- a/qapi/meson.build > +++ b/qapi/meson.build > @@ -14,39 +14,60 @@ util_ss.add(files( > )) > > qapi_all_modules = [ > + 'common', > + 'introspect', > + 'misc', > +] > + > +qapi_system_modules = [ > 'acpi', > 'audio', > + 'dump', > + 'machine-target', > + 'machine', > + 'migration', > + 'misc-target', > + 'net', > + 'pci', > + 'qdev', > + 'rdma', > + 'rocker', > + 'tpm', > + 'trace', > +] > + > +# system or tools > +qapi_block_modules = [ > 'authz', > 'block-core', > 'block', > 'char', > - 'common', > 'control', > 'crypto', > - 'dump', > 'error', > - 'introspect', > 'job', > - 'machine', > - 'machine-target', > - 'migration', > - 'misc', > - 'misc-target', > - 'net', > 'pragma', > - 'qdev', > - 'pci', > 'qom', > - 'rdma', > - 'rocker', > 'run-state', > 'sockets', > - 'tpm', > - 'trace', > 'transaction', > 'ui', > ]
Most of these aren't "block modules". Name the thing qapi_system_or_tools_modules? > +if have_system > + qapi_all_modules += qapi_system_modules > +elif have_user > + # Temporary kludge because X86CPUFeatureWordInfo is not > + # restricted to system-mode. This should be removed (along > + # with target/i386/feature-stub.c) once target/i386/cpu.c > + # has been cleaned. > + qapi_all_modules += ['machine-target'] > +endif > + > +if have_block Aha, precedence for using "block" as an abbreviation of "system or tools". I find that confusing. > + qapi_all_modules += qapi_block_modules > +endif > + > qapi_storage_daemon_modules = [ > 'block-core', > 'char',