Add support for a $INSTALLSTR string. (Christoph Schulz)
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Sat, 5 Nov 2005 05:56:44 +0000 (05:56 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Sat, 5 Nov 2005 05:56:44 +0000 (05:56 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@1376 fdb21ef1-2011-0410-befe-b5e4ea1792b1

doc/man/scons.1
src/CHANGES.txt
src/engine/SCons/Defaults.py
src/engine/SCons/Environment.py
test/Install/INSTALLSTR.py [new file with mode: 0644]
test/Install/Install.py [moved from test/Install.py with 100% similarity]
test/Install/InstallAs.py [moved from test/InstallAs.py with 100% similarity]

index 47a89ceed726ec17c15cf548a6900a134bfca992..aed9e05e64b3c44a5577206554bae09a5e7f48fb 100644 (file)
@@ -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
index 677b09b0c1ec8ecfe981ba74fdec6f5e2d016c91..38a04767fb679cfe61b17387bf8d6b8c981dda0d 100644 (file)
@@ -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
index 4fe8987f26b4930848aa35ca683de359d8ebc700..b7453d6211dff38ee5c239ae09c2cd78f9a86d3d 100644 (file)
@@ -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,
index b4e8aac47fdb8a0efafd4b18746fe4289826e1cf..ce8e37421d12a7fae9517194c815a9ca8f5df951 100644 (file)
@@ -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 (file)
index 0000000..d809b2c
--- /dev/null
@@ -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()
similarity index 100%
rename from test/Install.py
rename to test/Install/Install.py
similarity index 100%
rename from test/InstallAs.py
rename to test/Install/InstallAs.py