Win32 portability.
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Wed, 13 Nov 2002 08:49:30 +0000 (08:49 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Wed, 13 Nov 2002 08:49:30 +0000 (08:49 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@498 fdb21ef1-2011-0410-befe-b5e4ea1792b1

SConstruct
runtest.py
src/engine/SCons/Action.py
src/engine/SCons/Util.py
test/ParseConfig.py
test/special-filenames.py

index 143f1a6bce93a76e3ec415f0c0aaa406166964e1..866da6b539e836c97e077dee4d84e18459dbebc8 100644 (file)
@@ -725,7 +725,8 @@ for p in [ scons ]:
     # And, lastly, install the appropriate packages in the
     # appropriate subdirectory.
     #
-    env.Install(os.path.join('build', 'dist'), install_targets)
+    b_d_files = env.Install(os.path.join('build', 'dist'), install_targets)
+    Local(b_d_files)
 
 #
 #
@@ -779,6 +780,8 @@ if change:
         src_tar_gz = os.path.join('build', 'dist', '%s.tar.gz' % psv)
         src_zip = os.path.join('build', 'dist', '%s.zip' % psv)
 
+        Local(src_tar_gz, src_zip)
+
         for file in sfiles:
             env.SCons_revision(os.path.join(b_ps, file), file)
 
index 158d5b6c43212d6027b4a550797159588ffa4e9d..ebaf7588c48d2de688581001fa9ad7efb5bd344c 100644 (file)
@@ -312,7 +312,7 @@ if len(tests) != 1:
             sys.stdout.write("\nFailed the following test:\n")
         else:
             sys.stdout.write("\nFailed the following %d tests:\n" % len(fail))
-        paths = map(lambda x: x.path, no_result)
+        paths = map(lambda x: x.path, fail)
         sys.stdout.write("\t" + string.join(paths, "\n\t") + "\n")
     if no_result:
         if len(no_result) == 1:
index 255f329ba14ed999ac58e8076a75fc1074be6ebf..8347195c35060933ca7e2479c6a8f6a7c1717ff4 100644 (file)
@@ -175,7 +175,7 @@ elif os.name == 'nt':
             return 127
         else:
             try:
-                args = [cmd_interp, '/C', quote(string.join(args)) ]
+                args = [cmd_interp, '/C', escape_cmd(string.join(args)) ]
                 ret = os.spawnve(os.P_WAIT, cmd_interp, args, env)
             except OSError, e:
                 ret = exitvalmap[e[0]]
index adba42af84d911d1cc71fa1fb5d8fe8c00e3357c..62772ae150f8295ca2a57aaa8baf7015ee2966bc 100644 (file)
@@ -204,7 +204,7 @@ def quote_spaces(arg):
     if ' ' in arg or '\t' in arg:
         return '"%s"' % arg
     else:
-        return arg
+        return str(arg)
 
 # Several functions below deal with Environment variable
 # substitution.  Part of this process involves inserting
@@ -290,7 +290,7 @@ class CmdStringHolder:
         in the string before passing it to the command interpreter."""
         self.data = cmd
         
-        # Populate flatdata (the ting returned by str()) with the
+        # Populate flatdata (the thing returned by str()) with the
         # non-escaped string
         self.escape(lambda x: x, lambda x: x)
 
@@ -298,6 +298,14 @@ class CmdStringHolder:
         """Return the string in its current state."""
         return self.flatdata
 
+    def __len__(self):
+        """Return the length of the string in its current state."""
+        return len(self.flatdata)
+
+    def __getitem__(self, index):
+        """Return the index'th element of the string in its current state."""
+        return self.flatdata[index]
+
     def escape(self, escape_func, quote_func=quote_spaces):
         """Escape the string with the supplied function.  The
         function is expected to take an arbitrary string, then
index 1cf52ed8a9da218162f0a5cecf316bd8f06e500f..eaf7802967b621c02d478b76d3221010505e5b9d 100644 (file)
@@ -39,8 +39,8 @@ print "-L/usr/fax -Lfoo -lxxx abc"
 """)
 
 test.write('SConstruct', """
-env = Environment()
-static_libs = ParseConfig(env, ["%s", "%s", "--libs --cflags"])
+env = Environment(CPPPATH = [], LIBPATH = [], LIBS = [], CCFLAGS = '')
+static_libs = ParseConfig(env, [r"%s", r"%s", "--libs --cflags"])
 print env['CPPPATH']
 print env['LIBPATH']
 print env['LIBS']
@@ -49,8 +49,8 @@ print static_libs
 """ % (sys.executable, test_config))
 
 test.write('SConstruct2', """
-env = Environment()
-static_libs = ParseConfig(env, "%s %s --libs --cflags")
+env = Environment(CPPPATH = [], LIBPATH = [], LIBS = [], CCFLAGS = '')
+static_libs = ParseConfig(env, r"%s %s --libs --cflags")
 print env['CPPPATH']
 print env['LIBPATH']
 print env['LIBS']
index 88db6bb21d798737ac11451affc23829f020653a..3f05fe3d675e80be5232e3c575020dbd3318076a 100644 (file)
@@ -55,7 +55,7 @@ if os.name == 'nt':
 
 test.write("cat.py", """\
 import sys
-open(sys.argv[1], 'w').write(open(sys.argv[2], 'r').read())
+open(sys.argv[1], 'wb').write(open(sys.argv[2], 'rb').read())
 """)
 
 for fn in file_names: