On 10/1/20 7:09 AM, Markus Armbruster wrote: > 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?
This is why I used first, then realized this is defined as: have_block = have_system or have_tools > >> +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. I'll use qapi_system_or_tools_modules back, it is clearer, thanks. > >> + qapi_all_modules += qapi_block_modules >> +endif >> + >> qapi_storage_daemon_modules = [ >> 'block-core', >> 'char', >