Skip to content

Commit 98532cd

Browse files
committed
hack powerpc64, solaris and pc-windows-gnu and sparc64
1 parent 8f22bbf commit 98532cd

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

Dockerfile.hack

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ARG CROSS_IMAGE
2+
FROM $CROSS_IMAGE

xtask/src/build_docker_image.rs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,21 @@ fn locate_dockerfile(
8484
} else {
8585
eyre::bail!("unable to find dockerfile for target \"{target}\"");
8686
};
87-
let dockerfile = dockerfile_root.join(dockerfile_name).to_utf8()?.to_string();
87+
let dockerfile = if matches!(
88+
target.triplet.as_str(),
89+
"powerpc64-unknown-linux-gnu"
90+
| "x86_64-sun-solaris"
91+
| "i686-pc-windows-gnu"
92+
| "x86_64-pc-windows-gnu"
93+
| "sparc64-unknown-linux-gnu"
94+
) {
95+
crate::util::project_dir(&mut <_>::default())?
96+
.join("Dockerfile.hack")
97+
.to_utf8()?
98+
.to_string()
99+
} else {
100+
dockerfile_root.join(dockerfile_name).to_utf8()?.to_string()
101+
};
88102
Ok((target, dockerfile))
89103
}
90104

@@ -243,6 +257,11 @@ pub fn build_docker_image(
243257
docker_build.args(&["--build-arg", "VERBOSE=1"]);
244258
}
245259

260+
docker_build.args(&[
261+
"--build-arg",
262+
&format!("CROSS_IMAGE={}", target.image_name(&repository, "0.2.4")),
263+
]);
264+
246265
if target.needs_workspace_root_context() {
247266
docker_build.arg(&root);
248267
} else {

0 commit comments

Comments
 (0)