aboutsummaryrefslogtreecommitdiff
path: root/build2/target.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'build2/target.cxx')
-rw-r--r--build2/target.cxx25
1 files changed, 15 insertions, 10 deletions
diff --git a/build2/target.cxx b/build2/target.cxx
index 8541deb..cdecfd3 100644
--- a/build2/target.cxx
+++ b/build2/target.cxx
@@ -117,7 +117,7 @@ namespace build2
}
pair<lookup, size_t> target::
- find_original (const variable& var) const
+ find_original (const variable& var, bool target_only) const
{
pair<lookup, size_t> r (lookup (), 0);
@@ -147,15 +147,20 @@ namespace build2
//
if (!r.first)
{
- auto p (base_scope ().find_original (
- var,
- &type (),
- &name,
- g != nullptr ? &g->type () : nullptr,
- g != nullptr ? &g->name : nullptr));
-
- r.first = move (p.first);
- r.second = r.first ? r.second + p.second : p.second;
+ if (!target_only)
+ {
+ auto p (base_scope ().find_original (
+ var,
+ &type (),
+ &name,
+ g != nullptr ? &g->type () : nullptr,
+ g != nullptr ? &g->name : nullptr));
+
+ r.first = move (p.first);
+ r.second = r.first ? r.second + p.second : p.second;
+ }
+ else
+ r.second = size_t (~0);
}
return r;