Re: [gentoo-dev] [PATCH 1/2] ninja-utils.eclass: Add NINJA_VERBOSE

2023-07-18 Thread Mike Gilbert
On Mon, Jul 17, 2023 at 11:21 AM Matt Turner  wrote:
>
> ninja operates in one of three modes:
>  - verbose (with -v): prints build commands
>  - quiet (with --quiet): prints nothing
>  - normal: prints [XX/YY]-style build status updates
>
> samurai works the same way, except it does not have a quiet mode.
>
> Thus we can't simply override ninja-utils' hard-coded flag from callers
> of eninja.

Seems ok to me.



[gentoo-dev] [PATCH 1/2] ninja-utils.eclass: Add NINJA_VERBOSE

2023-07-17 Thread Matt Turner
ninja operates in one of three modes:
 - verbose (with -v): prints build commands
 - quiet (with --quiet): prints nothing
 - normal: prints [XX/YY]-style build status updates

samurai works the same way, except it does not have a quiet mode.

Thus we can't simply override ninja-utils' hard-coded flag from callers
of eninja.

Signed-off-by: Matt Turner 
---
 eclass/ninja-utils.eclass | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/eclass/ninja-utils.eclass b/eclass/ninja-utils.eclass
index e6d8c9e6c0a9..26ba31678f01 100644
--- a/eclass/ninja-utils.eclass
+++ b/eclass/ninja-utils.eclass
@@ -48,6 +48,12 @@ _NINJA_UTILS_ECLASS=1
 # supposed to be set in make.conf. If unset, eninja() will convert
 # MAKEOPTS instead.
 
+# @ECLASS_VARIABLE: NINJA_VERBOSE
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Set to OFF to disable verbose messages during compilation
+: "${NINJA_VERBOSE:=ON}"
+
 inherit multiprocessing
 
 case "${NINJA}" in
@@ -80,7 +86,12 @@ get_NINJAOPTS() {
 # also supports being called via 'nonfatal'.
 eninja() {
[[ -n "${NINJA_DEPEND}" ]] || ewarn "Unknown value '${NINJA}' for 
\${NINJA}"
-   set -- "${NINJA}" -v $(get_NINJAOPTS) "$@"
+   local v
+   case "${NINJA_VERBOSE}" in
+   OFF) ;;
+   *) v="-v"
+   esac
+   set -- "${NINJA}" ${v} $(get_NINJAOPTS) "$@"
echo "$@" >&2
"$@" || die -n "${*} failed"
 }
-- 
2.41.0