commit: 385957565ea319259586571fb931e2df01bdf215
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 17 15:11:25 2023 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Jul 18 20:51:54 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38595756
ninja-utils.eclass: Add NINJA_VERBOSE
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 <mattst88 <AT> gentoo.org>
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 fa1aa137ea73..5a211e81131d 100644
--- a/eclass/ninja-utils.eclass
+++ b/eclass/ninja-utils.eclass
@@ -47,6 +47,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
@@ -79,7 +85,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"
}