From afca05688dd09da5cc0cc23e72def813562e80db Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 4 Aug 2017 12:45:08 +0200 Subject: Implement sidebuilding of installed modules --- build2/cxx/init.cxx | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'build2/cxx') diff --git a/build2/cxx/init.cxx b/build2/cxx/init.cxx index 6c8cbad..4ec2894 100644 --- a/build2/cxx/init.cxx +++ b/build2/cxx/init.cxx @@ -367,6 +367,8 @@ namespace build2 // v.insert ("cxx.preprocessed"), + nullptr, // cxx.features.symexport (set in init() below). + v.insert ("cxx.std", variable_visibility::project), v.insert ("cxx.id"), @@ -442,17 +444,20 @@ namespace build2 if (!cast_false (rs["cxx.config.loaded"])) load_module (rs, rs, "cxx.config", loc, false, hints); + config_module& cm (*rs.modules.lookup ("cxx.config")); + auto& vp (var_pool.rw (rs)); bool modules (cast (rs["cxx.features.modules"])); - bool symexport ( - modules && - cast_false ( - rs[vp.insert ("cxx.features.symexport", - variable_visibility::project)])); - - config_module& cm (*rs.modules.lookup ("cxx.config")); + bool symexport (false); + if (modules) + { + auto& var (vp.insert ("cxx.features.symexport", + variable_visibility::project)); + symexport = cast_false (rs[var]); + cm.x_symexport = &var; + } cc::data d { cm, -- cgit v1.1