diff options
Diffstat (limited to 'build2/config/utility')
-rw-r--r-- | build2/config/utility | 15 |
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" |