aboutsummaryrefslogtreecommitdiff
path: root/cortex-m-rt/assemble.sh
diff options
context:
space:
mode:
authorGravatar Jorge Aparicio <jorge@japaric.io> 2018-08-25 15:19:16 +0200
committerGravatar Jorge Aparicio <jorge@japaric.io> 2018-08-25 15:27:00 +0200
commitb26781c59e26739b0abc9a2b052f5294394f596a (patch)
tree86cf01eec6780f346a7b5d049ca26a47fdf888dc /cortex-m-rt/assemble.sh
parent5861058169dce0d65db7b20c0edce7b1e2dbb2de (diff)
downloadcortex-m-b26781c59e26739b0abc9a2b052f5294394f596a.tar.gz
cortex-m-b26781c59e26739b0abc9a2b052f5294394f596a.tar.zst
cortex-m-b26781c59e26739b0abc9a2b052f5294394f596a.zip
remove build dependency on arm-none-eabi-gcc
Before this commit we used gcc to assemble external assembly files into object files that we linked into our Rust program. This commit drops the dependency on gcc by shipping the already assembled object files with this crate source code.
Diffstat (limited to 'cortex-m-rt/assemble.sh')
-rwxr-xr-xcortex-m-rt/assemble.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/cortex-m-rt/assemble.sh b/cortex-m-rt/assemble.sh
new file mode 100755
index 0000000..f2ee3fd
--- /dev/null
+++ b/cortex-m-rt/assemble.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -euxo pipefail
+
+# cflags taken from cc 1.0.22
+
+arm-none-eabi-as -march=armv6s-m asm.s -o bin/cortex-m-rt.o
+ar crs bin/thumbv6m-none-eabi.a bin/cortex-m-rt.o
+
+arm-none-eabi-as -march=armv7-m asm.s -o bin/cortex-m-rt.o
+ar crs bin/thumbv7m-none-eabi.a bin/cortex-m-rt.o
+
+arm-none-eabi-as -march=armv7e-m asm.s -o bin/cortex-m-rt.o
+ar crs bin/thumbv7em-none-eabi.a bin/cortex-m-rt.o
+ar crs bin/thumbv7em-none-eabihf.a bin/cortex-m-rt.o
+
+rm bin/cortex-m-rt.o