aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/in/rule.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-09-02 10:29:15 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-09-02 10:29:15 +0200
commit8ecc09653d70fe8df4fc9fcd7214ba85e6db9c9c (patch)
tree7c5a8bbe8899faa10100dcf8b09b1e66f7d2900d /libbuild2/in/rule.hxx
parentce69ad7c2aaf517ec3f789300bf1ae29d8f0dc5d (diff)
Add ability to specify `in` rule substitution as key-value pairs
Diffstat (limited to 'libbuild2/in/rule.hxx')
-rw-r--r--libbuild2/in/rule.hxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/libbuild2/in/rule.hxx b/libbuild2/in/rule.hxx
index bd0d15a..369fd93 100644
--- a/libbuild2/in/rule.hxx
+++ b/libbuild2/in/rule.hxx
@@ -54,6 +54,7 @@ namespace build2
// Customization hooks and helpers.
//
+ using substitution_map = map<string, optional<string>>;
// Perform prerequisite search.
//
@@ -89,6 +90,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 +102,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 +114,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 +128,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