tests/tcg/configure.sh: tweak quoting of target_compiler
authorAlex Bennée <alex.bennee@linaro.org>
Thu, 27 May 2021 16:03:16 +0000 (17:03 +0100)
committerAlex Bennée <alex.bennee@linaro.org>
Mon, 7 Jun 2021 13:42:47 +0000 (14:42 +0100)
If you configure the host compiler with a multi-command stanza like:

  --cc="ccache gcc"

then the configure.sh machinery falls over with confusion. Work around
this by ensuring we correctly quote so where we need a complete
evaluation we get it. Of course the has() check needs single variable
so we need to unquote that. This does mean it essentially checks that
just the ccache command exits but if we got past that step we still
check the compiler actually does something.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>
Message-Id: <20210527160319.19834-4-alex.bennee@linaro.org>

tests/tcg/configure.sh

index ed6492ce59b1810f25c03b06014d57186fed3b1f..aa7c24328a7971d82aaa1b8d1fc3c375bbd0691e 100755 (executable)
@@ -222,10 +222,10 @@ for target in $target_list; do
 
   got_cross_cc=no
 
-  if eval test "x\${cross_cc_$arch}" != xyes; then
-      eval "target_compiler=\${cross_cc_$arch}"
+  if eval test "x\"\${cross_cc_$arch}\"" != xyes; then
+      eval "target_compiler=\"\${cross_cc_$arch}\""
 
-      if has "$target_compiler"; then
+      if has $target_compiler; then
           if test "$supress_clang" = yes &&
                   $target_compiler --version | grep -qi "clang"; then
               got_cross_cc=no