diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2020-03-23 20:55:25 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-23 20:55:25 -0400 |
commit | d1c76edecf03905ef61646822a42f6164cd27185 (patch) | |
tree | 810c451ef21838cf145d2dceed78734b26a20763 /python/servo/build_commands.py | |
parent | fcb99ae017cee5dfb8ae4e202b01ab46e16b421b (diff) | |
parent | 215177d791ab2f4ca5fbd633e904475d16d91386 (diff) | |
download | servo-d1c76edecf03905ef61646822a42f6164cd27185.tar.gz servo-d1c76edecf03905ef61646822a42f6164cd27185.zip |
Auto merge of #25365 - MeFisto94:autolaunch-vcvars, r=jdm
Launch vcvarsall.bat for the recognized VS Installation Directory from python instead of making mach.bat try that on hardcoded paths.
Move the Execution of vcvars (which sets up the environment for visual studio tools) from mach.bat to python, so that ./mach works under mozilla-build and that #25300 can be used.
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #25360 #25336
- [X] These changes do not require tests because changes to build infra
Diffstat (limited to 'python/servo/build_commands.py')
-rw-r--r-- | python/servo/build_commands.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py index 6567136c515..76082522de8 100644 --- a/python/servo/build_commands.py +++ b/python/servo/build_commands.py @@ -10,6 +10,7 @@ from __future__ import print_function, unicode_literals import datetime +import locale import os import os.path as path import platform @@ -310,6 +311,16 @@ class MachCommands(CommandBase): "lib", "pkgconfig" ) + if 'windows' in host: + 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"), + stdout=subprocess.PIPE, shell=True) + stdout, _ = process.communicate() + exitcode = process.wait() + encoding = locale.getpreferredencoding() # See https://stackoverflow.com/a/9228117 + if exitcode == 0: + os.environ.update(eval(stdout.decode(encoding))) + # Ensure that GStreamer libraries are accessible when linking. if 'windows' in target_triple: gst_root = gstreamer_root(target_triple, env) |