summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/man/scons.18
-rw-r--r--src/CHANGES.txt2
-rw-r--r--src/engine/SCons/Defaults.py1
-rw-r--r--src/engine/SCons/Environment.py2
-rw-r--r--test/Install/INSTALLSTR.py52
-rw-r--r--test/Install/Install.py (renamed from test/Install.py)0
-rw-r--r--test/Install/InstallAs.py (renamed from test/InstallAs.py)0
7 files changed, 64 insertions, 1 deletions
diff --git a/doc/man/scons.1 b/doc/man/scons.1
index 47a89ce..aed9e05 100644
--- a/doc/man/scons.1
+++ b/doc/man/scons.1
@@ -6072,6 +6072,14 @@ is the construction environment
(a dictionary of construction values)
in force for this file installation.
+.IP INSTALLSTR
+The string displayed when a file is
+installed into a destination file name.
+The default is:
+.ES
+Install file: "$SOURCE" as "$TARGET"
+.EE
+
.IP INTEL_C_COMPILER_VERSION
Set by the "intelc" Tool
to the major version number of the Intel C compiler
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index 677b09b..38a0476 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -665,6 +665,8 @@ RELEASE 0.97 - XXX
- Add support for $CONFIGUREDIR and $CONFIGURELOG variables to control
the directory and logs for configuration tests.
+ - Add support for a $INSTALLSTR variable.
+
From Craig Scott:
- Have the Fortran module emitter look for Fortan modules to be created
diff --git a/src/engine/SCons/Defaults.py b/src/engine/SCons/Defaults.py
index 4fe8987..b7453d6 100644
--- a/src/engine/SCons/Defaults.py
+++ b/src/engine/SCons/Defaults.py
@@ -347,6 +347,7 @@ ConstructionEnvironment = {
'SCANNERS' : [],
'CONFIGUREDIR' : '#/.sconf_temp',
'CONFIGURELOG' : '#/config.log',
+ 'INSTALLSTR' : 'Install file: "$SOURCE" as "$TARGET"',
'CPPSUFFIXES' : SCons.Tool.CSuffixes,
'DSUFFIXES' : SCons.Tool.DSuffixes,
'IDLSUFFIXES' : SCons.Tool.IDLSuffixes,
diff --git a/src/engine/SCons/Environment.py b/src/engine/SCons/Environment.py
index b4e8aac..ce8e374 100644
--- a/src/engine/SCons/Environment.py
+++ b/src/engine/SCons/Environment.py
@@ -83,7 +83,7 @@ def installFunc(target, source, env):
return install(target[0].path, source[0].path, env)
def installString(target, source, env):
- return 'Install file: "%s" as "%s"' % (source[0], target[0])
+ return env.subst(env['INSTALLSTR'], 0, target, source)
installAction = SCons.Action.Action(installFunc, installString)
diff --git a/test/Install/INSTALLSTR.py b/test/Install/INSTALLSTR.py
new file mode 100644
index 0000000..d809b2c
--- /dev/null
+++ b/test/Install/INSTALLSTR.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python
+#
+# __COPYRIGHT__
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+
+__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+
+"""
+Test that the $INSTALLSTR variable is displayed when we install a file.
+"""
+
+import os.path
+
+import TestSCons
+
+test = TestSCons.TestSCons()
+
+test.subdir('install')
+
+test.write('SConstruct', """\
+env = Environment(INSTALLSTR = 'INSTALL $SOURCE => $TARGET!\\n')
+env.Install('install', 'file')
+""")
+
+test.write('file', "file\n")
+
+test.run(stdout=test.wrap_stdout("""\
+INSTALL file => %s!
+""") % os.path.join('install', 'file'))
+
+test.must_match(['install', 'file'], "file\n")
+
+test.pass_test()
diff --git a/test/Install.py b/test/Install/Install.py
index 50f3820..50f3820 100644
--- a/test/Install.py
+++ b/test/Install/Install.py
diff --git a/test/InstallAs.py b/test/Install/InstallAs.py
index c4e88f6..c4e88f6 100644
--- a/test/InstallAs.py
+++ b/test/Install/InstallAs.py