From da89007801070651f592575f73dd4130dc324998 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 14 Feb 2022 11:58:58 +0200 Subject: Implement package skeleton loading and enable and reflect clauses evaluation --- bpkg/bpkg.cxx | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) (limited to 'bpkg/bpkg.cxx') diff --git a/bpkg/bpkg.cxx b/bpkg/bpkg.cxx index 6ec376b..03e63ea 100644 --- a/bpkg/bpkg.cxx +++ b/bpkg/bpkg.cxx @@ -16,16 +16,21 @@ // #include #include +#include #include #include #include +#include +#include +#include +#include + #include #include #include #include #include -#include #include #include @@ -419,6 +424,7 @@ init (const char* argv0, // Build system driver. // if (bsys) + try { // For now we use the same verbosity as us (equivalent to start_b() with // verb_b::normal). @@ -443,12 +449,19 @@ init (const char* argv0, nullopt /* config_sub */, nullopt /* config_guess */); - build2::bin::build2_bin_load (); - build2::cc::build2_cc_load (); - build2::c::build2_c_load (); - build2::cxx::build2_cxx_load (); - build2::version::build2_version_load (); - build2::in::build2_in_load (); + using build2::load_builtin_module; + + load_builtin_module (&build2::config::build2_config_load); + load_builtin_module (&build2::dist::build2_dist_load); + load_builtin_module (&build2::test::build2_test_load); + load_builtin_module (&build2::install::build2_install_load); + + load_builtin_module (&build2::bin::build2_bin_load); + load_builtin_module (&build2::cc::build2_cc_load); + load_builtin_module (&build2::c::build2_c_load); + load_builtin_module (&build2::cxx::build2_cxx_load); + load_builtin_module (&build2::version::build2_version_load); + load_builtin_module (&build2::in::build2_in_load); // Serial execution. // @@ -461,6 +474,10 @@ init (const char* argv0, build2_mutexes.init (build2_sched.shard_size ()); build2_fcache.init (true); } + catch (const build2::failed&) + { + throw failed (); // Assume the diagnostics has already been issued. + } return o; } -- cgit v1.1