let BSD to use gmake for GNU-make
the diff extends build_helper to provide an function to return the expected name of GNU-make on the host: "make" or "gmake". Fixes #38429
This commit is contained in:
parent
9f8c1e28a5
commit
a7d9025e40
1
src/Cargo.lock
generated
1
src/Cargo.lock
generated
|
@ -87,6 +87,7 @@ dependencies = [
|
|||
name = "compiletest"
|
||||
version = "0.0.0"
|
||||
dependencies = [
|
||||
"build_helper 0.1.0",
|
||||
"env_logger 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"serialize 0.0.0",
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
//! This file implements the various regression test suites that we execute on
|
||||
//! our CI.
|
||||
|
||||
extern crate build_helper;
|
||||
|
||||
use std::collections::HashSet;
|
||||
use std::env;
|
||||
use std::fmt;
|
||||
|
@ -543,7 +545,7 @@ pub fn distcheck(build: &Build) {
|
|||
build.run(&mut cmd);
|
||||
build.run(Command::new("./configure")
|
||||
.current_dir(&dir));
|
||||
build.run(Command::new("make")
|
||||
build.run(Command::new(build_helper::make(&build.config.build))
|
||||
.arg("check")
|
||||
.current_dir(&dir));
|
||||
}
|
||||
|
|
|
@ -63,6 +63,16 @@ pub fn cc2ar(cc: &Path, target: &str) -> Option<PathBuf> {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn make(host: &str) -> PathBuf {
|
||||
if host.contains("bitrig") || host.contains("dragonfly") ||
|
||||
host.contains("freebsd") || host.contains("netbsd") ||
|
||||
host.contains("openbsd") {
|
||||
PathBuf::from("gmake")
|
||||
} else {
|
||||
PathBuf::from("make")
|
||||
}
|
||||
}
|
||||
|
||||
pub fn output(cmd: &mut Command) -> String {
|
||||
let output = match cmd.stderr(Stdio::inherit()).output() {
|
||||
Ok(status) => status,
|
||||
|
|
|
@ -151,7 +151,7 @@ fn main() {
|
|||
cmd.arg(format!("--build={}", build_helper::gnu_target(&host)));
|
||||
|
||||
run(&mut cmd);
|
||||
let mut make = Command::new("make");
|
||||
let mut make = Command::new(build_helper::make(&host));
|
||||
make.current_dir(&build_dir)
|
||||
.arg("build_lib_static");
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ fn build_libbacktrace(host: &str, target: &str) {
|
|||
.env("AR", &ar)
|
||||
.env("RANLIB", format!("{} s", ar.display()))
|
||||
.env("CFLAGS", cflags));
|
||||
run(Command::new("make")
|
||||
run(Command::new(build_helper::make(host))
|
||||
.current_dir(&build_dir)
|
||||
.arg(format!("INCDIR={}", src_dir.display()))
|
||||
.arg("-j").arg(env::var("NUM_JOBS").expect("NUM_JOBS was not set")));
|
||||
|
|
|
@ -8,3 +8,4 @@ build = "build.rs"
|
|||
log = "0.3"
|
||||
env_logger = { version = "0.3.5", default-features = false }
|
||||
serialize = { path = "../../libserialize" }
|
||||
build_helper = { path = "../../build_helper" }
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
extern crate build_helper;
|
||||
|
||||
use common::Config;
|
||||
use common::{CompileFail, ParseFail, Pretty, RunFail, RunPass, RunPassValgrind};
|
||||
use common::{Codegen, DebugInfoLldb, DebugInfoGdb, Rustdoc, CodegenUnits};
|
||||
|
@ -2108,7 +2110,7 @@ actual:\n\
|
|||
}
|
||||
self.create_dir_racy(&tmpdir);
|
||||
|
||||
let mut cmd = Command::new("make");
|
||||
let mut cmd = Command::new(build_helper::make(&self.config.host));
|
||||
cmd.current_dir(&self.testpaths.file)
|
||||
.env("TARGET", &self.config.target)
|
||||
.env("PYTHON", &self.config.docck_python)
|
||||
|
|
Loading…
Reference in a new issue