summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons
diff options
context:
space:
mode:
authorAdam Gross <grossag@vmware.com>2020-01-15 00:44:24 (GMT)
committerAdam Gross <grossag@vmware.com>2020-01-15 00:44:24 (GMT)
commit50154d0eb7afc564cb13e47c7524fcf2f6ff0450 (patch)
tree89f52f7a3d33c350592a7eba98dc5580bbbff6b7 /src/engine/SCons
parent589b0a4a29353df1d1fe4177eae578fc6754f7ac (diff)
downloadSCons-50154d0eb7afc564cb13e47c7524fcf2f6ff0450.zip
SCons-50154d0eb7afc564cb13e47c7524fcf2f6ff0450.tar.gz
SCons-50154d0eb7afc564cb13e47c7524fcf2f6ff0450.tar.bz2
Add name parameter as requested in PR
Diffstat (limited to 'src/engine/SCons')
-rw-r--r--src/engine/SCons/Environment.py4
-rw-r--r--src/engine/SCons/Node/Python.py9
-rw-r--r--src/engine/SCons/Node/PythonTests.py5
3 files changed, 13 insertions, 5 deletions
diff --git a/src/engine/SCons/Environment.py b/src/engine/SCons/Environment.py
index 3e23196..099d143 100644
--- a/src/engine/SCons/Environment.py
+++ b/src/engine/SCons/Environment.py
@@ -2220,10 +2220,10 @@ class Base(SubstitutionEnvironment):
else:
return [self.subst(arg)]
- def Value(self, value, built_value=None):
+ def Value(self, value, built_value=None, name=None):
"""
"""
- return SCons.Node.Python.ValueWithMemo(value, built_value)
+ return SCons.Node.Python.ValueWithMemo(value, built_value, name)
def VariantDir(self, variant_dir, src_dir, duplicate=1):
variant_dir = self.arg2nodes(variant_dir, self.fs.Dir)[0]
diff --git a/src/engine/SCons/Node/Python.py b/src/engine/SCons/Node/Python.py
index 385a645..8437385 100644
--- a/src/engine/SCons/Node/Python.py
+++ b/src/engine/SCons/Node/Python.py
@@ -88,7 +88,7 @@ class Value(SCons.Node.Node):
NodeInfo = ValueNodeInfo
BuildInfo = ValueBuildInfo
- def __init__(self, value, built_value=None):
+ def __init__(self, value, built_value=None, name=None):
SCons.Node.Node.__init__(self)
self.value = value
self.changed_since_last_build = 6
@@ -98,7 +98,10 @@ class Value(SCons.Node.Node):
# Set a name so it can be a child of a node and not break
# its parent's implementation of Node.get_contents.
- self.name = value
+ if name:
+ self.name = name
+ else:
+ self.name = str(value)
def str_for_display(self):
return repr(self.value)
@@ -181,7 +184,7 @@ class Value(SCons.Node.Node):
return contents
-def ValueWithMemo(value, built_value=None):
+def ValueWithMemo(value, built_value=None, name=None):
global _memo_lookup_map
# No current support for memoizing a value that needs to be built.
diff --git a/src/engine/SCons/Node/PythonTests.py b/src/engine/SCons/Node/PythonTests.py
index da71074..302bb59 100644
--- a/src/engine/SCons/Node/PythonTests.py
+++ b/src/engine/SCons/Node/PythonTests.py
@@ -64,6 +64,11 @@ class ValueTestCase(unittest.TestCase):
v2.build()
assert v2.built_value == 'faked', v2.built_value
+ v3 = SCons.Node.Python.Value(b'\x00\x0F', name='name')
+ v3.executor = fake_executor()
+ v3.build()
+ assert v3.built_value == 'faked', v3.built_value
+
def test_read(self):
"""Test the Value.read() method
"""