We have awfully many "touch it, recompile the world" headers. Right
now, I count about fifty that are prerequisites of more than half the
objects in my "build everything" tree.
Some of them are that way by necessity. Many of them are not. This
series takes care of six I happen to touch, because serve as their
maintainer:
include/qapi/qmp/qdict.h
include/qapi/qmp/qlist.h
include/qapi/qmp/qnull.h
include/qapi/qmp/qnum.h
include/qapi/qmp/qobject.h
include/qemu/option.h
Before this series, touching any of these recompiles more than 95% of
my objects. That's more than 4500 compiler runs. After this series,
only 0.3% - 8% of my objects get recompiled.
Based-on: <20180201084535.26721-1-kraxel@redhat.com>
v3:
* PATCH 01,02: Avoid churn, additional whitespace cleanup [Thomas]
* PATCH 04: Additional whitespace cleanup [Eric]
Rebased onto Gerd's "vnc: use stubs for CONFIG_VNC=n dummy
functions"
* PATCH 19: Unbreak trace/control.c for !CONFIG_TRACE_LOG [Patchew]
v2:
* PATCH 01: New [BALATON Zoltan]
* PATCH 02: Clean up a few more (hw/ide/sii3112.c
target/i386/hax-all.c target/i386/hvf/ target/xtensa/); R-bys
dropped
* PATCH 02,04,10: Commit message improved [Eric]
* PATCH 04: Unbreak include/ui/console.h for !CONFIG_VNC, and
target/s390x/kvm.c [Patchew]
* PATCH 04,11,12,19: Additional whitespace cleanup
* PATCH 04,09,11,12,19: Commit message numbers updated
Markus Armbruster (19):
Use #include "..." for our own headers, <...> for others
Clean up includes
Drop superfluous includes of qapi-types.h and test-qapi-types.h
Include qapi/error.h exactly where needed
Drop superfluous includes of qapi/qmp/qerror.h
Include qmp-commands.h exactly where needed
Typedef the subtypes of QObject in qemu/typedefs.h, too
Eliminate qapi/qmp/types.h
qdict qlist: Make most helper macros functions
Include qapi/qmp/qobject.h exactly where needed
Include qapi/qmp/qlist.h exactly where needed
Include qapi/qmp/qdict.h exactly where needed
Include qapi/qmp/qstring.h exactly where needed
Include qapi/qmp/qbool.h exactly where needed
Include qapi/qmp/qnum.h exactly where needed
Include qapi/qmp/qnull.h exactly where needed
Drop superfluous includes of qapi/qmp/dispatch.h
Drop superfluous includes of qapi/qmp/qjson.h
Move include qemu/option.h from qemu-common.h to actual users
accel/accel.c | 2 +-
audio/wavcapture.c | 1 +
backends/cryptodev.c | 1 -
backends/hostmem.c | 1 -
backends/tpm.c | 1 -
balloon.c | 2 +-
block.c | 6 ++++--
block/blkdebug.c | 2 +-
block/blkverify.c | 1 +
block/block-backend.c | 2 ++
block/crypto.c | 2 ++
block/curl.c | 5 +++--
block/file-posix.c | 2 ++
block/file-win32.c | 3 +++
block/gluster.c | 3 +++
block/iscsi-opts.c | 1 +
block/iscsi.c | 3 ++-
block/nbd.c | 2 +-
block/nfs.c | 2 +-
block/null.c | 1 +
block/parallels.c | 3 ++-
block/parallels.h | 1 -
block/qapi.c | 6 +++++-
block/qcow.c | 5 +++--
block/qcow2-cluster.c | 1 -
block/qcow2.c | 6 ++++--
block/qed.c | 2 +-
block/quorum.c | 4 ++--
block/rbd.c | 3 +++
block/replication.c | 2 +-
block/sheepdog.c | 1 +
block/snapshot.c | 2 ++
block/ssh.c | 2 ++
block/throttle.c | 1 +
block/vdi.c | 1 +
block/vhdx.c | 2 +-
block/vmdk.c | 1 +
block/vpc.c | 3 ++-
block/vvfat.c | 4 +++-
block/write-threshold.c | 2 +-
blockdev-nbd.c | 2 +-
blockdev.c | 5 ++++-
blockjob.c | 3 +--
chardev/char-file.c | 3 ++-
chardev/char-mux.c | 3 ++-
chardev/char-parallel.c | 2 ++
chardev/char-pipe.c | 2 ++
chardev/char-ringbuf.c | 3 +++
chardev/char-serial.c | 2 ++
chardev/char-socket.c | 2 ++
chardev/char-stdio.c | 3 ++-
chardev/char-udp.c | 2 ++
chardev/char.c | 3 +++
chardev/spice.c | 2 ++
contrib/ivshmem-server/main.c | 2 +-
contrib/vhost-user-scsi/vhost-user-scsi.c | 4 ++--
cpus.c | 4 ++--
crypto/hash.c | 1 -
crypto/hmac.c | 1 -
crypto/ivgen-essiv.c | 1 -
crypto/ivgen-plain.c | 1 -
crypto/ivgen-plain64.c | 1 -
crypto/random-gnutls.c | 1 +
crypto/random-platform.c | 1 +
device-hotplug.c | 2 ++
device_tree.c | 2 +-
docs/devel/qapi-code-gen.txt | 2 --
dump.c | 1 +
fsdev/qemu-fsdev-throttle.c | 1 +
fsdev/qemu-fsdev-throttle.h | 1 -
fsdev/qemu-fsdev.c | 5 +++--
fsdev/qemu-fsdev.h | 1 -
hmp.c | 1 +
hmp.h | 2 --
hw/9pfs/9p-handle.c | 1 +
hw/9pfs/9p-local.c | 3 ++-
hw/9pfs/9p-proxy.c | 3 +++
hw/9pfs/xen-9p-backend.c | 1 +
hw/acpi/acpi-stub.c | 2 +-
hw/acpi/core.c | 3 +++
hw/acpi/memory_hotplug.c | 1 +
hw/acpi/vmgenid.c | 1 +
hw/adc/stm32f2xx_adc.c | 1 -
hw/arm/boot.c | 1 +
hw/block/vhost-user-blk.c | 1 -
hw/char/mcf_uart.c | 1 -
hw/char/virtio-console.c | 1 +
hw/core/qdev.c | 3 ++-
hw/display/milkymist-tmu2.c | 1 +
hw/display/qxl.c | 1 +
hw/display/virtio-gpu-3d.c | 1 -
hw/display/xlnx_dp.c | 1 +
hw/i2c/ppc4xx_i2c.c | 1 -
hw/i386/acpi-build.c | 1 +
hw/i386/multiboot.c | 2 +-
hw/i386/pc.c | 3 +++
hw/i386/pc_piix.c | 1 +
hw/i386/pc_q35.c | 2 ++
hw/i386/pc_sysfw.c | 1 +
hw/i386/xen/xen-hvm.c | 2 +-
hw/ide/core.c | 2 ++
hw/ide/sii3112.c | 4 ++--
hw/intc/xics_pnv.c | 1 -
hw/intc/xics_spapr.c | 1 -
hw/ipmi/ipmi.c | 1 +
hw/mips/mips_jazz.c | 1 +
hw/mips/mips_malta.c | 1 +
hw/misc/exynos4210_rng.c | 1 +
hw/misc/mips_cmgcr.c | 1 -
hw/misc/mps2-scc.c | 1 -
hw/net/rocker/qmp-norocker.c | 1 +
hw/net/rocker/rocker.c | 1 +
hw/net/rocker/rocker_of_dpa.c | 1 +
hw/net/virtio-net.c | 2 +-
hw/nios2/cpu_pic.c | 1 -
hw/nvram/eeprom_at24c.c | 3 +--
hw/nvram/fw_cfg.c | 2 ++
hw/pci-bridge/i82801b11.c | 2 --
hw/pci-bridge/ioh3420.c | 1 -
hw/pci-bridge/xio3130_upstream.c | 1 -
hw/pci-host/sabre.c | 1 -
hw/pci/pci-stub.c | 1 +
hw/pci/pci.c | 2 ++
hw/pci/pcie_aer.c | 3 +--
hw/ppc/e500.c | 2 +-
hw/ppc/fdt.c | 1 -
hw/ppc/pnv_bmc.c | 1 -
hw/ppc/pnv_xscom.c | 1 -
hw/ppc/ppc.c | 1 -
hw/ppc/spapr.c | 1 -
hw/ppc/spapr_drc.c | 1 +
hw/ppc/spapr_pci_vfio.c | 1 -
hw/ppc/spapr_rtc.c | 3 ++-
hw/ppc/virtex_ml507.c | 1 +
hw/s390x/s390-ccw.c | 3 ++-
hw/s390x/s390-skeys.c | 1 +
hw/s390x/s390-stattrib.c | 2 +-
hw/s390x/s390-virtio-ccw.c | 3 +--
hw/scsi/esp.c | 1 -
hw/scsi/scsi-bus.c | 1 +
hw/scsi/vhost-scsi-common.c | 1 -
hw/sd/sdhci.c | 1 -
hw/smbios/smbios-stub.c | 2 +-
hw/smbios/smbios.c | 1 +
hw/sparc64/niagara.c | 1 -
hw/sparc64/sun4u_iommu.c | 1 -
hw/ssi/stm32f2xx_spi.c | 1 -
hw/timer/m48t59.c | 1 -
hw/timer/mc146818rtc.c | 2 ++
hw/tpm/tpm_emulator.c | 5 -----
hw/tpm/tpm_int.h | 2 --
hw/tpm/tpm_ioctl.h | 2 --
hw/usb/ccid-card-passthru.c | 1 -
hw/usb/xen-usb.c | 4 ++--
hw/vfio/pci.c | 1 +
hw/virtio/virtio-balloon.c | 1 +
hw/watchdog/watchdog.c | 2 +-
hw/xen/xen-common.c | 1 -
hw/xen/xen_devconfig.c | 1 +
hw/xtensa/xtensa_memory.h | 1 -
hw/xtensa/xtfpga.c | 2 +-
include/block/block.h | 4 +---
include/block/block_int.h | 2 --
include/block/dirty-bitmap.h | 1 +
include/block/nbd.h | 2 --
include/block/qapi.h | 1 -
include/block/snapshot.h | 2 --
include/chardev/char.h | 2 --
include/crypto/random.h | 2 --
include/crypto/xts.h | 2 --
include/exec/tb-lookup.h | 2 --
include/hw/acpi/acpi.h | 1 -
include/hw/acpi/acpi_dev_interface.h | 1 -
include/hw/block/block.h | 1 +
include/hw/block/fdc.h | 1 +
include/hw/ide/internal.h | 1 -
include/hw/intc/xlnx-pmu-iomod-intc.h | 1 -
include/hw/intc/xlnx-zynqmp-ipi.h | 1 -
include/hw/loader-fit.h | 2 +-
include/hw/loader.h | 1 -
include/hw/nvram/fw_cfg.h | 1 -
include/hw/pci-bridge/simba.h | 1 -
include/hw/qdev-core.h | 1 -
include/hw/registerfields.h | 2 +-
include/hw/s390x/storage-attributes.h | 2 +-
include/hw/smbios/smbios.h | 1 -
include/hw/xtensa/xtensa-isa.h | 2 --
include/migration/colo.h | 1 +
include/monitor/monitor.h | 1 -
include/net/net.h | 5 +----
include/net/slirp.h | 4 ----
include/net/tap.h | 1 -
include/qapi/clone-visitor.h | 1 -
include/qapi/opts-visitor.h | 1 -
include/qapi/qmp-event.h | 1 -
include/qapi/qmp/dispatch.h | 3 +--
include/qapi/qmp/json-parser.h | 1 -
include/qapi/qmp/qbool.h | 4 ++--
include/qapi/qmp/qdict.h | 21 ++++++------------
include/qapi/qmp/qjson.h | 3 ---
include/qapi/qmp/qlist.h | 19 ++++++----------
include/qapi/qmp/qlit.h | 1 -
include/qapi/qmp/qnum.h | 4 ++--
include/qapi/qmp/qstring.h | 4 ++--
include/qapi/qmp/types.h | 24 ---------------------
include/qapi/qobject-input-visitor.h | 1 -
include/qapi/qobject-output-visitor.h | 1 -
include/qapi/visitor.h | 2 +-
include/qemu-common.h | 2 --
include/qemu/config-file.h | 2 --
include/qemu/option.h | 1 -
include/qemu/throttle.h | 1 +
include/qemu/typedefs.h | 7 +++++-
include/qom/object_interfaces.h | 1 -
include/scsi/pr-manager.h | 1 -
include/sysemu/arch_init.h | 3 +--
include/sysemu/dump.h | 1 -
include/sysemu/hostmem.h | 1 -
include/sysemu/hvf.h | 2 --
include/sysemu/numa.h | 1 -
include/sysemu/replay.h | 1 -
include/sysemu/sysemu.h | 2 --
include/sysemu/tpm.h | 1 -
include/sysemu/tpm_backend.h | 1 -
include/ui/console.h | 4 ----
include/ui/qemu-spice.h | 1 -
io/channel-websock.c | 3 ---
iothread.c | 1 +
linux-user/syscall.c | 1 -
migration/colo-failover.c | 1 +
migration/colo.c | 1 +
migration/exec.c | 1 -
migration/fd.c | 1 -
migration/migration.c | 2 ++
migration/migration.h | 1 -
migration/ram.c | 2 ++
migration/ram.h | 1 +
migration/savevm.c | 1 +
monitor.c | 8 ++++---
nbd/common.c | 1 -
net/clients.h | 1 -
net/colo-compare.c | 1 -
net/filter-mirror.c | 1 -
net/filter-replay.c | 1 -
net/filter-rewriter.c | 2 --
net/net.c | 4 +++-
net/slirp.c | 2 ++
net/vhost-user.c | 2 ++
numa.c | 1 +
qapi/qapi-dealloc-visitor.c | 2 +-
qapi/qapi-visit-core.c | 1 -
qapi/qmp-dispatch.c | 4 +---
qapi/qmp-event.c | 1 +
qapi/qobject-input-visitor.c | 7 +++++-
qapi/qobject-output-visitor.c | 7 +++++-
qdev-monitor.c | 2 ++
qemu-img.c | 5 +++--
qemu-io-cmds.c | 1 +
qemu-io.c | 3 ++-
qemu-keymap.c | 1 -
qemu-nbd.c | 3 ++-
qga/commands-posix.c | 1 +
qga/commands-win32.c | 2 ++
qga/commands.c | 1 +
qga/guest-agent-core.h | 2 +-
qga/main.c | 5 ++++-
qga/vss-win32.c | 1 +
qmp.c | 3 ++-
qobject/json-parser.c | 7 +++++-
qobject/qbool.c | 1 -
qobject/qdict.c | 23 +++++++++++++++++++-
qobject/qjson.c | 6 +++++-
qobject/qlist.c | 25 +++++++++++++++++++++-
qobject/qlit.c | 6 +++++-
qobject/qnum.c | 2 --
qobject/qobject.c | 7 +++++-
qobject/qstring.c | 1 -
qom/object.c | 2 +-
qom/object_interfaces.c | 2 ++
replay/replay-input.c | 1 -
replay/replay.c | 2 +-
scripts/qapi-commands.py | 4 ++--
scripts/qapi-event.py | 2 +-
scsi/pr-helper.h | 2 --
stubs/arch-query-cpu-def.c | 1 +
stubs/arch-query-cpu-model-baseline.c | 1 +
stubs/arch-query-cpu-model-comparison.c | 1 +
stubs/arch-query-cpu-model-expansion.c | 1 +
stubs/dump.c | 1 -
stubs/vmgenid.c | 1 +
target/i386/cpu.c | 5 +++--
target/i386/hax-all.c | 1 -
target/i386/hvf/hvf.c | 1 -
target/i386/hvf/vmx.h | 1 -
target/i386/hvf/x86_decode.c | 1 -
target/i386/hvf/x86_mmu.c | 6 ++----
target/i386/hvf/x86_task.c | 1 -
target/i386/hvf/x86hvf.c | 3 ---
target/i386/monitor.c | 2 ++
target/i386/xsave_helper.c | 1 -
target/nios2/helper.c | 1 -
target/ppc/mmu-book3s-v3.c | 1 -
target/ppc/mmu-hash64.c | 1 -
target/ppc/mmu-radix64.c | 1 -
target/ppc/mmu_helper.c | 1 -
target/ppc/translate_init.c | 2 ++
target/s390x/cpu_models.c | 2 +-
target/s390x/excp_helper.c | 1 -
target/s390x/gen-features.c | 6 ++----
target/s390x/helper.c | 1 -
target/s390x/kvm.c | 2 +-
target/xtensa/core-dc232b/xtensa-modules.c | 3 ++-
target/xtensa/core-dc233c/xtensa-modules.c | 3 ++-
target/xtensa/core-de212/xtensa-modules.c | 3 ++-
target/xtensa/core-fsf/xtensa-modules.c | 3 ++-
.../xtensa/core-sample_controller/xtensa-modules.c | 3 ++-
target/xtensa/xtensa-isa.c | 4 +---
target/xtensa/xtensa-isa.h | 2 +-
tests/ahci-test.c | 1 +
tests/check-qdict.c | 4 +++-
tests/check-qjson.c | 5 ++++-
tests/check-qlist.c | 1 -
tests/check-qlit.c | 3 +--
tests/check-qnum.c | 1 -
tests/check-qobject.c | 9 ++++++--
tests/cpu-plug-test.c | 2 +-
tests/device-introspect-test.c | 2 +-
tests/drive_del-test.c | 1 +
tests/io-channel-helpers.c | 1 -
tests/libqos/libqos.c | 1 +
tests/libqos/pci-pc.c | 2 +-
tests/libqtest.c | 5 ++++-
tests/libqtest.h | 2 --
tests/migration-test.c | 1 +
tests/migration/stress.c | 10 +--------
tests/numa-test.c | 2 ++
tests/ptimer-test.c | 4 ++--
tests/pvpanic-test.c | 1 +
tests/q35-test.c | 1 +
tests/qmp-test.c | 2 ++
tests/qom-test.c | 3 ++-
tests/tco-test.c | 2 ++
tests/test-aio-multithread.c | 1 -
tests/test-char.c | 2 +-
tests/test-clone-visitor.c | 2 --
tests/test-keyval.c | 2 ++
tests/test-netfilter.c | 1 +
tests/test-qapi-util.c | 1 -
tests/test-qemu-opts.c | 2 ++
tests/test-qga.c | 2 ++
tests/test-qmp-commands.c | 6 ++++--
tests/test-qmp-event.c | 8 ++++---
tests/test-qobject-input-visitor.c | 7 ++++--
tests/test-qobject-output-visitor.c | 9 +++++---
tests/test-replication.c | 2 ++
tests/test-string-input-visitor.c | 2 --
tests/test-string-output-visitor.c | 2 --
tests/test-visitor-serialization.c | 4 +---
tests/test-x86-cpuid-compat.c | 2 +-
tests/tmp105-test.c | 1 +
tests/vhost-user-test.c | 1 +
tests/virtio-net-test.c | 1 +
tests/vmgenid-test.c | 1 +
tests/wdt_ib700-test.c | 1 +
tpm.c | 2 ++
trace/control-internal.h | 2 --
trace/control.c | 1 +
trace/qmp.c | 1 +
ui/cocoa.m | 1 -
ui/console.c | 4 +++-
ui/gtk.c | 1 +
ui/input-legacy.c | 1 -
ui/input.c | 2 +-
ui/spice-core.c | 6 ++----
ui/spice-display.c | 2 +-
ui/vnc-palette.h | 1 -
ui/vnc.c | 4 ++--
ui/vnc.h | 1 -
util/keyval.c | 2 ++
util/qemu-config.c | 2 ++
util/qemu-option.c | 5 ++++-
vl.c | 5 +++--
382 files changed, 485 insertions(+), 414 deletions(-)
delete mode 100644 include/qapi/qmp/types.h
--
2.13.6