diff options
Diffstat (limited to 'libbuild2/in/rule.hxx')
-rw-r--r-- | libbuild2/in/rule.hxx | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libbuild2/in/rule.hxx b/libbuild2/in/rule.hxx index bd0d15a..67c2509 100644 --- a/libbuild2/in/rule.hxx +++ b/libbuild2/in/rule.hxx @@ -22,6 +22,11 @@ namespace build2 // cache data (e.g., in match() or apply()) to be used in substitute() and // lookup() calls. // + // A derived rule is also required to derive the target file name in + // match() instead of apply() to make it available early for the in{} + // prerequisite search (see install::file_rule::apply_impl() for + // background). + // // Note also that currently this rule ignores the dry-run mode (see // perform_update() for the rationale). // @@ -54,6 +59,7 @@ namespace build2 // Customization hooks and helpers. // + using substitution_map = map<string, optional<string>>; // Perform prerequisite search. // @@ -89,6 +95,7 @@ namespace build2 action, const target&, const string& name, optional<uint64_t> flags, + const substitution_map*, const optional<string>& null) const; // Perform variable substitution. Return nullopt if it should be @@ -100,6 +107,7 @@ namespace build2 const string& name, optional<uint64_t> flags, bool strict, + const substitution_map*, const optional<string>& null) const; // Call the above version and do any necessary depdb saving. @@ -111,6 +119,7 @@ namespace build2 const string& name, optional<uint64_t> flags, bool strict, + const substitution_map*, const optional<string>& null) const; // Process a line of input from the specified position performing any @@ -124,6 +133,7 @@ namespace build2 const char* newline, char sym, bool strict, + const substitution_map*, const optional<string>& null) const; // Replace newlines in a multi-line value with the given newline |