aboutsummaryrefslogtreecommitdiff
path: root/build/b.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-12-10 13:54:59 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-12-10 13:54:59 +0200
commit0d0d9a9c56822919e9794658d31db57f8fc3e2bf (patch)
tree6dcb1649706dc7fc3f02cd5646b4611b3309fbd1 /build/b.cxx
parent5f29fc16fb85a934280e00e54bc6307685c4e05d (diff)
Implement two-phase initialization of modules loaded from bootstrap.build
Diffstat (limited to 'build/b.cxx')
-rw-r--r--build/b.cxx19
1 files changed, 12 insertions, 7 deletions
diff --git a/build/b.cxx b/build/b.cxx
index 3eab437..2193ff5 100644
--- a/build/b.cxx
+++ b/build/b.cxx
@@ -99,13 +99,18 @@ main (int argc, char* argv[])
// Register builtin modules.
//
- builtin_modules["config"] = &config::config_init;
- builtin_modules["dist"] = &dist::dist_init;
- builtin_modules["bin"] = &bin::bin_init;
- builtin_modules["cxx"] = &cxx::cxx_init;
- builtin_modules["cli"] = &cli::cli_init;
- builtin_modules["test"] = &test::test_init;
- builtin_modules["install"] = &install::install_init;
+ builtin_modules["config"] = module_functions {&config::config_boot,
+ &config::config_init};
+ builtin_modules["dist"] = module_functions {&dist::dist_boot,
+ &dist::dist_init};
+ builtin_modules["test"] = module_functions {&test::test_boot,
+ &test::test_init};
+ builtin_modules["install"] = module_functions {&install::install_boot,
+ &install::install_init};
+
+ builtin_modules["bin"] = module_functions {nullptr, &bin::bin_init};
+ builtin_modules["cxx"] = module_functions {nullptr, &cxx::cxx_init};
+ builtin_modules["cli"] = module_functions {nullptr, &cli::cli_init};
// Figure out work and home directories.
//