* [PULL v7 000/151] Meson-based build system
@ 2020-08-19 21:32 Paolo Bonzini
2020-08-19 21:59 ` Eric Blake
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Paolo Bonzini @ 2020-08-19 21:32 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell
The following changes since commit d0ed6a69d399ae193959225cdeaa9382746c91cc:
Update version for v5.1.0 release (2020-08-11 17:07:03 +0100)
are available in the Git repository at:
https://gitlab.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to 2eddb3c65821dce76433d5da6f3e6419349d1b77:
docs: convert build system documentation to rST (2020-08-19 16:13:30 -0400)
v6->v7:
* new patch to preserve compatibility symlinks from previous binary locations
* fixed cut-and-paste error in linux-user/mips/meson.build
* preserve compatibility check-block target even if no block tests are defined
----------------------------------------------------------------
New build system.
Missing:
* converting configure tests
* converting unit tests
* converting some remaining parts of the installation
----------------------------------------------------------------
Marc-André Lureau (90):
optionrom: simplify Makefile
build-sys hack: ensure target directory is there
configure: expand path variables for meson configure
configure: generate Meson cross file
build-sys hack: link with whole .fa archives
build-sys: add meson submodule
meson: enable pie
meson: use coverage option
meson: add remaining generated tcg trace helpers
meson: add version.o
contrib/vhost-user-input: convert to meson
contrib/vhost-user-gpu: convert to meson
contrib/ivshmem: convert to meson
contrib/elf2dmp: convert to meson
meson: add macos dependencies
meson: convert vss-win32
meson: add msi generation
meson: add qemu-bridge-helper
meson: add qemu-keymap
meson: add qemu-edid
meson: add virtfs-proxy-helper
meson: keymap-gen
meson: generate qemu-version.h
meson: generate shader headers
meson: generate hxtool files
meson: handle edk2 bios and descriptors
meson: convert qom directory to Meson (tools part)
meson: convert authz directory to Meson
meson: convert crypto directory to Meson
meson: convert io directory to Meson
meson: convert target/s390x/gen-features.h
meson: add modules infrastructure
meson: convert chardev directory to Meson (tools part)
meson: convert block
meson: qemu-{img,io,nbd}
meson: qemu-pr-helper
meson: convert ui directory to Meson
meson: convert trace/
meson: convert dump/
meson: convert replay directory to Meson
meson: convert migration directory to Meson
meson: convert net directory to Meson
meson: convert backends directory to Meson
meson: convert fsdev/
meson: convert disas directory to Meson
meson: convert qapi-specific to meson
meson: convert hw/xen
meson: convert hw/core
meson: convert hw/smbios
meson: convert hw/mem
meson: convert hw/watchdog
meson: convert hw/virtio
meson: convert hw/vfio
meson: convert hw/ssi
meson: convert hw/sd
meson: convert hw/scsi
meson: convert hw/pcmcia
meson: convert hw/pci-host
meson: convert hw/pci-bridge
meson: convert hw/pci
meson: convert hw/nvram
meson: convert hw/rdma
meson: convert hw/net
meson: convert hw/misc
meson: convert hw/isa
meson: convert hw/ipmi
meson: convert hw/ipack
meson: convert hw/intc
meson: convert hw/input
meson: convert hw/ide
meson: convert hw/i2c
meson: convert hw/hyperv
meson: convert hw/gpio
meson: convert hw/dma
meson: convert hw/display
meson: convert hw/cpu
meson: convert hw/char
meson: convert hw/block
meson: convert hw/audio
meson: convert hw/adc
meson: convert hw/acpi
meson: convert hw/9pfs, cleanup
meson: convert hw/arch*
meson: accel
meson: linux-user
meson: bsd-user
meson: cpu-emu
meson: convert systemtap files
rules.mak: remove version.o
meson: convert po/
Paolo Bonzini (60):
oss-fuzz/build: remove LIB_FUZZING_ENGINE
trace: switch position of headers to what Meson requires
meson: rename included C source files to .c.inc
meson: rename .inc.h files to .h.inc
tests/vm: do not pollute configure with --efi-aarch64
tests/vm: check for Python YAML parser in the Makefile
tests/docker: add test script for static linux-user builds
nsis: use "make DESTDIR=" instead of "make prefix="
configure: do not include $(...) variables in config-host.mak
configure: prepare CFLAGS/CXXFLAGS/LDFLAGS for Meson
tests/vm: include setuptools
configure: integrate Meson in the build system
meson: move summary to meson.build
meson: add sparse support
meson: add testsuite Makefile generator
libqemuutil, qapi, trace: convert to meson
contrib/libvhost-user: convert to Meson
tools/virtiofsd: convert to Meson
contrib/vhost-user-blk: convert to Meson
vhost-user-scsi: add compatibility for libiscsi 1.9.0
contrib/vhost-user-scsi: convert to Meson
contrib/rdmacm-mux: convert to Meson
meson: add solaris and Haiku libraries
meson: convert qemu-ga
meson: convert dummy Windows qga/qemu-ga target
meson: convert check-decodetree
meson: convert tests/fp and check-softfloat
meson: convert check-qapi-schema
meson: infrastructure for building emulators
configure, Makefile; remove TOOLS and HELPERS-y variable
meson: convert chardev directory to Meson (emulator part)
meson: convert tests/qtest to meson
meson: convert audio directory to Meson
meson: convert root directory to Meson
meson: convert most of softmmu/
meson: convert common QMP bits for qemu and qemu-storage-daemon
meson: convert qemu-storage-daemon
meson: convert hw/semihosting
meson: convert hw/nubus
meson: convert hw/usb
meson: convert hw/tpm
meson: convert hw/timer
meson: convert hw/rtc
meson: target
meson: plugins
meson: link emulators without Makefile.target
configure: place compatibility symlinks in target directories
remove Makefile.target
meson: sphinx-build
docs: automatically track manual dependencies
meson: build texi doc
meson: convert check-block
rules.mak: drop unneeded macros
meson: replace create-config with meson configure_file
meson: convert sample plugins
meson: move SDL and SDL-image detection to meson
meson: convert VNC and dependent libraries to meson
meson: avoid unstable module warning with Meson 0.56.0 or newer
meson: update build-system documentation
docs: convert build system documentation to rST
Thomas Huth (1):
pc-bios/s390-ccw: do not use rules.mak
.editorconfig | 3 +-
.gitignore | 6 +-
.gitlab-ci.yml | 6 +-
.gitmodules | 3 +
Makefile | 1013 +-------------
Makefile.objs | 219 +--
Makefile.target | 287 ----
accel/Makefile.objs | 6 -
accel/kvm/Makefile.objs | 2 -
accel/kvm/meson.build | 5 +
accel/kvm/trace.h | 1 +
accel/meson.build | 7 +
accel/stubs/Makefile.objs | 6 -
accel/stubs/meson.build | 6 +
accel/tcg/Makefile.objs | 9 -
.../{atomic_common.inc.c => atomic_common.c.inc} | 0
accel/tcg/cputlb.c | 4 +-
accel/tcg/meson.build | 15 +
accel/tcg/trace.h | 1 +
accel/tcg/user-exec.c | 4 +-
accel/xen/Makefile.objs | 1 -
accel/xen/meson.build | 1 +
audio/Makefile.objs | 35 -
audio/meson.build | 30 +
audio/trace.h | 1 +
authz/Makefile.objs | 7 -
authz/meson.build | 19 +
authz/trace.h | 1 +
backends/Makefile.objs | 23 -
backends/meson.build | 19 +
backends/tpm/Makefile.objs | 4 -
backends/tpm/meson.build | 8 +
backends/tpm/trace.h | 1 +
backends/trace.h | 1 +
block.c | 4 +-
block/Makefile.objs | 75 -
block/meson.build | 115 ++
block/monitor/Makefile.objs | 2 -
block/monitor/meson.build | 2 +
block/trace.h | 1 +
bsd-user/Makefile.objs | 2 -
bsd-user/meson.build | 10 +
chardev/Makefile.objs | 29 -
chardev/meson.build | 45 +
chardev/trace.h | 1 +
configure | 1137 +++++----------
contrib/elf2dmp/Makefile.objs | 4 -
contrib/elf2dmp/meson.build | 5 +
contrib/gitdm/filetypes.txt | 2 +-
contrib/ivshmem-client/Makefile.objs | 1 -
contrib/ivshmem-client/meson.build | 4 +
contrib/ivshmem-server/Makefile.objs | 1 -
contrib/ivshmem-server/meson.build | 4 +
contrib/libvhost-user/Makefile.objs | 1 -
contrib/libvhost-user/meson.build | 3 +
contrib/rdmacm-mux/Makefile.objs | 3 -
contrib/rdmacm-mux/meson.build | 9 +
contrib/vhost-user-blk/Makefile.objs | 1 -
contrib/vhost-user-blk/meson.build | 6 +
contrib/vhost-user-gpu/Makefile.objs | 10 -
contrib/vhost-user-gpu/meson.build | 13 +
contrib/vhost-user-input/Makefile.objs | 1 -
contrib/vhost-user-input/meson.build | 5 +
contrib/vhost-user-scsi/Makefile.objs | 1 -
contrib/vhost-user-scsi/meson.build | 7 +
contrib/vhost-user-scsi/vhost-user-scsi.c | 2 +
crypto/Makefile.objs | 43 -
crypto/meson.build | 63 +
crypto/trace.h | 1 +
disas/Makefile.objs | 30 -
disas/libvixl/Makefile.objs | 5 -
disas/libvixl/meson.build | 7 +
disas/meson.build | 27 +
dma-helpers.c | 2 +-
docs/conf.py | 2 +-
docs/devel/blkverify.txt | 4 +-
docs/devel/build-system.rst | 500 +++++++
docs/devel/build-system.txt | 519 -------
docs/devel/index.rst | 1 +
docs/devel/testing.rst | 11 +-
docs/devel/tracing.txt | 2 +-
docs/index.html.in | 4 +-
docs/interop/live-block-operations.rst | 4 +-
docs/interop/qemu-ga-ref.texi | 2 +-
docs/interop/qemu-qmp-ref.texi | 2 +-
docs/meson.build | 73 +
docs/sphinx/depfile.py | 51 +
dump/Makefile.objs | 3 -
dump/meson.build | 4 +
exec.c | 6 +-
...specialize.inc.c => softfloat-specialize.c.inc} | 0
fpu/softfloat.c | 2 +-
fsdev/Makefile.objs | 12 -
fsdev/meson.build | 18 +
gdbstub.c | 2 +-
hw/9pfs/Kconfig | 4 +
hw/9pfs/Makefile.objs | 9 -
hw/9pfs/meson.build | 20 +
hw/9pfs/trace.h | 1 +
hw/Makefile.objs | 48 -
hw/acpi/Makefile.objs | 26 -
hw/acpi/meson.build | 25 +
hw/acpi/trace.h | 1 +
hw/adc/Makefile.objs | 1 -
hw/adc/meson.build | 1 +
hw/alpha/Makefile.objs | 1 -
hw/alpha/meson.build | 8 +
hw/alpha/trace.h | 1 +
hw/arm/Makefile.objs | 56 -
hw/arm/meson.build | 59 +
hw/arm/trace.h | 1 +
hw/audio/Makefile.objs | 18 -
hw/audio/meson.build | 14 +
hw/audio/trace.h | 1 +
hw/avr/Makefile.objs | 3 -
hw/avr/meson.build | 6 +
hw/block/Makefile.objs | 18 -
hw/block/dataplane/Makefile.objs | 2 -
hw/block/dataplane/meson.build | 2 +
hw/block/dataplane/trace.h | 1 +
hw/block/meson.build | 21 +
hw/block/trace.h | 1 +
hw/char/Makefile.objs | 39 -
hw/char/meson.build | 38 +
hw/char/trace.h | 1 +
hw/core/Makefile.objs | 34 -
hw/core/cpu.c | 2 +-
hw/core/meson.build | 49 +
hw/core/trace.h | 1 +
hw/cpu/Makefile.objs | 5 -
hw/cpu/meson.build | 6 +
hw/cris/Makefile.objs | 2 -
hw/cris/meson.build | 5 +
hw/display/Makefile.objs | 65 -
hw/display/meson.build | 84 ++
hw/display/trace.h | 1 +
hw/dma/Makefile.objs | 16 -
hw/dma/meson.build | 15 +
hw/dma/trace.h | 1 +
hw/gpio/Makefile.objs | 12 -
hw/gpio/meson.build | 12 +
hw/gpio/trace.h | 1 +
hw/hppa/Makefile.objs | 1 -
hw/hppa/meson.build | 4 +
hw/hppa/trace.h | 1 +
hw/hyperv/Makefile.objs | 3 -
hw/hyperv/meson.build | 3 +
hw/hyperv/trace.h | 1 +
hw/i2c/Makefile.objs | 14 -
hw/i2c/meson.build | 16 +
hw/i2c/trace.h | 1 +
hw/i386/Makefile.objs | 20 -
hw/i386/fw_cfg.c | 2 +-
hw/i386/kvm/Makefile.objs | 5 -
hw/i386/kvm/meson.build | 8 +
hw/i386/meson.build | 32 +
hw/i386/pc.c | 2 +-
hw/i386/pc_piix.c | 2 +-
hw/i386/trace.h | 1 +
hw/i386/x86.c | 2 +-
hw/i386/xen/Makefile.objs | 1 -
hw/i386/xen/meson.build | 7 +
hw/i386/xen/trace.h | 1 +
hw/ide/Makefile.objs | 14 -
hw/ide/meson.build | 14 +
hw/ide/trace.h | 1 +
hw/input/Makefile.objs | 18 -
hw/input/meson.build | 18 +
hw/input/trace.h | 1 +
hw/intc/Makefile.objs | 54 -
hw/intc/meson.build | 55 +
hw/intc/trace.h | 1 +
hw/ipack/Makefile.objs | 2 -
hw/ipack/meson.build | 1 +
hw/ipmi/Makefile.objs | 8 -
hw/ipmi/meson.build | 11 +
hw/isa/Makefile.objs | 11 -
hw/isa/meson.build | 11 +
hw/isa/trace.h | 1 +
hw/lm32/Makefile.objs | 3 -
hw/lm32/meson.build | 6 +
hw/m68k/Makefile.objs | 4 -
hw/m68k/meson.build | 7 +
hw/mem/Kconfig | 1 +
hw/mem/Makefile.objs | 3 -
hw/mem/meson.build | 6 +
hw/mem/trace.h | 1 +
hw/meson.build | 67 +
hw/microblaze/Makefile.objs | 4 -
hw/microblaze/meson.build | 7 +
hw/mips/Makefile.objs | 8 -
hw/mips/meson.build | 11 +
hw/mips/trace.h | 1 +
hw/misc/Makefile.objs | 95 --
hw/misc/macio/Makefile.objs | 5 -
hw/misc/macio/meson.build | 8 +
hw/misc/macio/trace.h | 1 +
hw/misc/meson.build | 99 ++
hw/misc/trace.h | 1 +
hw/moxie/Makefile.objs | 2 -
hw/moxie/meson.build | 4 +
hw/net/Makefile.objs | 59 -
hw/net/can/Makefile.objs | 4 -
hw/net/can/meson.build | 4 +
hw/net/meson.build | 67 +
hw/net/trace.h | 1 +
hw/nios2/Makefile.objs | 3 -
hw/nios2/meson.build | 6 +
hw/nubus/Makefile.objs | 4 -
hw/nubus/meson.build | 7 +
hw/nvram/Makefile.objs | 8 -
hw/nvram/meson.build | 9 +
hw/nvram/trace.h | 1 +
hw/openrisc/Makefile.objs | 2 -
hw/openrisc/meson.build | 5 +
hw/pci-bridge/Makefile.objs | 10 -
hw/pci-bridge/meson.build | 14 +
hw/pci-host/Makefile.objs | 24 -
hw/pci-host/meson.build | 31 +
hw/pci-host/trace.h | 1 +
hw/pci/Makefile.objs | 14 -
hw/pci/meson.build | 19 +
hw/pci/trace.h | 1 +
hw/pcmcia/Makefile.objs | 2 -
hw/pcmcia/meson.build | 2 +
hw/ppc/Makefile.objs | 35 -
hw/ppc/meson.build | 80 ++
hw/ppc/trace.h | 1 +
hw/rdma/Makefile.objs | 3 -
hw/rdma/meson.build | 10 +
hw/rdma/trace.h | 1 +
hw/rdma/vmw/trace.h | 1 +
hw/riscv/Makefile.objs | 16 -
hw/riscv/meson.build | 19 +
hw/riscv/trace.h | 1 +
hw/rtc/Makefile.objs | 15 -
hw/rtc/meson.build | 16 +
hw/rtc/trace.h | 1 +
hw/rx/Makefile.objs | 2 -
hw/rx/meson.build | 5 +
hw/s390x/Makefile.objs | 37 -
hw/s390x/meson.build | 46 +
hw/s390x/trace.h | 1 +
hw/scsi/Makefile.objs | 15 -
hw/scsi/meson.build | 26 +
hw/scsi/trace.h | 1 +
hw/sd/Makefile.objs | 12 -
hw/sd/meson.build | 12 +
hw/sd/trace.h | 1 +
hw/semihosting/Makefile.objs | 2 -
hw/semihosting/meson.build | 4 +
hw/sh4/Makefile.objs | 4 -
hw/sh4/meson.build | 10 +
hw/smbios/Makefile.objs | 10 -
hw/smbios/meson.build | 13 +
hw/sparc/Makefile.objs | 3 -
hw/sparc/meson.build | 6 +
hw/sparc/trace.h | 1 +
hw/sparc64/Makefile.objs | 4 -
hw/sparc64/meson.build | 6 +
hw/sparc64/trace.h | 1 +
hw/ssi/Makefile.objs | 10 -
hw/ssi/meson.build | 9 +
hw/ssi/trace.h | 1 +
hw/timer/Makefile.objs | 41 -
hw/timer/meson.build | 37 +
hw/timer/trace.h | 1 +
hw/tpm/Makefile.objs | 6 -
hw/tpm/meson.build | 8 +
hw/tpm/trace.h | 1 +
hw/tricore/Makefile.objs | 1 -
hw/tricore/meson.build | 4 +
hw/unicore32/Makefile.objs | 4 -
hw/unicore32/meson.build | 5 +
hw/usb/Makefile.objs | 71 -
hw/usb/meson.build | 69 +
hw/usb/trace.h | 1 +
hw/vfio/Makefile.objs | 8 -
hw/vfio/meson.build | 18 +
hw/vfio/pci-quirks.c | 2 +-
hw/vfio/trace.h | 1 +
hw/virtio/Makefile.objs | 48 -
hw/virtio/meson.build | 51 +
hw/virtio/trace.h | 1 +
hw/virtio/virtio-mem.c | 2 +-
hw/watchdog/Makefile.objs | 7 -
hw/watchdog/meson.build | 7 +
hw/watchdog/trace.h | 1 +
hw/xen/Makefile.objs | 7 -
hw/xen/meson.build | 20 +
hw/xen/trace.h | 1 +
hw/xenpv/Makefile.objs | 2 -
hw/xenpv/meson.build | 3 +
hw/xtensa/Makefile.objs | 6 -
hw/xtensa/meson.build | 11 +
include/exec/cpu-all.h | 10 +-
include/exec/memory.h | 12 +-
.../exec/{memory_ldst.inc.h => memory_ldst.h.inc} | 0
..._ldst_cached.inc.h => memory_ldst_cached.h.inc} | 0
...mory_ldst_phys.inc.h => memory_ldst_phys.h.inc} | 0
include/qemu/osdep.h | 2 +-
include/tcg/tcg.h | 2 +-
include/user/syscall-trace.h | 2 +-
io/Makefile.objs | 12 -
io/meson.build | 25 +
io/trace.h | 1 +
job-qmp.c | 2 +-
job.c | 2 +-
libdecnumber/Makefile.objs | 5 -
libdecnumber/meson.build | 7 +
linux-user/Makefile.objs | 25 -
linux-user/alpha/Makefile.objs | 5 -
linux-user/alpha/meson.build | 5 +
linux-user/arm/Makefile.objs | 8 -
linux-user/arm/meson.build | 10 +
linux-user/arm/nwfpe/Makefile.objs | 2 -
linux-user/arm/nwfpe/meson.build | 10 +
linux-user/hppa/Makefile.objs | 5 -
linux-user/hppa/meson.build | 5 +
linux-user/i386/Makefile.objs | 5 -
linux-user/i386/meson.build | 5 +
linux-user/i386/syscall_nr.h | 1 +
linux-user/m68k/Makefile.objs | 5 -
linux-user/m68k/meson.build | 5 +
linux-user/meson.build | 37 +
linux-user/microblaze/Makefile.objs | 5 -
linux-user/microblaze/meson.build | 5 +
linux-user/mips/Makefile.objs | 5 -
linux-user/mips/meson.build | 6 +
linux-user/mips/syscall_nr.h | 1 +
linux-user/mips64/Makefile.objs | 12 -
linux-user/mips64/meson.build | 6 +
linux-user/mips64/syscall_nr.h | 7 +
linux-user/ppc/Makefile.objs | 6 -
linux-user/ppc/meson.build | 5 +
linux-user/s390x/Makefile.objs | 5 -
linux-user/s390x/meson.build | 5 +
linux-user/sh4/Makefile.objs | 5 -
linux-user/sh4/meson.build | 5 +
linux-user/sparc/Makefile.objs | 5 -
linux-user/sparc/meson.build | 5 +
linux-user/sparc64/Makefile.objs | 5 -
linux-user/sparc64/meson.build | 5 +
linux-user/trace.h | 1 +
linux-user/x86_64/Makefile.objs | 5 -
linux-user/x86_64/meson.build | 5 +
linux-user/x86_64/syscall_nr.h | 1 +
linux-user/xtensa/Makefile.objs | 5 -
linux-user/xtensa/meson.build | 5 +
memory_ldst.inc.c => memory_ldst.c.inc | 0
meson | 1 +
meson.build | 1447 ++++++++++++++++++++
meson_options.txt | 7 +
migration/Makefile.objs | 18 -
migration/meson.build | 40 +
migration/trace.h | 1 +
monitor/Makefile.objs | 6 -
monitor/meson.build | 9 +
monitor/trace.h | 1 +
nbd/Makefile.objs | 1 -
nbd/meson.build | 5 +
nbd/trace.h | 1 +
net/Makefile.objs | 32 -
net/can/Makefile.objs | 2 -
net/can/meson.build | 5 +
net/meson.build | 40 +
net/trace.h | 1 +
os-posix.c | 4 +-
pc-bios/descriptors/meson.build | 14 +
pc-bios/meson.build | 27 +
pc-bios/optionrom/Makefile | 67 +-
pc-bios/s390-ccw/Makefile | 18 +-
plugins/Makefile.objs | 21 -
plugins/meson.build | 13 +
po/LINGUAS | 8 +
po/Makefile | 52 -
po/POTFILES | 1 +
po/meson.build | 7 +
po/messages.po | 74 -
qapi/Makefile.objs | 38 -
qapi/meson.build | 125 ++
qapi/trace.h | 1 +
qga/Makefile.objs | 10 -
qga/installer/qemu-ga.wxs | 2 +-
qga/meson.build | 87 ++
qga/vss-win32/Makefile.objs | 23 -
qga/vss-win32/meson.build | 36 +
qobject/Makefile.objs | 3 -
qobject/meson.build | 3 +
qom/Makefile.objs | 5 -
qom/meson.build | 18 +
qom/trace.h | 1 +
replay/Makefile.objs | 10 -
replay/meson.build | 12 +
rules.mak | 314 +----
scripts/archive-source.sh | 3 +-
scripts/check_sparse.py | 25 +
scripts/clean-includes | 2 +-
scripts/create_config | 129 --
scripts/decodetree.py | 2 +-
scripts/device-crash-test | 2 +-
scripts/feature_to_c.sh | 24 +-
scripts/grepy.sh | 3 +
scripts/hxtool | 2 +-
scripts/minikconf.py | 0
scripts/mtest2make.py | 102 ++
scripts/ninjatool.py | 1002 ++++++++++++++
scripts/oss-fuzz/build.sh | 32 +-
scripts/qapi-gen.py | 0
scripts/qemu-version.sh | 25 +
scripts/tracetool.py | 0
scripts/tracetool/backend/dtrace.py | 2 +-
scripts/tracetool/backend/ust.py | 6 +-
scripts/tracetool/format/c.py | 5 +-
scripts/tracetool/format/tcg_h.py | 2 +-
scripts/tracetool/format/tcg_helper_c.py | 2 +-
scripts/undefsym.sh | 20 +
scsi/Makefile.objs | 4 -
scsi/meson.build | 4 +
scsi/trace.h | 1 +
softmmu/Makefile.objs | 14 -
softmmu/balloon.c | 2 +-
softmmu/ioport.c | 2 +-
softmmu/main.c | 1 +
softmmu/memory.c | 2 +-
softmmu/meson.build | 10 +
softmmu/qtest.c | 2 +-
softmmu/vl.c | 2 +-
storage-daemon/Makefile.objs | 1 -
storage-daemon/meson.build | 14 +
storage-daemon/qapi/Makefile.objs | 1 -
storage-daemon/qapi/meson.build | 7 +
.../qemu-storage-daemon.c | 0
stubs/Makefile.objs | 56 -
stubs/meson.build | 50 +
target/alpha/Makefile.objs | 4 -
target/alpha/meson.build | 18 +
target/arm/Makefile.objs | 89 --
target/arm/meson.build | 62 +
target/arm/trace.h | 1 +
.../{translate-neon.inc.c => translate-neon.c.inc} | 6 +-
target/arm/translate-sve.c | 2 +-
.../{translate-vfp.inc.c => translate-vfp.c.inc} | 4 +-
target/arm/translate.c | 12 +-
target/avr/Makefile.objs | 34 -
target/avr/disas.c | 2 +-
target/avr/meson.build | 20 +
target/avr/translate.c | 2 +-
target/cris/Makefile.objs | 3 -
target/cris/meson.build | 14 +
target/cris/translate.c | 2 +-
.../{translate_v10.inc.c => translate_v10.c.inc} | 0
target/hppa/Makefile.objs | 11 -
target/hppa/meson.build | 19 +
target/hppa/trace.h | 1 +
target/hppa/translate.c | 2 +-
target/i386/Makefile.objs | 23 -
target/i386/hvf/Makefile.objs | 2 -
target/i386/hvf/meson.build | 12 +
target/i386/meson.build | 40 +
target/i386/trace.h | 1 +
target/lm32/Makefile.objs | 4 -
target/lm32/meson.build | 15 +
target/m68k/Makefile.objs | 5 -
target/m68k/meson.build | 17 +
target/meson.build | 23 +
target/microblaze/Makefile.objs | 3 -
target/microblaze/meson.build | 14 +
target/mips/Makefile.objs | 6 -
target/mips/meson.build | 24 +
target/mips/trace.h | 1 +
target/mips/translate.c | 2 +-
.../{translate_init.inc.c => translate_init.c.inc} | 0
target/moxie/Makefile.objs | 2 -
target/moxie/meson.build | 14 +
target/nios2/Makefile.objs | 4 -
target/nios2/meson.build | 15 +
target/openrisc/Makefile.objs | 15 -
target/openrisc/disas.c | 2 +-
target/openrisc/meson.build | 23 +
target/openrisc/translate.c | 2 +-
target/ppc/Makefile.objs | 20 -
target/ppc/int_helper.c | 2 +-
target/ppc/meson.build | 37 +
.../ppc/{mfrom_table.inc.c => mfrom_table.c.inc} | 0
target/ppc/trace.h | 1 +
target/ppc/translate.c | 22 +-
.../translate/{dfp-impl.inc.c => dfp-impl.c.inc} | 0
.../ppc/translate/{dfp-ops.inc.c => dfp-ops.c.inc} | 0
.../ppc/translate/{fp-impl.inc.c => fp-impl.c.inc} | 0
.../ppc/translate/{fp-ops.inc.c => fp-ops.c.inc} | 0
.../translate/{spe-impl.inc.c => spe-impl.c.inc} | 0
.../ppc/translate/{spe-ops.inc.c => spe-ops.c.inc} | 0
.../translate/{vmx-impl.inc.c => vmx-impl.c.inc} | 0
.../ppc/translate/{vmx-ops.inc.c => vmx-ops.c.inc} | 0
.../translate/{vsx-impl.inc.c => vsx-impl.c.inc} | 0
.../ppc/translate/{vsx-ops.inc.c => vsx-ops.c.inc} | 0
.../{translate_init.inc.c => translate_init.c.inc} | 0
target/riscv/Makefile.objs | 28 -
...ans_privileged.inc.c => trans_privileged.c.inc} | 0
.../{trans_rva.inc.c => trans_rva.c.inc} | 0
.../{trans_rvd.inc.c => trans_rvd.c.inc} | 0
.../{trans_rvf.inc.c => trans_rvf.c.inc} | 0
.../{trans_rvh.inc.c => trans_rvh.c.inc} | 0
.../{trans_rvi.inc.c => trans_rvi.c.inc} | 0
.../{trans_rvm.inc.c => trans_rvm.c.inc} | 0
.../{trans_rvv.inc.c => trans_rvv.c.inc} | 0
target/riscv/meson.build | 34 +
target/riscv/trace.h | 1 +
target/riscv/translate.c | 20 +-
target/rx/Makefile.objs | 11 -
target/rx/disas.c | 2 +-
target/rx/meson.build | 16 +
target/rx/translate.c | 2 +-
target/s390x/Makefile.objs | 30 -
target/s390x/cpu_features.c | 2 +-
target/s390x/cpu_features.h | 2 +-
target/s390x/cpu_features_def.h | 2 +-
...u_features_def.inc.h => cpu_features_def.h.inc} | 0
target/s390x/cpu_models.h | 2 +-
target/s390x/meson.build | 62 +
target/s390x/trace.h | 1 +
target/s390x/translate.c | 2 +-
.../{translate_vx.inc.c => translate_vx.c.inc} | 0
target/sh4/Makefile.objs | 3 -
target/sh4/meson.build | 14 +
target/sparc/Makefile.objs | 7 -
target/sparc/meson.build | 23 +
target/sparc/trace.h | 1 +
target/tilegx/Makefile.objs | 1 -
target/tilegx/meson.build | 13 +
target/tricore/Makefile.objs | 1 -
target/tricore/meson.build | 15 +
target/unicore32/Makefile.objs | 8 -
target/unicore32/meson.build | 14 +
target/xtensa/Makefile.objs | 16 -
target/xtensa/core-dc232b.c | 4 +-
.../{gdb-config.inc.c => gdb-config.c.inc} | 0
.../{xtensa-modules.inc.c => xtensa-modules.c.inc} | 0
target/xtensa/core-dc233c.c | 4 +-
.../{gdb-config.inc.c => gdb-config.c.inc} | 0
.../{xtensa-modules.inc.c => xtensa-modules.c.inc} | 0
target/xtensa/core-de212.c | 4 +-
.../{gdb-config.inc.c => gdb-config.c.inc} | 0
.../{xtensa-modules.inc.c => xtensa-modules.c.inc} | 0
target/xtensa/core-fsf.c | 2 +-
.../{xtensa-modules.inc.c => xtensa-modules.c.inc} | 0
target/xtensa/core-sample_controller.c | 4 +-
.../{gdb-config.inc.c => gdb-config.c.inc} | 0
.../{xtensa-modules.inc.c => xtensa-modules.c.inc} | 0
target/xtensa/core-test_kc705_be.c | 4 +-
.../{gdb-config.inc.c => gdb-config.c.inc} | 0
.../{xtensa-modules.inc.c => xtensa-modules.c.inc} | 0
target/xtensa/core-test_mmuhifi_c3.c | 4 +-
.../{gdb-config.inc.c => gdb-config.c.inc} | 0
.../{xtensa-modules.inc.c => xtensa-modules.c.inc} | 0
target/xtensa/import_core.sh | 8 +-
target/xtensa/meson.build | 30 +
tcg/README | 2 +-
tcg/aarch64/{tcg-target.inc.c => tcg-target.c.inc} | 4 +-
tcg/arm/{tcg-target.inc.c => tcg-target.c.inc} | 4 +-
tcg/i386/{tcg-target.inc.c => tcg-target.c.inc} | 4 +-
tcg/mips/{tcg-target.inc.c => tcg-target.c.inc} | 2 +-
tcg/ppc/{tcg-target.inc.c => tcg-target.c.inc} | 4 +-
tcg/riscv/{tcg-target.inc.c => tcg-target.c.inc} | 4 +-
tcg/s390/{tcg-target.inc.c => tcg-target.c.inc} | 4 +-
tcg/sparc/{tcg-target.inc.c => tcg-target.c.inc} | 2 +-
tcg/{tcg-ldst.inc.c => tcg-ldst.c.inc} | 0
tcg/{tcg-pool.inc.c => tcg-pool.c.inc} | 2 +-
tcg/tcg.c | 6 +-
tcg/tci/README | 4 +-
tcg/tci/{tcg-target.inc.c => tcg-target.c.inc} | 0
tests/Makefile.include | 472 +------
tests/acceptance/avocado_qemu/__init__.py | 3 +-
tests/data/acpi/rebuild-expected-aml.sh | 2 +-
tests/docker/test-static | 24 +
tests/fp/Makefile | 600 --------
tests/fp/fp-test.c | 2 +-
tests/fp/meson.build | 636 +++++++++
tests/fp/{wrap.inc.c => wrap.c.inc} | 0
tests/meson.build | 18 +
tests/multiboot/run_test.sh | 2 +-
tests/plugin/Makefile | 46 -
tests/plugin/meson.build | 7 +
tests/qapi-schema/meson.build | 225 +++
tests/qemu-iotests/check | 6 +-
tests/qemu-iotests/meson.build | 10 +
tests/qtest/Makefile.include | 332 -----
tests/qtest/ac97-test.c | 2 +-
tests/qtest/acpi-utils.h | 2 +-
tests/qtest/ahci-test.c | 2 +-
tests/qtest/arm-cpu-features.c | 2 +-
tests/qtest/bios-tables-test.c | 2 +-
tests/qtest/boot-order-test.c | 2 +-
tests/qtest/boot-sector.c | 2 +-
tests/qtest/boot-sector.h | 2 +-
tests/qtest/boot-serial-test.c | 2 +-
tests/qtest/cdrom-test.c | 2 +-
tests/qtest/dbus-vmstate-test.c | 2 +-
tests/qtest/device-introspect-test.c | 2 +-
tests/qtest/device-plug-test.c | 2 +-
tests/qtest/drive_del-test.c | 2 +-
tests/qtest/ds1338-test.c | 2 +-
tests/qtest/e1000-test.c | 2 +-
tests/qtest/eepro100-test.c | 2 +-
tests/qtest/endianness-test.c | 2 +-
tests/qtest/es1370-test.c | 2 +-
tests/qtest/fuzz/Makefile.include | 39 -
tests/qtest/fuzz/fuzz.c | 2 +-
tests/qtest/fuzz/fuzz.h | 2 +-
tests/qtest/fuzz/i440fx_fuzz.c | 6 +-
tests/qtest/fuzz/meson.build | 35 +
tests/qtest/fuzz/qos_fuzz.c | 2 +-
tests/qtest/fuzz/qtest_wrappers.c | 2 +-
tests/qtest/fuzz/virtio_net_fuzz.c | 5 +-
tests/qtest/fuzz/virtio_scsi_fuzz.c | 8 +-
tests/qtest/fw_cfg-test.c | 2 +-
tests/qtest/hd-geo-test.c | 2 +-
tests/qtest/hexloader-test.c | 2 +-
tests/qtest/ide-test.c | 2 +-
tests/qtest/ipoctal232-test.c | 2 +-
tests/qtest/ivshmem-test.c | 2 +-
tests/qtest/libqos/aarch64-xlnx-zcu102-machine.c | 4 +-
tests/qtest/libqos/ahci.c | 6 +-
tests/qtest/libqos/ahci.h | 6 +-
tests/qtest/libqos/arm-imx25-pdk-machine.c | 6 +-
tests/qtest/libqos/arm-n800-machine.c | 6 +-
tests/qtest/libqos/arm-raspi2-machine.c | 4 +-
tests/qtest/libqos/arm-sabrelite-machine.c | 4 +-
tests/qtest/libqos/arm-smdkc210-machine.c | 4 +-
tests/qtest/libqos/arm-virt-machine.c | 6 +-
tests/qtest/libqos/arm-xilinx-zynq-a9-machine.c | 4 +-
tests/qtest/libqos/e1000e.c | 6 +-
tests/qtest/libqos/e1000e.h | 2 +-
tests/qtest/libqos/fw_cfg.c | 2 +-
tests/qtest/libqos/i2c-imx.c | 2 +-
tests/qtest/libqos/i2c-omap.c | 2 +-
tests/qtest/libqos/i2c.c | 2 +-
tests/qtest/libqos/i2c.h | 2 +-
tests/qtest/libqos/libqos-pc.c | 6 +-
tests/qtest/libqos/libqos-pc.h | 2 +-
tests/qtest/libqos/libqos-spapr.c | 6 +-
tests/qtest/libqos/libqos-spapr.h | 2 +-
tests/qtest/libqos/libqos.c | 4 +-
tests/qtest/libqos/libqos.h | 4 +-
tests/qtest/{ => libqos}/libqtest.h | 0
tests/qtest/libqos/malloc-pc.c | 4 +-
tests/qtest/libqos/malloc-pc.h | 2 +-
tests/qtest/libqos/malloc-spapr.c | 2 +-
tests/qtest/libqos/malloc-spapr.h | 2 +-
tests/qtest/libqos/malloc.c | 2 +-
tests/qtest/libqos/meson.build | 57 +
tests/qtest/libqos/pci-pc.c | 2 +-
tests/qtest/libqos/pci-pc.h | 6 +-
tests/qtest/libqos/pci-spapr.c | 6 +-
tests/qtest/libqos/pci-spapr.h | 6 +-
tests/qtest/libqos/pci.c | 4 +-
tests/qtest/libqos/pci.h | 2 +-
tests/qtest/libqos/ppc64_pseries-machine.c | 4 +-
tests/qtest/libqos/qgraph.c | 4 +-
tests/qtest/libqos/qgraph.h | 8 +-
tests/qtest/libqos/qgraph_internal.h | 4 +-
tests/qtest/libqos/qos_external.c | 8 +-
tests/qtest/libqos/qos_external.h | 4 +-
tests/qtest/libqos/rtas.c | 2 +-
tests/qtest/libqos/rtas.h | 2 +-
tests/qtest/libqos/sdhci.c | 2 +-
tests/qtest/libqos/sdhci.h | 2 +-
tests/qtest/libqos/tpci200.c | 4 +-
tests/qtest/libqos/usb.c | 2 +-
tests/qtest/libqos/usb.h | 2 +-
tests/qtest/libqos/virtio-9p.c | 4 +-
tests/qtest/libqos/virtio-9p.h | 6 +-
tests/qtest/libqos/virtio-balloon.c | 4 +-
tests/qtest/libqos/virtio-balloon.h | 6 +-
tests/qtest/libqos/virtio-blk.c | 4 +-
tests/qtest/libqos/virtio-blk.h | 6 +-
tests/qtest/libqos/virtio-mmio.c | 8 +-
tests/qtest/libqos/virtio-mmio.h | 4 +-
tests/qtest/libqos/virtio-net.c | 4 +-
tests/qtest/libqos/virtio-net.h | 6 +-
tests/qtest/libqos/virtio-pci.c | 14 +-
tests/qtest/libqos/virtio-pci.h | 6 +-
tests/qtest/libqos/virtio-rng.c | 4 +-
tests/qtest/libqos/virtio-rng.h | 6 +-
tests/qtest/libqos/virtio-scsi.c | 4 +-
tests/qtest/libqos/virtio-scsi.h | 6 +-
tests/qtest/libqos/virtio-serial.c | 4 +-
tests/qtest/libqos/virtio-serial.h | 6 +-
tests/qtest/libqos/virtio.c | 2 +-
tests/qtest/libqos/virtio.h | 2 +-
tests/qtest/libqos/x86_64_pc-machine.c | 2 +-
tests/qtest/libqtest-single.h | 2 +-
tests/qtest/libqtest.c | 2 +-
tests/qtest/m48t59-test.c | 2 +-
tests/qtest/machine-none-test.c | 2 +-
tests/qtest/megasas-test.c | 2 +-
tests/qtest/meson.build | 257 ++++
tests/qtest/microbit-test.c | 2 +-
tests/qtest/migration-helpers.h | 2 +-
tests/qtest/migration-test.c | 4 +-
tests/qtest/modules-test.c | 2 +-
tests/qtest/ne2000-test.c | 2 +-
tests/qtest/numa-test.c | 2 +-
tests/qtest/nvme-test.c | 2 +-
tests/qtest/pca9552-test.c | 2 +-
tests/qtest/pci-test.c | 2 +-
tests/qtest/pcnet-test.c | 2 +-
tests/qtest/pflash-cfi02-test.c | 2 +-
tests/qtest/pnv-xscom-test.c | 2 +-
tests/qtest/prom-env-test.c | 2 +-
tests/qtest/pvpanic-test.c | 2 +-
tests/qtest/pxe-test.c | 2 +-
tests/qtest/q35-test.c | 2 +-
tests/qtest/qmp-cmd-test.c | 2 +-
tests/qtest/qmp-test.c | 2 +-
tests/qtest/qom-test.c | 2 +-
tests/qtest/rtas-test.c | 4 +-
tests/qtest/sdhci-test.c | 2 +-
tests/qtest/spapr-phb-test.c | 2 +-
tests/qtest/tco-test.c | 2 +-
tests/qtest/test-filter-mirror.c | 2 +-
tests/qtest/test-filter-redirector.c | 2 +-
tests/qtest/test-hmp.c | 2 +-
tests/qtest/tpm-crb-swtpm-test.c | 2 +-
tests/qtest/tpm-tis-device-swtpm-test.c | 2 +-
tests/qtest/tpm-tis-swtpm-test.c | 2 +-
tests/qtest/tpm-util.c | 2 +-
tests/qtest/tulip-test.c | 2 +-
tests/qtest/virtio-rng-test.c | 2 +-
tests/qtest/virtio-test.c | 2 +-
tests/qtest/vmgenid-test.c | 2 +-
tests/qtest/vmxnet3-test.c | 2 +-
tests/qtest/wdt_ib700-test.c | 2 +-
tests/tcg/configure.sh | 4 +-
tests/test-qga.c | 10 +-
tests/test-qgraph.c | 5 +-
tests/vm/Makefile.include | 8 +-
tests/vm/freebsd | 2 +
tests/vm/netbsd | 2 +
tests/vm/openbsd | 2 +
tools/meson.build | 10 +
tools/virtiofsd/Makefile.objs | 12 -
tools/virtiofsd/meson.build | 19 +
tools/virtiofsd/passthrough_ll.c | 2 +-
.../virtiofsd/{seccomp.c => passthrough_seccomp.c} | 2 +-
.../virtiofsd/{seccomp.h => passthrough_seccomp.h} | 0
trace/Makefile.objs | 59 -
trace/control-target.c | 2 +-
trace/control.c | 2 +-
trace/meson.build | 93 ++
ui/Makefile.objs | 73 -
ui/input-keymap.c | 34 +-
ui/meson.build | 114 ++
ui/shader.c | 6 +-
ui/shader/meson.build | 15 +
ui/trace.h | 1 +
ui/vnc-enc-zrle.c | 22 +-
ui/{vnc-enc-zrle.inc.c => vnc-enc-zrle.c.inc} | 0
util/Makefile.objs | 83 --
util/meson.build | 78 ++
util/module.c | 1 -
util/trace.h | 1 +
version.texi.in | 2 +
764 files changed, 9141 insertions(+), 7626 deletions(-)
delete mode 100644 Makefile.target
delete mode 100644 accel/Makefile.objs
delete mode 100644 accel/kvm/Makefile.objs
create mode 100644 accel/kvm/meson.build
create mode 100644 accel/kvm/trace.h
create mode 100644 accel/meson.build
delete mode 100644 accel/stubs/Makefile.objs
create mode 100644 accel/stubs/meson.build
delete mode 100644 accel/tcg/Makefile.objs
rename accel/tcg/{atomic_common.inc.c => atomic_common.c.inc} (100%)
create mode 100644 accel/tcg/meson.build
create mode 100644 accel/tcg/trace.h
delete mode 100644 accel/xen/Makefile.objs
create mode 100644 accel/xen/meson.build
delete mode 100644 audio/Makefile.objs
create mode 100644 audio/meson.build
create mode 100644 audio/trace.h
delete mode 100644 authz/Makefile.objs
create mode 100644 authz/meson.build
create mode 100644 authz/trace.h
delete mode 100644 backends/Makefile.objs
create mode 100644 backends/meson.build
delete mode 100644 backends/tpm/Makefile.objs
create mode 100644 backends/tpm/meson.build
create mode 100644 backends/tpm/trace.h
create mode 100644 backends/trace.h
delete mode 100644 block/Makefile.objs
create mode 100644 block/meson.build
delete mode 100644 block/monitor/Makefile.objs
create mode 100644 block/monitor/meson.build
create mode 100644 block/trace.h
delete mode 100644 bsd-user/Makefile.objs
create mode 100644 bsd-user/meson.build
delete mode 100644 chardev/Makefile.objs
create mode 100644 chardev/meson.build
create mode 100644 chardev/trace.h
delete mode 100644 contrib/elf2dmp/Makefile.objs
create mode 100644 contrib/elf2dmp/meson.build
delete mode 100644 contrib/ivshmem-client/Makefile.objs
create mode 100644 contrib/ivshmem-client/meson.build
delete mode 100644 contrib/ivshmem-server/Makefile.objs
create mode 100644 contrib/ivshmem-server/meson.build
delete mode 100644 contrib/libvhost-user/Makefile.objs
create mode 100644 contrib/libvhost-user/meson.build
delete mode 100644 contrib/rdmacm-mux/Makefile.objs
create mode 100644 contrib/rdmacm-mux/meson.build
delete mode 100644 contrib/vhost-user-blk/Makefile.objs
create mode 100644 contrib/vhost-user-blk/meson.build
delete mode 100644 contrib/vhost-user-gpu/Makefile.objs
create mode 100644 contrib/vhost-user-gpu/meson.build
delete mode 100644 contrib/vhost-user-input/Makefile.objs
create mode 100644 contrib/vhost-user-input/meson.build
delete mode 100644 contrib/vhost-user-scsi/Makefile.objs
create mode 100644 contrib/vhost-user-scsi/meson.build
delete mode 100644 crypto/Makefile.objs
create mode 100644 crypto/meson.build
create mode 100644 crypto/trace.h
delete mode 100644 disas/Makefile.objs
delete mode 100644 disas/libvixl/Makefile.objs
create mode 100644 disas/libvixl/meson.build
create mode 100644 disas/meson.build
create mode 100644 docs/devel/build-system.rst
delete mode 100644 docs/devel/build-system.txt
create mode 100644 docs/meson.build
create mode 100644 docs/sphinx/depfile.py
delete mode 100644 dump/Makefile.objs
create mode 100644 dump/meson.build
rename fpu/{softfloat-specialize.inc.c => softfloat-specialize.c.inc} (100%)
delete mode 100644 fsdev/Makefile.objs
create mode 100644 fsdev/meson.build
delete mode 100644 hw/9pfs/Makefile.objs
create mode 100644 hw/9pfs/meson.build
create mode 100644 hw/9pfs/trace.h
delete mode 100644 hw/Makefile.objs
delete mode 100644 hw/acpi/Makefile.objs
create mode 100644 hw/acpi/meson.build
create mode 100644 hw/acpi/trace.h
delete mode 100644 hw/adc/Makefile.objs
create mode 100644 hw/adc/meson.build
delete mode 100644 hw/alpha/Makefile.objs
create mode 100644 hw/alpha/meson.build
create mode 100644 hw/alpha/trace.h
delete mode 100644 hw/arm/Makefile.objs
create mode 100644 hw/arm/meson.build
create mode 100644 hw/arm/trace.h
delete mode 100644 hw/audio/Makefile.objs
create mode 100644 hw/audio/meson.build
create mode 100644 hw/audio/trace.h
delete mode 100644 hw/avr/Makefile.objs
create mode 100644 hw/avr/meson.build
delete mode 100644 hw/block/Makefile.objs
delete mode 100644 hw/block/dataplane/Makefile.objs
create mode 100644 hw/block/dataplane/meson.build
create mode 100644 hw/block/dataplane/trace.h
create mode 100644 hw/block/meson.build
create mode 100644 hw/block/trace.h
delete mode 100644 hw/char/Makefile.objs
create mode 100644 hw/char/meson.build
create mode 100644 hw/char/trace.h
delete mode 100644 hw/core/Makefile.objs
create mode 100644 hw/core/meson.build
create mode 100644 hw/core/trace.h
delete mode 100644 hw/cpu/Makefile.objs
create mode 100644 hw/cpu/meson.build
delete mode 100644 hw/cris/Makefile.objs
create mode 100644 hw/cris/meson.build
delete mode 100644 hw/display/Makefile.objs
create mode 100644 hw/display/meson.build
create mode 100644 hw/display/trace.h
delete mode 100644 hw/dma/Makefile.objs
create mode 100644 hw/dma/meson.build
create mode 100644 hw/dma/trace.h
delete mode 100644 hw/gpio/Makefile.objs
create mode 100644 hw/gpio/meson.build
create mode 100644 hw/gpio/trace.h
delete mode 100644 hw/hppa/Makefile.objs
create mode 100644 hw/hppa/meson.build
create mode 100644 hw/hppa/trace.h
delete mode 100644 hw/hyperv/Makefile.objs
create mode 100644 hw/hyperv/meson.build
create mode 100644 hw/hyperv/trace.h
delete mode 100644 hw/i2c/Makefile.objs
create mode 100644 hw/i2c/meson.build
create mode 100644 hw/i2c/trace.h
delete mode 100644 hw/i386/Makefile.objs
delete mode 100644 hw/i386/kvm/Makefile.objs
create mode 100644 hw/i386/kvm/meson.build
create mode 100644 hw/i386/meson.build
create mode 100644 hw/i386/trace.h
delete mode 100644 hw/i386/xen/Makefile.objs
create mode 100644 hw/i386/xen/meson.build
create mode 100644 hw/i386/xen/trace.h
delete mode 100644 hw/ide/Makefile.objs
create mode 100644 hw/ide/meson.build
create mode 100644 hw/ide/trace.h
delete mode 100644 hw/input/Makefile.objs
create mode 100644 hw/input/meson.build
create mode 100644 hw/input/trace.h
delete mode 100644 hw/intc/Makefile.objs
create mode 100644 hw/intc/meson.build
create mode 100644 hw/intc/trace.h
delete mode 100644 hw/ipack/Makefile.objs
create mode 100644 hw/ipack/meson.build
delete mode 100644 hw/ipmi/Makefile.objs
create mode 100644 hw/ipmi/meson.build
delete mode 100644 hw/isa/Makefile.objs
create mode 100644 hw/isa/meson.build
create mode 100644 hw/isa/trace.h
delete mode 100644 hw/lm32/Makefile.objs
create mode 100644 hw/lm32/meson.build
delete mode 100644 hw/m68k/Makefile.objs
create mode 100644 hw/m68k/meson.build
delete mode 100644 hw/mem/Makefile.objs
create mode 100644 hw/mem/meson.build
create mode 100644 hw/mem/trace.h
create mode 100644 hw/meson.build
delete mode 100644 hw/microblaze/Makefile.objs
create mode 100644 hw/microblaze/meson.build
delete mode 100644 hw/mips/Makefile.objs
create mode 100644 hw/mips/meson.build
create mode 100644 hw/mips/trace.h
delete mode 100644 hw/misc/Makefile.objs
delete mode 100644 hw/misc/macio/Makefile.objs
create mode 100644 hw/misc/macio/meson.build
create mode 100644 hw/misc/macio/trace.h
create mode 100644 hw/misc/meson.build
create mode 100644 hw/misc/trace.h
delete mode 100644 hw/moxie/Makefile.objs
create mode 100644 hw/moxie/meson.build
delete mode 100644 hw/net/Makefile.objs
delete mode 100644 hw/net/can/Makefile.objs
create mode 100644 hw/net/can/meson.build
create mode 100644 hw/net/meson.build
create mode 100644 hw/net/trace.h
delete mode 100644 hw/nios2/Makefile.objs
create mode 100644 hw/nios2/meson.build
delete mode 100644 hw/nubus/Makefile.objs
create mode 100644 hw/nubus/meson.build
delete mode 100644 hw/nvram/Makefile.objs
create mode 100644 hw/nvram/meson.build
create mode 100644 hw/nvram/trace.h
delete mode 100644 hw/openrisc/Makefile.objs
create mode 100644 hw/openrisc/meson.build
delete mode 100644 hw/pci-bridge/Makefile.objs
create mode 100644 hw/pci-bridge/meson.build
delete mode 100644 hw/pci-host/Makefile.objs
create mode 100644 hw/pci-host/meson.build
create mode 100644 hw/pci-host/trace.h
delete mode 100644 hw/pci/Makefile.objs
create mode 100644 hw/pci/meson.build
create mode 100644 hw/pci/trace.h
delete mode 100644 hw/pcmcia/Makefile.objs
create mode 100644 hw/pcmcia/meson.build
delete mode 100644 hw/ppc/Makefile.objs
create mode 100644 hw/ppc/meson.build
create mode 100644 hw/ppc/trace.h
delete mode 100644 hw/rdma/Makefile.objs
create mode 100644 hw/rdma/meson.build
create mode 100644 hw/rdma/trace.h
create mode 100644 hw/rdma/vmw/trace.h
delete mode 100644 hw/riscv/Makefile.objs
create mode 100644 hw/riscv/meson.build
create mode 100644 hw/riscv/trace.h
delete mode 100644 hw/rtc/Makefile.objs
create mode 100644 hw/rtc/meson.build
create mode 100644 hw/rtc/trace.h
delete mode 100644 hw/rx/Makefile.objs
create mode 100644 hw/rx/meson.build
delete mode 100644 hw/s390x/Makefile.objs
create mode 100644 hw/s390x/meson.build
create mode 100644 hw/s390x/trace.h
delete mode 100644 hw/scsi/Makefile.objs
create mode 100644 hw/scsi/meson.build
create mode 100644 hw/scsi/trace.h
delete mode 100644 hw/sd/Makefile.objs
create mode 100644 hw/sd/meson.build
create mode 100644 hw/sd/trace.h
delete mode 100644 hw/semihosting/Makefile.objs
create mode 100644 hw/semihosting/meson.build
delete mode 100644 hw/sh4/Makefile.objs
create mode 100644 hw/sh4/meson.build
delete mode 100644 hw/smbios/Makefile.objs
create mode 100644 hw/smbios/meson.build
delete mode 100644 hw/sparc/Makefile.objs
create mode 100644 hw/sparc/meson.build
create mode 100644 hw/sparc/trace.h
delete mode 100644 hw/sparc64/Makefile.objs
create mode 100644 hw/sparc64/meson.build
create mode 100644 hw/sparc64/trace.h
delete mode 100644 hw/ssi/Makefile.objs
create mode 100644 hw/ssi/meson.build
create mode 100644 hw/ssi/trace.h
delete mode 100644 hw/timer/Makefile.objs
create mode 100644 hw/timer/meson.build
create mode 100644 hw/timer/trace.h
delete mode 100644 hw/tpm/Makefile.objs
create mode 100644 hw/tpm/meson.build
create mode 100644 hw/tpm/trace.h
delete mode 100644 hw/tricore/Makefile.objs
create mode 100644 hw/tricore/meson.build
delete mode 100644 hw/unicore32/Makefile.objs
create mode 100644 hw/unicore32/meson.build
delete mode 100644 hw/usb/Makefile.objs
create mode 100644 hw/usb/meson.build
create mode 100644 hw/usb/trace.h
delete mode 100644 hw/vfio/Makefile.objs
create mode 100644 hw/vfio/meson.build
create mode 100644 hw/vfio/trace.h
delete mode 100644 hw/virtio/Makefile.objs
create mode 100644 hw/virtio/meson.build
create mode 100644 hw/virtio/trace.h
delete mode 100644 hw/watchdog/Makefile.objs
create mode 100644 hw/watchdog/meson.build
create mode 100644 hw/watchdog/trace.h
delete mode 100644 hw/xen/Makefile.objs
create mode 100644 hw/xen/meson.build
create mode 100644 hw/xen/trace.h
delete mode 100644 hw/xenpv/Makefile.objs
create mode 100644 hw/xenpv/meson.build
delete mode 100644 hw/xtensa/Makefile.objs
create mode 100644 hw/xtensa/meson.build
rename include/exec/{memory_ldst.inc.h => memory_ldst.h.inc} (100%)
rename include/exec/{memory_ldst_cached.inc.h => memory_ldst_cached.h.inc} (100%)
rename include/exec/{memory_ldst_phys.inc.h => memory_ldst_phys.h.inc} (100%)
delete mode 100644 io/Makefile.objs
create mode 100644 io/meson.build
create mode 100644 io/trace.h
delete mode 100644 libdecnumber/Makefile.objs
create mode 100644 libdecnumber/meson.build
delete mode 100644 linux-user/Makefile.objs
delete mode 100644 linux-user/alpha/Makefile.objs
create mode 100644 linux-user/alpha/meson.build
delete mode 100644 linux-user/arm/Makefile.objs
create mode 100644 linux-user/arm/meson.build
delete mode 100644 linux-user/arm/nwfpe/Makefile.objs
create mode 100644 linux-user/arm/nwfpe/meson.build
delete mode 100644 linux-user/hppa/Makefile.objs
create mode 100644 linux-user/hppa/meson.build
delete mode 100644 linux-user/i386/Makefile.objs
create mode 100644 linux-user/i386/meson.build
create mode 100644 linux-user/i386/syscall_nr.h
delete mode 100644 linux-user/m68k/Makefile.objs
create mode 100644 linux-user/m68k/meson.build
create mode 100644 linux-user/meson.build
delete mode 100644 linux-user/microblaze/Makefile.objs
create mode 100644 linux-user/microblaze/meson.build
delete mode 100644 linux-user/mips/Makefile.objs
create mode 100644 linux-user/mips/meson.build
create mode 100644 linux-user/mips/syscall_nr.h
delete mode 100644 linux-user/mips64/Makefile.objs
create mode 100644 linux-user/mips64/meson.build
create mode 100644 linux-user/mips64/syscall_nr.h
delete mode 100644 linux-user/ppc/Makefile.objs
create mode 100644 linux-user/ppc/meson.build
delete mode 100644 linux-user/s390x/Makefile.objs
create mode 100644 linux-user/s390x/meson.build
delete mode 100644 linux-user/sh4/Makefile.objs
create mode 100644 linux-user/sh4/meson.build
delete mode 100644 linux-user/sparc/Makefile.objs
create mode 100644 linux-user/sparc/meson.build
delete mode 100644 linux-user/sparc64/Makefile.objs
create mode 100644 linux-user/sparc64/meson.build
create mode 100644 linux-user/trace.h
delete mode 100644 linux-user/x86_64/Makefile.objs
create mode 100644 linux-user/x86_64/meson.build
create mode 100644 linux-user/x86_64/syscall_nr.h
delete mode 100644 linux-user/xtensa/Makefile.objs
create mode 100644 linux-user/xtensa/meson.build
rename memory_ldst.inc.c => memory_ldst.c.inc (100%)
create mode 160000 meson
create mode 100644 meson.build
create mode 100644 meson_options.txt
delete mode 100644 migration/Makefile.objs
create mode 100644 migration/meson.build
create mode 100644 migration/trace.h
delete mode 100644 monitor/Makefile.objs
create mode 100644 monitor/meson.build
create mode 100644 monitor/trace.h
delete mode 100644 nbd/Makefile.objs
create mode 100644 nbd/meson.build
create mode 100644 nbd/trace.h
delete mode 100644 net/Makefile.objs
delete mode 100644 net/can/Makefile.objs
create mode 100644 net/can/meson.build
create mode 100644 net/meson.build
create mode 100644 net/trace.h
create mode 100644 pc-bios/descriptors/meson.build
create mode 100644 pc-bios/meson.build
delete mode 100644 plugins/Makefile.objs
create mode 100644 plugins/meson.build
create mode 100644 po/LINGUAS
delete mode 100644 po/Makefile
create mode 100644 po/POTFILES
create mode 100644 po/meson.build
delete mode 100644 po/messages.po
delete mode 100644 qapi/Makefile.objs
create mode 100644 qapi/meson.build
create mode 100644 qapi/trace.h
delete mode 100644 qga/Makefile.objs
create mode 100644 qga/meson.build
delete mode 100644 qga/vss-win32/Makefile.objs
create mode 100644 qga/vss-win32/meson.build
delete mode 100644 qobject/Makefile.objs
create mode 100644 qobject/meson.build
delete mode 100644 qom/Makefile.objs
create mode 100644 qom/meson.build
create mode 100644 qom/trace.h
delete mode 100644 replay/Makefile.objs
create mode 100644 replay/meson.build
create mode 100644 scripts/check_sparse.py
delete mode 100755 scripts/create_config
mode change 100755 => 100644 scripts/decodetree.py
create mode 100755 scripts/grepy.sh
mode change 100644 => 100755 scripts/hxtool
mode change 100755 => 100644 scripts/minikconf.py
create mode 100644 scripts/mtest2make.py
create mode 100755 scripts/ninjatool.py
mode change 100755 => 100644 scripts/qapi-gen.py
create mode 100755 scripts/qemu-version.sh
mode change 100755 => 100644 scripts/tracetool.py
create mode 100755 scripts/undefsym.sh
delete mode 100644 scsi/Makefile.objs
create mode 100644 scsi/meson.build
create mode 100644 scsi/trace.h
delete mode 100644 softmmu/Makefile.objs
create mode 100644 softmmu/meson.build
delete mode 100644 storage-daemon/Makefile.objs
create mode 100644 storage-daemon/meson.build
delete mode 100644 storage-daemon/qapi/Makefile.objs
create mode 100644 storage-daemon/qapi/meson.build
rename qemu-storage-daemon.c => storage-daemon/qemu-storage-daemon.c (100%)
delete mode 100644 stubs/Makefile.objs
create mode 100644 stubs/meson.build
delete mode 100644 target/alpha/Makefile.objs
create mode 100644 target/alpha/meson.build
delete mode 100644 target/arm/Makefile.objs
create mode 100644 target/arm/meson.build
create mode 100644 target/arm/trace.h
rename target/arm/{translate-neon.inc.c => translate-neon.c.inc} (99%)
rename target/arm/{translate-vfp.inc.c => translate-vfp.c.inc} (99%)
delete mode 100644 target/avr/Makefile.objs
create mode 100644 target/avr/meson.build
delete mode 100644 target/cris/Makefile.objs
create mode 100644 target/cris/meson.build
rename target/cris/{translate_v10.inc.c => translate_v10.c.inc} (100%)
delete mode 100644 target/hppa/Makefile.objs
create mode 100644 target/hppa/meson.build
create mode 100644 target/hppa/trace.h
delete mode 100644 target/i386/Makefile.objs
delete mode 100644 target/i386/hvf/Makefile.objs
create mode 100644 target/i386/hvf/meson.build
create mode 100644 target/i386/meson.build
create mode 100644 target/i386/trace.h
delete mode 100644 target/lm32/Makefile.objs
create mode 100644 target/lm32/meson.build
delete mode 100644 target/m68k/Makefile.objs
create mode 100644 target/m68k/meson.build
create mode 100644 target/meson.build
delete mode 100644 target/microblaze/Makefile.objs
create mode 100644 target/microblaze/meson.build
delete mode 100644 target/mips/Makefile.objs
create mode 100644 target/mips/meson.build
create mode 100644 target/mips/trace.h
rename target/mips/{translate_init.inc.c => translate_init.c.inc} (100%)
delete mode 100644 target/moxie/Makefile.objs
create mode 100644 target/moxie/meson.build
delete mode 100644 target/nios2/Makefile.objs
create mode 100644 target/nios2/meson.build
delete mode 100644 target/openrisc/Makefile.objs
create mode 100644 target/openrisc/meson.build
delete mode 100644 target/ppc/Makefile.objs
create mode 100644 target/ppc/meson.build
rename target/ppc/{mfrom_table.inc.c => mfrom_table.c.inc} (100%)
create mode 100644 target/ppc/trace.h
rename target/ppc/translate/{dfp-impl.inc.c => dfp-impl.c.inc} (100%)
rename target/ppc/translate/{dfp-ops.inc.c => dfp-ops.c.inc} (100%)
rename target/ppc/translate/{fp-impl.inc.c => fp-impl.c.inc} (100%)
rename target/ppc/translate/{fp-ops.inc.c => fp-ops.c.inc} (100%)
rename target/ppc/translate/{spe-impl.inc.c => spe-impl.c.inc} (100%)
rename target/ppc/translate/{spe-ops.inc.c => spe-ops.c.inc} (100%)
rename target/ppc/translate/{vmx-impl.inc.c => vmx-impl.c.inc} (100%)
rename target/ppc/translate/{vmx-ops.inc.c => vmx-ops.c.inc} (100%)
rename target/ppc/translate/{vsx-impl.inc.c => vsx-impl.c.inc} (100%)
rename target/ppc/translate/{vsx-ops.inc.c => vsx-ops.c.inc} (100%)
rename target/ppc/{translate_init.inc.c => translate_init.c.inc} (100%)
delete mode 100644 target/riscv/Makefile.objs
rename target/riscv/insn_trans/{trans_privileged.inc.c => trans_privileged.c.inc} (100%)
rename target/riscv/insn_trans/{trans_rva.inc.c => trans_rva.c.inc} (100%)
rename target/riscv/insn_trans/{trans_rvd.inc.c => trans_rvd.c.inc} (100%)
rename target/riscv/insn_trans/{trans_rvf.inc.c => trans_rvf.c.inc} (100%)
rename target/riscv/insn_trans/{trans_rvh.inc.c => trans_rvh.c.inc} (100%)
rename target/riscv/insn_trans/{trans_rvi.inc.c => trans_rvi.c.inc} (100%)
rename target/riscv/insn_trans/{trans_rvm.inc.c => trans_rvm.c.inc} (100%)
rename target/riscv/insn_trans/{trans_rvv.inc.c => trans_rvv.c.inc} (100%)
create mode 100644 target/riscv/meson.build
create mode 100644 target/riscv/trace.h
delete mode 100644 target/rx/Makefile.objs
create mode 100644 target/rx/meson.build
delete mode 100644 target/s390x/Makefile.objs
rename target/s390x/{cpu_features_def.inc.h => cpu_features_def.h.inc} (100%)
create mode 100644 target/s390x/meson.build
create mode 100644 target/s390x/trace.h
rename target/s390x/{translate_vx.inc.c => translate_vx.c.inc} (100%)
delete mode 100644 target/sh4/Makefile.objs
create mode 100644 target/sh4/meson.build
delete mode 100644 target/sparc/Makefile.objs
create mode 100644 target/sparc/meson.build
create mode 100644 target/sparc/trace.h
delete mode 100644 target/tilegx/Makefile.objs
create mode 100644 target/tilegx/meson.build
delete mode 100644 target/tricore/Makefile.objs
create mode 100644 target/tricore/meson.build
delete mode 100644 target/unicore32/Makefile.objs
create mode 100644 target/unicore32/meson.build
delete mode 100644 target/xtensa/Makefile.objs
rename target/xtensa/core-dc232b/{gdb-config.inc.c => gdb-config.c.inc} (100%)
rename target/xtensa/core-dc232b/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
rename target/xtensa/core-dc233c/{gdb-config.inc.c => gdb-config.c.inc} (100%)
rename target/xtensa/core-dc233c/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
rename target/xtensa/core-de212/{gdb-config.inc.c => gdb-config.c.inc} (100%)
rename target/xtensa/core-de212/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
rename target/xtensa/core-fsf/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
rename target/xtensa/core-sample_controller/{gdb-config.inc.c => gdb-config.c.inc} (100%)
rename target/xtensa/core-sample_controller/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
rename target/xtensa/core-test_kc705_be/{gdb-config.inc.c => gdb-config.c.inc} (100%)
rename target/xtensa/core-test_kc705_be/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
rename target/xtensa/core-test_mmuhifi_c3/{gdb-config.inc.c => gdb-config.c.inc} (100%)
rename target/xtensa/core-test_mmuhifi_c3/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
create mode 100644 target/xtensa/meson.build
rename tcg/aarch64/{tcg-target.inc.c => tcg-target.c.inc} (99%)
rename tcg/arm/{tcg-target.inc.c => tcg-target.c.inc} (99%)
rename tcg/i386/{tcg-target.inc.c => tcg-target.c.inc} (99%)
rename tcg/mips/{tcg-target.inc.c => tcg-target.c.inc} (99%)
rename tcg/ppc/{tcg-target.inc.c => tcg-target.c.inc} (99%)
rename tcg/riscv/{tcg-target.inc.c => tcg-target.c.inc} (99%)
rename tcg/s390/{tcg-target.inc.c => tcg-target.c.inc} (99%)
rename tcg/sparc/{tcg-target.inc.c => tcg-target.c.inc} (99%)
rename tcg/{tcg-ldst.inc.c => tcg-ldst.c.inc} (100%)
rename tcg/{tcg-pool.inc.c => tcg-pool.c.inc} (99%)
rename tcg/tci/{tcg-target.inc.c => tcg-target.c.inc} (100%)
create mode 100755 tests/docker/test-static
delete mode 100644 tests/fp/Makefile
create mode 100644 tests/fp/meson.build
rename tests/fp/{wrap.inc.c => wrap.c.inc} (100%)
create mode 100644 tests/meson.build
delete mode 100644 tests/plugin/Makefile
create mode 100644 tests/plugin/meson.build
create mode 100644 tests/qapi-schema/meson.build
create mode 100644 tests/qemu-iotests/meson.build
delete mode 100644 tests/qtest/Makefile.include
delete mode 100644 tests/qtest/fuzz/Makefile.include
create mode 100644 tests/qtest/fuzz/meson.build
rename tests/qtest/{ => libqos}/libqtest.h (100%)
create mode 100644 tests/qtest/libqos/meson.build
create mode 100644 tests/qtest/meson.build
create mode 100644 tools/meson.build
delete mode 100644 tools/virtiofsd/Makefile.objs
create mode 100644 tools/virtiofsd/meson.build
rename tools/virtiofsd/{seccomp.c => passthrough_seccomp.c} (99%)
rename tools/virtiofsd/{seccomp.h => passthrough_seccomp.h} (100%)
delete mode 100644 trace/Makefile.objs
create mode 100644 trace/meson.build
delete mode 100644 ui/Makefile.objs
create mode 100644 ui/meson.build
create mode 100644 ui/shader/meson.build
create mode 100644 ui/trace.h
rename ui/{vnc-enc-zrle.inc.c => vnc-enc-zrle.c.inc} (100%)
delete mode 100644 util/Makefile.objs
create mode 100644 util/meson.build
create mode 100644 util/trace.h
create mode 100644 version.texi.in
--
2.26.2
diff --git a/configure b/configure
index e9f9ec73b3..cc5f58f31a 100755
--- a/configure
+++ b/configure
@@ -7917,6 +7917,9 @@ fi
if test "$target_user_only" = "yes" ; then
echo "CONFIG_USER_ONLY=y" >> $config_target_mak
echo "CONFIG_QEMU_INTERP_PREFIX=\"$interp_prefix1\"" >> $config_target_mak
+ symlink "../qemu-$target_name" "$target_dir/qemu-$target_name"
+else
+ symlink "../qemu-system-$target_name" "$target_dir/qemu-system-$target_name"
fi
if test "$target_linux_user" = "yes" ; then
echo "CONFIG_LINUX_USER=y" >> $config_target_mak
diff --git a/linux-user/mips/meson.build b/linux-user/mips/meson.build
index 6066a50579..262a35703b 100644
--- a/linux-user/mips/meson.build
+++ b/linux-user/mips/meson.build
@@ -1,5 +1,6 @@
syscall_nr_generators += {
'mips': generator(sh,
- arguments: [ meson.current_source_dir() / 'syscallhdr.sh', '@INPUT@', '@OUTPUT@', '@EXTRA_ARGS@' ],
+ arguments: [ meson.current_source_dir() / 'syscallhdr.sh', '@INPUT@', '@OUTPUT@', '@EXTRA_ARGS@',
+ '', '4000' ],
output: '@BASENAME@_nr.h')
}
diff --git a/tests/Makefile.include b/tests/Makefile.include
index aec293bdd0..ae4315e00e 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -522,10 +522,8 @@ check-acceptance: check-venv $(TESTS_RESULTS_DIR) get-vm-images
# Consolidated targets
-.PHONY: check-unit check check-clean get-vm-images
-ifeq ($(CONFIG_TOOLS),y)
-check-block: $(patsubst %,check-%, $(check-block-y))
-endif
+.PHONY: check-block check-unit check check-clean get-vm-images
+check-block:
check-build: build-unit
check: check-unit
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PULL v7 000/151] Meson-based build system
2020-08-19 21:32 [PULL v7 000/151] Meson-based build system Paolo Bonzini
@ 2020-08-19 21:59 ` Eric Blake
2020-08-19 22:08 ` Paolo Bonzini
2020-08-20 10:33 ` Peter Maydell
2020-08-21 6:15 ` Howard Spoelstra
2 siblings, 1 reply; 14+ messages in thread
From: Eric Blake @ 2020-08-19 21:59 UTC (permalink / raw)
To: Paolo Bonzini, qemu-devel; +Cc: peter.maydell
On 8/19/20 4:32 PM, Paolo Bonzini wrote:
> The following changes since commit d0ed6a69d399ae193959225cdeaa9382746c91cc:
>
> Update version for v5.1.0 release (2020-08-11 17:07:03 +0100)
>
> are available in the Git repository at:
>
> https://gitlab.com/bonzini/qemu.git tags/for-upstream
Unrelated to the pull request proper, but I note in MAINTAINERS that you
have listed:
T: git https://github.com/bonzini/qemu.git scsi-next
Have you switched to gitlab as your personal mirroring preference, and
if so, should MAINTAINERS be updated?
>
> for you to fetch changes up to 2eddb3c65821dce76433d5da6f3e6419349d1b77:
>
> docs: convert build system documentation to rST (2020-08-19 16:13:30 -0400)
>
> v6->v7:
> * new patch to preserve compatibility symlinks from previous binary locations
> * fixed cut-and-paste error in linux-user/mips/meson.build
> * preserve compatibility check-block target even if no block tests are defined
FWIW: I haven't done any review or testing of the earlier iterations of
this series. But since it will be landing soon, I merged this tag to an
incremental build tree that was previously sitting on a finished 5.1
build (sources in qemu/, VPATH build in qemu/build/), typed 'make' then
'make check', and everything finished successfully at least for my
typical setup. So good job on getting this massive rewrite in while
still preserving at least the common 'make' interface.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PULL v7 000/151] Meson-based build system
2020-08-19 21:59 ` Eric Blake
@ 2020-08-19 22:08 ` Paolo Bonzini
0 siblings, 0 replies; 14+ messages in thread
From: Paolo Bonzini @ 2020-08-19 22:08 UTC (permalink / raw)
To: Eric Blake, qemu-devel; +Cc: peter.maydell
On 19/08/20 23:59, Eric Blake wrote:
> On 8/19/20 4:32 PM, Paolo Bonzini wrote:
>> The following changes since commit
>> d0ed6a69d399ae193959225cdeaa9382746c91cc:
>>
>> Update version for v5.1.0 release (2020-08-11 17:07:03 +0100)
>>
>> are available in the Git repository at:
>>
>> https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> Unrelated to the pull request proper, but I note in MAINTAINERS that you
> have listed:
>
> T: git https://github.com/bonzini/qemu.git scsi-next
>
> Have you switched to gitlab as your personal mirroring preference, and
> if so, should MAINTAINERS be updated?
Yes, but also I've not used a scsi-next branch for years. :)
>> for you to fetch changes up to 2eddb3c65821dce76433d5da6f3e6419349d1b77:
>>
>> docs: convert build system documentation to rST (2020-08-19
>> 16:13:30 -0400)
>>
>> v6->v7:
>> * new patch to preserve compatibility symlinks from previous binary
>> locations
>> * fixed cut-and-paste error in linux-user/mips/meson.build
>> * preserve compatibility check-block target even if no block tests are
>> defined
>
> FWIW: I haven't done any review or testing of the earlier iterations of
> this series. But since it will be landing soon, I merged this tag to an
> incremental build tree that was previously sitting on a finished 5.1
> build (sources in qemu/, VPATH build in qemu/build/), typed 'make' then
> 'make check', and everything finished successfully at least for my
> typical setup. So good job on getting this massive rewrite in while
> still preserving at least the common 'make' interface.
I must admit I was a bit lazy with incremental builds until Peter
pressed me for it, and I must say it wasn't _that_ hard to do, with a
fresh mind. I tried a bunch of touch&&make scenarios and they all
worked fine. It always helps to steal tricks from Autoconf's bag, since
QEMU's "./config.status --skip-meson" is basically the same as
Autoconf's "./config.status --recheck".
Paolo
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PULL v7 000/151] Meson-based build system
2020-08-19 21:32 [PULL v7 000/151] Meson-based build system Paolo Bonzini
2020-08-19 21:59 ` Eric Blake
@ 2020-08-20 10:33 ` Peter Maydell
2020-08-20 11:52 ` Paolo Bonzini
2020-08-21 6:15 ` Howard Spoelstra
2 siblings, 1 reply; 14+ messages in thread
From: Peter Maydell @ 2020-08-20 10:33 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: QEMU Developers
On Wed, 19 Aug 2020 at 22:32, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit d0ed6a69d399ae193959225cdeaa9382746c91cc:
>
> Update version for v5.1.0 release (2020-08-11 17:07:03 +0100)
>
> are available in the Git repository at:
>
> https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to 2eddb3c65821dce76433d5da6f3e6419349d1b77:
>
> docs: convert build system documentation to rST (2020-08-19 16:13:30 -0400)
>
> v6->v7:
> * new patch to preserve compatibility symlinks from previous binary locations
> * fixed cut-and-paste error in linux-user/mips/meson.build
> * preserve compatibility check-block target even if no block tests are defined
'make check' still fails for the all-linux-static config, this
time for a different reason:
make: *** No rule to make target 'check-qtest', needed by 'check'. Stop.
thanks
-- PMM
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PULL v7 000/151] Meson-based build system
2020-08-20 10:33 ` Peter Maydell
@ 2020-08-20 11:52 ` Paolo Bonzini
2020-08-20 14:54 ` Peter Maydell
0 siblings, 1 reply; 14+ messages in thread
From: Paolo Bonzini @ 2020-08-20 11:52 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers
On 20/08/20 12:33, Peter Maydell wrote:
> 'make check' still fails for the all-linux-static config, this
> time for a different reason:
>
> make: *** No rule to make target 'check-qtest', needed by 'check'. Stop.
Oh, there are two "check:" rules.
I pushed again the tag with just this delta:
diff --git a/tests/Makefile.include b/tests/Makefile.include
index ae4315e00e..9ac8f5b86a 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -526,13 +526,12 @@ check-acceptance: check-venv $(TESTS_RESULTS_DIR) get-vm-images
check-block:
check-build: build-unit
-check: check-unit
check-clean:
rm -rf $(check-unit-y) tests/*.o tests/*/*.o $(QEMU_IOTESTS_HELPERS-y)
rm -f tests/test-qapi-gen-timestamp
rm -rf $(TESTS_VENV_DIR) $(TESTS_RESULTS_DIR)
-check: check-block check-qapi-schema check-unit check-qtest check-decodetree
+check: check-unit
clean: check-clean
If any more reasonable expectations from the older build system turn out to
be broken, like in the binaries case, I will be happy to accomodate them
Paolo
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PULL v7 000/151] Meson-based build system
2020-08-20 11:52 ` Paolo Bonzini
@ 2020-08-20 14:54 ` Peter Maydell
2020-08-20 16:02 ` Paolo Bonzini
0 siblings, 1 reply; 14+ messages in thread
From: Peter Maydell @ 2020-08-20 14:54 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: QEMU Developers
On Thu, 20 Aug 2020 at 12:52, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On 20/08/20 12:33, Peter Maydell wrote:
> > 'make check' still fails for the all-linux-static config, this
> > time for a different reason:
> >
> > make: *** No rule to make target 'check-qtest', needed by 'check'. Stop.
>
> Oh, there are two "check:" rules.
>
> I pushed again the tag
For the all-linux-static build, Meson emits these WARNING lines:
Configuring ninjatool using configuration
Library m found: YES
Library util found: YES
Library aio found: YES
Library rt found: YES
Found pkg-config: /usr/bin/pkg-config (0.29.1)
WARNING: Static library 'asound' not found for dependency 'sdl2', may
not be statically linked
WARNING: Static library 'pulse-simple' not found for dependency
'sdl2', may not be statically linked
WARNING: Static library 'pulse' not found for dependency 'sdl2', may
not be statically linked
WARNING: Static library 'sndio' not found for dependency 'sdl2', may
not be statically linked
WARNING: Static library 'wayland-egl' not found for dependency 'sdl2',
may not be statically linked
WARNING: Static library 'wayland-client' not found for dependency
'sdl2', may not be statically linked
WARNING: Static library 'wayland-cursor' not found for dependency
'sdl2', may not be statically linked
Run-time dependency sdl2 found: YES 2.0.8
Found CMake: /usr/bin/cmake (3.10.2)
Run-time dependency sdl-image found: NO (tried pkgconfig and cmake)
Run-time dependency libpng found: YES 1.6.34
What are they for, and can they be suppressed ?
thanks
-- PMM
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PULL v7 000/151] Meson-based build system
2020-08-20 14:54 ` Peter Maydell
@ 2020-08-20 16:02 ` Paolo Bonzini
2020-08-20 16:10 ` Peter Maydell
0 siblings, 1 reply; 14+ messages in thread
From: Paolo Bonzini @ 2020-08-20 16:02 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers
On 20/08/20 16:54, Peter Maydell wrote:
> Configuring ninjatool using configuration
> Library m found: YES
> Library util found: YES
> Library aio found: YES
> Library rt found: YES
> Found pkg-config: /usr/bin/pkg-config (0.29.1)
> WARNING: Static library 'asound' not found for dependency 'sdl2', may
> not be statically linked
> WARNING: Static library 'pulse-simple' not found for dependency
> 'sdl2', may not be statically linked
> WARNING: Static library 'pulse' not found for dependency 'sdl2', may
> not be statically linked
> WARNING: Static library 'sndio' not found for dependency 'sdl2', may
> not be statically linked
> WARNING: Static library 'wayland-egl' not found for dependency 'sdl2',
> may not be statically linked
> WARNING: Static library 'wayland-client' not found for dependency
> 'sdl2', may not be statically linked
> WARNING: Static library 'wayland-cursor' not found for dependency
> 'sdl2', may not be statically linked
> Run-time dependency sdl2 found: YES 2.0.8
> Found CMake: /usr/bin/cmake (3.10.2)
> Run-time dependency sdl-image found: NO (tried pkgconfig and cmake)
> Run-time dependency libpng found: YES 1.6.34
>
> What are they for, and can they be suppressed ?
Meson (just like configure before it) is looking for SDL and other
dependencies even if you're not building system emulators.
Because you don't have those dependencies installed as static libraries,
Meson warns that library is marked as "not found" even though the
library itself is there. To suppress the warnings, it's enough to put
an "if have_system" around the dependency check. Let me know if you
want me to do it now.
Paolo
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PULL v7 000/151] Meson-based build system
2020-08-20 16:02 ` Paolo Bonzini
@ 2020-08-20 16:10 ` Peter Maydell
0 siblings, 0 replies; 14+ messages in thread
From: Peter Maydell @ 2020-08-20 16:10 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: QEMU Developers
On Thu, 20 Aug 2020 at 17:02, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Meson (just like configure before it) is looking for SDL and other
> dependencies even if you're not building system emulators.
>
> Because you don't have those dependencies installed as static libraries,
> Meson warns that library is marked as "not found" even though the
> library itself is there.
Looking at the old configure logic, I think what we do for a static
link is that we do a test compile, and if it succeeds then we enable
SDL, and if it doesn't we silently don't enable SDL (and I haven't
tested but I assume that this config without the dependencies
available as static libraries is going to fail that compile test).
Presumably Meson is complaining rather than just treating "don't have
a working static SDL and user didn't pass --enable-sdl" as
"silently don't enable SDL" ?
> To suppress the warnings, it's enough to put
> an "if have_system" around the dependency check. Let me know if you
> want me to do it now.
Don't need to fix this now; I guess we can do it later.
thanks
-- PMM
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PULL v7 000/151] Meson-based build system
2020-08-19 21:32 [PULL v7 000/151] Meson-based build system Paolo Bonzini
2020-08-19 21:59 ` Eric Blake
2020-08-20 10:33 ` Peter Maydell
@ 2020-08-21 6:15 ` Howard Spoelstra
2020-08-21 10:58 ` Howard Spoelstra
2 siblings, 1 reply; 14+ messages in thread
From: Howard Spoelstra @ 2020-08-21 6:15 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: Peter Maydell, qemu-devel qemu-devel
[-- Attachment #1: Type: text/plain, Size: 5009 bytes --]
On Wed, Aug 19, 2020 at 11:32 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
> The following changes since commit
> d0ed6a69d399ae193959225cdeaa9382746c91cc:
>
> Update version for v5.1.0 release (2020-08-11 17:07:03 +0100)
>
> are available in the Git repository at:
>
> https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to 2eddb3c65821dce76433d5da6f3e6419349d1b77:
>
>
> Hi,
I attempted to cross compile Qemu for Windows from the meson branch today
using a Fedora 32 VM and using MSYS2 .
In both cases I compiled using:
./configure --cross-prefix=x86_64-w64-mingw32- --target-list=ppc-softmmu
--enable-gtk --enable-sdl
For the builds to run on Windows I normally copy the pc-bios folder and the
required dlls (from \msys64\mingw64\bin for the MSYS2 build and from
/usr/x86_64-w64-mingw32/sys-root/mingw/bin for the Fedora based build).
This has always worked in the past.
As noticed earlier in discussion with Paolo, with MSYS2 there appears to be
a difference in how grep works on Linux and Windows. Using grep 3.1 as
provided by MSYS2, the file config-all-devices.mak file stays empty.
On Fedora the compilation process completed successfully. However, the
binary crashes. This is the backtrace I could get:
(gdb) attach 11528
Attaching to process 11528
[New Thread 11528.0x218]
[New Thread 11528.0x3380]
[New Thread 11528.0xf80]
Reading symbols from C:\qemu-debugging\gdb.exe...(no debugging symbols
found)...
done.
0x00007ffb9ef0f8b1 in ntdll!DbgBreakPoint ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
(gdb) thread apply all bt full
Thread 3 (Thread 11528.0xf80):
#0 0x00007ffb9ef0f8b1 in ntdll!DbgBreakPoint ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1 0x00007ffb9ef3c90e in ntdll!DbgUiRemoteBreakin ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2 0x00007ffb9dbe6fd4 in KERNEL32!BaseThreadInitThunk ()
from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#3 0x00007ffb9eebcec1 in ntdll!RtlUserThreadStart ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Thread 2 (Thread 11528.0x3380):
#0 0x00007ffb9ef0c914 in ntdll!ZwWaitForMultipleObjects ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1 0x00007ffb9c658910 in WaitForMultipleObjectsEx ()
from C:\WINDOWS\System32\KernelBase.dll
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#2 0x00007ffb9c65880e in WaitForMultipleObjects ()
from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#3 0x00000000004291a5 in ?? ()
No symbol table info available.
#4 0x00007ffb9dbe6fd4 in KERNEL32!BaseThreadInitThunk ()
from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#5 0x00007ffb9eebcec1 in ntdll!RtlUserThreadStart ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#6 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Thread 1 (Thread 11528.0x218):
#0 0x00007ffb9ef0c914 in ntdll!ZwWaitForMultipleObjects ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1 0x00007ffb9c658910 in WaitForMultipleObjectsEx ()
from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#2 0x00007ffb9c65880e in WaitForMultipleObjects ()
---Type <return> to continue, or q <return> to quit---
from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#3 0x0000000000483e9c in ?? ()
No symbol table info available.
#4 0x0000000000551049 in ?? ()
No symbol table info available.
#5 0x0000000000550498 in ?? ()
No symbol table info available.
#6 0x00000000005504fd in ?? ()
No symbol table info available.
#7 0x0000000000551b63 in ?? ()
No symbol table info available.
#8 0x00000000005489d7 in ?? ()
No symbol table info available.
#9 0x0000000000549421 in ?? ()
No symbol table info available.
#10 0x0000000000545e0b in ?? ()
No symbol table info available.
#11 0x000000000054a922 in ?? ()
No symbol table info available.
#12 0x0000000000545e0b in ?? ()
No symbol table info available.
#13 0x000000000054a94d in ?? ()
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#14 0x00000000004017e5 in ?? ()
No symbol table info available.
#15 0x0000000000401472 in ?? ()
No symbol table info available.
#16 0x000000000040117c in ?? ()
No symbol table info available.
#17 0x00007ffb9dbe6fd4 in KERNEL32!BaseThreadInitThunk ()
from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#18 0x00007ffb9eebcec1 in ntdll!RtlUserThreadStart ()
from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#19 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)
Best,
Howard
[-- Attachment #2: Type: text/html, Size: 6128 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PULL v7 000/151] Meson-based build system
2020-08-21 6:15 ` Howard Spoelstra
@ 2020-08-21 10:58 ` Howard Spoelstra
2020-08-21 12:33 ` Paolo Bonzini
0 siblings, 1 reply; 14+ messages in thread
From: Howard Spoelstra @ 2020-08-21 10:58 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: Peter Maydell, qemu-devel qemu-devel
[-- Attachment #1: Type: text/plain, Size: 5594 bytes --]
On Fri, Aug 21, 2020 at 8:15 AM Howard Spoelstra <hsp.cat7@gmail.com> wrote:
>
>
> On Wed, Aug 19, 2020 at 11:32 PM Paolo Bonzini <pbonzini@redhat.com>
> wrote:
>
>> The following changes since commit
>> d0ed6a69d399ae193959225cdeaa9382746c91cc:
>>
>> Update version for v5.1.0 release (2020-08-11 17:07:03 +0100)
>>
>> are available in the Git repository at:
>>
>> https://gitlab.com/bonzini/qemu.git tags/for-upstream
>>
>> for you to fetch changes up to 2eddb3c65821dce76433d5da6f3e6419349d1b77:
>>
>>
>> Hi,
>
> I attempted to cross compile Qemu for Windows from the meson branch today
> using a Fedora 32 VM and using MSYS2 .
>
> In both cases I compiled using:
> ./configure --cross-prefix=x86_64-w64-mingw32- --target-list=ppc-softmmu
> --enable-gtk --enable-sdl
>
> For the builds to run on Windows I normally copy the pc-bios folder and
> the required dlls (from \msys64\mingw64\bin for the MSYS2 build and from
> /usr/x86_64-w64-mingw32/sys-root/mingw/bin for the Fedora based build).
> This has always worked in the past.
>
> As noticed earlier in discussion with Paolo, with MSYS2 there appears to
> be a difference in how grep works on Linux and Windows. Using grep 3.1 as
> provided by MSYS2, the file config-all-devices.mak file stays empty.
>
> On Fedora the compilation process completed successfully. However, the
> binary crashes. This is the backtrace I could get:
>
> (gdb) attach 11528
> Attaching to process 11528
> [New Thread 11528.0x218]
> [New Thread 11528.0x3380]
> [New Thread 11528.0xf80]
> Reading symbols from C:\qemu-debugging\gdb.exe...(no debugging symbols
> found)...
> done.
> 0x00007ffb9ef0f8b1 in ntdll!DbgBreakPoint ()
> from C:\WINDOWS\SYSTEM32\ntdll.dll
> (gdb) thread apply all bt full
>
> Thread 3 (Thread 11528.0xf80):
> #0 0x00007ffb9ef0f8b1 in ntdll!DbgBreakPoint ()
> from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #1 0x00007ffb9ef3c90e in ntdll!DbgUiRemoteBreakin ()
> from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #2 0x00007ffb9dbe6fd4 in KERNEL32!BaseThreadInitThunk ()
> from C:\WINDOWS\System32\kernel32.dll
> No symbol table info available.
> #3 0x00007ffb9eebcec1 in ntdll!RtlUserThreadStart ()
> from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #4 0x0000000000000000 in ?? ()
> No symbol table info available.
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>
> Thread 2 (Thread 11528.0x3380):
> #0 0x00007ffb9ef0c914 in ntdll!ZwWaitForMultipleObjects ()
> from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #1 0x00007ffb9c658910 in WaitForMultipleObjectsEx ()
> from C:\WINDOWS\System32\KernelBase.dll
> ---Type <return> to continue, or q <return> to quit---
> No symbol table info available.
> #2 0x00007ffb9c65880e in WaitForMultipleObjects ()
> from C:\WINDOWS\System32\KernelBase.dll
> No symbol table info available.
> #3 0x00000000004291a5 in ?? ()
> No symbol table info available.
> #4 0x00007ffb9dbe6fd4 in KERNEL32!BaseThreadInitThunk ()
> from C:\WINDOWS\System32\kernel32.dll
> No symbol table info available.
> #5 0x00007ffb9eebcec1 in ntdll!RtlUserThreadStart ()
> from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #6 0x0000000000000000 in ?? ()
> No symbol table info available.
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>
> Thread 1 (Thread 11528.0x218):
> #0 0x00007ffb9ef0c914 in ntdll!ZwWaitForMultipleObjects ()
> from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #1 0x00007ffb9c658910 in WaitForMultipleObjectsEx ()
> from C:\WINDOWS\System32\KernelBase.dll
> No symbol table info available.
> #2 0x00007ffb9c65880e in WaitForMultipleObjects ()
> ---Type <return> to continue, or q <return> to quit---
> from C:\WINDOWS\System32\KernelBase.dll
> No symbol table info available.
> #3 0x0000000000483e9c in ?? ()
> No symbol table info available.
> #4 0x0000000000551049 in ?? ()
> No symbol table info available.
> #5 0x0000000000550498 in ?? ()
> No symbol table info available.
> #6 0x00000000005504fd in ?? ()
> No symbol table info available.
> #7 0x0000000000551b63 in ?? ()
> No symbol table info available.
> #8 0x00000000005489d7 in ?? ()
> No symbol table info available.
> #9 0x0000000000549421 in ?? ()
> No symbol table info available.
> #10 0x0000000000545e0b in ?? ()
> No symbol table info available.
> #11 0x000000000054a922 in ?? ()
> No symbol table info available.
> #12 0x0000000000545e0b in ?? ()
> No symbol table info available.
> #13 0x000000000054a94d in ?? ()
> No symbol table info available.
> ---Type <return> to continue, or q <return> to quit---
> #14 0x00000000004017e5 in ?? ()
> No symbol table info available.
> #15 0x0000000000401472 in ?? ()
> No symbol table info available.
> #16 0x000000000040117c in ?? ()
> No symbol table info available.
> #17 0x00007ffb9dbe6fd4 in KERNEL32!BaseThreadInitThunk ()
> from C:\WINDOWS\System32\kernel32.dll
> No symbol table info available.
> #18 0x00007ffb9eebcec1 in ntdll!RtlUserThreadStart ()
> from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #19 0x0000000000000000 in ?? ()
> No symbol table info available.
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
> (gdb)
>
>
I investigated a bit further and saw:
ldd in Fedora tells me the executable is "not a dynamic executable".
Meson seems to default to try a static build and enable pie, whereas a
normal build would require --static to enable that and have pie=no
Best,
Howard
[-- Attachment #2: Type: text/html, Size: 6782 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PULL v7 000/151] Meson-based build system
2020-08-21 10:58 ` Howard Spoelstra
@ 2020-08-21 12:33 ` Paolo Bonzini
2020-08-21 16:11 ` Howard Spoelstra
2020-08-24 16:18 ` Daniel P. Berrangé
0 siblings, 2 replies; 14+ messages in thread
From: Paolo Bonzini @ 2020-08-21 12:33 UTC (permalink / raw)
To: Howard Spoelstra; +Cc: Peter Maydell, qemu-devel qemu-devel
On 21/08/20 12:58, Howard Spoelstra wrote:
> I investigated a bit further and saw:
> ldd in Fedora tells me the executable is "not a dynamic executable".
How are you executing ldd? I cross built a mingw executable from Fedora
and it was definitely using system DLLs.
PIE builds and doesn't start (doesn't even reach main) but --disable-pie
works just fine. I don't know if the same issue is present under
Windows or it's Wine-specific.
Stuff that is not in CI pipelines is going to break. Since there is an
easy workaround for bisection (--disable-pie), and Meson makes it easier
to run tests under Wine, we really should fix this on top of the
conversion and also add Wine support to the CI pipelines. This way it
will be tested.
As to grepy.sh, perhaps the problem is due to CRLF line endings? My
suggestion is that you just rewrite it in Python, like
s = set()
for fname in sys.argv[1:]:
with open(fname, 'r') as f:
s.update((x.rstrip() for x in f
if x.rstrip().endswith('=y')))
print(*sorted(s), sep='\n')
and send a patch after you've tested it.
Paolo
> Meson seems to default to try a static build and enable pie, whereas a
> normal build would require --static to enable that and have pie=no
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PULL v7 000/151] Meson-based build system
2020-08-21 12:33 ` Paolo Bonzini
@ 2020-08-21 16:11 ` Howard Spoelstra
2020-08-21 16:16 ` Paolo Bonzini
2020-08-24 16:18 ` Daniel P. Berrangé
1 sibling, 1 reply; 14+ messages in thread
From: Howard Spoelstra @ 2020-08-21 16:11 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: Peter Maydell, qemu-devel qemu-devel
[-- Attachment #1: Type: text/plain, Size: 10528 bytes --]
> How are you executing ldd? I cross built a mingw executable from Fedora
> and it was definitely using system DLLs.
>
> This is what I see in Fedora 32 before moving executable and dlls to
Windows:
[hsp@localhost build]$ uname -a
Linux localhost.localdomain 5.7.14-200.fc32.x86_64 #1 SMP Fri Aug 7
23:16:37 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[hsp@localhost build]$ ../configure --cross-prefix=x86_64-w64-mingw32-
--enable-gtk --enable-sdl --target-list=ppc-softmmu --disable-pie
cross containers podman
The Meson build system
Version: 0.55.0
Source dir: /home/hsp/src/qemu-master
Build dir: /home/hsp/src/qemu-master/build
Build type: cross build
Project name: qemu
Project version: 5.1.50
C compiler for the build machine: cc (gcc 10.2.1 "cc (GCC) 10.2.1 20200723
(Red Hat 10.2.1-1)")
C linker for the build machine: cc ld.bfd 2.34-4
C compiler for the host machine: x86_64-w64-mingw32-gcc (gcc 9.2.1
"x86_64-w64-mingw32-gcc (GCC) 9.2.1 20190827 (Fedora MinGW 9.2.1-6.fc32)")
C linker for the host machine: x86_64-w64-mingw32-gcc ld.bfd 2.32
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86
Host machine cpu: x86_64
Target machine cpu family: x86
Target machine cpu: x86_64
../meson.build:9: WARNING: Module unstable-keyval has no backwards or
forwards compatibility and might not exist in future releases.
Program sh found: YES
Program python3 found: YES (/usr/bin/python3)
C++ compiler for the host machine: x86_64-w64-mingw32-g++ (gcc 9.2.1
"x86_64-w64-mingw32-g++ (GCC) 9.2.1 20190827 (Fedora MinGW 9.2.1-6.fc32)")
C++ linker for the host machine: x86_64-w64-mingw32-g++ ld.bfd 2.32
Configuring ninjatool using configuration
Library m found: YES
Library util found: NO
Library ws2_32 found: YES
Library winmm found: YES
Windows resource compiler: GNU windres version 2.32-%{release}
Library aio found: NO
Library rt found: NO
Found pkg-config: /usr/bin/x86_64-w64-mingw32-pkg-config (0.28)
Run-time dependency sdl2 found: YES 2.0.12
Found CMake: NO
Run-time dependency sdl-image found: NO (tried pkgconfig and cmake)
Run-time dependency libpng found: YES 1.6.37
Has header "jpeglib.h" : YES
Library jpeg found: YES
Has header "sasl/sasl.h" : NO
Configuring config-host.h using configuration
Program scripts/minikconf.py found: YES
Configuring ppc-softmmu-config-target.h using configuration
Configuring ppc-softmmu-config-devices.mak with command
Reading depfile:
/home/hsp/src/qemu-master/build/meson-private/ppc-softmmu-config-devices.mak.d
Configuring ppc-softmmu-config-devices.h using configuration
Program scripts/grepy.sh found: YES
Configuring config-all-devices.mak with command
Program scripts/hxtool found: YES
Program scripts/shaderinclude.pl found: YES
Program scripts/qapi-gen.py found: YES
Program scripts/qemu-version.sh found: YES
Run-time dependency threads found: YES
Program keycodemapdb/tools/keymap-gen found: YES
Program scripts/decodetree.py found: YES
Program ../scripts/modules/module_block.py found: YES
Program x86_64-w64-mingw32-nm found: YES
Program scripts/undefsym.sh found: YES
Program scripts/feature_to_c.sh found: YES
Program wixl found: NO
Program bzip2 found: YES
Configuring 50-edk2-i386-secure.json using configuration
Configuring 50-edk2-x86_64-secure.json using configuration
Configuring 60-edk2-aarch64.json using configuration
Configuring 60-edk2-arm.json using configuration
Configuring 60-edk2-i386.json using configuration
Configuring 60-edk2-x86_64.json using configuration
Program diff found: YES
Build targets in project: 215
qemu 5.1.50
Install prefix: c:/Program Files/QEMU
BIOS directory: c:/Program Files/QEMU
firmware path: ${prefix}/share/qemu-firmware
binary directory: c:/Program Files/QEMU
library directory: c:/Program Files/QEMU/lib
module directory: c:/Program Files/QEMU/lib
libexec directory: c:/Program Files/QEMU/libexec
include directory: c:/Program Files/QEMU/include
config directory: c:/Program Files/QEMU
local state directory: queried at runtime
Build directory: /home/hsp/src/qemu-master/build
Source path: /home/hsp/src/qemu-master
GIT binary: git
GIT submodules: ui/keycodemapdb tests/fp/berkeley-testfloat-3
tests/fp/berkeley-softfloat-3 meson dtc capstone slirp
C compiler: x86_64-w64-mingw32-gcc
Host C compiler: cc
C++ compiler: x86_64-w64-mingw32-g++
ARFLAGS: rv
CFLAGS: -O2 -g -fno-pie -mthreads -std=gnu99 -Wall
QEMU_CFLAGS:
-I/usr/x86_64-w64-mingw32/sys-root/mingw/include/pixman-1
-I/home/hsp/src/qemu-master/dtc/libfdt -Werror -U_FORTIFY_SOURCE
-D_FORTIFY_SOURCE=2 -I/usr/x86_64-w64-mingw32/sys-root/mingw/include
-mms-bitfields -I/usr/x86_64-w64-mingw32/sys-root/mingw/include
-I/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0
-I/usr/x86_64-w64-mingw32/sys-root/mingw/lib/glib-2.0/include
-I/usr/x86_64-w64-mingw32/sys-root/mingw/include -m64 -mcx16 -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
-Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes
-fno-strict-aliasing -fno-common -fwrapv -Wold-style-declaration
-Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k
-Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs
-Wendif-labels -Wexpansion-to-defined -Wno-missing-include-dirs
-Wno-shift-negative-value -Wno-psabi -fstack-protector-strong
-I/home/hsp/src/qemu-master/capstone/include
QEMU_LDFLAGS: -L/home/hsp/src/qemu-master/build/dtc/libfdt
-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m64
-fstack-protector-strong
make: make
install: install
python: /usr/bin/python3 (version: 3.8)
sphinx-build:
genisoimage: /usr/bin/genisoimage
slirp support: YES
smbd: "/usr/sbin/smbd"
module support: NO
host CPU: x86
host endianness: little
target list: ppc-softmmu
gprof enabled: NO
sparse enabled: NO
strip binaries: YES
profiler: NO
static build: YES
SDL support: YES
SDL image support: NO
GTK support: YES
GTK GL support: NO
VTE support: NO
TLS priority: "NORMAL"
GNUTLS support: NO
libgcrypt: NO
nettle: NO
libtasn1: NO
PAM: NO
iconv support: YES
curses support: NO
virgl support: NO
curl support: NO
mingw32 support: YES
Audio drivers: dsound
Block whitelist (rw):
Block whitelist (ro):
VirtFS support: NO
Multipath support: NO
VNC support: YES
VNC SASL support: NO
VNC JPEG support: YES
VNC PNG support: YES
xen support: NO
brlapi support: NO
Documentation: NO
PIE: NO
vde support: NO
netmap support: NO
Linux AIO support: NO
Linux io_uring support: NO
ATTR/XATTR support: NO
Install blobs: YES
malloc trim support: NO
RDMA support: NO
PVRDMA support: NO
fdt support: YES
membarrier: NO
preadv support: NO
fdatasync: NO
madvise: NO
posix_madvise: NO
posix_memalign: NO
libcap-ng support: NO
vhost-net support: NO
vhost-crypto support: NO
vhost-scsi support: NO
vhost-vsock support: NO
vhost-user support: NO
vhost-user-fs support: NO
vhost-vdpa support: NO
Trace backends: log
spice support: NO
rbd support: NO
xfsctl support: NO
smartcard support: NO
libusb: YES
usb net redir: NO
OpenGL support: NO
OpenGL dmabufs: NO
libiscsi support: NO
libnfs support: NO
build guest agent: YES
QGA VSS support: NO
QGA w32 disk info: YES
QGA MSI support: NO
seccomp support: NO
coroutine backend: win32
coroutine pool: YES
debug stack usage: NO
mutex debugging: NO
crypto afalg: NO
GlusterFS support: NO
gcov: NO
TPM support: NO
libssh support: NO
QOM debugging: YES
Live block migration: YES
lzo support: NO
snappy support: NO
bzip2 support: YES
lzfse support: NO
zstd support: NO
NUMA host support: NO
libxml2: NO
tcmalloc support: NO
jemalloc support: NO
avx2 optimization: YES
avx512f optimization: NO
replication support: YES
bochs support: YES
cloop support: YES
dmg support: YES
qcow v1 support: YES
vdi support: YES
vvfat support: YES
qed support: YES
parallels support: YES
sheepdog support: YES
capstone: YES
libpmem support: NO
libdaxctl support: NO
libudev: NO
default devices: YES
plugin support: NO
fuzzing support: NO
gdb: /usr/bin/gdb
thread sanitizer: NO
rng-none: NO
Linux keyring: NO
Found ninjatool-1.8 at /home/hsp/src/qemu-master/build/ninjatool
WARNING: custom_target 'shared QAPI source files' has more than one output!
Using the first one.
WARNING: custom_target 'QGA QAPI files' has more than one output! Using the
first one.
WARNING: custom_target 'QAPI files for qemu-storage-daemon' has more than
one output! Using the first one.
WARNING: custom_target 'QAPI doc' has more than one output! Using the first
one.
Command line for building ['libcommon.fa'] is long, using a response file
[hsp@localhost build]$ make -j4
....
[hsp@localhost build]$ ldd qemu-system-ppc.exe
not a dynamic executable
[hsp@localhost build]$ which ldd
/usr/bin/ldd
[hsp@localhost build]$
Best,
Howard
[-- Attachment #2: Type: text/html, Size: 12722 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PULL v7 000/151] Meson-based build system
2020-08-21 16:11 ` Howard Spoelstra
@ 2020-08-21 16:16 ` Paolo Bonzini
0 siblings, 0 replies; 14+ messages in thread
From: Paolo Bonzini @ 2020-08-21 16:16 UTC (permalink / raw)
To: Howard Spoelstra; +Cc: Peter Maydell, qemu-devel qemu-devel
On 21/08/20 18:11, Howard Spoelstra wrote:
>
>
> Found ninjatool-1.8 at /home/hsp/src/qemu-master/build/ninjatool
> WARNING: custom_target 'shared QAPI source files' has more than one
> output! Using the first one.
> WARNING: custom_target 'QGA QAPI files' has more than one output! Using
> the first one.
> WARNING: custom_target 'QAPI files for qemu-storage-daemon' has more
> than one output! Using the first one.
> WARNING: custom_target 'QAPI doc' has more than one output! Using the
> first one.
> Command line for building ['libcommon.fa'] is long, using a response file
> [hsp@localhost build]$ make -j4
> ....
> [hsp@localhost build]$ ldd qemu-system-ppc.exe
> not a dynamic executable
ldd is a Linux tool, a Windows .exe is just a junk file to it. "Not a
dynamic executable" does not mean "it's a static executable", it means
"I cannot do anything with it".
Paolo
> [hsp@localhost build]$ which ldd
> /usr/bin/ldd
> [hsp@localhost build]$
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PULL v7 000/151] Meson-based build system
2020-08-21 12:33 ` Paolo Bonzini
2020-08-21 16:11 ` Howard Spoelstra
@ 2020-08-24 16:18 ` Daniel P. Berrangé
1 sibling, 0 replies; 14+ messages in thread
From: Daniel P. Berrangé @ 2020-08-24 16:18 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: Peter Maydell, qemu-devel qemu-devel, Howard Spoelstra
On Fri, Aug 21, 2020 at 02:33:12PM +0200, Paolo Bonzini wrote:
> On 21/08/20 12:58, Howard Spoelstra wrote:
> > I investigated a bit further and saw:
> > ldd in Fedora tells me the executable is "not a dynamic executable".
>
> How are you executing ldd? I cross built a mingw executable from Fedora
> and it was definitely using system DLLs.
>
> PIE builds and doesn't start (doesn't even reach main) but --disable-pie
> works just fine. I don't know if the same issue is present under
> Windows or it's Wine-specific.
I've just hit this problem too, and can demo it without QEMU involved
$ cat e.c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) { fprintf(stderr, "Hello\n"); exit(EXIT_SUCCESS); }
$ x86_64-w64-mingw32-gcc -pie -o e.exe e.c
the resulting e.exe fails to run under *both* Wine and Windows 2008r2.
Either there's some extra magic compiler flags we need to pass to make
this work, or we need to just disable PIE on Windows. The original
pre-meson build used -no-pie AFAICT.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2020-08-24 16:19 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-19 21:32 [PULL v7 000/151] Meson-based build system Paolo Bonzini
2020-08-19 21:59 ` Eric Blake
2020-08-19 22:08 ` Paolo Bonzini
2020-08-20 10:33 ` Peter Maydell
2020-08-20 11:52 ` Paolo Bonzini
2020-08-20 14:54 ` Peter Maydell
2020-08-20 16:02 ` Paolo Bonzini
2020-08-20 16:10 ` Peter Maydell
2020-08-21 6:15 ` Howard Spoelstra
2020-08-21 10:58 ` Howard Spoelstra
2020-08-21 12:33 ` Paolo Bonzini
2020-08-21 16:11 ` Howard Spoelstra
2020-08-21 16:16 ` Paolo Bonzini
2020-08-24 16:18 ` Daniel P. Berrangé
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).