From 9adbc163274b2aa77a9f76cb7ab3d7e2334ba623 Mon Sep 17 00:00:00 2001 From: WangRunji Date: Mon, 9 Apr 2018 15:12:15 +0800 Subject: [PATCH] Try to add qemu for travis --- .travis.yml | 8 +++++++- travis-qemu.sh | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100755 travis-qemu.sh diff --git a/.travis.yml b/.travis.yml index 8f417d9..b5a591c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,13 +3,19 @@ language: rust rust: - nightly -cache: cargo +cache: + - cargo + directories: + - $HOME/qemu before_script: - rustup component add rust-src - (test -x $HOME/.cargo/bin/cargo-install-update || cargo install cargo-update) - (test -x $HOME/.cargo/bin/xargo || cargo install xargo) - cargo install-update -a + # setup qemu + - bash -e travis-qemu.sh + - export PATH=$PATH:$HOME/qemu/bin sudo: false diff --git a/travis-qemu.sh b/travis-qemu.sh new file mode 100755 index 0000000..69767e7 --- /dev/null +++ b/travis-qemu.sh @@ -0,0 +1,39 @@ +#!/bin/bash +set -e + +VERSION=${QEMU_VERSION:=2.11.1} +ARCHES=${QEMU_ARCHES:=arm aarch64 i386 x86_64} +TARGETS=${QEMU_TARGETS:=$(echo $ARCHES | sed 's#$# #;s#\([^ ]*\) #\1-softmmu \1-linux-user #g')} + +if echo "$VERSION $TARGETS" | cmp --silent $HOME/qemu/.build -; then + echo "qemu $VERSION up to date!" + exit 0 +fi + +echo "VERSION: $VERSION" +echo "TARGETS: $TARGETS" + +cd $HOME +rm -rf qemu + +# Checking for a tarball before downloading makes testing easier :-) +test -f "qemu-$VERSION.tar.bz2" || wget "http://wiki.qemu-project.org/download/qemu-$VERSION.tar.bz2" +tar -xf "qemu-$VERSION.tar.bz2" +cd "qemu-$VERSION" + +./configure \ + --prefix="$HOME/qemu" \ + --target-list="$TARGETS" \ + --disable-docs \ + --disable-sdl \ + --disable-gtk \ + --disable-gnutls \ + --disable-gcrypt \ + --disable-nettle \ + --disable-curses \ + --static + +make -j4 +make install + +echo "$VERSION $TARGETS" > $HOME/qemu/.build