From 4be404cd8b7f4c7b450364defea92cd02e9b7a62 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 21 Jul 2015 15:51:54 +0200 Subject: 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. --- build/cli/target | 2 +- build/cli/target.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'build/cli') 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)} -- cgit v1.1