summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2005-03-16 06:13:01 (GMT)
committerSteven Knight <knight@baldmt.com>2005-03-16 06:13:01 (GMT)
commit872f80574dad61ab2fb0ae696c21d331031607a9 (patch)
treed15a6452ba9b25e3fb2957a2e0ac95d653949331 /src
parentb2a22e297a90b6cefa56f436c452cf7c1c933aa0 (diff)
downloadSCons-872f80574dad61ab2fb0ae696c21d331031607a9.zip
SCons-872f80574dad61ab2fb0ae696c21d331031607a9.tar.gz
SCons-872f80574dad61ab2fb0ae696c21d331031607a9.tar.bz2
Actually support a global Entry name (since we already documented it).
Diffstat (limited to 'src')
-rw-r--r--src/CHANGES.txt3
-rw-r--r--src/engine/SCons/Environment.py5
-rw-r--r--src/engine/SCons/EnvironmentTests.py18
-rw-r--r--src/engine/SCons/Script/__init__.py1
4 files changed, 27 insertions, 0 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index 16b75f7..a934bf4 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -228,6 +228,9 @@ RELEASE 0.97 - XXX
- Add support for an Options.FormatOptionHelpText() method that can
be overridden to customize the format of Options help text.
+ - Add a global name for the Entry class (which had already been
+ documented).
+
From Wayne Lee:
- Avoid "maximum recursion limit" errors when removing $(-$) pairs
diff --git a/src/engine/SCons/Environment.py b/src/engine/SCons/Environment.py
index 2f11f06..405243c 100644
--- a/src/engine/SCons/Environment.py
+++ b/src/engine/SCons/Environment.py
@@ -1223,6 +1223,11 @@ class Base(SubstitutionEnvironment):
"""
return apply(self.fs.Dir, (self.subst(name),) + args, kw)
+ def Entry(self, name, *args, **kw):
+ """
+ """
+ return apply(self.fs.Entry, (self.subst(name),) + args, kw)
+
def Environment(self, **kw):
return apply(SCons.Environment.Environment, [], self.subst_kw(kw))
diff --git a/src/engine/SCons/EnvironmentTests.py b/src/engine/SCons/EnvironmentTests.py
index 1772407..0e5da86 100644
--- a/src/engine/SCons/EnvironmentTests.py
+++ b/src/engine/SCons/EnvironmentTests.py
@@ -2289,6 +2289,24 @@ f5: \
result = env.Execute("foo")
assert result == "foo executed", result
+ def test_Entry(self):
+ """Test the Entry() method"""
+ class MyFS:
+ def Entry(self, name):
+ return 'Entry(%s)' % name
+
+ env = Environment(FOO = 'fooentry', BAR = 'barentry')
+ env.fs = MyFS()
+
+ e = env.Entry('e')
+ assert e == 'Entry(e)', e
+
+ e = env.Entry('$FOO')
+ assert e == 'Entry(fooentry)', e
+
+ e = env.Entry('${BAR}_$BAR')
+ assert e == 'Entry(barentry_barentry)', e
+
def test_File(self):
"""Test the File() method"""
class MyFS:
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py
index 6d532d6..9de951b 100644
--- a/src/engine/SCons/Script/__init__.py
+++ b/src/engine/SCons/Script/__init__.py
@@ -221,6 +221,7 @@ GlobalDefaultEnvironmentFunctions = [
#The Command() method is handled separately, below.
'Depends',
'Dir',
+ 'Entry',
'Execute',
'File',
'FindFile',