aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/module.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-01-20 13:46:11 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-02-03 14:35:45 +0200
commit934f2a9a90c5cad3cdc8a66b50c17827a3ddbcee (patch)
treef35f106e5369e98350327c79080c571195234c0b /build2/cc/module.cxx
parent280f4a5bf787587227ca193cd59c6bd74091db70 (diff)
Get rid of action rule override semantics
Instead we now have two more or less separate match states for outer and inner parts of an action.
Diffstat (limited to 'build2/cc/module.cxx')
-rw-r--r--build2/cc/module.cxx33
1 files changed, 17 insertions, 16 deletions
diff --git a/build2/cc/module.cxx b/build2/cc/module.cxx
index c56bca9..ae64220 100644
--- a/build2/cc/module.cxx
+++ b/build2/cc/module.cxx
@@ -499,8 +499,8 @@ namespace build2
// We register for configure so that we detect unresolved imports
// during configuration rather that later, e.g., during update.
//
- const compile& cr (*this);
- const link& lr (*this);
+ const compile_rule& cr (*this);
+ const link_rule& lr (*this);
r.insert<obje> (perform_update_id, x_compile, cr);
r.insert<obje> (perform_clean_id, x_compile, cr);
@@ -559,26 +559,27 @@ namespace build2
//
if (install_loaded)
{
- const file_install& fr (*this);
- const alias_install& ar (*this);
+ const install_rule& ir (*this);
- r.insert<exe> (perform_install_id, x_install, fr);
- r.insert<exe> (perform_uninstall_id, x_uninstall, fr);
+ r.insert<exe> (perform_install_id, x_install, ir);
+ r.insert<exe> (perform_uninstall_id, x_uninstall, ir);
- r.insert<liba> (perform_install_id, x_install, fr);
- r.insert<liba> (perform_uninstall_id, x_uninstall, fr);
+ r.insert<liba> (perform_install_id, x_install, ir);
+ r.insert<liba> (perform_uninstall_id, x_uninstall, ir);
- r.insert<libs> (perform_install_id, x_install, fr);
- r.insert<libs> (perform_uninstall_id, x_uninstall, fr);
+ r.insert<libs> (perform_install_id, x_install, ir);
+ r.insert<libs> (perform_uninstall_id, x_uninstall, ir);
- r.insert<libue> (perform_install_id, x_install, ar);
- r.insert<libue> (perform_uninstall_id, x_uninstall, ar);
+ const libux_install_rule& lr (*this);
- r.insert<libua> (perform_install_id, x_install, ar);
- r.insert<libua> (perform_uninstall_id, x_uninstall, ar);
+ r.insert<libue> (perform_install_id, x_install, lr);
+ r.insert<libue> (perform_uninstall_id, x_uninstall, lr);
- r.insert<libus> (perform_install_id, x_install, ar);
- r.insert<libus> (perform_uninstall_id, x_uninstall, ar);
+ r.insert<libua> (perform_install_id, x_install, lr);
+ r.insert<libua> (perform_uninstall_id, x_uninstall, lr);
+
+ r.insert<libus> (perform_install_id, x_install, lr);
+ r.insert<libus> (perform_uninstall_id, x_uninstall, lr);
}
}
}