• M
    Include sysemu/sysemu.h a lot less · 46517dd4
    Markus Armbruster 提交于
    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 e965ffa7
    "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: NMarkus Armbruster <armbru@redhat.com>
    Reviewed-by: NAlistair Francis <alistair.francis@wdc.com>
    Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
    Message-Id: <20190812052359.30071-28-armbru@redhat.com>
    Reviewed-by: NAlex Bennée <alex.bennee@linaro.org>
    46517dd4
global_state.c 3.7 KB