aboutsummaryrefslogtreecommitdiff
path: root/libc/ci/run-qemu.sh
diff options
context:
space:
mode:
Diffstat (limited to 'libc/ci/run-qemu.sh')
-rw-r--r--libc/ci/run-qemu.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/libc/ci/run-qemu.sh b/libc/ci/run-qemu.sh
new file mode 100644
index 0000000..b2f457d
--- /dev/null
+++ b/libc/ci/run-qemu.sh
@@ -0,0 +1,32 @@
+# Initial script which is run inside of all qemu images. The first argument to
+# this script (as arranged by the qemu image itself) is the path to where the
+# libc crate is mounted.
+#
+# For qemu images we currently need to install Rust manually as this wasn't done
+# by the initial run-travis.sh script
+#
+# FIXME: feels like run-travis.sh should be responsible for downloading the
+# compiler.
+
+set -ex
+
+ROOT=$1
+cp -r $ROOT/libc /tmp/libc
+cd /tmp/libc
+
+TARGET=$(cat $ROOT/TARGET)
+export CARGO_TARGET_DIR=/tmp
+
+case $TARGET in
+ *-openbsd)
+ pkg_add cargo gcc%4.9 rust
+ export CC=egcc
+ ;;
+
+ *)
+ echo "Unknown target: $TARGET"
+ exit 1
+ ;;
+esac
+
+exec sh ci/run.sh $TARGET