Optimize multiple module loads

This commit is contained in:
Boris Kolpackov 2023-04-21 13:02:35 +02:00
parent 19cd67c1fa
commit f18022d006

View File

@ -19,13 +19,15 @@ namespace build2
init (scope& rs, init (scope& rs,
scope& bs, scope& bs,
const location& l, const location& l,
bool, bool first,
bool, bool,
module_init_extra&) module_init_extra&)
{ {
tracer trace ("autoconf::init"); tracer trace ("autoconf::init");
l5 ([&]{trace << "for " << bs;}); l5 ([&]{trace << "for " << bs;});
if (first)
{
// Load in.base (in.* variables, in{} target type). // Load in.base (in.* variables, in{} target type).
// //
load_module (rs, rs, "in.base", l); load_module (rs, rs, "in.base", l);
@ -55,8 +57,8 @@ namespace build2
// Alias map. The key is the new name and the value is the aliased // Alias map. The key is the new name and the value is the aliased
// (old) name. // (old) name.
// //
// Note that this map is only consulted when resolving build-in checks // Note that this map is only consulted when resolving build-in
// and the names should include the prefix, if any. // checks and the names should include the prefix, if any.
// //
vp.insert<map<string, string>> ("autoconf.aliases"); vp.insert<map<string, string>> ("autoconf.aliases");
} }
@ -73,6 +75,7 @@ namespace build2
rs.insert_rule<file> (perform_update_id, "autoconf.in", rule_); rs.insert_rule<file> (perform_update_id, "autoconf.in", rule_);
rs.insert_rule<file> (perform_clean_id, "autoconf.in", rule_); rs.insert_rule<file> (perform_clean_id, "autoconf.in", rule_);
rs.insert_rule<file> (configure_update_id, "autoconf.in", rule_); rs.insert_rule<file> (configure_update_id, "autoconf.in", rule_);
}
return true; return true;
} }