]> git.proxmox.com Git - mirror_qemu.git/commit
include/qemu/osdep.h: Don't include qapi/error.h
authorMarkus Armbruster <armbru@redhat.com>
Mon, 14 Mar 2016 08:01:28 +0000 (09:01 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 22 Mar 2016 21:20:15 +0000 (22:20 +0100)
commitda34e65cb4025728566d6504a99916f6e7e1dd6a
tree79cc0f5cfc5b02ead1a6730a3c568a5fd00b6dac
parent4829e0378dfb91d55af9dfd741bd09e8f2c4f91a
include/qemu/osdep.h: Don't include qapi/error.h

Commit 57cb38b included qapi/error.h into qemu/osdep.h to get the
Error typedef.  Since then, we've moved to include qemu/osdep.h
everywhere.  Its file comment explains: "To avoid getting into
possible circular include dependencies, this file should not include
any other QEMU headers, with the exceptions of config-host.h,
compiler.h, os-posix.h and os-win32.h, all of which are doing a
similar job to this file and are under similar constraints."
qapi/error.h doesn't do a similar job, and it doesn't adhere to
similar constraints: it includes qapi-types.h.  That's in excess of
100KiB of crap most .c files don't actually need.

Add the typedef to qemu/typedefs.h, and include that instead of
qapi/error.h.  Include qapi/error.h in .c files that need it and don't
get it now.  Include qapi-types.h in qom/object.h for uint16List.

Update scripts/clean-includes accordingly.  Update it further to match
reality: replace config.h by config-target.h, add sysemu/os-posix.h,
sysemu/os-win32.h.  Update the list of includes in the qemu/osdep.h
comment quoted above similarly.

This reduces the number of objects depending on qapi/error.h from "all
of them" to less than a third.  Unfortunately, the number depending on
qapi-types.h shrinks only a little.  More work is needed for that one.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
[Fix compilation without the spice devel packages. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
392 files changed:
async.c
backends/baum.c
backends/hostmem-file.c
backends/hostmem-ram.c
backends/hostmem.c
backends/rng-egd.c
backends/rng-random.c
backends/rng.c
backends/tpm.c
block/backup.c
block/blkdebug.c
block/blkverify.c
block/bochs.c
block/cloop.c
block/commit.c
block/curl.c
block/dirty-bitmap.c
block/dmg.c
block/gluster.c
block/io.c
block/mirror.c
block/nbd.c
block/null.c
block/parallels.c
block/qcow.c
block/qcow2-cluster.c
block/qcow2-refcount.c
block/qcow2-snapshot.c
block/qed.c
block/raw-posix.c
block/raw-win32.c
block/raw_bsd.c
block/rbd.c
block/sheepdog.c
block/snapshot.c
block/ssh.c
block/stream.c
block/vdi.c
block/vhdx-log.c
block/vhdx.c
block/vmdk.c
block/vpc.c
block/vvfat.c
bootdevice.c
contrib/ivshmem-server/main.c
crypto/block-luks.c
crypto/block-qcow.c
crypto/block.c
crypto/cipher.c
crypto/hash.c
crypto/init.c
crypto/ivgen-essiv.c
crypto/ivgen-plain.c
crypto/ivgen-plain64.c
crypto/ivgen.c
crypto/pbkdf-gcrypt.c
crypto/pbkdf-nettle.c
crypto/pbkdf-stub.c
crypto/pbkdf.c
crypto/secret.c
crypto/tlscreds.c
crypto/tlscredsanon.c
crypto/tlscredsx509.c
crypto/tlssession.c
device_tree.c
exec.c
gdbstub.c
hw/9pfs/9p.c
hw/acpi/cpu_hotplug.c
hw/acpi/ich9.c
hw/acpi/pcihp.c
hw/acpi/piix4.c
hw/alpha/typhoon.c
hw/arm/allwinner-a10.c
hw/arm/armv7m.c
hw/arm/ast2400.c
hw/arm/bcm2835_peripherals.c
hw/arm/bcm2836.c
hw/arm/boot.c
hw/arm/cubieboard.c
hw/arm/digic.c
hw/arm/digic_boards.c
hw/arm/exynos4210.c
hw/arm/fsl-imx25.c
hw/arm/fsl-imx31.c
hw/arm/highbank.c
hw/arm/imx25_pdk.c
hw/arm/integratorcp.c
hw/arm/kzm.c
hw/arm/mainstone.c
hw/arm/musicpal.c
hw/arm/netduino2.c
hw/arm/nseries.c
hw/arm/omap1.c
hw/arm/omap2.c
hw/arm/omap_sx1.c
hw/arm/palm.c
hw/arm/palmetto-bmc.c
hw/arm/pxa2xx.c
hw/arm/raspi.c
hw/arm/realview.c
hw/arm/spitz.c
hw/arm/stellaris.c
hw/arm/stm32f205_soc.c
hw/arm/sysbus-fdt.c
hw/arm/tosa.c
hw/arm/versatilepb.c
hw/arm/vexpress.c
hw/arm/virt-acpi-build.c
hw/arm/virt.c
hw/arm/xilinx_zynq.c
hw/arm/xlnx-ep108.c
hw/arm/xlnx-zynqmp.c
hw/audio/adlib.c
hw/audio/gus.c
hw/block/block.c
hw/block/dataplane/virtio-blk.c
hw/block/fdc.c
hw/block/nand.c
hw/block/nvme.c
hw/block/onenand.c
hw/block/pflash_cfi01.c
hw/block/pflash_cfi02.c
hw/block/virtio-blk.c
hw/block/xen_disk.c
hw/bt/hci.c
hw/char/debugcon.c
hw/char/parallel.c
hw/char/serial-isa.c
hw/char/serial-pci.c
hw/char/serial.c
hw/char/spapr_vty.c
hw/char/virtio-serial-bus.c
hw/core/loader.c
hw/core/machine.c
hw/core/nmi.c
hw/core/qdev-properties-system.c
hw/core/qdev-properties.c
hw/cpu/a15mpcore.c
hw/cpu/a9mpcore.c
hw/cpu/arm11mpcore.c
hw/cpu/realview_mpcore.c
hw/cris/axis_dev88.c
hw/display/bcm2835_fb.c
hw/display/cg3.c
hw/display/cirrus_vga.c
hw/display/sm501.c
hw/display/tc6393xb.c
hw/display/tcx.c
hw/display/vga.c
hw/display/vmware_vga.c
hw/dma/bcm2835_dma.c
hw/dma/pl330.c
hw/dma/xilinx_axidma.c
hw/i386/acpi-build.c
hw/i386/kvm/i8254.c
hw/i386/kvm/pci-assign.c
hw/i386/pc_sysfw.c
hw/i386/pci-assign-load-rom.c
hw/i386/xen/xen_platform.c
hw/i386/xen/xen_pvdevice.c
hw/ide/qdev.c
hw/input/milkymist-softusb.c
hw/input/virtio-input-host.c
hw/input/virtio-input.c
hw/intc/apic_common.c
hw/intc/arm_gic.c
hw/intc/arm_gic_common.c
hw/intc/arm_gic_kvm.c
hw/intc/arm_gicv2m.c
hw/intc/arm_gicv3_common.c
hw/intc/arm_gicv3_kvm.c
hw/intc/armv7m_nvic.c
hw/intc/ioapic_common.c
hw/intc/openpic.c
hw/intc/openpic_kvm.c
hw/intc/realview_gic.c
hw/intc/xics.c
hw/intc/xics_kvm.c
hw/ipack/ipack.c
hw/ipmi/ipmi_bmc_extern.c
hw/ipmi/isa_ipmi_bt.c
hw/ipmi/isa_ipmi_kcs.c
hw/isa/isa-bus.c
hw/isa/pc87312.c
hw/m68k/an5206.c
hw/m68k/mcf5208.c
hw/mem/pc-dimm.c
hw/microblaze/petalogix_ml605_mmu.c
hw/microblaze/petalogix_s3adsp1800_mmu.c
hw/mips/mips_fulong2e.c
hw/mips/mips_mipssim.c
hw/mips/mips_r4k.c
hw/misc/bcm2835_mbox.c
hw/misc/bcm2835_property.c
hw/misc/ivshmem.c
hw/misc/macio/macio.c
hw/misc/tmp105.c
hw/moxie/moxiesim.c
hw/net/dp8393x.c
hw/net/milkymist-minimac2.c
hw/net/ne2000-isa.c
hw/net/xilinx_axienet.c
hw/nvram/spapr_nvram.c
hw/openrisc/openrisc_sim.c
hw/pci-bridge/pci_bridge_dev.c
hw/pci-host/piix.c
hw/pci-host/prep.c
hw/pci-host/q35.c
hw/pci/pcie.c
hw/pci/shpc.c
hw/ppc/e500.c
hw/ppc/mac_newworld.c
hw/ppc/mac_oldworld.c
hw/ppc/ppc405_boards.c
hw/ppc/ppc405_uc.c
hw/ppc/spapr.c
hw/ppc/spapr_drc.c
hw/ppc/spapr_events.c
hw/ppc/spapr_hcall.c
hw/ppc/spapr_pci.c
hw/ppc/spapr_pci_vfio.c
hw/ppc/spapr_rng.c
hw/ppc/spapr_vio.c
hw/s390x/event-facility.c
hw/s390x/ipl.c
hw/s390x/s390-virtio-ccw.c
hw/s390x/s390-virtio.c
hw/s390x/sclp.c
hw/s390x/virtio-ccw.c
hw/scsi/esp-pci.c
hw/scsi/esp.c
hw/scsi/scsi-bus.c
hw/scsi/scsi-disk.c
hw/scsi/scsi-generic.c
hw/scsi/vhost-scsi.c
hw/scsi/virtio-scsi.c
hw/scsi/vmw_pvscsi.c
hw/sd/pxa2xx_mmci.c
hw/sd/sd.c
hw/sh4/r2d.c
hw/sh4/shix.c
hw/smbios/smbios.c
hw/sparc/leon3.c
hw/sparc/sun4m.c
hw/sparc64/sun4u.c
hw/timer/a9gtimer.c
hw/timer/arm_mptimer.c
hw/timer/hpet.c
hw/timer/m48t59.c
hw/tpm/tpm_tis.c
hw/tricore/tricore_testboard.c
hw/unicore32/puv3.c
hw/usb/bus.c
hw/usb/dev-hid.c
hw/usb/dev-hub.c
hw/usb/dev-mtp.c
hw/usb/dev-network.c
hw/usb/dev-serial.c
hw/usb/dev-smartcard-reader.c
hw/usb/dev-storage.c
hw/usb/hcd-ehci.c
hw/usb/hcd-ohci.c
hw/usb/hcd-uhci.c
hw/usb/host-libusb.c
hw/usb/redirect.c
hw/vfio/platform.c
hw/virtio/vhost-user.c
hw/virtio/vhost.c
hw/virtio/virtio-pci.c
hw/virtio/virtio-rng.c
hw/virtio/virtio.c
hw/xen/xen-host-pci-device.c
hw/xen/xen_pt.c
hw/xen/xen_pt_config_init.c
hw/xen/xen_pt_graphics.c
hw/xtensa/sim.c
hw/xtensa/xtfpga.c
include/qapi/error.h
include/qemu/osdep.h
include/qemu/typedefs.h
include/qom/object.h
include/ui/qemu-spice.h
io/channel-command.c
io/channel-file.c
io/channel-socket.c
io/channel-tls.c
io/channel-websock.c
io/channel.c
io/task.c
iohandler.c
main-loop.c
memory.c
memory_mapping.c
migration/block.c
migration/exec.c
migration/fd.c
migration/rdma.c
nbd/client.c
nbd/common.c
nbd/server.c
net/dump.c
net/filter-buffer.c
net/filter.c
net/socket.c
net/tap-aix.c
net/tap-bsd.c
net/tap-haiku.c
net/tap-linux.c
net/tap-solaris.c
net/tap.c
qapi/opts-visitor.c
qapi/qapi-util.c
qapi/qapi-visit-core.c
qapi/qmp-dispatch.c
qapi/qmp-input-visitor.c
qapi/string-input-visitor.c
qemu-img.c
qemu-io-cmds.c
qemu-io.c
qemu-nbd.c
qga/channel-posix.c
qobject/json-parser.c
qom/cpu.c
qom/object.c
qom/object_interfaces.c
qom/qom-qobject.c
qtest.c
replay/replay-input.c
replay/replay.c
scripts/clean-includes
scripts/qapi-visit.py
stubs/get-fd.c
target-alpha/cpu.c
target-arm/cpu.c
target-arm/cpu64.c
target-cris/cpu.c
target-i386/kvm.c
target-lm32/cpu.c
target-m68k/cpu.c
target-microblaze/cpu.c
target-mips/cpu.c
target-moxie/cpu.c
target-openrisc/cpu.c
target-ppc/mmu-hash64.c
target-ppc/mmu_helper.c
target-s390x/cpu.c
target-s390x/helper.c
target-sh4/cpu.c
target-sparc/cpu.c
target-tilegx/cpu.c
target-tricore/cpu.c
target-unicore32/cpu.c
target-xtensa/cpu.c
tests/check-qom-proplist.c
tests/io-channel-helpers.c
tests/test-aio.c
tests/test-base64.c
tests/test-blockjob-txn.c
tests/test-crypto-afsplit.c
tests/test-crypto-block.c
tests/test-crypto-cipher.c
tests/test-crypto-ivgen.c
tests/test-crypto-pbkdf.c
tests/test-crypto-secret.c
tests/test-crypto-tlscredsx509.c
tests/test-crypto-tlssession.c
tests/test-io-channel-command.c
tests/test-io-channel-file.c
tests/test-io-channel-socket.c
tests/test-io-task.c
tests/test-opts-visitor.c
tests/test-qemu-opts.c
tests/test-qmp-input-strict.c
tests/test-qmp-input-visitor.c
tests/test-qmp-output-visitor.c
tests/test-string-input-visitor.c
tests/test-string-output-visitor.c
tests/test-thread-pool.c
tests/test-throttle.c
tests/test-visitor-serialization.c
ui/input-linux.c
ui/vnc-auth-sasl.c
ui/vnc-auth-vencrypt.c
ui/vnc-ws.c
util/base64.c
util/error.c
util/oslib-posix.c
util/oslib-win32.c
util/qemu-option.c
util/qemu-sockets.c
util/throttle.c