aboutsummaryrefslogtreecommitdiff
path: root/build2/context.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-04-23 09:17:48 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-04-23 09:17:48 +0200
commit1b1d1434539c4c198caab4f3a45ade9e6827427b (patch)
treeea16012a180341af8d0771e6febdcd8ecb4d4714 /build2/context.cxx
parentdecfe7243b6eedb4ed3d1ac5005345745e5fce61 (diff)
Revert back to using root scope in src_out()/out_src()
Relaxing it to base was not wise since we can have "sideways" prerequisites (those from parallel directories such as brep's ../web/*).
Diffstat (limited to 'build2/context.cxx')
-rw-r--r--build2/context.cxx22
1 files changed, 12 insertions, 10 deletions
diff --git a/build2/context.cxx b/build2/context.cxx
index a27d4ff..000d3b2 100644
--- a/build2/context.cxx
+++ b/build2/context.cxx
@@ -407,31 +407,33 @@ namespace build2
}
dir_path
- src_out (const dir_path& out, scope& s)
+ src_out (const dir_path& out, scope& r)
{
- return src_out (out, s.out_path (), s.src_path ());
+ assert (r.root ());
+ return src_out (out, r.out_path (), r.src_path ());
}
dir_path
- out_src (const dir_path& src, scope& s)
+ out_src (const dir_path& src, scope& r)
{
- return out_src (src, s.out_path (), s.src_path ());
+ assert (r.root ());
+ return out_src (src, r.out_path (), r.src_path ());
}
dir_path
src_out (const dir_path& o,
- const dir_path& out_base, const dir_path& src_base)
+ const dir_path& out_root, const dir_path& src_root)
{
- assert (o.sub (out_base));
- return src_base / o.leaf (out_base);
+ assert (o.sub (out_root));
+ return src_root / o.leaf (out_root);
}
dir_path
out_src (const dir_path& s,
- const dir_path& out_base, const dir_path& src_base)
+ const dir_path& out_root, const dir_path& src_root)
{
- assert (s.sub (src_base));
- return out_base / s.leaf (src_base);
+ assert (s.sub (src_root));
+ return out_root / s.leaf (src_root);
}
// relative()