diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2022-10-28 08:16:50 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2022-10-28 08:16:50 +0200 |
commit | 6b06c5dc0f6a8e33ca0fbe98fd36522ca6f3432d (patch) | |
tree | 3cd8b3b24a86484a92a5be76ddfeb995725530da /libbuild2/b.cli | |
parent | 6b9dbfaaf2b3dfdf3627b57c7f15c6a3cd105f35 (diff) |
Add ability to disable diagnostics buffering (--no-diag-buffer)
Diffstat (limited to 'libbuild2/b.cli')
-rw-r--r-- | libbuild2/b.cli | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/libbuild2/b.cli b/libbuild2/b.cli index 5ea3325..4b5e459 100644 --- a/libbuild2/b.cli +++ b/libbuild2/b.cli @@ -608,7 +608,10 @@ namespace build2 investigate build failures that are caused by build system errors rather than compilation errors. Note that if you don't want to keep going but still want parallel execution, add \cb{--jobs|-j} (for - example \cb{-j\ 0} for default concurrency)." + example \cb{-j\ 0} for default concurrency). Note also that during + serial execution there is no diagnostics buffering and child + process' \cb{stderr} is a terminal (unless redirected; see + \cb{--no-diag-buffer} for details)." } bool --dry-run|-n @@ -622,6 +625,19 @@ namespace build2 this mode." } + bool --no-diag-buffer + { + "Do not buffer diagnostics from child processes. By default, unless + running serially, such diagnostics is buffered and printed all at + once after each child exits in order to prevent interleaving. + However, this can have side-effects since the child process' + \cb{stderr} is no longer a terminal. Most notably, the use of + color in diagnostics will be disabled by most programs. On the + other hand, depending on the platform and programs invoked, the + interleaving diagnostics may not break lines and thus could be + tolerable." + } + bool --match-only { "Match the rules but do not execute the operation. This mode is primarily |