]> git.lizzy.rs Git - rust.git/blobdiff - src/bootstrap/dist.rs
rustc: Load the `rustc_trans` crate at runtime
[rust.git] / src / bootstrap / dist.rs
index 224b31ef26872469d600fc87ff4b99cb006fb0bf..4127239dc49b87d27eed38ff93fa3f7302f290dd 100644 (file)
@@ -434,6 +434,15 @@ fn prepare_image(builder: &Builder, compiler: Compiler, image: &Path) {
                 }
             }
 
+            // Copy over the codegen backends
+            let backends_src = builder.sysroot_libdir(compiler, host)
+                .join("codegen-backends");
+            let backends_dst = image.join("lib/rustlib")
+                .join(&*host)
+                .join("lib/codegen-backends");
+            t!(fs::create_dir_all(&backends_dst));
+            cp_r(&backends_src, &backends_dst);
+
             // Man pages
             t!(fs::create_dir_all(image.join("share/man/man1")));
             let man_src = build.src.join("src/doc/man");
@@ -581,7 +590,9 @@ fn run(self, builder: &Builder) -> PathBuf {
         t!(fs::create_dir_all(&dst));
         let mut src = builder.sysroot_libdir(compiler, target).to_path_buf();
         src.pop(); // Remove the trailing /lib folder from the sysroot_libdir
-        cp_r(&src, &dst);
+        cp_filtered(&src, &dst, &|path| {
+            path.file_name().and_then(|s| s.to_str()) != Some("codegen-backends")
+        });
 
         let mut cmd = rust_installer(builder);
         cmd.arg("generate")