aboutsummaryrefslogtreecommitdiff
path: root/build2/spec.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-01-23 11:14:05 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-01-23 11:14:05 +0200
commitdb0edaafe15831ba6fa9c2109da37942506c62b1 (patch)
tree320dfcbf16b553c162cd079d633f16b6054b9740 /build2/spec.cxx
parent19c37866524f60a7710b256dd13bf1da9f8cff16 (diff)
Cleanup absolute/relative path diagnostics by introducing stream verbosity
Diffstat (limited to 'build2/spec.cxx')
-rw-r--r--build2/spec.cxx16
1 files changed, 12 insertions, 4 deletions
diff --git a/build2/spec.cxx b/build2/spec.cxx
index 89ed9c8..3f02d87 100644
--- a/build2/spec.cxx
+++ b/build2/spec.cxx
@@ -18,10 +18,18 @@ namespace build2
{
if (!s.src_base.empty ())
{
- string d (diag_relative (s.src_base, false));
-
- if (!d.empty ())
- os << d << '@';
+ // Avoid printing './' in './@...', similar to what we do for the
+ // {target,prerequisite}_key.
+ //
+ if (stream_verb (os) < 2)
+ {
+ const string& r (diag_relative (s.src_base, false));
+
+ if (!r.empty ())
+ os << r << '@';
+ }
+ else
+ os << s.src_base << '@';
}
os << s.name;