aboutsummaryrefslogtreecommitdiff
path: root/build2/algorithm.ixx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-02-14 15:17:56 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-02-14 15:17:56 +0200
commit568aab7f19cc9bbb42c7fb4afef541a79459d657 (patch)
treedb9324f02442bb82fadfc14da7f57feded9deab0 /build2/algorithm.ixx
parent4e665067ff264c55086fdfb776a95b0fbb4d432c (diff)
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.
Diffstat (limited to 'build2/algorithm.ixx')
-rw-r--r--build2/algorithm.ixx8
1 files changed, 2 insertions, 6 deletions
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