aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2019-04-15 21:27:24 -0400
committerJosh Matthews <josh@joshmatthews.net>2019-04-26 08:54:24 -0400
commit57d241fce5531879b641401eb8e554e89aaf7213 (patch)
tree491a69e30c8f7de6ec7597f59c9583bd4efcf9cf
parentec680de0635932201655318a3acf446c40b14e03 (diff)
downloadservo-57d241fce5531879b641401eb8e554e89aaf7213.tar.gz
servo-57d241fce5531879b641401eb8e554e89aaf7213.zip
Add Windows x86 build job.
-rw-r--r--Cargo.lock74
-rw-r--r--components/script/build.rs36
-rw-r--r--components/script/vcvars.bat2
-rw-r--r--etc/taskcluster/decision_task.py74
-rw-r--r--etc/taskcluster/decisionlib.py4
-rw-r--r--python/servo/packages.py2
6 files changed, 134 insertions, 58 deletions
diff --git a/Cargo.lock b/Cargo.lock
index f400c75e2af..f7b9e3c362e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -148,7 +148,7 @@ name = "azure"
version = "0.35.0"
source = "git+https://github.com/servo/rust-azure#5c648f2bd5d2d600c28d56f07c29c4e2a08173b6"
dependencies = [
- "cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.19.7 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
"servo-freetype-sys 4.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -191,7 +191,7 @@ name = "backtrace-sys"
version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -427,7 +427,7 @@ name = "bzip2-sys"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -500,7 +500,7 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.0.18"
+version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@@ -594,10 +594,10 @@ dependencies = [
[[package]]
name = "cmake"
-version = "0.1.29"
+version = "0.1.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -1190,7 +1190,7 @@ name = "energymon-builder"
version = "0.3.0"
source = "git+https://github.com/energymon/energymon-sys.git#f8d77ea2906b25f9c0fd358aa9d300a46dc3e97c"
dependencies = [
- "cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -1275,7 +1275,7 @@ name = "expat-sys"
version = "2.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -1325,7 +1325,7 @@ name = "fontsan"
version = "0.4.0"
source = "git+https://github.com/servo/fontsan#29e879c870348c4b3fd51086e42dbb6365171479"
dependencies = [
- "cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
"miniz-sys 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -1869,7 +1869,7 @@ name = "harfbuzz-sys"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
"freetype 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -1940,7 +1940,7 @@ name = "heartbeats-simple-sys"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -2175,7 +2175,7 @@ name = "jemalloc-sys"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -2429,7 +2429,7 @@ name = "libloading"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -2494,10 +2494,10 @@ dependencies = [
[[package]]
name = "libz-sys"
-version = "1.0.18"
+version = "1.0.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
"vcpkg 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2713,7 +2713,7 @@ name = "miniz-sys"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -2731,7 +2731,7 @@ name = "miniz_oxide_c_api"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
"miniz_oxide 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2797,7 +2797,7 @@ name = "mozangle"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -2806,7 +2806,7 @@ name = "mozjs"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2820,9 +2820,9 @@ version = "0.61.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bindgen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
- "libz-sys 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -2959,7 +2959,7 @@ version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
"void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3097,7 +3097,7 @@ name = "openssl-sys"
version = "0.9.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
"vcpkg 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3462,7 +3462,7 @@ dependencies = [
[[package]]
name = "rust-webvr"
-version = "0.10.3"
+version = "0.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bindgen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3557,7 +3557,7 @@ dependencies = [
"canvas_traits 0.0.1",
"caseless 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"chrono 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
"cookie 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
"crossbeam-channel 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.25.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3802,7 +3802,7 @@ version = "0.0.1"
dependencies = [
"backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
"bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"crossbeam-channel 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.19.7 (registry+https://github.com/rust-lang/crates.io-index)",
"gleam 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3815,7 +3815,7 @@ dependencies = [
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"osmesa-src 0.1.0 (git+https://github.com/servo/osmesa-src)",
"osmesa-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "rust-webvr 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rust-webvr 0.10.4 (registry+https://github.com/rust-lang/crates.io-index)",
"sig 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"tinyfiledialogs 3.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3855,7 +3855,7 @@ name = "servo-freetype-sys"
version = "4.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -3993,7 +3993,7 @@ version = "0.30000020.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cgl 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.19.7 (registry+https://github.com/rust-lang/crates.io-index)",
"expat-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"gleam 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4203,7 +4203,7 @@ version = "0.0.1"
dependencies = [
"android_injected_glue 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
"android_logger 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"jni 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4462,7 +4462,7 @@ dependencies = [
name = "task_info"
version = "0.0.1"
dependencies = [
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -4572,7 +4572,7 @@ name = "tinyfiledialogs"
version = "3.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -5142,7 +5142,7 @@ dependencies = [
"ipc-channel 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"msg 0.0.1",
- "rust-webvr 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rust-webvr 0.10.4 (registry+https://github.com/rust-lang/crates.io-index)",
"script_traits 0.0.1",
"servo_config 0.0.1",
"webvr_traits 0.0.1",
@@ -5405,7 +5405,7 @@ dependencies = [
"checksum bzip2-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6584aa36f5ad4c9247f5323b0a42f37802b37a836f0ad87084d7a33961abe25f"
"checksum caseless 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "808dab3318747be122cb31d36de18d4d1c81277a76f8332a02b81a3d73463d7f"
"checksum cbindgen 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ae5776bf2f6d5ff4f07eb63aa666fd9e1dbe0fe4b87f0fa32b469efae2940f7"
-"checksum cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "2119ea4867bd2b8ed3aecab467709720b2d55b1bcfe09f772fd68066eaf15275"
+"checksum cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)" = "5e5f3fee5eeb60324c2781f1e41286bdee933850fff9b3c672587fed5ec58c83"
"checksum cesu8 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
"checksum cexpr 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8fc0086be9ca82f7fc89fc873435531cb898b86e850005850de1f820e2db6e9b"
"checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4"
@@ -5416,7 +5416,7 @@ dependencies = [
"checksum clipboard 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "25a904646c0340239dcf7c51677b33928bf24fdf424b79a57909c0109075b2e7"
"checksum clipboard-win 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "14cc3e6c075926b96490d5f90d4a5af7be8012a4d8a8698e619655085a7641a3"
"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-"checksum cmake 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "56d741ea7a69e577f6d06b36b7dff4738f680593dc27a701ffa8506b73ce28bb"
+"checksum cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)" = "96210eec534fc3fbfc0452a63769424eaa80205fda6cea98e5b61cb3d97bcec8"
"checksum cocoa 0.18.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cf79daa4e11e5def06e55306aa3601b87de6b5149671529318da048f67cdd77b"
"checksum color_quant 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a475fc4af42d83d28adf72968d9bcfaf035a1a9381642d8e85d8a04957767b0d"
"checksum combine 3.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "54cedd8056314afe0d844a37a207007edf8a45f2cc452fd77629cd63c221740e"
@@ -5565,7 +5565,7 @@ dependencies = [
"checksum libdbus-sys 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "99c78106156a964aadc1c59f7798276967be6705243b60f3ab7e131e3841db88"
"checksum libflate 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)" = "bff3ac7d6f23730d3b533c35ed75eef638167634476a499feef16c428d74b57b"
"checksum libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3ad660d7cb8c5822cd83d10897b0f1f1526792737a179e73896152f85b88c2"
-"checksum libz-sys 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "87f737ad6cc6fd6eefe3d9dc5412f1573865bded441300904d2f42269e140f16"
+"checksum libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
"checksum line_drawing 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5cc7ad3d82c845bdb5dde34ffdcc7a5fb4d2996e1e1ee0f19c33bc80e15196b9"
"checksum linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "70fb39025bc7cdd76305867c4eccf2f2dcf6e9a57f5b21a93e1c2d86cd03ec9e"
"checksum linked_hash_set 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3c7c91c4c7bbeb4f2f7c4e5be11e6a05bd6830bc37249c47ce1ad86ad453ff9c"
@@ -5652,7 +5652,7 @@ dependencies = [
"checksum regex-syntax 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fbc557aac2b708fe84121caf261346cc2eed71978024337e42eb46b8a252ac6e"
"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
"checksum ron 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "da06feaa07f69125ab9ddc769b11de29090122170b402547f64b86fe16ebc399"
-"checksum rust-webvr 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a59e731de33df7fca446711d7cf31552a1c550db5da3310588579d1124f4d00b"
+"checksum rust-webvr 0.10.4 (registry+https://github.com/rust-lang/crates.io-index)" = "dd268264db4808e78ad1738ce1ff10a8bd53fb5ba408f595763174ca4a6fb875"
"checksum rust-webvr-api 0.10.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1b2af5c6c86fb79e70b5a34daa3d488411225707c73dc5467c7da7c83d557daf"
"checksum rustc-demangle 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3058a43ada2c2d0b92b3ae38007a2d0fa5e9db971be260e0171408a4ff471c95"
"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
diff --git a/components/script/build.rs b/components/script/build.rs
index 21697db873c..ee13a029454 100644
--- a/components/script/build.rs
+++ b/components/script/build.rs
@@ -9,11 +9,47 @@ use std::fmt;
use std::fs::File;
use std::io::Write;
use std::path::PathBuf;
+use std::process::Command;
+use std::str;
use std::time::Instant;
fn main() {
let start = Instant::now();
+ let target = env::var("TARGET").unwrap();
+ let host = env::var("HOST").unwrap();
+ if target.contains("windows") && host != target {
+ assert_eq!(
+ host, "x86_64-pc-windows-msvc",
+ "Only cross-compiling from x64 is supported"
+ );
+ assert_eq!(
+ target, "i686-pc-windows-msvc",
+ "Only cross-compiling to x86 is supported"
+ );
+ assert!(env::var("VSINSTALLDIR").is_err());
+ // When cross-compiling on Windows, we need to ensure that the PATH is
+ // set up appropriately for the target before invoking make.
+ if env::var("VCVARSALL_PATH").is_err() {
+ panic!(
+ "Need to provide VCVARSALL_PATH value with path to \
+ vcvarsall.bat from Visual Studio installation"
+ );
+ }
+
+ let vcvars = Command::new("vcvars.bat").output().unwrap();
+ assert!(vcvars.status.success());
+ let output = str::from_utf8(&vcvars.stdout).unwrap();
+ for line in output.lines() {
+ let mut parts = line.splitn(2, '=');
+ if let Some(name) = parts.next() {
+ if let Some(value) = parts.next() {
+ env::set_var(name, value);
+ }
+ }
+ }
+ }
+
// This must use the Ninja generator -- it's the only one that
// parallelizes cmake's output properly. (Cmake generates
// separate makefiles, each of which try to build
diff --git a/components/script/vcvars.bat b/components/script/vcvars.bat
new file mode 100644
index 00000000000..205599fd33c
--- /dev/null
+++ b/components/script/vcvars.bat
@@ -0,0 +1,2 @@
+call "%VCVARSALL_PATH%\vcvarsall.bat" x64_x86
+set
diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py
index 4742767bd91..702cc6d3e26 100644
--- a/etc/taskcluster/decision_task.py
+++ b/etc/taskcluster/decision_task.py
@@ -32,6 +32,7 @@ def main(task_for):
all_tests = [
linux_tidy_unit_docs,
windows_unit,
+ windows_x86,
macos_unit,
magicleap_dev,
android_arm32_dev,
@@ -57,7 +58,7 @@ def main(task_for):
"try-mac": [macos_unit],
"try-linux": [linux_tidy_unit_docs],
- "try-windows": [windows_unit],
+ "try-windows": [windows_unit, windows_x86],
"try-magicleap": [magicleap_dev],
"try-arm": [linux_arm32_dev, linux_arm64_dev],
"try-wpt": [linux_wpt],
@@ -120,9 +121,16 @@ linux_build_env = {
}
macos_build_env = {}
windows_build_env = {
- "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\\",
+ "x86": {
+ "LIB": "%HOMEDRIVE%%HOMEPATH%\\gst\\gstreamer\\1.0\\x86\\lib;%LIB%",
+ "GSTREAMER_1_0_ROOT_X86": "%HOMEDRIVE%%HOMEPATH%\\gst\\gstreamer\\1.0\\x86\\",
+ },
+ "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\\",
+ },
}
+
windows_sparse_checkout = [
"/*",
"!/tests/wpt/metadata",
@@ -301,6 +309,20 @@ def android_x86_wpt():
)
+def windows_x86():
+ return (
+ windows_build_task("Dev build", package=False, arch="x86")
+ .with_treeherder("Windows x86")
+ .with_env(**{
+ "VCVARSALL_PATH": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\BuildTools\\VC\\Auxiliary\\Build"
+ })
+ .with_script(
+ "python mach build --dev --target i686-pc-windows-msvc",
+ )
+ .find_or_create("build.windows_x86_dev." + CONFIG.git_sha)
+ )
+
+
def windows_unit():
return (
windows_build_task("Dev build + unit tests")
@@ -556,33 +578,49 @@ def android_build_task(name):
)
-def windows_build_task(name):
- return (
+def windows_build_task(name, package=True, arch="x86_64"):
+ hashes = {
+ "devel": {
+ "x86_64": "b13ea68c1365098c66871f0acab7fd3daa2f2795b5e893fcbb5cd7253f2c08fa",
+ "x86": "50a18d050cdbb0779cd00607cc00a90f24fac48f2fb6c622ade6f23f050feb7a",
+ },
+ "non-devel": {
+ "x86_64": "f4f20c713766ed6718b914b9ae57ed993a59ffe194e6ef530c8547508b4484d8",
+ "x86": "52692c12ba8c3f59b5a289050e146d34d8374ab32b9f5070f7d1e37809656068",
+ },
+ }
+ version = "1.14.3"
+ task = (
windows_task(name)
.with_max_run_time_minutes(60)
- .with_env(**build_env, **windows_build_env)
+ .with_env(**build_env, **windows_build_env[arch])
.with_repo(sparse_checkout=windows_sparse_checkout)
.with_python2()
.with_rustup()
.with_repacked_msi(
- url="https://gstreamer.freedesktop.org/data/pkg/windows/" +
- "1.14.3/gstreamer-1.0-x86_64-1.14.3.msi",
- sha256="f4f20c713766ed6718b914b9ae57ed993a59ffe194e6ef530c8547508b4484d8",
+ url=("https://gstreamer.freedesktop.org/data/pkg/windows/" +
+ "%s/gstreamer-1.0-%s-%s.msi" % (version, arch, version)),
+ sha256=hashes["non-devel"][arch],
path="gst",
)
.with_repacked_msi(
- url="https://gstreamer.freedesktop.org/data/pkg/windows/" +
- "1.14.3/gstreamer-1.0-devel-x86_64-1.14.3.msi",
- sha256="b13ea68c1365098c66871f0acab7fd3daa2f2795b5e893fcbb5cd7253f2c08fa",
+ url=("https://gstreamer.freedesktop.org/data/pkg/windows/" +
+ "%s/gstreamer-1.0-devel-%s-%s.msi" % (version, arch, version)),
+ sha256=hashes["devel"][arch],
path="gst",
)
- .with_directory_mount(
- "https://github.com/wixtoolset/wix3/releases/download/wix3111rtm/wix311-binaries.zip",
- sha256="37f0a533b0978a454efb5dc3bd3598becf9660aaf4287e55bf68ca6b527d051d",
- path="wix",
- )
- .with_path_from_homedir("wix")
)
+ if package:
+ task = (
+ task
+ .with_directory_mount(
+ "https://github.com/wixtoolset/wix3/releases/download/wix3111rtm/wix311-binaries.zip",
+ sha256="37f0a533b0978a454efb5dc3bd3598becf9660aaf4287e55bf68ca6b527d051d",
+ path="wix",
+ )
+ .with_path_from_homedir("wix")
+ )
+ return task
def macos_build_task(name):
diff --git a/etc/taskcluster/decisionlib.py b/etc/taskcluster/decisionlib.py
index 9f935ba26de..6ba349e8d0d 100644
--- a/etc/taskcluster/decisionlib.py
+++ b/etc/taskcluster/decisionlib.py
@@ -476,8 +476,8 @@ class WindowsGenericWorkerTask(GenericWorkerTask):
) \
.with_file_mount(
"https://static.rust-lang.org/rustup/archive/" +
- "1.13.0/i686-pc-windows-gnu/rustup-init.exe",
- sha256="43072fbe6b38ab38cd872fa51a33ebd781f83a2d5e83013857fab31fc06e4bf0",
+ "1.17.0/x86_64-pc-windows-msvc/rustup-init.exe",
+ sha256="002127adeaaee6ef8d82711b5c2881a1db873262f63aea60cee9632f207e8f29",
)
def with_repacked_msi(self, url, sha256, path):
diff --git a/python/servo/packages.py b/python/servo/packages.py
index c6cea729515..18940cb79e2 100644
--- a/python/servo/packages.py
+++ b/python/servo/packages.py
@@ -3,7 +3,7 @@
# You can obtain one at https://mozilla.org/MPL/2.0/.
WINDOWS_MSVC = {
- "cmake": "3.7.2",
+ "cmake": "3.14.3",
"llvm": "7.0.0",
"moztools": "3.2",
"ninja": "1.7.1",