diff options
Diffstat (limited to 'src/engine/SCons/Tool/MSCommon/common.py')
| -rw-r--r-- | src/engine/SCons/Tool/MSCommon/common.py | 17 | 
1 files changed, 9 insertions, 8 deletions
diff --git a/src/engine/SCons/Tool/MSCommon/common.py b/src/engine/SCons/Tool/MSCommon/common.py index fcf623f..8353944 100644 --- a/src/engine/SCons/Tool/MSCommon/common.py +++ b/src/engine/SCons/Tool/MSCommon/common.py @@ -2,7 +2,7 @@  Common helper functions for working with the Microsoft tool chain.  """  # -# Copyright (c) 2001 - 2017 The SCons Foundation +# Copyright (c) 2001 - 2019 The SCons Foundation  #  # Permission is hereby granted, free of charge, to any person obtaining  # a copy of this software and associated documentation files (the @@ -25,7 +25,7 @@ Common helper functions for working with the Microsoft tool chain.  #  from __future__ import print_function -__revision__ = "src/engine/SCons/Tool/MSCommon/common.py rel_3.0.0:4395:8972f6a2f699 2017/09/18 12:59:24 bdbaddog" +__revision__ = "src/engine/SCons/Tool/MSCommon/common.py e724ae812eb96f4858a132f5b8c769724744faf6 2019-07-21 00:04:47 bdeegan"  import copy  import os @@ -34,7 +34,6 @@ import re  import SCons.Util -  LOGFILE = os.environ.get('SCONS_MSCOMMON_DEBUG')  if LOGFILE == '-':      def debug(message): @@ -46,7 +45,7 @@ elif LOGFILE:          debug = lambda message: open(LOGFILE, 'a').write(message + '\n')      else:          logging.basicConfig(filename=LOGFILE, level=logging.DEBUG) -        debug = logging.debug +        debug = logging.getLogger(name=__name__).debug  else:      debug = lambda x: None @@ -117,7 +116,7 @@ def normalize_env(env, keys, force=False):              normenv[k] = copy.deepcopy(env[k])          for k in keys: -            if k in os.environ and (force or not k in normenv): +            if k in os.environ and (force or k not in normenv):                  normenv[k] = os.environ[k]      # This shouldn't be necessary, since the default environment should include system32, @@ -188,8 +187,10 @@ def get_output(vcbat, args = None, env = None):      # Use the .stdout and .stderr attributes directly because the      # .communicate() method uses the threading module on Windows      # and won't work under Pythons not built with threading. -    stdout = popen.stdout.read() -    stderr = popen.stderr.read() +    with popen.stdout: +        stdout = popen.stdout.read() +    with popen.stderr: +        stderr = popen.stderr.read()      # Extra debug logic, uncomment if necessary  #     debug('get_output():stdout:%s'%stdout) @@ -206,7 +207,7 @@ def get_output(vcbat, args = None, env = None):      output = stdout.decode("mbcs")      return output -def parse_output(output, keep=("INCLUDE", "LIB", "LIBPATH", "PATH")): +def parse_output(output, keep=("INCLUDE", "LIB", "LIBPATH", "PATH", 'VSCMD_ARG_app_plat')):      """      Parse output from running visual c++/studios vcvarsall.bat and running set      To capture the values listed in keep  | 
