From ed79e798327c9d18c2b5b2dfea8ad98b4d69f883 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 30 Nov 2015 15:28:07 +0200 Subject: Tighten unresolved group logic Now a wildcard/fallback rule should explicitly detect and handle unresolved situation. --- build/dist/rule.cxx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'build/dist') diff --git a/build/dist/rule.cxx b/build/dist/rule.cxx index b5e1185..80e7b05 100644 --- a/build/dist/rule.cxx +++ b/build/dist/rule.cxx @@ -26,13 +26,21 @@ namespace build { const dir_path& out_root (t.root_scope ().out_path ()); - for (prerequisite_member p: group_prerequisite_members (a, t)) + auto r (group_prerequisite_members (a, t, false)); + for (auto i (r.begin ()); i != r.end (); ++i) { + prerequisite_member p (*i); + // Skip prerequisites imported from other projects. // if (p.proj () != nullptr) continue; + // If we can, go inside see-through groups. + // + if (p.type ().see_through && i.enter_group ()) + continue; + target& pt (p.search ()); // Don't match targets that are outside of our project. -- cgit v1.1