diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2020-03-30 15:30:08 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2020-03-31 07:32:46 +0200 |
commit | dfb51bc816cde2cb345f8a0300205e6ac95a2065 (patch) | |
tree | ad5996b87bb3829f7058aa990fab65940b575249 /libbuild2/cc | |
parent | 65340a0a897c91b580db1de0bab026a0814c5d74 (diff) |
Switch to project variable visibility by default
Diffstat (limited to 'libbuild2/cc')
-rw-r--r-- | libbuild2/cc/init.cxx | 24 | ||||
-rw-r--r-- | libbuild2/cc/module.cxx | 9 |
2 files changed, 18 insertions, 15 deletions
diff --git a/libbuild2/cc/init.cxx b/libbuild2/cc/init.cxx index 723b678..8d66376 100644 --- a/libbuild2/cc/init.cxx +++ b/libbuild2/cc/init.cxx @@ -74,7 +74,7 @@ namespace build2 // load_module (rs, rs, "bin.vars", loc); - // Enter variables. Note: some overridable, some not. + // Enter variables. // auto& vp (rs.var_pool ()); @@ -82,11 +82,11 @@ namespace build2 // NOTE: remember to update documentation if changing anything here. // - vp.insert<strings> ("config.cc.poptions", true); - vp.insert<strings> ("config.cc.coptions", true); - vp.insert<strings> ("config.cc.loptions", true); - vp.insert<strings> ("config.cc.aoptions", true); - vp.insert<strings> ("config.cc.libs", true); + vp.insert<strings> ("config.cc.poptions"); + vp.insert<strings> ("config.cc.coptions"); + vp.insert<strings> ("config.cc.loptions"); + vp.insert<strings> ("config.cc.aoptions"); + vp.insert<strings> ("config.cc.libs"); vp.insert<strings> ("cc.poptions"); vp.insert<strings> ("cc.coptions"); @@ -101,11 +101,11 @@ namespace build2 // Hint variables (not overridable). // - vp.insert<string> ("config.cc.id"); - vp.insert<string> ("config.cc.hinter"); // Hinting module. - vp.insert<string> ("config.cc.pattern"); - vp.insert<strings> ("config.cc.mode"); - vp.insert<target_triplet> ("config.cc.target"); + vp.insert<string> ("config.cc.id", false); + vp.insert<string> ("config.cc.hinter", false); // Hinting module. + vp.insert<string> ("config.cc.pattern", false); + vp.insert<strings> ("config.cc.mode", false); + vp.insert<target_triplet> ("config.cc.target", false); // Compiler runtime and C standard library. // @@ -137,7 +137,7 @@ namespace build2 // Ability to disable using preprocessed output for compilation. // - vp.insert<bool> ("config.cc.reprocess", true); + vp.insert<bool> ("config.cc.reprocess"); vp.insert<bool> ("cc.reprocess"); // Register scope operation callback. diff --git a/libbuild2/cc/module.cxx b/libbuild2/cc/module.cxx index d6c337d..2b2604b 100644 --- a/libbuild2/cc/module.cxx +++ b/libbuild2/cc/module.cxx @@ -78,7 +78,7 @@ namespace build2 // Must be the same as in module's init(). // - const variable& v (vp.insert<strings> ("config." + m, true)); + const variable& v (vp.insert<strings> ("config." + m)); if (rs[v].defined ()) { @@ -358,8 +358,11 @@ namespace build2 // @@ There are actually two cases to this issue: // // 1. The module is loaded in the outer project (e.g., tests inside a - // project). It feels like this should be handled with project- - // specific variable visibility. + // project). It feels like this should be handled with project + // variable visibility. And now it is with the project being the + // default. Note that this is the reason we don't need any of this + // for the project configuration: there the config.* variables are + // always set on the project root. // // 2. The module is loaded in the outer scope within the same // project. We are currently thinking whether we should even |