aboutsummaryrefslogtreecommitdiff
path: root/build2/bash/rule.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-07-21 16:33:07 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-07-21 16:33:07 +0200
commit063b1a3c038ace6e1d9f8c49c04bf82dd9034828 (patch)
tree34ad2bcb78197256e6492332eb1b8187e02d81da /build2/bash/rule.hxx
parent77cf6f1cd3cdaa5c84ca191ad03d58b6355821fc (diff)
Install bash module prerequisites for amalgamation rather than project
This is similar to what we do for shared libraries in cc::install_rule.
Diffstat (limited to 'build2/bash/rule.hxx')
-rw-r--r--build2/bash/rule.hxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/build2/bash/rule.hxx b/build2/bash/rule.hxx
index 9957970..5110f97 100644
--- a/build2/bash/rule.hxx
+++ b/build2/bash/rule.hxx
@@ -58,8 +58,12 @@ namespace build2
const string&) const;
};
- // Installation rule for bash scripts (exe{}) and modules (bash{}) that
- // signals to in_rule that this is update for install.
+ // Installation rule for bash scripts (exe{}) and modules (bash{}). Here
+ // we do:
+ //
+ // 1. Signal to in_rule that this is update for install.
+ //
+ // 2. Custom filtering of prerequisites.
//
class install_rule: public install::file_rule
{
@@ -72,6 +76,9 @@ namespace build2
virtual recipe
apply (action, target&) const override;
+ virtual const target*
+ filter (action, const target&, const prerequisite&) const override;
+
private:
const in_rule& in_;
};