aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/rule.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'libbuild2/rule.cxx')
-rw-r--r--libbuild2/rule.cxx27
1 files changed, 23 insertions, 4 deletions
diff --git a/libbuild2/rule.cxx b/libbuild2/rule.cxx
index 49da7cb..6dad685 100644
--- a/libbuild2/rule.cxx
+++ b/libbuild2/rule.cxx
@@ -332,16 +332,16 @@ namespace build2
//
const dir_path adhoc_rule::recipes_build_dir ("recipes");
- optional<action> adhoc_rule::
+ bool adhoc_rule::
reverse_fallback (action, const target_type&) const
{
- return nullopt;
+ return false;
}
bool adhoc_rule::
- match (action, target&, const string&, match_extra&) const
+ match (action a, target& t, const string& h, match_extra& me) const
{
- return true;
+ return pattern == nullptr || pattern->match (a, t, h, me);
}
void adhoc_rule::
@@ -392,4 +392,23 @@ namespace build2
return target_state::unchanged;
}
+
+ // adhoc_rule_pattern (vtable)
+ //
+ adhoc_rule_pattern::
+ ~adhoc_rule_pattern ()
+ {
+ }
+
+ bool adhoc_rule_pattern::fallback_rule::
+ match (action, target&, const string&, match_extra&) const
+ {
+ return false;
+ }
+
+ recipe adhoc_rule_pattern::fallback_rule::
+ apply (action, target&, match_extra&) const
+ {
+ return empty_recipe;
+ }
}