Fix use of MSVS_IGNORE_IDE_PATHS. Win32 fixes for various tests.
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Tue, 16 Mar 2004 07:16:02 +0000 (07:16 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Tue, 16 Mar 2004 07:16:02 +0000 (07:16 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@926 fdb21ef1-2011-0410-befe-b5e4ea1792b1

src/CHANGES.txt
src/engine/SCons/Node/FSTests.py
src/engine/SCons/Tool/msvc.py
test/Execute.py
test/msvs.py

index a95aab0f9d60e3275359efe854415a3f7ab35ad7..8eef6a76e6f5f810ef00d8f3d6266514ec11551f 100644 (file)
@@ -24,6 +24,10 @@ RELEASE 0.96 - XXX
 
   - Support passing environment override keyword arguments to Command().
 
+  - Fix use of $MSVS_IGNORE_IDE_PATHS, which was broken when we added
+    support for $MSVS_USE_MFC_DIRS last release.
+
+
 
 RELEASE 0.95 - Mon, 08 Mar 2004 06:43:20 -0600
 
index 63ac29d1aaaaae80487c1c7231cd66e0573203d7..94280f726404beb7cdd16cc44fdd894d821007a2 100644 (file)
@@ -1654,7 +1654,7 @@ class CacheDirTestCase(unittest.TestCase):
             raise OSError
         shutil.copy2 = copy2
         save_mkdir = os.mkdir
-        def mkdir(dir):
+        def mkdir(dir, mode=0):
             pass
         os.mkdir = mkdir
         old_warn_exceptions = SCons.Warnings.warningAsException(1)
index a916501232f4398f7569a9ab85c13717d2ccbcbb..1a2cb1c371f9a14974effec5809f803c9bbf633c 100644 (file)
@@ -324,7 +324,7 @@ def get_msvc_paths(version=None, use_mfc_dirs=0):
 
     return (include_path, lib_path, exe_path)
 
-def get_msvc_default_paths(version = None):
+def get_msvc_default_paths(version=None, use_mfc_dirs=0):
     """Return a 3-tuple of (INCLUDE, LIB, PATH) as the values of those
     three environment variables that should be set in order to execute
     the MSVC tools properly.  This will only return the default
@@ -345,9 +345,9 @@ def get_msvc_default_paths(version = None):
         pass
 
     if float(version) >= 7.0:
-        return _get_msvc7_default_paths(version)
+        return _get_msvc7_default_paths(version, use_mfc_dirs)
     else:
-        return _get_msvc6_default_paths(version)
+        return _get_msvc6_default_paths(version, use_mfc_dirs)
 
 def validate_vars(env):
     """Validate the PDB, PCH, and PCHSTOP construction variables."""
@@ -456,13 +456,14 @@ def generate(env):
     try:
         version = SCons.Tool.msvs.get_default_visualstudio_version(env)
 
-        if env.has_key('MSVS_IGNORE_IDE_PATHS') and env['MSVS_IGNORE_IDE_PATHS']:
-            include_path, lib_path, exe_path = get_msvc_default_paths(version)
+        # By default, add the MFC directories, because this is what
+        # we've been doing for a long time.  We may change this.
+        use_mfc_dirs = env.get('MSVS_USE_MFC_DIRS', 1)
+        if env.get('MSVS_IGNORE_IDE_PATHS', 0):
+            _get_paths = get_msvc_default_paths
         else:
-            # By default, add the MFC directories, because this is what
-            # we've been doing for a long time.  We may change this.
-            use_mfc_dirs = env.get('MSVS_USE_MFC_DIRS', 1)
-            include_path, lib_path, exe_path = get_msvc_paths(version, use_mfc_dirs)
+            _get_paths = get_msvc_paths
+        include_path, lib_path, exe_path = _get_paths(version, use_mfc_dirs)
 
         # since other tools can set these, we just make sure that the
         # relevant stuff from MSVS is in there somewhere.
index 6942617c5f86247c9467311897fd4f1cd679bd11..2637a6ac9c67e4427898601a6e4f53c03a53c127 100644 (file)
@@ -34,7 +34,7 @@ python = TestSCons.python
 
 test = TestSCons.TestSCons()
 
-test.write('copy.py', """\
+test.write('my_copy.py', """\
 import sys
 open(sys.argv[2], 'wb').write(open(sys.argv[1], 'rb').read())
 try:
@@ -45,11 +45,11 @@ sys.exit(exitval)
 """)
 
 test.write('SConstruct', """\
-Execute("%s copy.py a.in a.out")
-Execute(Action("%s copy.py b.in b.out"))
-env = Environment(COPY = 'copy.py')
-env.Execute("%s copy.py c.in c.out")
-env.Execute(Action("%s copy.py d.in d.out"))
+Execute("%s my_copy.py a.in a.out")
+Execute(Action("%s my_copy.py b.in b.out"))
+env = Environment(COPY = 'my_copy.py')
+env.Execute("%s my_copy.py c.in c.out")
+env.Execute(Action("%s my_copy.py d.in d.out"))
 v = env.Execute("%s $COPY e.in e.out")
 assert v == 0, v
 v = env.Execute(Action("%s $COPY f.in f.out"))
index e447cb0b931970474b074f2762feb71c7d0916d1..fb4190596124b2608737dfdd9b6923984d1ab117 100644 (file)
@@ -274,7 +274,10 @@ test = TestSCons.TestSCons(match = TestCmd.match_re)
 if sys.platform != 'win32':
     test.pass_test()
 
-exec_script_main = "from os.path import join; import sys; sys.path = [ join(sys.prefix, 'Lib', 'site-packages', 'scons-0.94'), join(sys.prefix, 'scons-0.94'), join(sys.prefix, 'Lib', 'site-packages', 'scons'), join(sys.prefix, 'scons') ] + sys.path; import SCons.Script; SCons.Script.main()"
+test.run(arguments = '-q -Q -f -', stdin = "import SCons; print SCons.__version__")
+version = test.stdout()[:-1]
+
+exec_script_main = "from os.path import join; import sys; sys.path = [ join(sys.prefix, 'Lib', 'site-packages', 'scons-%s'), join(sys.prefix, 'scons-%s'), join(sys.prefix, 'Lib', 'site-packages', 'scons'), join(sys.prefix, 'scons') ] + sys.path; import SCons.Script; SCons.Script.main()" % (version, version)
 exec_script_main_xml = string.replace(exec_script_main, "'", "&apos;")
 
 def substitute(input, workpath=test.workpath(), python=sys.executable):