aboutsummaryrefslogtreecommitdiff
path: root/build2/bash/rule.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'build2/bash/rule.cxx')
-rw-r--r--build2/bash/rule.cxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/build2/bash/rule.cxx b/build2/bash/rule.cxx
index 4266c89..d12e743 100644
--- a/build2/bash/rule.cxx
+++ b/build2/bash/rule.cxx
@@ -422,5 +422,20 @@ namespace build2
return r;
}
+
+ const target* install_rule::
+ filter (action a, const target& t, const prerequisite& p) const
+ {
+ // If this is a module prerequisite, install it as long as it is in the
+ // same amalgamation as we are.
+ //
+ if (p.is_a<bash> ())
+ {
+ const target& pt (search (t, p));
+ return pt.in (t.weak_scope ()) ? &pt : nullptr;
+ }
+ else
+ return file_rule::filter (a, t, p);
+ }
}
}