On Wed, 2019-01-09 at 22:08 +0000, James Le Cuirot wrote:
> We can just assign these to an array and echo before executing. Using
> @Q makes Bash quote the output. This only works in Bash 4.4 and later
> but on earlier versions, it simply doesn't quote.
> 
> Signed-off-by: James Le Cuirot <ch...@gentoo.org>
> ---
>  eclass/waf-utils.eclass | 20 +++++++++++++-------
>  1 file changed, 13 insertions(+), 7 deletions(-)
> 
> diff --git a/eclass/waf-utils.eclass b/eclass/waf-utils.eclass
> index 878068fc9f4f..8387829648a3 100644
> --- a/eclass/waf-utils.eclass
> +++ b/eclass/waf-utils.eclass
> @@ -1,4 +1,4 @@
> -# Copyright 1999-2015 Gentoo Foundation
> +# Copyright 1999-2019 Gentoo Authors
>  # Distributed under the terms of the GNU General Public License v2
>  
>  # @ECLASS: waf-utils.eclass
> @@ -84,13 +84,19 @@ waf-utils_src_configure() {
>       [[ -z ${NO_WAF_LIBDIR} ]] && 
> libdir=(--libdir="${EPREFIX}/usr/$(get_libdir)")
>  
>       tc-export AR CC CPP CXX RANLIB
> -     echo "CCFLAGS=\"${CFLAGS}\" LINKFLAGS=\"${CFLAGS} ${LDFLAGS}\" 
> \"${WAF_BINARY}\" --prefix=${EPREFIX}/usr ${libdir[@]} $@ configure"
>  
> -     CCFLAGS="${CFLAGS}" LINKFLAGS="${CFLAGS} ${LDFLAGS}" "${WAF_BINARY}" \
> -             "--prefix=${EPREFIX}/usr" \
> -             "${libdir[@]}" \
> -             "${@}" \
> -             configure || die "configure failed"
> +     local CMD=(
> +             CCFLAGS="${CFLAGS}"
> +             LINKFLAGS="${CFLAGS} ${LDFLAGS}"
> +             "${WAF_BINARY}"
> +             "--prefix=${EPREFIX}/usr"
> +             "${libdir[@]}"
> +             "${@}"
> +             configure
> +     )
> +
> +     echo "${CMD[@]@Q}"

>&2

> +     env "${CMD[@]}" || die "configure failed"
>  }
>  
>  # @FUNCTION: waf-utils_src_compile

-- 
Best regards,
Michał Górny

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to