aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorJosh Matthews <josh@joshmatthews.net>2019-05-24 16:03:47 -0400
committerJosh Matthews <josh@joshmatthews.net>2019-05-24 22:32:34 -0400
commit0d831117ec7f1b6e16ca9980c3a9fd0523e1a775 (patch)
tree2b3b2a2b9d12ec5b2ed8f578a1caf89be5b777bd /components/script
parente0c95ed8558433d792569a0d3ce9a1cfa84eb6e3 (diff)
downloadservo-0d831117ec7f1b6e16ca9980c3a9fd0523e1a775.tar.gz
servo-0d831117ec7f1b6e16ca9980c3a9fd0523e1a775.zip
Remove restrictions on cross-compiling on Windows.
Diffstat (limited to 'components/script')
-rw-r--r--components/script/CMakeLists.txt2
-rw-r--r--components/script/build.rs48
-rw-r--r--components/script/vcvars.bat2
3 files changed, 1 insertions, 51 deletions
diff --git a/components/script/CMakeLists.txt b/components/script/CMakeLists.txt
index 0d892801469..5cf4071a144 100644
--- a/components/script/CMakeLists.txt
+++ b/components/script/CMakeLists.txt
@@ -1,4 +1,4 @@
-project(script)
+project(script LANGUAGES)
cmake_minimum_required(VERSION 2.6)
set(DUMMY ${CMAKE_BUILD_TYPE})
diff --git a/components/script/build.rs b/components/script/build.rs
index cefabaac4f8..794e2fe3283 100644
--- a/components/script/build.rs
+++ b/components/script/build.rs
@@ -9,47 +9,12 @@ 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
@@ -61,19 +26,6 @@ fn main() {
// We must use Ninja on Windows for this -- msbuild is painfully slow,
// and ninja is easier to install than make.
build.generator("Ninja");
- // We have to explicitly specify the full path to link.exe,
- // for reasons that I don't understand. If we just give
- // link.exe, it tries to use script-*/out/link.exe, which of
- // course does not exist.
- let link = std::process::Command::new("where")
- .arg("link.exe")
- .output()
- .unwrap();
- let link_path: Vec<&str> = std::str::from_utf8(&link.stdout)
- .unwrap()
- .split("\r\n")
- .collect();
- build.define("CMAKE_LINKER", link_path[0]);
}
build.build();
diff --git a/components/script/vcvars.bat b/components/script/vcvars.bat
deleted file mode 100644
index 205599fd33c..00000000000
--- a/components/script/vcvars.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-call "%VCVARSALL_PATH%\vcvarsall.bat" x64_x86
-set