diff options
Diffstat (limited to 'libbuild2/dist/rule.hxx')
-rw-r--r-- | libbuild2/dist/rule.hxx | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/libbuild2/dist/rule.hxx b/libbuild2/dist/rule.hxx index e63016d..69ab3d9 100644 --- a/libbuild2/dist/rule.hxx +++ b/libbuild2/dist/rule.hxx @@ -11,6 +11,10 @@ #include <libbuild2/action.hxx> #include <libbuild2/target.hxx> +#include <libbuild2/dist/types.hxx> + +#include <libbuild2/export.hxx> + namespace build2 { namespace dist @@ -19,20 +23,28 @@ namespace build2 // // A custom rule (usually the same as perform_update) may be necessary to // establish group links (so that we see the dist variable set on a group) - // or to see through non-see-through groups (like lib{}; see the - // bin::lib_rule for an example). Note that in the latter case the rule - // should "see" all its members for the dist case. + // or to see through non-see-through groups (like lib{}, obj{}; see rule + // in the bin module for an example). Note that in the latter case the + // rule should "see" all its members for the dist case. // - class rule: public simple_rule + class LIBBUILD2_SYMEXPORT rule: public simple_rule { public: rule () {} + // Always matches (returns true). + // virtual bool - match (action, target&, const string&) const override; + match (action, target&) const override; + // Matches all the prerequisites (including from group) and returns + // noop_recipe (which will never be executed). + // virtual recipe apply (action, target&) const override; + + static void + match_postponed (const postponed_prerequisite&); }; } } |