configure: Include quotes around pkg_version

In some MSYS environments it can happen that the 3 argument syntax
for pkg-config library specifications fails because somehow the
expansion of pkg_version ends up with a redirection we guess.

To avoid failures like in the referenced build[2], we quote it
so the whole module including operators will be expanded into
a single shell word and the single argument syntax for specifying
the library for pkg-config will be used.

The single argument syntax seems to be supported by the original
pkg-config from the beginning more than 20 years[3].

In the pkgconf implementation single argument syntax was supported
pretty much from the beginning as well. The multiple argument syntax
we used until this change, was not supported until a change[4] more
than 10 years ago.

References
----------

1. Build passing with quotes:
   https://github.com/JoeSchiff/pyav-ffmpeg/actions/runs/12358403929
2. Build failing without quotes:
   https://github.com/JoeSchiff/pyav-ffmpeg/actions/runs/12360472377
3. Earliest commit of the current pkg-config Git repo already mentions the single argument syntax:
   2ac96cbcc7 (124c0becfe68b1ef671f49ed2b9d24779ace126f_0_162)
4. pkgconf gets support for 3 argument syntax (pkgconf --exists liba = 1.2.3):
   793de6a06c

Commit-message-by: Alexander Strasser <eclipse7@gmx.net>
Signed-off-by: Joe Schiffler <joeschiffler3@gmail.com>
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
This commit is contained in:
Joe Schiffler 2024-12-16 16:19:50 -05:00 committed by Alexander Strasser
parent 041a6c3614
commit 0457aaf0d3

4
configure vendored
View file

@ -1522,7 +1522,7 @@ test_pkg_config(){
funcs="$4"
shift 4
disable $name
test_cmd $pkg_config --exists --print-errors $pkg_version || return
test_cmd $pkg_config --exists --print-errors "$pkg_version" || return
pkg_cflags=$($pkg_config --cflags $pkg_config_flags $pkg)
pkg_libs=$($pkg_config --libs $pkg_config_flags $pkg)
pkg_incdir=$($pkg_config --variable=includedir $pkg_config_flags $pkg)
@ -1542,7 +1542,7 @@ test_pkg_config_cpp(){
cond="$4"
shift 4
disable $name
test_cmd $pkg_config --exists --print-errors $pkg_version || return
test_cmd $pkg_config --exists --print-errors "$pkg_version" || return
pkg_cflags=$($pkg_config --cflags $pkg_config_flags $pkg)
pkg_incdir=$($pkg_config --variable=includedir $pkg_config_flags $pkg)
pkg_incflags=$($pkg_config --cflags-only-I $pkg_config_flags $pkg)