You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.0 KiB

sudo: false
dist: xenial
language: rust
rust:
- nightly
cache:
directories:
- $HOME/Library/Caches/Homebrew
os:
- linux
- osx
env:
matrix:
- ARCH="riscv32" SRC="ucore"
- ARCH="riscv64" SRC="ucore"
- ARCH="i386" SRC="ucore"
- ARCH="x86_64" SRC="ucore"
- ARCH="aarch64" SRC="ucore"
- ARCH="riscv32" SRC="rust"
- ARCH="riscv64" SRC="rust"
- ARCH="i386" SRC="rust"
- ARCH="x86_64" SRC="rust"
- ARCH="aarch64" SRC="rust"
- ARCH="x86_64" SRC="biscuit"
- ARCH="aarch64" SRC="biscuit"
install:
- if [ $ARCH = riscv32 ] || [ $ARCH = riscv64 ]; then
[ $TRAVIS_OS_NAME = linux ] && export FILE="riscv64-unknown-elf-gcc-8.1.0-2019.01.0-x86_64-linux-ubuntu14";
[ $TRAVIS_OS_NAME = osx ] && export FILE="riscv64-unknown-elf-gcc-8.1.0-2019.01.0-x86_64-apple-darwin";
wget https://static.dev.sifive.com/dev-tools/$FILE.tar.gz;
tar xf $FILE.tar.gz;
export PATH=$PATH:$PWD/$FILE/bin;
fi
- if [ $ARCH = aarch64 ]; then
if [ $TRAVIS_OS_NAME = linux ]; then
export FILE="gcc-arm-8.2-2018.11-x86_64-aarch64-elf";
wget https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-2018.11/$FILE.tar.xz;
tar -xvf $FILE.tar.xz;
export PATH=$PATH:$PWD/$FILE/bin;
sudo apt update;
sudo apt install musl-tools linux-headers-$(uname -r);
elif [ $TRAVIS_OS_NAME = osx ]; then
brew tap SergioBenitez/osxct;
brew install aarch64-none-elf;
fi;
fi
- if [ $ARCH = i386 ]; then
if [ $TRAVIS_OS_NAME = osx ]; then
brew install i386-elf-gcc;
fi;
fi
- if [ $ARCH = x86_64 ]; then
if [ $TRAVIS_OS_NAME = linux ]; then
sudo apt update;
sudo apt install musl-tools linux-headers-$(uname -r);
elif [ $TRAVIS_OS_NAME = osx ]; then
brew tap altkatz/homebrew-gcc_cross_compilers;
brew install FiloSottile/musl-cross/musl-cross;
travis_wait brew install x64-elf-gcc;
fi;
fi
before_script:
- rustup component add rust-src
- (test -x $HOME/.cargo/bin/cargo-xbuild || cargo install cargo-xbuild)
script:
- make $SRC arch=$ARCH