When testing the 32-bit x86 build, use a cross-file rather than using
args and pkgconfig environment variable. The advantage of using the
cross-file is that the paths are saved across runs. Without this patch,
while the '-m32' args settings are preserved between meson runs, the
PKG_CONFIG_LIBDIR value from environment is not, which can cause
rebuilds of the build-32b directory to fail if meson needs to do
a reconfiguration first.

Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
---
 devtools/test-meson-builds.sh | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index d71bb1ded0..4fff1f7177 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -253,21 +253,18 @@ build build-x86-generic cc skipABI -Dcheck_includes=true \
 
 # 32-bit with default compiler
 if check_cc_flags '-m32' ; then
+       target_override='i386-pc-linux-gnu'
        if [ -d '/usr/lib/i386-linux-gnu' ] ; then
-               # 32-bit pkgconfig on Debian/Ubuntu
-               export PKG_CONFIG_LIBDIR='/usr/lib/i386-linux-gnu/pkgconfig'
+               # 32-bit pkgconfig on Debian/Ubuntu, use cross file
+               build build-32b $srcdir/config/x86/cross-32bit-debian.ini ABI
        elif [ -d '/usr/lib32' ] ; then
                # 32-bit pkgconfig on Arch
-               export PKG_CONFIG_LIBDIR='/usr/lib32/pkgconfig'
+               build build-32b $srcdir/config/x86/cross-32bit-arch.ini ABI
        else
                # 32-bit pkgconfig on RHEL/Fedora (lib vs lib64)
-               export PKG_CONFIG_LIBDIR='/usr/lib/pkgconfig'
+               build build-32b $srcdir/config/x86/cross-32bit-fedora.ini ABI
        fi
-       target_override='i386-pc-linux-gnu'
-       build build-32b cc ABI -Dc_args='-m32' -Dc_link_args='-m32' \
-                       -Dcpp_args='-m32' -Dcpp_link_args='-m32'
        target_override=
-       unset PKG_CONFIG_LIBDIR
 fi
 
 # x86 MinGW
-- 
2.43.0

Reply via email to