aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/install/rule.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'libbuild2/install/rule.cxx')
-rw-r--r--libbuild2/install/rule.cxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/libbuild2/install/rule.cxx b/libbuild2/install/rule.cxx
index 3543286..b4b4a01 100644
--- a/libbuild2/install/rule.cxx
+++ b/libbuild2/install/rule.cxx
@@ -298,6 +298,13 @@ namespace build2
recipe file_rule::
apply (action a, target& t) const
{
+ recipe r (apply_impl (a, t));
+ return r != nullptr ? r : noop_recipe;
+ }
+
+ recipe file_rule::
+ apply_impl (action a, target& t) const
+ {
tracer trace ("install::file_rule::apply");
// Note that we are called both as the outer part during the update-for-
@@ -307,10 +314,10 @@ namespace build2
// In both cases we first determine if the target is installable and
// return noop if it's not. Otherwise, in the first case (update-for-
// un/install) we delegate to the normal update and in the second
- // (un/install) -- perform the test.
+ // (un/install) -- perform the install.
//
if (!lookup_install<path> (t, "install"))
- return noop_recipe;
+ return empty_recipe;
// In both cases, the next step is to search, match, and collect all the
// installable prerequisites.