From 037e5e9224648fdc9f3956d612fb476966847f5c Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 11 Aug 2021 11:07:09 +0200 Subject: Optimize process_libraries() some more --- libbuild2/target.cxx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'libbuild2/target.cxx') diff --git a/libbuild2/target.cxx b/libbuild2/target.cxx index a686fc2..24ad01e 100644 --- a/libbuild2/target.cxx +++ b/libbuild2/target.cxx @@ -146,7 +146,9 @@ namespace build2 } pair target:: - lookup_original (const variable& var, bool target_only) const + lookup_original (const variable& var, + bool target_only, + const scope* bs) const { pair r (lookup_type (), 0); @@ -185,10 +187,12 @@ namespace build2 target_key tk (key ()); target_key gk (g != nullptr ? g->key () : target_key {}); - auto p (base_scope ().lookup_original ( - var, - &tk, - g != nullptr ? &gk : nullptr)); + if (bs == nullptr) + bs = &base_scope (); + + auto p (bs->lookup_original (var, + &tk, + g != nullptr ? &gk : nullptr)); r.first = move (p.first); r.second = r.first ? r.second + p.second : p.second; -- cgit v1.1