aboutsummaryrefslogtreecommitdiff
path: root/build2/config/utility
diff options
context:
space:
mode:
Diffstat (limited to 'build2/config/utility')
-rw-r--r--build2/config/utility15
1 files changed, 15 insertions, 0 deletions
diff --git a/build2/config/utility b/build2/config/utility
index beab758..c47cecf 100644
--- a/build2/config/utility
+++ b/build2/config/utility
@@ -55,6 +55,21 @@ namespace build2
return required (root, name, string (default_value), override);
}
+ // As above, but leave the unspecified value as undefined (and return
+ // NULL pointer) rather than setting it to the default value.
+ //
+ // This can be useful when we don't have a default value but may figure
+ // out some fallback. See config.bin.target for an example.
+ //
+ pair<const value*, bool>
+ required (scope& root, const variable&);
+
+ inline pair<const value*, bool>
+ required (scope& root, const string& name)
+ {
+ return required (root, var_pool.find (name));
+ }
+
// Set, if necessary, an optional config.* variable. In particular,
// an unspecified variable is set to NULL which is used to distinguish
// between the "configured as unspecified" and "not yet configured"