Commit 522b299ca4 for qemu.org
commit 522b299ca4316d8cad57f9496ffcba87dcc20719
Author: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Date: Thu Aug 27 22:15:01 2026 +0000
tests/tcg/meson.build: implement ./configure containers options
./configure --disable-containers now skip containers build.
./configure --container-command "/path/to/docker" can be used to
override autodetection.
Tested-by: Aniket Sahu <asahu1x@linux.ibm.com>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Message-ID: <20260827221506.91574-101-pierrick.bouvier@oss.qualcomm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
diff --git a/configure b/configure
index cec6f18f85..aa98cf3958 100755
--- a/configure
+++ b/configure
@@ -172,7 +172,6 @@ fi
# some defaults, based on the host environment
# default parameters
-container_command=""
cpu=""
cross_compile="no"
cross_prefix=""
@@ -260,7 +259,6 @@ ninja=""
python=
download="enabled"
skip_meson=no
-use_containers="yes"
rust="disabled"
rust_target_triple=""
@@ -727,11 +725,11 @@ for opt do
;;
--disable-plugins) plugins="no"
;;
- --enable-containers) use_containers="yes"
+ --enable-containers) # enabled by default
;;
- --disable-containers) use_containers="no"
+ --disable-containers) meson_option_add -Dcontainers=false
;;
- --container-command=*) container_command="$optarg"
+ --container-command=*) meson_option_add -Dcontainer_command="$optarg"
;;
--rust-target-triple=*) rust_target_triple="$optarg"
;;
@@ -1718,9 +1716,6 @@ echo all: >> $config_host_mak
echo "SRC_PATH=$source_path" >> $config_host_mak
echo "TARGET_DIRS=$target_list" >> $config_host_mak
-if test "$container_command" != ""; then
- echo "CONTAINER_COMMAND=$container_command" >> $config_host_mak
-fi
echo "SUBDIRS=$subdirs" >> $config_host_mak
echo "PYTHON=$python" >> $config_host_mak
echo "MKVENV_ENSUREGROUP=$mkvenv ensuregroup $mkvenv_online_flag" >> $config_host_mak
diff --git a/meson_options.txt b/meson_options.txt
index a41ed64bc9..f9604a6c19 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -387,3 +387,7 @@ option('rust', type: 'feature', value: 'disabled',
description: 'Rust support')
option('strict_rust_lints', type: 'boolean', value: false,
description: 'Enable stricter set of Rust warnings')
+option('containers', type: 'boolean', value: true,
+ description: 'use containers to cross compile tcg tests')
+option('container_command', type: 'string',
+ description: 'command to build/run containers')
diff --git a/tests/tcg/meson.build b/tests/tcg/meson.build
index 144577fd94..2458a231f5 100644
--- a/tests/tcg/meson.build
+++ b/tests/tcg/meson.build
@@ -78,10 +78,23 @@ if gdb.found()
endforeach
endif
-docker_probe = run_command(docker_wrapper, 'probe', check: false)
-docker_supported = docker_probe.returncode() == 0
-if docker_supported
- docker_wrapper = [docker_wrapper, '--command', docker_probe.stdout().strip()]
+docker_supported = false
+if get_option('containers')
+ if get_option('container_command') != ''
+ # make sure command is working
+ cmd = get_option('container_command').split()
+ run_command([cmd, 'info'], check: true)
+ docker_supported = true
+ docker_wrapper = [docker_wrapper, '--command',
+ get_option('container_command')]
+ else
+ docker_probe = run_command(docker_wrapper, 'probe', check: false)
+ docker_supported = docker_probe.returncode() == 0
+ if docker_supported
+ docker_wrapper = [docker_wrapper, '--command',
+ docker_probe.stdout().strip()]
+ endif
+ endif
endif
# plugins come first, as we need to build the list