aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/algorithm.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2024-02-14 08:39:58 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2024-02-14 08:39:58 +0200
commit53b6896e48aaa6ee2b414bd36275263c57b490f8 (patch)
tree823488269e1a9d586e64fdc06d24435f2a134c5e /libbuild2/algorithm.hxx
parent3d39584285e4b39e7290bea9b2e4006cd1cf8a10 (diff)
Avoid duplicate fsdir{} in inject_fsdir(), match_prerequisite*() call sequences
Diffstat (limited to 'libbuild2/algorithm.hxx')
-rw-r--r--libbuild2/algorithm.hxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/libbuild2/algorithm.hxx b/libbuild2/algorithm.hxx
index 64660a9..1c5b717 100644
--- a/libbuild2/algorithm.hxx
+++ b/libbuild2/algorithm.hxx
@@ -659,8 +659,13 @@ namespace build2
//
// As an extension, unless prereq is false, this function will also search
// for an existing fsdir{} prerequisite for the directory and if one exists,
- // return that (even if the target is in src tree). This can be used, for
- // example, to place output into an otherwise non-existent directory.
+ // return that (even if the target is in the src tree). In this case, the
+ // injected fsdir{} (if any) must be the first prerequisite in this target's
+ // prerequisite_targets, which is relied upon by the match_prerequisite*()
+ // family of functons to suppress the duplicate addition.
+ //
+ // Note that the explicit fsdir{} prerquiste is used to place output into an
+ // otherwise non-existent (in src) directory.
//
LIBBUILD2_SYMEXPORT const fsdir*
inject_fsdir (action, target&,