From feed07e16ff73c5f0b25f2ceb4c08177b5c0e3af Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 9 Jul 2020 14:39:33 +0200 Subject: Make sure update-for-{test,install} works for files out of any project --- libbuild2/install/init.cxx | 6 ++++++ libbuild2/test/init.cxx | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/libbuild2/install/init.cxx b/libbuild2/install/init.cxx index 14cf6ca..31e0f7a 100644 --- a/libbuild2/install/init.cxx +++ b/libbuild2/install/init.cxx @@ -334,6 +334,12 @@ namespace build2 bs.insert_rule (perform_install_id, "install.file", gr); bs.insert_rule (perform_uninstall_id, "uninstall.file", gr); + + // Register the fallback file rule for the update-for-install + // operation, similar to update. + // + rs.global_scope ().insert_rule ( + perform_install_id, "file", file_rule::instance); } // Configuration. diff --git a/libbuild2/test/init.cxx b/libbuild2/test/init.cxx index 7a07e76..02d0a42 100644 --- a/libbuild2/test/init.cxx +++ b/libbuild2/test/init.cxx @@ -208,8 +208,18 @@ namespace build2 { default_rule& dr (m); - rs.insert_rule (perform_test_id, "test", dr); - rs.insert_rule (perform_test_id, "test", dr); + // Note: register for mtime_target to take priority over the fallback + // rule below. + // + rs.insert_rule (perform_test_id, "test", dr); + rs.insert_rule (perform_test_id, "test", dr); + rs.insert_rule (perform_test_id, "test", dr); + + // Register the fallback file rule for the update-for-test operation, + // similar to update. + // + rs.global_scope ().insert_rule ( + perform_test_id, "file", file_rule::instance); } return true; -- cgit v1.1