From f98262e37f608330fcfce799dcacc6fbacac8f8a Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 23 Apr 2018 14:25:58 +0200 Subject: Implement forwarded configurations and backlinking --- build2/algorithm.hxx | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) (limited to 'build2/algorithm.hxx') 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 -- cgit v1.1