From 76be0a35f6c37cda7ba65530330f1ac246fb52a8 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 6 Apr 2022 11:26:52 +0200 Subject: Add support for rule hints A rule hint is a target attribute, for example: [rule_hint=cxx] exe{hello}: c{hello} Rule hints can be used to resolve ambiguity when multiple rules match the same target as well as to override an unambiguous match. --- build2/cli/rule.cxx | 2 +- build2/cli/rule.hxx | 2 +- build2/cli/target.cxx | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'build2') diff --git a/build2/cli/rule.cxx b/build2/cli/rule.cxx index 5c03d9c..a11380e 100644 --- a/build2/cli/rule.cxx +++ b/build2/cli/rule.cxx @@ -41,7 +41,7 @@ namespace build2 } bool compile_rule:: - match (action a, target& t, const string&) const + match (action a, target& t) const { tracer trace ("cli::compile_rule::match"); diff --git a/build2/cli/rule.hxx b/build2/cli/rule.hxx index b3ecc2c..0538c57 100644 --- a/build2/cli/rule.hxx +++ b/build2/cli/rule.hxx @@ -29,7 +29,7 @@ namespace build2 compile_rule (data&& d): data (move (d)) {} virtual bool - match (action, target&, const string&) const override; + match (action, target&) const override; virtual recipe apply (action, target&) const override; diff --git a/build2/cli/target.cxx b/build2/cli/target.cxx index ca16044..37eee97 100644 --- a/build2/cli/target.cxx +++ b/build2/cli/target.cxx @@ -23,7 +23,7 @@ namespace build2 &target_pattern_var, nullptr, &file_search, - false + target_type::flag::none }; // cli.cxx @@ -69,7 +69,7 @@ namespace build2 nullptr, nullptr, &target_search, - true // "See through" default iteration mode. + target_type::flag::see_through // Group with "see through" iteration. }; } } -- cgit v1.1