qemu/include
Markus Armbruster 46517dd497 Include sysemu/sysemu.h a lot less
In my "build everything" tree, changing sysemu/sysemu.h triggers a
recompile of some 5400 out of 6600 objects (not counting tests and
objects that don't depend on qemu/osdep.h).

hw/qdev-core.h includes sysemu/sysemu.h since recent commit e965ffa70a
"qdev: add qdev_add_vm_change_state_handler()".  This is a bad idea:
hw/qdev-core.h is widely included.

Move the declaration of qdev_add_vm_change_state_handler() to
sysemu/sysemu.h, and drop the problematic include from hw/qdev-core.h.

Touching sysemu/sysemu.h now recompiles some 1800 objects.
qemu/uuid.h also drops from 5400 to 1800.  A few more headers show
smaller improvement: qemu/notify.h drops from 5600 to 5200,
qemu/timer.h from 5600 to 4500, and qapi/qapi-types-run-state.h from
5500 to 5000.

Cc: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20190812052359.30071-28-armbru@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
2019-08-16 13:31:53 +02:00
..
authz Include generated QAPI headers less 2019-08-16 13:31:51 +02:00
block Include qemu/main-loop.h less 2019-08-16 13:31:52 +02:00
chardev Include qemu/main-loop.h less 2019-08-16 13:31:52 +02:00
crypto crypto: Fix LGPL information in the file headers 2019-07-19 14:21:25 +01:00
disas include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
exec Include qemu/queue.h slightly less 2019-08-16 13:31:52 +02:00
fpu include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
hw Include sysemu/sysemu.h a lot less 2019-08-16 13:31:53 +02:00
io Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
libdecnumber include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
migration Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
monitor Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
net Include qemu/queue.h slightly less 2019-08-16 13:31:52 +02:00
qapi qapi: Split error.json off common.json 2019-08-16 13:31:51 +02:00
qemu Include sysemu/hostmem.h less 2019-08-16 13:31:53 +02:00
qom Include qemu/queue.h slightly less 2019-08-16 13:31:52 +02:00
scsi scsi: explicitly list guest-recoverable sense codes 2019-07-15 11:20:42 +02:00
standard-headers virtio-pmem: sync linux headers 2019-07-04 17:00:32 -04:00
sysemu Include sysemu/sysemu.h a lot less 2019-08-16 13:31:53 +02:00
ui Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
elf.h linux-user: elf: ELF_HWCAP for s390x 2019-06-07 14:53:26 +02:00
glib-compat.h slirp: Move g_spawn_async_with_fds_qemu compatibility to slirp/ 2019-02-07 15:49:08 +02:00
qemu-common.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
qemu-io.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
trace-tcg.h trace: get rid of generated-events.h/generated-events.c 2016-10-12 09:54:52 +02:00