* Marc-André Lureau ([email protected]) wrote: > Exclude all *-hmp-cmds.c files and HMP-only source files from the > build when HMP is disabled. > > Also conditionalise the hmp-commands.hx header generation and the > test-hmp qtest. > > Signed-off-by: Marc-André Lureau <[email protected]>
Acked-by: Dr. David Alan Gilbert <[email protected]> but it needs review from someone who knows their Meson. Dave > --- > audio/meson.build | 4 +++- > backends/meson.build | 5 ++++- > block/monitor/meson.build | 4 +++- > chardev/meson.build | 5 ++++- > disas/meson.build | 4 +++- > dump/meson.build | 5 ++++- > hw/core/meson.build | 5 +++-- > hw/i386/meson.build | 4 +++- > hw/net/meson.build | 4 +++- > hw/pci/meson.build | 4 +++- > hw/virtio/meson.build | 4 +++- > meson.build | 2 +- > migration/meson.build | 4 +++- > monitor/hmp.c | 2 -- > monitor/meson.build | 9 +++++++-- > net/meson.build | 4 +++- > qom/meson.build | 4 +++- > stats/meson.build | 5 ++++- > stubs/meson.build | 12 +++++++----- > system/meson.build | 11 ++++++++--- > tests/qtest/meson.build | 8 +++++++- > trace/meson.build | 5 ++++- > ui/meson.build | 4 +++- > 23 files changed, 86 insertions(+), 32 deletions(-) > > diff --git a/audio/meson.build b/audio/meson.build > index 0e33b6f9836e..6655f601b115 100644 > --- a/audio/meson.build > +++ b/audio/meson.build > @@ -9,7 +9,9 @@ audio_ss.add(files( > )) > > # deprecated since v10.2, to be removed > -system_ss.add(files('audio-hmp-cmds.c', 'wavcapture.c')) > +if have_hmp > + system_ss.add(files('audio-hmp-cmds.c', 'wavcapture.c')) > +endif > > audio_modules = {} > foreach m : [ > diff --git a/backends/meson.build b/backends/meson.build > index 8792c58c361f..224e96753527 100644 > --- a/backends/meson.build > +++ b/backends/meson.build > @@ -1,6 +1,5 @@ > system_ss.add([files( > 'cryptodev-builtin.c', > - 'cryptodev-hmp-cmds.c', > 'cryptodev.c', > 'hostmem-ram.c', > 'hostmem.c', > @@ -10,6 +9,10 @@ system_ss.add([files( > 'confidential-guest-support.c', > ), numa]) > > +if have_hmp > + system_ss.add(files('cryptodev-hmp-cmds.c')) > +endif > + > if host_os != 'windows' > system_ss.add(files('rng-random.c')) > if host_os != 'emscripten' > diff --git a/block/monitor/meson.build b/block/monitor/meson.build > index 74faced9e17f..2d5c157a7391 100644 > --- a/block/monitor/meson.build > +++ b/block/monitor/meson.build > @@ -1,3 +1,5 @@ > -system_ss.add(files('block-hmp-cmds.c')) > +if have_hmp > + system_ss.add(files('block-hmp-cmds.c')) > +endif > block_ss.add(files('bitmap-qmp-cmds.c')) > system_ss.add(files('qmp-cmds.c')) > diff --git a/chardev/meson.build b/chardev/meson.build > index 56ee39ac0b01..031b6d7238c1 100644 > --- a/chardev/meson.build > +++ b/chardev/meson.build > @@ -30,11 +30,14 @@ endif > chardev_ss = chardev_ss.apply({}) > > system_ss.add(files( > - 'char-hmp-cmds.c', > 'msmouse.c', > 'wctablet.c', > 'testdev.c')) > > +if have_hmp > + system_ss.add(files('char-hmp-cmds.c')) > +endif > + > chardev_modules = {} > > if brlapi.found() > diff --git a/disas/meson.build b/disas/meson.build > index 42977a1f74dd..b382550e41f8 100644 > --- a/disas/meson.build > +++ b/disas/meson.build > @@ -20,5 +20,7 @@ common_ss.add(when: 'CONFIG_TCG', if_true: files( > 'objdump.c' > )) > common_ss.add(files('disas-common.c')) > -system_ss.add(files('disas-mon.c')) > +if have_hmp > + system_ss.add(files('disas-mon.c')) > +endif > specific_ss.add(capstone) > diff --git a/dump/meson.build b/dump/meson.build > index 26e1561ed486..bef8276aa5ad 100644 > --- a/dump/meson.build > +++ b/dump/meson.build > @@ -1,3 +1,6 @@ > -system_ss.add([files('dump.c', 'dump-hmp-cmds.c'), snappy, lzo]) > +system_ss.add([files('dump.c'), snappy, lzo]) > +if have_hmp > + system_ss.add(files('dump-hmp-cmds.c')) > +endif > specific_ss.add(when: 'CONFIG_WINDUMP', if_true: files('win_dump-x86.c')) > system_ss.add(when: 'CONFIG_WINDUMP', if_false: files('win_dump-stubs.c')) > diff --git a/hw/core/meson.build b/hw/core/meson.build > index 8a96567de8f2..8fe776d2c86b 100644 > --- a/hw/core/meson.build > +++ b/hw/core/meson.build > @@ -26,13 +26,11 @@ system_ss.add(when: 'CONFIG_SPLIT_IRQ', if_true: > files('split-irq.c')) > system_ss.add(when: 'CONFIG_XILINX_AXI', if_true: files('stream.c')) > system_ss.add(when: 'CONFIG_PLATFORM_BUS', if_true: files('sysbus-fdt.c')) > system_ss.add(when: 'CONFIG_EIF', if_true: [files('eif.c'), zlib, libcbor, > gnutls]) > - > system_ss.add(files( > 'cpu-system.c', > 'fw-path-provider.c', > 'hotplug.c', > 'loader.c', > - 'machine-hmp-cmds.c', > 'machine-qmp-cmds.c', > 'machine.c', > 'nmi.c', > @@ -46,6 +44,9 @@ system_ss.add(files( > 'vm-change-state-handler.c', > 'clock-vmstate.c', > )) > +if have_hmp > + system_ss.add(files('machine-hmp-cmds.c')) > +endif > user_ss.add(files( > 'cpu-user.c', > 'qdev-user.c', > diff --git a/hw/i386/meson.build b/hw/i386/meson.build > index b611fbb5a7fb..125f4ce894ca 100644 > --- a/hw/i386/meson.build > +++ b/hw/i386/meson.build > @@ -24,7 +24,9 @@ i386_ss.add(when: 'CONFIG_VTD', if_true: > files('intel_iommu.c')) > i386_ss.add(when: 'CONFIG_VTD_ACCEL', if_true: files('intel_iommu_accel.c')) > i386_ss.add(when: 'CONFIG_SGX', if_true: files('sgx-epc.c','sgx.c'), > if_false: files('sgx-stub.c')) > -stub_ss.add(files('sgx-hmp-stub.c')) > +if have_hmp > + stub_ss.add(files('sgx-hmp-stub.c')) > +endif > > i386_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-common.c')) > i386_ss.add(when: 'CONFIG_PC', if_true: files( > diff --git a/hw/net/meson.build b/hw/net/meson.build > index 84f142df222a..df3373be03bf 100644 > --- a/hw/net/meson.build > +++ b/hw/net/meson.build > @@ -67,6 +67,8 @@ system_ss.add(when: 'CONFIG_ROCKER', if_true: files( > 'rocker/rocker_world.c', > )) > stub_ss.add(files('rocker/rocker-stubs.c')) > -system_ss.add(files('rocker/rocker-hmp-cmds.c')) > +if have_hmp > + system_ss.add(files('rocker/rocker-hmp-cmds.c')) > +endif > > subdir('can') > diff --git a/hw/pci/meson.build b/hw/pci/meson.build > index a6cbd89c0a38..984c7327e5d0 100644 > --- a/hw/pci/meson.build > +++ b/hw/pci/meson.build > @@ -5,12 +5,14 @@ pci_ss.add(files( > 'pci.c', > 'pci_bridge.c', > 'pci_host.c', > - 'pci-hmp-cmds.c', > 'pci-qmp-cmds.c', > 'pcie_sriov.c', > 'shpc.c', > 'slotid_cap.c' > )) > +if have_hmp > + pci_ss.add(files('pci-hmp-cmds.c')) > +endif > # The functions in these modules can be used by devices too. Since we > # allow plugging PCIe devices into PCI buses, include them even if > # CONFIG_PCI_EXPRESS=n. > diff --git a/hw/virtio/meson.build b/hw/virtio/meson.build > index 0e023235164b..b59f455a5114 100644 > --- a/hw/virtio/meson.build > +++ b/hw/virtio/meson.build > @@ -100,6 +100,8 @@ stub_ss.add(files('vhost-user-stub.c')) > stub_ss.add(files('virtio-stub.c')) > stub_ss.add(files('virtio-md-stubs.c')) > > -system_ss.add(files('virtio-hmp-cmds.c')) > +if have_hmp > + system_ss.add(files('virtio-hmp-cmds.c')) > +endif > > system_ss.add(when: 'CONFIG_ACPI', if_true: files('virtio-acpi.c')) > diff --git a/meson.build b/meson.build > index 03b334549f23..8ac35151604b 100644 > --- a/meson.build > +++ b/meson.build > @@ -3549,7 +3549,7 @@ hx_headers = [ > ['qemu-options.hx', 'qemu-options.def'], > ['qemu-img-cmds.hx', 'qemu-img-cmds.h'], > ] > -if have_system > +if have_system and have_hmp > hx_headers += [ > ['hmp-commands.hx', 'hmp-commands.h'], > ['hmp-commands-info.hx', 'hmp-commands-info.h'], > diff --git a/migration/meson.build b/migration/meson.build > index 0a9a5d0d3746..4ab9d99cea62 100644 > --- a/migration/meson.build > +++ b/migration/meson.build > @@ -36,7 +36,9 @@ system_ss.add(files( > 'socket.c', > 'tls.c', > ), gnutls, zlib) > -system_ss.add([spice_headers, files('migration-hmp-cmds.c'), spice]) > +if have_hmp > + system_ss.add([spice_headers, files('migration-hmp-cmds.c'), spice]) > +endif > > if get_option('replication').allowed() > system_ss.add(files('colo-failover.c', 'colo.c', 'multifd-colo.c')) > diff --git a/monitor/hmp.c b/monitor/hmp.c > index 3c70adcd35bb..10bcbe2a33cb 100644 > --- a/monitor/hmp.c > +++ b/monitor/hmp.c > @@ -1731,9 +1731,7 @@ static int get_monitor_def(MonitorHMP *hmp, int64_t > *pval, const char *name) > if (cs == NULL) { > return -1; > } > -#ifdef CONFIG_HMP > md = cs->cc->sysemu_ops->monitor_defs; > -#endif > if (md == NULL) { > return -1; > } > diff --git a/monitor/meson.build b/monitor/meson.build > index 4c58dd148c04..f67e0291a42a 100644 > --- a/monitor/meson.build > +++ b/monitor/meson.build > @@ -2,8 +2,13 @@ qmp_ss.add(files('monitor.c', 'qmp.c', 'qmp-cmds-control.c')) > > system_ss.add(files( > 'fds.c', > - 'hmp-cmds.c', > - 'hmp.c', > 'qemu-config-qmp.c', > 'qmp-cmds.c', > )) > + > +if have_hmp > + system_ss.add(files( > + 'hmp-cmds.c', > + 'hmp.c', > + )) > +endif > diff --git a/net/meson.build b/net/meson.build > index 9c8068b06d1f..5bb76d136491 100644 > --- a/net/meson.build > +++ b/net/meson.build > @@ -8,7 +8,6 @@ system_ss.add(files( > 'filter-mirror.c', > 'filter.c', > 'hub.c', > - 'net-hmp-cmds.c', > 'net.c', > 'queue.c', > 'socket.c', > @@ -16,6 +15,9 @@ system_ss.add(files( > 'stream_data.c', > 'util.c', > )) > +if have_hmp > + system_ss.add(files('net-hmp-cmds.c')) > +endif > > if get_option('replication').allowed() or \ > get_option('colo_proxy').allowed() > diff --git a/qom/meson.build b/qom/meson.build > index bd6f4aadd78a..022d3ad5c8f1 100644 > --- a/qom/meson.build > +++ b/qom/meson.build > @@ -10,4 +10,6 @@ if have_system > endif > > qmp_ss.add(files('qom-qmp-cmds.c')) > -system_ss.add(files('qom-hmp-cmds.c')) > +if have_hmp > + system_ss.add(files('qom-hmp-cmds.c')) > +endif > diff --git a/stats/meson.build b/stats/meson.build > index 0728dafcd1c7..b5f68a94052e 100644 > --- a/stats/meson.build > +++ b/stats/meson.build > @@ -1 +1,4 @@ > -system_ss.add(files('stats-hmp-cmds.c', 'stats-qmp-cmds.c')) > +system_ss.add(files('stats-qmp-cmds.c')) > +if have_hmp > + system_ss.add(files('stats-hmp-cmds.c')) > +endif > diff --git a/stubs/meson.build b/stubs/meson.build > index 7e15687a62b7..93df8ea94f57 100644 > --- a/stubs/meson.build > +++ b/stubs/meson.build > @@ -86,11 +86,13 @@ if have_system > stub_ss.add(files('qmp-cpu.c')) > stub_ss.add(files('qmp-cpu-s390x.c')) > stub_ss.add(files('qmp-cpu-s390x-kvm.c')) > - stub_ss.add(files('hmp-cmd-info_mem.c')) > - stub_ss.add(files('hmp-cmd-info_sev.c')) > - stub_ss.add(files('hmp-cmd-info_tlb.c')) > - stub_ss.add(files('hmp-cmds-hw-s390x.c')) > - stub_ss.add(files('hmp-cmds-target-i386.c')) > + if have_hmp > + stub_ss.add(files('hmp-cmd-info_mem.c')) > + stub_ss.add(files('hmp-cmd-info_sev.c')) > + stub_ss.add(files('hmp-cmd-info_tlb.c')) > + stub_ss.add(files('hmp-cmds-hw-s390x.c')) > + stub_ss.add(files('hmp-cmds-target-i386.c')) > + endif > endif > > if have_system or have_user > diff --git a/system/meson.build b/system/meson.build > index 64e06e7abcc3..41e2e4a292d1 100644 > --- a/system/meson.build > +++ b/system/meson.build > @@ -9,7 +9,6 @@ system_ss.add(files( > 'cpus.c', > 'cpu-timers.c', > 'dirtylimit.c', > - 'dirtylimit-hmp-cmds.c', > 'dma-helpers.c', > 'exit-with-parent.c', > 'globals.c', > @@ -24,12 +23,18 @@ system_ss.add(files( > 'qtest.c', > 'rtc.c', > 'runstate-action.c', > - 'runstate-hmp-cmds.c', > 'runstate.c', > - 'tpm-hmp-cmds.c', > 'watchpoint.c', > )) > > +if have_hmp > + system_ss.add(files( > + 'dirtylimit-hmp-cmds.c', > + 'runstate-hmp-cmds.c', > + 'tpm-hmp-cmds.c', > + )) > +endif > + > if have_tpm > system_ss.add(files('tpm.c')) > endif > diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build > index f7c7d06620ea..4cf4407c2bd0 100644 > --- a/tests/qtest/meson.build > +++ b/tests/qtest/meson.build > @@ -26,7 +26,13 @@ qtests_generic = [ > 'qmp-test', > 'qmp-cmd-test', > 'qom-test', > - 'test-hmp', > +] > +if have_hmp > + qtests_generic += [ > + 'test-hmp', > + ] > +endif > +qtests_generic += [ > 'qos-test', > 'readconfig-test', > 'netdev-socket', > diff --git a/trace/meson.build b/trace/meson.build > index d89a0db82a14..4e5681c44cae 100644 > --- a/trace/meson.build > +++ b/trace/meson.build > @@ -1,4 +1,7 @@ > -system_ss.add(files('control-target.c', 'trace-hmp-cmds.c')) > +system_ss.add(files('control-target.c')) > +if have_hmp > + system_ss.add(files('trace-hmp-cmds.c')) > +endif > trace_rs_targets = [] > trace_events_files = [] > foreach item : [ '.' ] + trace_events_subdirs + qapi_trace_events > diff --git a/ui/meson.build b/ui/meson.build > index d345f6c70d6a..39829a2c6e23 100644 > --- a/ui/meson.build > +++ b/ui/meson.build > @@ -56,10 +56,12 @@ system_ss.add(png) > system_ss.add(files( > 'input-barrier.c', > 'input.c', > - 'ui-hmp-cmds.c', > 'ui-qmp-cmds.c', > 'util.c', > )) > +if have_hmp > + system_ss.add(files('ui-hmp-cmds.c')) > +endif > system_ss.add(ui) > system_ss.add(when: pixman, if_true: files('console-vc.c'), if_false: > files('console-vc-stubs.c')) > if dbus_display > > -- > 2.55.0.543.g5ebe2ebe4ea8 > -- -----Open up your eyes, open up your mind, open up your code ------- / Dr. David Alan Gilbert | Running GNU/Linux | Happy \ \ dave @ treblig.org | | In Hex / \ _________________________|_____ http://www.treblig.org |_______/
