Report error when vcvarsall fails

This commit is contained in:
Manish Goregaokar 2020-04-15 22:55:05 -07:00
parent 16230ee279
commit 371ba67d55

View file

@ -315,11 +315,15 @@ class MachCommands(CommandBase):
process = subprocess.Popen('("%s" %s > nul) && "python" -c "import os; print(repr(os.environ))"' % process = subprocess.Popen('("%s" %s > nul) && "python" -c "import os; print(repr(os.environ))"' %
(os.path.join(vs_dirs['vcdir'], "Auxiliary", "Build", "vcvarsall.bat"), "x64"), (os.path.join(vs_dirs['vcdir'], "Auxiliary", "Build", "vcvarsall.bat"), "x64"),
stdout=subprocess.PIPE, shell=True) stdout=subprocess.PIPE, shell=True)
stdout, _ = process.communicate() stdout, stderr = process.communicate()
exitcode = process.wait() exitcode = process.wait()
encoding = locale.getpreferredencoding() # See https://stackoverflow.com/a/9228117 encoding = locale.getpreferredencoding() # See https://stackoverflow.com/a/9228117
if exitcode == 0: if exitcode == 0:
os.environ.update(eval(stdout.decode(encoding))) os.environ.update(eval(stdout.decode(encoding)))
else:
print("Failed to run vcvarsall. stderr:")
print(stderr.decode(encoding))
exit(1)
# Ensure that GStreamer libraries are accessible when linking. # Ensure that GStreamer libraries are accessible when linking.
if 'windows' in target_triple: if 'windows' in target_triple: