aboutsummaryrefslogtreecommitdiff
path: root/cortex-m-semihosting/build.rs
diff options
context:
space:
mode:
authorGravatar Jonas Schievink <jonasschievink@gmail.com> 2020-08-31 23:16:21 +0200
committerGravatar Jonas Schievink <jonasschievink@gmail.com> 2020-10-13 21:30:44 +0200
commit10b29d3a4fc43503c25fb2c7ffbeaad44c2fb103 (patch)
treeceb6fc008cfbcc430a4254464d0e3341c34796e1 /cortex-m-semihosting/build.rs
parentf77d64a2d1505335e4a170d03a40993bb066fd02 (diff)
downloadcortex-m-10b29d3a4fc43503c25fb2c7ffbeaad44c2fb103.tar.gz
cortex-m-10b29d3a4fc43503c25fb2c7ffbeaad44c2fb103.tar.zst
cortex-m-10b29d3a4fc43503c25fb2c7ffbeaad44c2fb103.zip
Import semihosting crates as-is
Diffstat (limited to 'cortex-m-semihosting/build.rs')
-rw-r--r--cortex-m-semihosting/build.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/cortex-m-semihosting/build.rs b/cortex-m-semihosting/build.rs
new file mode 100644
index 0000000..4f4a6d6
--- /dev/null
+++ b/cortex-m-semihosting/build.rs
@@ -0,0 +1,22 @@
+use std::path::PathBuf;
+use std::{env, fs};
+
+fn main() {
+ let target = env::var("TARGET").unwrap();
+ let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap());
+ let name = env::var("CARGO_PKG_NAME").unwrap();
+
+ if target.starts_with("thumbv") {
+ if env::var_os("CARGO_FEATURE_INLINE_ASM").is_none() {
+ fs::copy(
+ format!("bin/{}.a", target),
+ out_dir.join(format!("lib{}.a", name)),
+ ).unwrap();
+
+ println!("cargo:rustc-link-lib=static={}", name);
+ println!("cargo:rustc-link-search={}", out_dir.display());
+ }
+
+ println!("cargo:rustc-cfg=thumb");
+ }
+}