aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/dist/rule.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-11-30 09:08:53 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-11-30 09:08:53 +0200
commit3bbbe09e8629ab5311a1bcbb9f56aa6a33e36f55 (patch)
treef3f6ab4fc633d98ae5a215ba4529b07849ba6792 /libbuild2/dist/rule.hxx
parentd593b19735eec451b091fd46e4cb066e3478d6c9 (diff)
Deal with order dependence in dist rule
Diffstat (limited to 'libbuild2/dist/rule.hxx')
-rw-r--r--libbuild2/dist/rule.hxx11
1 files changed, 10 insertions, 1 deletions
diff --git a/libbuild2/dist/rule.hxx b/libbuild2/dist/rule.hxx
index a864015..ec6c41a 100644
--- a/libbuild2/dist/rule.hxx
+++ b/libbuild2/dist/rule.hxx
@@ -11,6 +11,8 @@
#include <libbuild2/action.hxx>
#include <libbuild2/target.hxx>
+#include <libbuild2/dist/types.hxx>
+
namespace build2
{
namespace dist
@@ -26,13 +28,20 @@ namespace build2
class rule: public simple_rule
{
public:
- rule () {}
+ explicit
+ rule (postponed_prerequisites& p): postponed_ (p) {}
virtual bool
match (action, target&) const override;
virtual recipe
apply (action, target&) const override;
+
+ static void
+ match_postponed (action, const target&, const prerequisite&);
+
+ private:
+ postponed_prerequisites& postponed_;
};
}
}