aboutsummaryrefslogtreecommitdiff
path: root/build2/in/rule.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'build2/in/rule.hxx')
-rw-r--r--build2/in/rule.hxx23
1 files changed, 19 insertions, 4 deletions
diff --git a/build2/in/rule.hxx b/build2/in/rule.hxx
index 17fbaed..9c40e4f 100644
--- a/build2/in/rule.hxx
+++ b/build2/in/rule.hxx
@@ -41,23 +41,38 @@ namespace build2
virtual recipe
apply (action, target&) const override;
+ virtual target_state
+ perform_update (action, const target&) const;
+
+ // Customization hooks.
+ //
+
+ // Perform prerequisite search.
+ //
+ virtual prerequisite_target
+ search (action,
+ const target&,
+ const prerequisite_member&,
+ include_type) const;
+
// Perform variable lookup.
//
virtual string
- lookup (const location&, const target&, const string& name) const;
+ lookup (const location&,
+ action,
+ const target&,
+ const string& name) const;
// Perform variable substitution. Return nullopt if it should be
// ignored.
//
virtual optional<string>
substitute (const location&,
+ action,
const target&,
const string& name,
bool strict) const;
- target_state
- perform_update (action, const target&) const;
-
protected:
const string rule_id_;
const string program_;