Prechádzať zdrojové kódy

Merge #93

93: Rerun the build script if the bin/{}.a archive has changed r=Disasm a=SimonSapin

This PR also includes some drive-by cleanup commits, but the last one is what’s significant. This bit me when trying to make changes to `asm.S` and rebuilding with `./assemble.sh`.

(By the way, I get ``Assembler messages: Fatal error: invalid -march= option: `rv32i'`` when running that script on Arch Linux despite installing a GNU toolchain for RISC-V. Instead I’m now using an Ubuntu 20.04 container to run it, since that’s what CI does for `./check-blobs.sh`.)

Co-authored-by: Simon Sapin <simon.sapin@exyr.org>
bors[bot] 2 rokov pred
rodič
commit
6bd66a2ada
1 zmenil súbory, kde vykonal 4 pridanie a 16 odobranie
  1. 4 16
      riscv-rt/build.rs

+ 4 - 16
riscv-rt/build.rs

@@ -4,7 +4,6 @@ extern crate riscv_target;
 use riscv_target::Target;
 use std::env;
 use std::fs;
-use std::io::Write;
 use std::path::PathBuf;
 
 fn main() {
@@ -15,26 +14,15 @@ fn main() {
     if target.starts_with("riscv") {
         let mut target = Target::from_target_str(&target);
         target.retain_extensions("imfdc");
+        let archive = format!("bin/{}.a", target.to_string());
 
-        let target = target.to_string();
-
-        fs::copy(
-            format!("bin/{}.a", target),
-            out_dir.join(format!("lib{}.a", name)),
-        )
-        .unwrap();
-
+        fs::copy(&archive, out_dir.join(format!("lib{}.a", name))).unwrap();
+        println!("cargo:rerun-if-changed={}", archive);
         println!("cargo:rustc-link-lib=static={}", name);
-        println!("cargo:rustc-link-search={}", out_dir.display());
     }
 
     // Put the linker script somewhere the linker can find it
-    fs::File::create(out_dir.join("link.x"))
-        .unwrap()
-        .write_all(include_bytes!("link.x"))
-        .unwrap();
+    fs::write(out_dir.join("link.x"), include_bytes!("link.x")).unwrap();
     println!("cargo:rustc-link-search={}", out_dir.display());
-
-    println!("cargo:rerun-if-changed=build.rs");
     println!("cargo:rerun-if-changed=link.x");
 }