Rollup merge of #61890 - golddranks:fix_sanity_check_llvm, r=Dylan-DPC
Fix some sanity checks Update: Changes that made it not to work dropped. * Fix `building_llvm` in sanity check * This was subtly broken: we build LLVM if any of the hosts builds LLVM, and not setting the config meant that LLVM is built for that target. Because of filtering away the targets not configured and the semantics of `Iterator::any`, it currently didn't set the `building_llvm` flag even if we indeed build it. * Add `swig` sanity check * This checks whether there is a `swig` executable needed for LLDB.
This commit is contained in:
commit
dbd0028dcc
@ -78,8 +78,11 @@ pub fn check(build: &mut Build) {
|
|||||||
|
|
||||||
// We need cmake, but only if we're actually building LLVM or sanitizers.
|
// We need cmake, but only if we're actually building LLVM or sanitizers.
|
||||||
let building_llvm = build.hosts.iter()
|
let building_llvm = build.hosts.iter()
|
||||||
.filter_map(|host| build.config.target_config.get(host))
|
.map(|host| build.config.target_config
|
||||||
.any(|config| config.llvm_config.is_none());
|
.get(host)
|
||||||
|
.map(|config| config.llvm_config.is_none())
|
||||||
|
.unwrap_or(true))
|
||||||
|
.any(|build_llvm_ourselves| build_llvm_ourselves);
|
||||||
if building_llvm || build.config.sanitizers {
|
if building_llvm || build.config.sanitizers {
|
||||||
cmd_finder.must_have("cmake");
|
cmd_finder.must_have("cmake");
|
||||||
}
|
}
|
||||||
@ -106,6 +109,14 @@ pub fn check(build: &mut Build) {
|
|||||||
build.config.ninja = true;
|
build.config.ninja = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if build.config.lldb_enabled {
|
||||||
|
cmd_finder.must_have("swig");
|
||||||
|
let out = output(Command::new("swig").arg("-version"));
|
||||||
|
if !out.contains("SWIG Version 3") && !out.contains("SWIG Version 4") {
|
||||||
|
panic!("Ensure that Swig 3.x.x or 4.x.x is installed.");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
build.config.python = build.config.python.take().map(|p| cmd_finder.must_have(p))
|
build.config.python = build.config.python.take().map(|p| cmd_finder.must_have(p))
|
||||||
|
Loading…
Reference in New Issue
Block a user