aboutsummaryrefslogtreecommitdiff
path: root/build/cli
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-07-21 15:51:54 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-07-21 15:51:54 +0200
commit4be404cd8b7f4c7b450364defea92cd02e9b7a62 (patch)
treef8f0aac622dfd9d30d1900b958ecea9505265502 /build/cli
parent10604d850510e46b2ee625548abe5eb9a1172a0d (diff)
Improve nested operations support
The idea is this: we need to be able to override "conditional, inner for outer" recipes with the "unconditional inner" ones. Here is the concrete scenario: we have {update, test} action and the lib{} target that is both mentioned as a prerequisite of ./ and exe{}, which is a test. At first, we want to ignore lib{} when reached as a prerequisite of ./. But then we get to it via exe{} (which is a test and thus should be updated). At this point we should override the recipe for lib{} with the one that would update it rather than ignore.
Diffstat (limited to 'build/cli')
-rw-r--r--build/cli/target2
-rw-r--r--build/cli/target.cxx2
2 files changed, 2 insertions, 2 deletions
diff --git a/build/cli/target b/build/cli/target
index 06bc311..7ee9a98 100644
--- a/build/cli/target
+++ b/build/cli/target
@@ -47,7 +47,7 @@ namespace build
};
virtual group_view
- group_members (action) const;
+ group_members (action_type) const;
virtual timestamp
load_mtime () const;
diff --git a/build/cli/target.cxx b/build/cli/target.cxx
index d8280f2..e8ca1cf 100644
--- a/build/cli/target.cxx
+++ b/build/cli/target.cxx
@@ -30,7 +30,7 @@ namespace build
// cli.cxx
//
group_view cli_cxx::
- group_members (action) const
+ group_members (action_type) const
{
return h != nullptr
? group_view {m, (i != nullptr ? 3U : 2U)}