diff options
author | Josh Matthews <josh@joshmatthews.net> | 2019-04-15 21:27:24 -0400 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2019-04-26 08:54:24 -0400 |
commit | 57d241fce5531879b641401eb8e554e89aaf7213 (patch) | |
tree | 491a69e30c8f7de6ec7597f59c9583bd4efcf9cf | |
parent | ec680de0635932201655318a3acf446c40b14e03 (diff) | |
download | servo-57d241fce5531879b641401eb8e554e89aaf7213.tar.gz servo-57d241fce5531879b641401eb8e554e89aaf7213.zip |
Add Windows x86 build job.
-rw-r--r-- | Cargo.lock | 74 | ||||
-rw-r--r-- | components/script/build.rs | 36 | ||||
-rw-r--r-- | components/script/vcvars.bat | 2 | ||||
-rw-r--r-- | etc/taskcluster/decision_task.py | 74 | ||||
-rw-r--r-- | etc/taskcluster/decisionlib.py | 4 | ||||
-rw-r--r-- | python/servo/packages.py | 2 |
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", |