66e2c6cbac
This commit changes how we detect and install meson. It notably removes '--meson='. Currently, configure creates a lightweight Python virtual environment unconditionally using the user's configured $python that inherits system packages. Temporarily, we forced the use of meson source present via git submodule or in the release tarball. With this patch, we restore the ability to use a system-provided meson: If Meson is installed in the build venv and meets our minimum version requirements, we will use that Meson. This includes a system provided meson, which would be visible via system-site packages inside the venv. In the event that Meson is installed but *not for the chosen Python interpreter*, not found, or of insufficient version, we will attempt to install Meson from vendored source into the newly created Python virtual environment. This vendored installation replaces both the git submodule and tarball source mechanisms for sourcing meson. As a result of this patch, the Python interpreter we use for both our own build scripts *and* Meson extensions are always known to be the exact same Python. As a further benefit, there will also be a symlink available in the build directory that points to the correct, configured python and can be used by e.g. manual tests to invoke the correct, configured Python unambiguously. Signed-off-by: John Snow <jsnow@redhat.com> Message-Id: <20230511035435.734312-18-jsnow@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> |
||
---|---|---|
.. | ||
cirrus | ||
custom-runners | ||
opensbi | ||
base.yml | ||
buildtest-template.yml | ||
buildtest.yml | ||
check-dco.py | ||
check-patch.py | ||
cirrus.yml | ||
container-core.yml | ||
container-cross.yml | ||
container-template.yml | ||
containers.yml | ||
crossbuild-template.yml | ||
crossbuilds.yml | ||
custom-runners.yml | ||
opensbi.yml | ||
qemu-project.yml | ||
stages.yml | ||
static_checks.yml | ||
windows.yml |