qemu/tests/qtest/libqos/meson.build
Paolo Bonzini 4408155ac5 meson: Drop the .fa library suffix
The non-standard .fa library suffix breaks the link source
de-duplication done by Meson so drop it.

The lack of link source de-duplication causes AddressSanitizer to
complain ODR violations, and makes GNU ld abort when combined with
clang's LTO.

Fortunately, the non-standard suffix is not necessary anymore for
two reasons.

First, the non-standard suffix was necessary for fork-fuzzing.
Meson wraps all standard-suffixed libraries with --start-group and
--end-group. This made a fork-fuzz.ld linker script wrapped as well and
broke builds. Commit d2e6f9272d ("fuzz: remove fork-fuzzing
scaffolding") dropped fork-fuzzing so we can now restore the standard
suffix.

Second, the libraries are not even built anymore, because it is
possible to just use the object files directly via extract_all_objects().

The occurences of the suffix were detected and removed by performing
a tree-wide search with 'fa' and .fa (note the quotes and dot).

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20240524-xkb-v4-4-2de564e5c859@daynix.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-07-03 18:41:26 +02:00

74 lines
1.7 KiB
Meson

libqos_srcs = files(
'../libqtest.c',
'../libqmp.c',
'qgraph.c',
'qos_external.c',
'pci.c',
'fw_cfg.c',
'libqos-malloc.c',
'libqos.c',
'sdhci-cmd.c',
# spapr
'malloc-spapr.c',
'libqos-spapr.c',
'rtas.c',
'pci-spapr.c',
# pc
'pci-pc.c',
'malloc-pc.c',
'libqos-pc.c',
'ahci.c',
# usb
'usb.c',
# qgraph devices:
'e1000e.c',
'i2c.c',
'i2c-imx.c',
'i2c-omap.c',
'igb.c',
'sdhci.c',
'tpci200.c',
'virtio.c',
'virtio-balloon.c',
'virtio-blk.c',
'vhost-user-blk.c',
'virtio-mmio.c',
'virtio-net.c',
'virtio-pci.c',
'virtio-pci-modern.c',
'virtio-rng.c',
'virtio-scsi.c',
'virtio-serial.c',
'virtio-iommu.c',
'virtio-gpio.c',
'virtio-scmi.c',
'generic-pcihost.c',
# qgraph machines:
'aarch64-xlnx-zcu102-machine.c',
'arm-imx25-pdk-machine.c',
'arm-n800-machine.c',
'arm-raspi2-machine.c',
'arm-sabrelite-machine.c',
'arm-smdkc210-machine.c',
'arm-virt-machine.c',
'arm-xilinx-zynq-a9-machine.c',
'ppc64_pseries-machine.c',
'x86_64_pc-machine.c',
'riscv-virt-machine.c',
'loongarch-virt-machine.c',
)
if have_virtfs
libqos_srcs += files('virtio-9p.c', 'virtio-9p-client.c')
endif
libqos = static_library('qos', libqos_srcs + genh,
build_by_default: false)
qos = declare_dependency(objects: libqos.extract_all_objects(recursive: false))