diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2024-02-14 08:39:58 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2024-02-14 08:39:58 +0200 |
commit | 53b6896e48aaa6ee2b414bd36275263c57b490f8 (patch) | |
tree | 823488269e1a9d586e64fdc06d24435f2a134c5e /libbuild2/algorithm.hxx | |
parent | 3d39584285e4b39e7290bea9b2e4006cd1cf8a10 (diff) |
Avoid duplicate fsdir{} in inject_fsdir(), match_prerequisite*() call sequences
Diffstat (limited to 'libbuild2/algorithm.hxx')
-rw-r--r-- | libbuild2/algorithm.hxx | 9 |
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&, |