diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2020-01-29 09:19:06 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2020-01-29 09:19:06 +0200 |
commit | c4fcbad1cb603756dc4dac65392feb86be1a722d (patch) | |
tree | da9c9c2278c63d20237a7178fde450d7472a59c9 /libbuild2/cc | |
parent | ccb417a7c1456427b76914e8a11ca87b4926eeb3 (diff) |
Rename module_base to module, redo module boot/init argument passing
Diffstat (limited to 'libbuild2/cc')
-rw-r--r-- | libbuild2/cc/init.cxx | 28 | ||||
-rw-r--r-- | libbuild2/cc/module.hxx | 4 |
2 files changed, 14 insertions, 18 deletions
diff --git a/libbuild2/cc/init.cxx b/libbuild2/cc/init.cxx index 0536e0f..436de3b 100644 --- a/libbuild2/cc/init.cxx +++ b/libbuild2/cc/init.cxx @@ -62,10 +62,9 @@ namespace build2 core_vars_init (scope& rs, scope&, const location& loc, - unique_ptr<module_base>&, bool first, bool, - const variable_map&) + module_init_extra&) { tracer trace ("cc::core_vars_init"); l5 ([&]{trace << "for " << rs;}); @@ -159,16 +158,17 @@ namespace build2 core_guess_init (scope& rs, scope&, const location& loc, - unique_ptr<module_base>&, bool first, bool, - const variable_map& h) + module_init_extra& extra) { tracer trace ("cc::core_guess_init"); l5 ([&]{trace << "for " << rs;}); assert (first); + auto& h (extra.hints); + // Load cc.core.vars. // load_module (rs, rs, "cc.core.vars", loc); @@ -232,10 +232,9 @@ namespace build2 core_config_init (scope& rs, scope&, const location& loc, - unique_ptr<module_base>&, bool first, bool, - const variable_map& hints) + module_init_extra& extra) { tracer trace ("cc::core_config_init"); l5 ([&]{trace << "for " << rs;}); @@ -296,7 +295,7 @@ namespace build2 h.assign ("config.bin.target") = cast<target_triplet> (rs["cc.target"]).string (); - if (auto l = hints["config.bin.pattern"]) + if (auto l = extra.hints["config.bin.pattern"]) h.assign ("config.bin.pattern") = cast<string> (l); } @@ -342,10 +341,9 @@ namespace build2 core_init (scope& rs, scope&, const location& loc, - unique_ptr<module_base>&, bool first, bool, - const variable_map& hints) + module_init_extra& extra) { tracer trace ("cc::core_init"); l5 ([&]{trace << "for " << rs;}); @@ -356,7 +354,7 @@ namespace build2 // Load cc.core.config. // - load_module (rs, rs, "cc.core.config", loc, hints); + load_module (rs, rs, "cc.core.config", loc, extra.hints); // Load the bin module. // @@ -433,34 +431,32 @@ namespace build2 config_init (scope& rs, scope& bs, const location& loc, - unique_ptr<module_base>&, bool, bool, - const variable_map& hints) + module_init_extra& extra) { tracer trace ("cc::config_init"); return init_alias (trace, rs, bs, "cc.config", "c.config", "c.config.loaded", "cxx.config", "cxx.config.loaded", - loc, hints); + loc, extra.hints); } bool init (scope& rs, scope& bs, const location& loc, - unique_ptr<module_base>&, bool, bool, - const variable_map& hints) + module_init_extra& extra) { tracer trace ("cc::init"); return init_alias (trace, rs, bs, "cc", "c", "c.loaded", "cxx", "cxx.loaded", - loc, hints); + loc, extra.hints); } static const module_functions mod_functions[] = diff --git a/libbuild2/cc/module.hxx b/libbuild2/cc/module.hxx index 77fe55c..5c7b8ab 100644 --- a/libbuild2/cc/module.hxx +++ b/libbuild2/cc/module.hxx @@ -25,7 +25,7 @@ namespace build2 { struct compiler_info; - class LIBBUILD2_CC_SYMEXPORT config_module: public module_base, + class LIBBUILD2_CC_SYMEXPORT config_module: public build2::module, public virtual config_data { public: @@ -81,7 +81,7 @@ namespace build2 bool new_; // See guess() and init() for details. }; - class LIBBUILD2_CC_SYMEXPORT module: public module_base, + class LIBBUILD2_CC_SYMEXPORT module: public build2::module, public virtual common, link_rule, compile_rule, |