aboutsummaryrefslogtreecommitdiff
path: root/build2/context.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-02-22 18:27:00 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-02-22 18:27:00 +0200
commit5ab4bc13f618b75937dce33d497e370b212561c2 (patch)
tree743ff4a2ba750cd40a8616dfba3b9fbcfa6e34f6 /build2/context.hxx
parenta63b31e2469ecf5977260355dc3a6c826facbf68 (diff)
Make dist diagnostics tidier yet
Diffstat (limited to 'build2/context.hxx')
-rw-r--r--build2/context.hxx11
1 files changed, 10 insertions, 1 deletions
diff --git a/build2/context.hxx b/build2/context.hxx
index 7702564..846dee2 100644
--- a/build2/context.hxx
+++ b/build2/context.hxx
@@ -296,6 +296,13 @@ namespace build2
extern execution_mode current_mode;
+ // Some diagnostics (for example output directory creation/removal by the
+ // fsdir rule) is just noise at verbosity level 1 unless it is the only
+ // thing that is printed. So we can only suppress it in certain situations
+ // (e.g., dist) where we know we have already printed something.
+ //
+ extern bool current_diag_noise;
+
// Total number of dependency relationships and targets with non-noop
// recipe in the current action.
//
@@ -322,13 +329,15 @@ namespace build2
inline void
set_current_oif (const operation_info& inner_oif,
- const operation_info* outer_oif = nullptr)
+ const operation_info* outer_oif = nullptr,
+ bool diag_noise = true)
{
current_oname = (outer_oif == nullptr ? inner_oif : *outer_oif).name;
current_inner_oif = &inner_oif;
current_outer_oif = outer_oif;
current_on++;
current_mode = inner_oif.mode;
+ current_diag_noise = diag_noise;
// Reset counters (serial execution).
//