|
|
|
sudo: required
|
|
|
|
|
|
|
|
language: rust
|
|
|
|
|
|
|
|
rust: nightly
|
|
|
|
|
|
|
|
cache:
|
|
|
|
cargo: true
|
|
|
|
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- qemu
|
|
|
|
|
|
|
|
env:
|
|
|
|
matrix:
|
|
|
|
- ARCH="riscv32"
|
|
|
|
- ARCH="riscv32" OPTS="m_mode=1"
|
|
|
|
- ARCH="x86_64"
|
|
|
|
- ARCH="aarch64"
|
|
|
|
|
|
|
|
install:
|
|
|
|
- if [ $ARCH = riscv32 ]; then
|
|
|
|
export FILE="riscv64-unknown-elf-gcc-20181030-x86_64-linux-ubuntu14";
|
|
|
|
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
|
|
|
|
wget https://web.stanford.edu/class/cs140e/files/aarch64-none-elf-linux-x64.tar.gz;
|
|
|
|
tar -xzvf aarch64-none-elf-linux-x64.tar.gz;
|
|
|
|
export PATH=$PATH:$PWD/aarch64-none-elf/bin;
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
before_script:
|
|
|
|
- rustup component add rust-src
|
|
|
|
- (test -x $HOME/.cargo/bin/cargo-xbuild || cargo install cargo-xbuild)
|
|
|
|
- (test -x $HOME/.cargo/bin/bootimage || cargo install bootimage)
|
|
|
|
|
|
|
|
script:
|
|
|
|
- cd kernel && make build arch=$ARCH $OPTS && cd ..
|
|
|
|
- cd user && make arch=$ARCH
|