aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/target.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-11-01 09:42:57 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-11-01 10:36:28 +0200
commitae9baf01f2a9627b7f1f2dc9db349d89c992f740 (patch)
tree15acf856697d604b3df4e8f80dd09d938dff3295 /libbuild2/target.hxx
parent50f9844b8a97aa06edf09b6d8a538721a0cd24ea (diff)
Add support for adjusting match options of post hoc prerequisites
Diffstat (limited to 'libbuild2/target.hxx')
-rw-r--r--libbuild2/target.hxx12
1 files changed, 11 insertions, 1 deletions
diff --git a/libbuild2/target.hxx b/libbuild2/target.hxx
index f537d59..83e6994 100644
--- a/libbuild2/target.hxx
+++ b/libbuild2/target.hxx
@@ -269,6 +269,15 @@ namespace build2
static constexpr uint64_t all_options = ~uint64_t (0);
+ // The list of post hoc prerequisite targets for this target. Only not
+ // NULL in rule::apply_posthoc() and rule::reapply() functions and only if
+ // there are post hoc prerequisites. Primarily useful for adjusting match
+ // options for post hoc prerequisites (but can also be used to blank some
+ // of them out).
+ //
+ vector<context::posthoc_target::prerequisite_target>*
+ posthoc_prerequisite_targets;
+
// Auxiliary data storage.
//
// A rule (whether matches or not) may use this pad to pass data between
@@ -340,7 +349,8 @@ namespace build2
explicit
match_extra (bool l = true, bool f = false)
: locked (l), fallback (f),
- cur_options (all_options), new_options (0) {}
+ cur_options (all_options), new_options (0),
+ posthoc_prerequisite_targets (nullptr) {}
void
reinit (bool fallback);