Index: pylib/gyp/msvs_emulation.py |
diff --git a/pylib/gyp/msvs_emulation.py b/pylib/gyp/msvs_emulation.py |
index ca67b122f0b9b1d0544eebce9a66a678c9dd6853..74bd4ed3b8944a7603ea5ef61823446c25c66a35 100644 |
--- a/pylib/gyp/msvs_emulation.py |
+++ b/pylib/gyp/msvs_emulation.py |
@@ -961,6 +961,10 @@ def _ExtractImportantEnvironment(output_of_set): |
'tmp', |
) |
env = {} |
+ # This occasionally happens and leads to misleading SYSTEMROOT error messages |
+ # if not caught here. |
+ if output_of_set.count('=') == 0: |
+ raise Exception('Invalid output_of_set. Value is:\n%s' % output_of_set) |
for line in output_of_set.splitlines(): |
for envvar in envvars_to_save: |
if re.match(envvar + '=', line.lower()): |
@@ -1029,6 +1033,8 @@ def GenerateEnvironmentFiles(toplevel_build_dir, generator_flags, |
popen = subprocess.Popen( |
args, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) |
variables, _ = popen.communicate() |
+ if popen.returncode != 0: |
+ raise Exception('"%s" failed with error %d' % (args, popen.returncode)) |
env = _ExtractImportantEnvironment(variables) |
# Inject system includes from gyp files into INCLUDE. |