aboutsummaryrefslogtreecommitdiff
path: root/build/config/operation.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'build/config/operation.cxx')
-rw-r--r--build/config/operation.cxx15
1 files changed, 13 insertions, 2 deletions
diff --git a/build/config/operation.cxx b/build/config/operation.cxx
index 295a38a..abe4e22 100644
--- a/build/config/operation.cxx
+++ b/build/config/operation.cxx
@@ -101,13 +101,24 @@ namespace build
{
const variable& var (p.first->first);
const value& val (p.first->second);
+ const string& n (var.name);
// Skip special variables.
//
- if (var.name == "config.loaded" ||
- var.name == "config.configured")
+ if (n == "config.loaded" ||
+ n == "config.configured")
continue;
+ // We will only write config.*.configured if it is false
+ // (true is implied by its absence).
+ //
+ if (n.size () > 11 &&
+ n.compare (n.size () - 11, 11, ".configured") == 0)
+ {
+ if (val == nullptr || as<bool> (val))
+ continue;
+ }
+
// Warn the user if the value that we are saving differs
// from the one they specified on the command line.
//