3 use super::build_sysroot;
6 use super::prepare::GitRepo;
7 use super::utils::{spawn_and_wait, CargoProject, Compiler};
8 use super::SysrootKind;
10 pub(crate) static ABI_CAFE_REPO: GitRepo =
11 GitRepo::github("Gankra", "abi-cafe", "4c6dc8c9c687e2b3a760ff2176ce236872b37212", "abi-cafe");
13 static ABI_CAFE: CargoProject = CargoProject::new(&ABI_CAFE_REPO.source_dir(), "abi_cafe");
17 sysroot_kind: SysrootKind,
23 if !config::get_bool("testsuite.abi-cafe") {
24 eprintln!("[SKIP] abi-cafe");
28 if host_triple != target_triple {
29 eprintln!("[SKIP] abi-cafe (cross-compilation not supported)");
33 eprintln!("Building sysroot for abi-cafe");
34 build_sysroot::build_sysroot(
43 eprintln!("Running abi-cafe");
45 let pairs = ["rustc_calls_cgclif", "cgclif_calls_rustc", "cgclif_calls_cc", "cc_calls_cgclif"];
47 let mut cmd = ABI_CAFE.run(&Compiler::host(), dirs);
51 cmd.arg("--add-rustc-codegen-backend");
52 cmd.arg(format!("cgclif:{}", cg_clif_dylib.display()));
53 cmd.current_dir(ABI_CAFE.source_dir(dirs));