-+ LlvmTools, alias = "llvm-tools", Self::should_build(_config), only_hosts: true, {
-+ let tarball = builder
-+ .ensure(dist::LlvmTools { target: self.target })
-+ .expect("missing llvm-tools");
-+ install_sh(builder, "llvm-tools", self.compiler.stage, Some(self.target), &tarball);
-+ };
+ LlvmTools, alias = "llvm-tools", Self::should_build(_config), only_hosts: true, {
+- let tarball = builder
+- .ensure(dist::LlvmTools { target: self.target })
+- .expect("missing llvm-tools");
+- install_sh(builder, "llvm-tools", self.compiler.stage, Some(self.target), &tarball);
++ if let Some(tarball) = builder.ensure(dist::LlvmTools { target: self.target }) {
++ install_sh(builder, "llvm-tools", self.compiler.stage, Some(self.target), &tarball);
++ } else {
++ builder.info(
++ &format!("skipping llvm-tools stage{} ({}): external LLVM", self.compiler.stage, self.target),
++ );
++ }
+ };