Configure script fix for glib version
Host environment
- Operating system: Linux / any
- QEMU version: 7.2.0
Description of problem
Script "configure" uses "pkg-config" directly, at line 2420: https://gitlab.com/qemu-project/qemu/-/blob/f9f0e6173e1d570847930abfe2b4560c7b6a964a/configure#L2420
Because of it, GLIB_VERSION in "config-host.mak" can be taken from host system, under some circumstances (if PKG_CONFIG_PATH is not defined).
In case of cross-compilation, "$pkg_config" should be used instead of "pkg-config", to use pkg-config from cross-compilation toolchain and to take GLIB_VERSION of cross-compiled glib (as it is correctly used at line 1476: https://gitlab.com/qemu-project/qemu/-/blob/f9f0e6173e1d570847930abfe2b4560c7b6a964a/configure#L1476 ).
Steps to reproduce
- Do not define PKG_CONFIG_PATH environment variable, use PKG_CONFIG variable instead.
- Try to ./configure with cross-compiled glib.
- GLIB_VERSION in config-host.mak will be from host glib.
Additional information
Change lihe 2420:
https://gitlab.com/qemu-project/qemu/-/blob/f9f0e6173e1d570847930abfe2b4560c7b6a964a/configure#L2420
echo "GLIB_VERSION=$(pkg-config --modversion glib-2.0)" >> $config_host_mak
to:
echo "GLIB_VERSION=$($pkg_config --modversion glib-2.0)" >> $config_host_mak
P.s. Sorry for posting the patch here, GitLab requires signing with a key to push the commit, it's too complicated to post 2-bytes fix.