aboutsummaryrefslogtreecommitdiff
path: root/build2/spec.cxx
diff options
context:
space:
mode:
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;