diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-04-23 14:25:58 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-04-26 09:38:09 +0200 |
commit | f98262e37f608330fcfce799dcacc6fbacac8f8a (patch) | |
tree | 080ef26d80ee6419ef3a2f27434d75136f502cb2 /build2/algorithm.hxx | |
parent | c414abe13450e2b4e204f6368ba83c8916de1ebd (diff) |
Implement forwarded configurations and backlinking
Diffstat (limited to 'build2/algorithm.hxx')
-rw-r--r-- | build2/algorithm.hxx | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/build2/algorithm.hxx b/build2/algorithm.hxx index 62c312f..e736626 100644 --- a/build2/algorithm.hxx +++ b/build2/algorithm.hxx @@ -181,13 +181,23 @@ namespace build2 lock (action, const target&); // Add an ad hoc member to the end of the chain assuming that an already - // existing member of this target type is the same. + // existing member of this target type is the same. Return the locked member + // target. // + target_lock + add_adhoc_member (action, + target&, + const target_type&, + const dir_path& dir, + const dir_path& out, + const string& name); + // If the suffix is specified, it is added (as an extension) to the member's - // target name. Return the locked member target. + // target name. // target_lock - add_adhoc_member (action, target&, + add_adhoc_member (action, + target&, const target_type&, const char* suffix = nullptr); @@ -632,6 +642,21 @@ namespace build2 { return clean_extra (a, f, {extra}); } + + // Update/clean a backlink issuing appropriate diagnostics at appropriate + // levels depending on first/changed. + // + void + update_backlink (const file&, const path& link, bool changed); + + void + update_backlink (const path& target, const path& link, bool changed); + + void + update_backlink (const path& target, const path& link); + + void + clean_backlink (const path& link, uint16_t verbosity); } #include <build2/algorithm.ixx> |