File tree 2 files changed +12
-4
lines changed
2 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -171,7 +171,7 @@ pub fn run(target: &Target,
171
171
. run_and_get_status ( verbose)
172
172
}
173
173
174
- fn image ( toml : Option < & Toml > , target : & Target ) -> Result < String > {
174
+ pub fn image ( toml : Option < & Toml > , target : & Target ) -> Result < String > {
175
175
if let Some ( toml) = toml {
176
176
if let Some ( image) = toml. image ( target) ?. map ( |s| s. to_owned ( ) ) {
177
177
return Ok ( image)
@@ -181,8 +181,8 @@ fn image(toml: Option<&Toml>, target: &Target) -> Result<String> {
181
181
let triple = target. triple ( ) ;
182
182
183
183
if !DOCKER_IMAGES . contains ( & triple) {
184
- bail ! ( "cross does not provide docker image for {} target , \
185
- specify a custom image in Cross.toml", triple) ;
184
+ bail ! ( "` cross` does not provide a Docker image for target {} , \
185
+ specify a custom image in ` Cross.toml`. ", triple) ;
186
186
}
187
187
188
188
let version = env ! ( "CARGO_PKG_VERSION" ) ;
Original file line number Diff line number Diff line change @@ -277,7 +277,15 @@ fn run() -> Result<ExitStatus> {
277
277
278
278
let needs_interpreter = args. subcommand . map ( |sc| sc. needs_interpreter ( ) ) . unwrap_or ( false ) ;
279
279
280
- if target. needs_docker ( ) &&
280
+ let image_exists = match docker:: image ( toml. as_ref ( ) , & target) {
281
+ Ok ( _) => true ,
282
+ Err ( err) => {
283
+ eprintln ! ( "Warning: {} Falling back to `cargo` on the host." , err) ;
284
+ false
285
+ } ,
286
+ } ;
287
+
288
+ if image_exists && target. needs_docker ( ) &&
281
289
args. subcommand . map ( |sc| sc. needs_docker ( ) ) . unwrap_or ( false ) {
282
290
if version_meta. needs_interpreter ( ) &&
283
291
needs_interpreter &&
You can’t perform that action at this time.
0 commit comments