diff options
Diffstat (limited to 'jam-files/boost-build/util/option.py')
| -rw-r--r-- | jam-files/boost-build/util/option.py | 35 | 
1 files changed, 35 insertions, 0 deletions
diff --git a/jam-files/boost-build/util/option.py b/jam-files/boost-build/util/option.py new file mode 100644 index 00000000..47d6abdf --- /dev/null +++ b/jam-files/boost-build/util/option.py @@ -0,0 +1,35 @@ +#  Copyright (c) 2005-2010 Vladimir Prus. +# +#  Use, modification and distribution is subject to the Boost Software +#  License Version 1.0. (See accompanying file LICENSE_1_0.txt or +#  http://www.boost.org/LICENSE_1_0.txt) + +import sys +import re +import b2.util.regex + +options = {} + +# Set a value for a named option, to be used when not overridden on the command +# line. +def set(name, value=None): +     +    global options +     +    options[name] = value + +def get(name, default_value=None, implied_value=None): + +    global options + +    matches = b2.util.regex.transform(sys.argv, "--" + re.escape(name) + "=(.*)") +    if matches: +        return matches[-1] +    else: +        m = b2.util.regex.transform(sys.argv, "--(" + re.escape(name) + ")") +        if m and implied_value: +            return implied_value +        elif options.has_key(name) and options[name] != None: +            return options[name] +        else: +            return default_value  | 
