Auto merge of #23841 - servo:arm64-configuration, r=paulrouget

Make Windows arm64 easy

* Add a ServoApp project configuration
* Add a `--win-arm64` build flag (now `python mach build -r --win-arm64 --uwp`)
* Automatically set up GStreamer LIB environment
* Yell if the cross-compilation environment isn't set up correctly
* Automatically find the Visual C++ installation for DLL packaging, rather than relying on an environment variable

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23793 and fix #23795
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23841)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2019-07-25 01:25:39 -04:00 committed by GitHub
commit 9f6d134957
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 624 additions and 27 deletions

View file

@ -125,7 +125,6 @@ linux_build_env = {
macos_build_env = {}
windows_build_env = {
"x86_64": {
"LIB": "%HOMEDRIVE%%HOMEPATH%\\gst\\gstreamer\\1.0\\x86_64\\lib;%LIB%",
"GSTREAMER_1_0_ROOT_X86_64": "%HOMEDRIVE%%HOMEPATH%\\gst\\gstreamer\\1.0\\x86_64\\",
},
"arm64": {
@ -376,7 +375,7 @@ def android_x86_wpt():
def windows_arm64():
return (
windows_cross_build_task("Dev build", arch="arm64", package=False)
windows_build_task("Dev build", arch="arm64", package=False)
.with_treeherder("Windows arm64")
.with_script(
"python mach build --dev --libsimpleservo \
@ -741,17 +740,6 @@ def android_build_task(name):
)
def windows_cross_build_task(name, arch, package):
return (
windows_build_task(name, package, arch)
.with_env(**{
"VCINSTALLDIR_SERVO": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\",
"VisualStudioVersion": "15.0",
"WindowsSdkDir": "C:\\Program Files (x86)\\Windows Kits\\10\\",
})
)
def windows_build_task(name, package=True, arch="x86_64"):
hashes = {
"devel": {