summaryrefslogtreecommitdiffstats
path: root/src/boost/tools/build/src/util/option.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/tools/build/src/util/option.py')
-rw-r--r--src/boost/tools/build/src/util/option.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/boost/tools/build/src/util/option.py b/src/boost/tools/build/src/util/option.py
new file mode 100644
index 000000000..33a1b8d75
--- /dev/null
+++ b/src/boost/tools/build/src/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.txt or
+# https://www.bfgroup.xyz/b2/LICENSE.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.get(name) is not None:
+ return options[name]
+ else:
+ return default_value