about summary refs log tree commit diff
path: root/src/bootstrap/native.rs
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2017-08-28 11:22:11 -0500
committerSamuel Holland <samuel@sholland.org>2017-08-28 11:22:11 -0500
commitadfebed9db8d280487a8056f5b56331e3af7a33a (patch)
treee4ffeb05d48d012fe9f3abc55ba61a17d9a720cf /src/bootstrap/native.rs
parent5caca6fa0213cadca1584db43dd71fb5f82b41b9 (diff)
downloadrust-adfebed9db8d280487a8056f5b56331e3af7a33a.tar.gz
rust-adfebed9db8d280487a8056f5b56331e3af7a33a.zip
Explicitly run perl for OpenSSL Configure
OpenSSL's Configure script is missing a shebang. On some platforms,
execve falls back to execution with the shell. Some other platforms,
like musl, will fail with an exec format error. Avoid this by calling
perl explicitly (since it's a perl script).
Diffstat (limited to 'src/bootstrap/native.rs')
-rw-r--r--src/bootstrap/native.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs
index 0a307e72bf6..dfbef044fee 100644
--- a/src/bootstrap/native.rs
+++ b/src/bootstrap/native.rs
@@ -388,7 +388,8 @@ impl Step for Openssl {
         drop(fs::remove_dir_all(&dst));
         build.run(Command::new("tar").arg("xf").arg(&tarball).current_dir(&out));
 
-        let mut configure = Command::new(obj.join("Configure"));
+        let mut configure = Command::new("perl");
+        configure.arg(obj.join("Configure"));
         configure.arg(format!("--prefix={}", dst.display()));
         configure.arg("no-dso");
         configure.arg("no-ssl2");