Thomas Huth <th...@redhat.com> writes: > On 30.01.2018 11:21, Markus Armbruster wrote: >> 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. > > Could you maybe share the list of these 50 headers? ... cleaning this up > could also be a good task for https://wiki.qemu.org/BiteSizedTasks I guess?
Top-scorers after this series appended, arbitrarily cut off at 1000 objects. qemu/osdep.h and the headers it includes (config-host.h exec/poison.h qemu/compiler.h sysemu/os-posix.h glib-compat.h qemu/typedefs.h) trigger full recompiles by design, and some headers might be necessarily bad (e.g. trace/control.h). But I'm sure plenty of stupid shit that could be cleaned up. I'm going to post patches for qapi-types.h. config-host.h 4939 include/glib-compat.h 4939 include/qemu/compiler.h 4939 include/qemu/osdep.h 4939 include/qemu/typedefs.h 4939 include/sysemu/os-posix.h 4939 include/qemu/fprintf-fn.h 4657 include/qemu/module.h 4643 include/qemu/atomic.h 4625 include/qapi/util.h 4615 include/qemu/queue.h 4612 qapi-types.h 4612 include/fpu/softfloat.h 4572 include/qemu/bswap.h 4512 include/qemu-common.h 4498 include/qemu/host-utils.h 4470 include/qemu/processor.h 4424 include/qemu/thread-posix.h 4423 include/qemu/thread.h 4423 include/qemu/bitops.h 4378 include/qom/object.h 4353 include/qemu/bitmap.h 4307 include/hw/irq.h 4249 include/hw/hotplug.h 4241 include/hw/qdev-core.h 4240 include/exec/hwaddr.h 4239 include/exec/memattrs.h 4237 include/qemu/notify.h 4100 include/qemu/rcu.h 4054 include/exec/cpu-common.h 4047 include/exec/memory.h 4044 config-target.h 3805 include/disas/bfd.h 3622 include/qom/cpu.h 3605 include/qemu/timer.h 3424 include/qemu/int128.h 3019 include/exec/cpu-all.h 2903 include/exec/cpu-defs.h 2903 tcg/i386/tcg-target.h 2903 tcg/tcg-mo.h 2903 include/qemu/rcu_queue.h 2884 include/exec/ramlist.h 2850 include/qemu/log.h 2587 include/qemu/event_notifier.h 2348 include/block/aio.h 2339 include/qemu/main-loop.h 2039 migration/qjson.h 2029 include/migration/vmstate.h 2028 include/hw/qdev-properties.h 1991 include/sysemu/reset.h 1931 include/migration/qemu-file-types.h 1930 include/hw/hw.h 1929 trace/control-internal.h 1863 trace/control.h 1863 trace/event-internal.h 1863 include/hw/qdev.h 1784 include/qapi/error.h 1657 include/qemu/qdist.h 1639 include/qemu/qht.h 1637 include/qemu/seqlock.h 1637 include/exec/tb-context.h 1634 include/sysemu/cpus.h 1626 include/qemu/error-report.h 1610 include/qemu/uuid.h 1609 include/sysemu/sysemu.h 1599 include/exec/exec-all.h 1518 include/qemu/iov.h 1491 include/qemu/coroutine.h 1481 include/exec/address-spaces.h 1408 include/qemu/timed-average.h 1360 include/qemu/hbitmap.h 1359 include/block/accounting.h 1358 include/block/block.h 1358 include/block/blockjob.h 1358 include/block/dirty-bitmap.h 1358 include/exec/user/abitypes.h 1195 tcg/tcg-opc.h 1187 tcg/tcg.h 1187 include/exec/poison.h 1134 trace-root.h 1097