Gentoo Archives: gentoo-dev

From: James Le Cuirot <chewi@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Cc: James Le Cuirot <chewi@g.o>
Subject: [gentoo-dev] [PATCH 1/2] waf-utils.eclass: Simplify output of configure command and arguments
Date: Wed, 09 Jan 2019 22:08:56
Message-Id: 20190109220817.12006-1-chewi@gentoo.org
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 <chewi@g.o>
---
 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}"
+	env "${CMD[@]}" || die "configure failed"
 }
 
 # @FUNCTION: waf-utils_src_compile
-- 
2.19.2

Replies