On 27/05/2021 18.03, Alex Bennée wrote:
> 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>
> Cc: Thomas Huth <thuth@redhat.com>
> ---
> tests/tcg/configure.sh | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
> index ed6492ce59..aa7c24328a 100755
> --- a/tests/tcg/configure.sh
> +++ b/tests/tcg/configure.sh
> @@ -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
>
Reviewed-by: Thomas Huth <thuth@redhat.com>