aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/install/rule.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-10-30 10:38:53 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-10-30 10:38:53 +0200
commita49b6fff2ba25bf9150f89a4ecfc2c707ba633de (patch)
tree11357685757f09f2a8af6814dca78634b747da0c /libbuild2/install/rule.hxx
parentf13e621eea57a7a7df2c9cc6c5a3012081a129e3 (diff)
WIP: install: complete reapply() for libu
Diffstat (limited to 'libbuild2/install/rule.hxx')
-rw-r--r--libbuild2/install/rule.hxx17
1 files changed, 17 insertions, 0 deletions
diff --git a/libbuild2/install/rule.hxx b/libbuild2/install/rule.hxx
index 04ac9a7..b023af5 100644
--- a/libbuild2/install/rule.hxx
+++ b/libbuild2/install/rule.hxx
@@ -56,6 +56,23 @@ namespace build2
virtual recipe
apply (action, target&, match_extra&) const override;
+ // Implementation of apply().
+ //
+ // If the implementation may call reapply_impl(), then the reapply
+ // argument to apply_impl() must be true. Note that in this case, the
+ // *_impl() functions use the prerequisite_target::data member for own
+ // housekeeping.
+ //
+ recipe
+ apply_impl (action, target&, match_extra&, bool reapply = false) const;
+
+ // Implementation of reapply() that re-tries prerequisites that have
+ // been filtered out during the reapply() call. Note that currently not
+ // supported for update, only for install/uninstall.
+ //
+ void
+ reapply_impl (action, target&, match_extra&) const;
+
alias_rule () {}
static const alias_rule instance;