aboutsummaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-09-11 13:07:40 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-09-11 13:07:40 +0200
commitf57f97a7fde4ebe69c160530d61fcd958aac0cf3 (patch)
treee63b484343fc8cd5fc891dc6df832e28dd2981ae /build
parent7dd559dd8a8924a30414f0a3cb0538fa7ff58454 (diff)
Preserve pairs in expansion
Diffstat (limited to 'build')
-rw-r--r--build/parser.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/build/parser.cxx b/build/parser.cxx
index 65be0bc..227e5b3 100644
--- a/build/parser.cxx
+++ b/build/parser.cxx
@@ -523,6 +523,8 @@ namespace build
p /= path ("buildfile");
}
+ level6 ([&]{trace (l) << "relative path " << p;});
+
// Determine new out_base.
//
dir_path out_base;
@@ -563,6 +565,8 @@ namespace build
if (p.relative ())
p = scope_->src_path () / p.leaf ();
+ level6 ([&]{trace (l) << "absolute path " << p;});
+
if (!root_->buildfiles.insert (p).second) // Note: may be "new" root.
{
level5 ([&]{trace (l) << "skipping already included " << p;});
@@ -1263,6 +1267,8 @@ namespace build
(dp1 != nullptr ? *dp1 : dir_path ()),
(tp1 != nullptr ? *tp1 : string ()),
n.value);
+
+ ns.back ().pair = n.pair;
}
count = lv.size ();