[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-8.0 00/30] Meson changes for QEMU 8.0
From: |
Daniel P . Berrangé |
Subject: |
Re: [PATCH for-8.0 00/30] Meson changes for QEMU 8.0 |
Date: |
Fri, 16 Dec 2022 15:35:56 +0000 |
User-agent: |
Mutt/2.2.7 (2022-08-07) |
On Fri, Dec 09, 2022 at 12:23:39PM +0100, Paolo Bonzini wrote:
> The final bout of conversions removes the remaining compiler tests
> for emulators, applies a few cleanups that are enabled by version 0.63
> of Meson, and updates the documentation.
>
> Committing this however requires first a libvirt-ci update, in order to
> enable using Python 3.8/3.9 on CentOS 8 and SLES 15. I am still working
> on it but the review can start early for these patches.
>
> A final comparison for the effort has a net negative of around 4000
> lines of code, despite the growth of QEMU itself in the meanwhile:
>
> before after
> --------------------------------------------------------------------------
> 8647 configure 4240 meson.build
> 1296 Makefile 1970 configure
> 985 tests/Makefile.include 337 Makefile
> 440 rules.mak 224 scripts/meson-buildoptions.py
> 379 scripts/tap-driver.pl 171 tests/Makefile.include
> 287 Makefile.target 129 scripts/nsis.py
> 263 tests/tcg/configure.sh 113 scripts/mtest2make.py
> 129 scripts/create_config 48 scripts/undefsym.py
> ~5500 various Makefile fragments ~6500 various meson.build files
> --------------------------------------------------------------------------
> 17926 total 13732 total
So after applying this series, at least on Fedora, I barely needed
configure at all, in so muc as the following successfully built AFAICT:
$ mkdir build
$ cat > build/config-host.mak <<EOF
all:
GIT=git
GIT_SUBMODULES=ui/keycodemapdb tests/fp/berkeley-testfloat-3
tests/fp/berkeley-softfloat-3 dtc
GIT_SUBMODULES_ACTION=update
CONFIG_POSIX=y
CONFIG_LINUX=y
SRC_PATH=/home/berrange/src/virt/qemu
TARGET_DIRS=x86_64-softmmu
CONFIG_PLUGIN=y
HAVE_GDB_BIN=/usr/bin/gdb
ENGINE=podman
ROMS=pc-bios/optionrom
MAKE=make
PYTHON=/usr/bin/python3 -B
GENISOIMAGE=/usr/bin/genisoimage
MESON=/usr/bin/meson
NINJA=/usr/bin/ninja
PKG_CONFIG=
CC=cc
EXESUF=
TCG_TESTS_TARGETS= x86_64-softmmu
EOF
$ meson build
$ ninja -C build
Out of the things in config-host.mak there, a few meson already knows,
like CC, SRC_PATH, 50% would be just a meson find_program() command,
a couple would need meson args (eg TARGET_DIRS), and some just look
redundant, eg CONFIG_LINUX largely duplicates __linux__, and
CONFIG_POSIX is effectively !_WIN32.
With 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 :|
- Re: [PATCH 19/30] configure, meson: move --enable-debug-info to Meson, (continued)
Re: [PATCH 19/30] configure, meson: move --enable-debug-info to Meson, Daniel P . Berrangé, 2022/12/16
[PATCH 26/30] build: move remaining compiler flag tests to meson, Paolo Bonzini, 2022/12/09
[PATCH 23/30] build: move coroutine backend selection to meson, Paolo Bonzini, 2022/12/09
[PATCH 22/30] build: move SafeStack tests to meson, Paolo Bonzini, 2022/12/09
Re: [PATCH for-8.0 00/30] Meson changes for QEMU 8.0,
Daniel P . Berrangé <=