diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-07-31 12:52:20 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-07-31 12:52:20 +0200 |
commit | bbd0f3bb21442a2833916110cbe8e9a07e9f4c1f (patch) | |
tree | d25de6f2bcfa4b6cabe1fd55a1b8f508005de4c1 /build/test/rule.cxx | |
parent | 729b56300c441a0d63c7d2013eb5a881211d352b (diff) |
Essential install module functionality
Diffstat (limited to 'build/test/rule.cxx')
-rw-r--r-- | build/test/rule.cxx | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/build/test/rule.cxx b/build/test/rule.cxx index da17d61..6e82d8d 100644 --- a/build/test/rule.cxx +++ b/build/test/rule.cxx @@ -5,7 +5,6 @@ #include <build/test/rule> #include <butl/process> -#include <butl/fdstream> #include <build/scope> #include <build/target> @@ -31,6 +30,9 @@ namespace build bool r (false); value_proxy v; + // @@ This logic doesn't take into account target type/pattern- + // specific variables. + // for (auto p (t.vars.find_namespace ("test")); p.first != p.second; ++p.first) @@ -62,7 +64,7 @@ namespace build if (!r) { - // See if the is a scope variable. + // See if there is a scope variable. // if (!v) v.rebind (t.base_scope ()[string("test.") + t.type ().name]); @@ -103,7 +105,7 @@ namespace build { tracer trace ("test::rule::apply"); - if (!mr.value) // Not a test. + if (!mr.bvalue) // Not a test. return noop_recipe; // In case of test, we don't do anything for other meta-operations. @@ -116,7 +118,7 @@ namespace build // 1. This target is a test. // 2. The action is either // a. (perform, test, 0) or - // b. (*, update, 0) + // b. (*, update, install) // // In both cases, the next step is to see if we have test.{input, // output,roundtrip}. @@ -207,7 +209,7 @@ namespace build { build::match (a, *it); - if (file_rule::uptodate (a, *it)) + if (it->state () == target_state::unchanged) it = nullptr; } @@ -215,7 +217,7 @@ namespace build { build::match (a, *ot); - if (file_rule::uptodate (a, *ot)) + if (ot->state () == target_state::unchanged) ot = nullptr; } else @@ -229,7 +231,7 @@ namespace build recipe d (match_delegate (a, t).first); // If we have no input/output that needs updating, then simply - // redirect to it + // redirect to it. // if (it == nullptr && ot == nullptr) return d; |