From 568aab7f19cc9bbb42c7fb4afef541a79459d657 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sun, 14 Feb 2016 15:17:56 +0200 Subject: Revert back to only cleaning targets in subdirectories Cleaning everything as long as it is in the same strong amalgamation had some undesirable side effects. For example, in bpkg, upgrading a package (which requires clean/reconfigure) led to all its prerequisite being cleaned as well and then rebuilt. That was very surprising. --- build2/algorithm.ixx | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'build2/algorithm.ixx') diff --git a/build2/algorithm.ixx b/build2/algorithm.ixx index 19eb7e7..a405c30 100644 --- a/build2/algorithm.ixx +++ b/build2/algorithm.ixx @@ -101,11 +101,7 @@ namespace build2 search_and_match_prerequisites (action a, target& t) { search_and_match_prerequisites ( - a, - t, - a.operation () != clean_id - ? dir_path () - : t.strong_scope ().out_path ()); + a, t, a.operation () != clean_id ? dir_path () : t.dir); } inline void @@ -118,7 +114,7 @@ namespace build2 // through groups since the group target should clean eveything // up. A bit of an optimization. // - search_and_match_prerequisites (a, t, t.strong_scope ().out_path ()); + search_and_match_prerequisites (a, t, t.dir); } target_state -- cgit v1.1