[PATCH v1 01/16] configure: allow disable of cross compilation containers

Alex Bennée posted 16 patches 6 years, 1 month ago
[PATCH v1 01/16] configure: allow disable of cross compilation containers
Posted by Alex Bennée 6 years, 1 month ago
Our docker infrastructure isn't quite as multiarch as we would wish so
lets allow the user to disable it if they want. This will allow us to
use still run check-tcg on non-x86 CI setups.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
---
 configure              | 8 +++++++-
 tests/tcg/configure.sh | 6 ++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index 2c72e04d23f..419e1554978 100755
--- a/configure
+++ b/configure
@@ -302,6 +302,7 @@ audio_win_int=""
 libs_qga=""
 debug_info="yes"
 stack_protector=""
+use_containers="yes"
 
 if test -e "$source_path/.git"
 then
@@ -1539,6 +1540,10 @@ for opt do
   ;;
   --disable-plugins) plugins="no"
   ;;
+  --enable-containers) use_containers="yes"
+  ;;
+  --disable-containers) use_containers="no"
+  ;;
   *)
       echo "ERROR: unknown option $opt"
       echo "Try '$0 --help' for more information"
@@ -1722,6 +1727,7 @@ Advanced options (experts only):
                            track the maximum stack usage of stacks created by qemu_alloc_stack
   --enable-plugins
                            enable plugins via shared library loading
+  --disable-containers     don't use containers for cross-building
 
 Optional features, enabled with --enable-FEATURE and
 disabled with --disable-FEATURE, default is enabled if available:
@@ -8023,7 +8029,7 @@ done
 (for i in $cross_cc_vars; do
   export $i
 done
-export target_list source_path
+export target_list source_path use_containers
 $source_path/tests/tcg/configure.sh)
 
 # temporary config to build submodules
diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
index 6c4a471aeae..210e68396f2 100755
--- a/tests/tcg/configure.sh
+++ b/tests/tcg/configure.sh
@@ -36,8 +36,10 @@ TMPC="${TMPDIR1}/qemu-conf.c"
 TMPE="${TMPDIR1}/qemu-conf.exe"
 
 container="no"
-if has "docker" || has "podman"; then
-  container=$($python $source_path/tests/docker/docker.py probe)
+if test $use_containers = "yes"; then
+    if has "docker" || has "podman"; then
+        container=$($python $source_path/tests/docker/docker.py probe)
+    fi
 fi
 
 # cross compilers defaults, can be overridden with --cross-cc-ARCH
-- 
2.20.1


Re: [PATCH v1 01/16] configure: allow disable of cross compilation containers
Posted by Philippe Mathieu-Daudé 6 years, 1 month ago
On 12/16/19 12:07 PM, Alex Bennée wrote:
> Our docker infrastructure isn't quite as multiarch as we would wish so
> lets allow the user to disable it if they want. This will allow us to
> use still run check-tcg on non-x86 CI setups.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Reviewed-by: Stefan Weil <sw@weilnetz.de>
> ---
>   configure              | 8 +++++++-
>   tests/tcg/configure.sh | 6 ++++--
>   2 files changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/configure b/configure
> index 2c72e04d23f..419e1554978 100755
> --- a/configure
> +++ b/configure
> @@ -302,6 +302,7 @@ audio_win_int=""
>   libs_qga=""
>   debug_info="yes"
>   stack_protector=""
> +use_containers="yes"
>   
>   if test -e "$source_path/.git"
>   then
> @@ -1539,6 +1540,10 @@ for opt do
>     ;;
>     --disable-plugins) plugins="no"
>     ;;
> +  --enable-containers) use_containers="yes"
> +  ;;
> +  --disable-containers) use_containers="no"
> +  ;;
>     *)
>         echo "ERROR: unknown option $opt"
>         echo "Try '$0 --help' for more information"
> @@ -1722,6 +1727,7 @@ Advanced options (experts only):
>                              track the maximum stack usage of stacks created by qemu_alloc_stack
>     --enable-plugins
>                              enable plugins via shared library loading
> +  --disable-containers     don't use containers for cross-building

Maybe we can "(default enabled if detected)" or "(... if docker or 
podman available)".

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

>   
>   Optional features, enabled with --enable-FEATURE and
>   disabled with --disable-FEATURE, default is enabled if available:
> @@ -8023,7 +8029,7 @@ done
>   (for i in $cross_cc_vars; do
>     export $i
>   done
> -export target_list source_path
> +export target_list source_path use_containers
>   $source_path/tests/tcg/configure.sh)
>   
>   # temporary config to build submodules
> diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
> index 6c4a471aeae..210e68396f2 100755
> --- a/tests/tcg/configure.sh
> +++ b/tests/tcg/configure.sh
> @@ -36,8 +36,10 @@ TMPC="${TMPDIR1}/qemu-conf.c"
>   TMPE="${TMPDIR1}/qemu-conf.exe"
>   
>   container="no"
> -if has "docker" || has "podman"; then
> -  container=$($python $source_path/tests/docker/docker.py probe)
> +if test $use_containers = "yes"; then
> +    if has "docker" || has "podman"; then
> +        container=$($python $source_path/tests/docker/docker.py probe)
> +    fi
>   fi
>   
>   # cross compilers defaults, can be overridden with --cross-cc-ARCH
> 


Re: [PATCH v1 01/16] configure: allow disable of cross compilation containers
Posted by Richard Henderson 6 years, 1 month ago
On 12/16/19 1:07 AM, Alex Bennée wrote:
> Our docker infrastructure isn't quite as multiarch as we would wish so
> lets allow the user to disable it if they want. This will allow us to
> use still run check-tcg on non-x86 CI setups.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Reviewed-by: Stefan Weil <sw@weilnetz.de>
> ---
>  configure              | 8 +++++++-
>  tests/tcg/configure.sh | 6 ++++--
>  2 files changed, 11 insertions(+), 3 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Richard Henderson <richard.henderson@linaro.org>


r~