aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/algorithm.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-10-26 12:33:34 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-10-26 12:37:28 +0200
commitd3b4636ca3f4c3ad98c8096326c5b1460d05691d (patch)
tree8d3e8564cd8019f8ea94b31fbff21ce747ef23cd /libbuild2/algorithm.hxx
parenta3d5de5dfecc694d15f23ed03d13cb108dda3e1b (diff)
Add inject_fsdir_direct(), fsdir_rule::perform_clean_direct() functions
Diffstat (limited to 'libbuild2/algorithm.hxx')
-rw-r--r--libbuild2/algorithm.hxx12
1 files changed, 9 insertions, 3 deletions
diff --git a/libbuild2/algorithm.hxx b/libbuild2/algorithm.hxx
index 5ebbee2..983e7f5 100644
--- a/libbuild2/algorithm.hxx
+++ b/libbuild2/algorithm.hxx
@@ -565,9 +565,9 @@ namespace build2
// Inject dependency on the target's directory fsdir{}, unless it is in the
// src tree or is outside of any project (say, for example, an installation
// directory). If the parent argument is true, then inject the parent
- // directory of a target that is itself a directory (name is empty). Return
- // the injected target or NULL. Normally this function is called from the
- // rule's apply() function.
+ // directory of a target that is itself a directory (name is empty). Match
+ // and return the injected target or NULL. Normally this function is called
+ // from the rule's apply() function.
//
// As an extension, unless prereq is false, this function will also search
// for an existing fsdir{} prerequisite for the directory and if one exists,
@@ -577,6 +577,12 @@ namespace build2
LIBBUILD2_SYMEXPORT const fsdir*
inject_fsdir (action, target&, bool prereq = true, bool parent = true);
+ // As above, but match the injected fsdir{} target directly (that is,
+ // without incrementing the dependency counts).
+ //
+ LIBBUILD2_SYMEXPORT const fsdir*
+ inject_fsdir_direct (action, target&, bool prereq = true, bool parent = true);
+
// Execute the action on target, assuming a rule has been matched and the
// recipe for this action has been set. This is the synchrounous executor
// implementation that waits for completion if the target is already being