blob: 1b72605365b175da6f5d817fb734bc9af94cf807 [file] [log] [blame]
Alex Crichton83a30492015-09-12 16:15:48 -07001set -ex
2
Alex Crichtone47a4502015-09-12 16:42:49 -07003if [ "$TRAVIS_OS_NAME" = "linux" ]; then
Alex Crichton83a30492015-09-12 16:15:48 -07004 OS=unknown-linux-gnu
5else
6 OS=apple-darwin
7fi
8
9export HOST=$ARCH-$OS
10
Alex Crichton3f07aeb2015-09-12 16:35:52 -070011# clang has better error messages and implements alignof more broadly
12export CC=clang
13
Alex Crichton23ab70b2015-09-13 23:38:27 -070014EXTRA_TARGETS=https://people.mozilla.org/~acrichton/libc-test/2015-09-08
15
Alex Crichtonacda0132015-09-13 11:22:26 -070016if [ "$TARGET" = "arm-linux-androideabi" ]; then
17 # Pull a pre-built docker image for testing android, then run tests entirely
18 # within that image.
19 docker pull alexcrichton/rust-libc-test
Alex Crichton944a7332015-09-14 11:27:10 -070020 exec docker run -v `pwd`:/clone -t alexcrichton/rust-libc-test \
21 sh ci/run.sh $TARGET
Alex Crichton2f846f32015-09-13 21:21:46 -070022elif [ "$TARGET" = "x86_64-unknown-linux-musl" ]; then
Alex Crichton23ab70b2015-09-13 23:38:27 -070023 curl -s $EXTRA_TARGETS/$TARGET.tar.gz | tar xzf - -C $HOME/rust/lib/rustlib
Alex Crichton23ab70b2015-09-13 23:38:27 -070024elif [ "$TARGET" = "arm-unknown-linux-gnueabihf" ]; then
25 curl -s $EXTRA_TARGETS/$TARGET.tar.gz | tar xzf - -C $HOME/rust/lib/rustlib
Alex Crichton517b76a2015-09-13 23:53:31 -070026 sudo apt-get install gcc-4.7-arm-linux-gnueabihf qemu-user
Alex Crichton23ab70b2015-09-13 23:38:27 -070027 export CC=arm-linux-gnueabihf-gcc-4.7
Alex Crichton944a7332015-09-14 11:27:10 -070028elif [ "$TARGET" = "mips-unknown-linux-gnu" ]; then
29 curl -s $EXTRA_TARGETS/$TARGET.tar.gz | tar xzf - -C $HOME/rust/lib/rustlib
30 echo 'deb http://ftp.de.debian.org/debian squeeze main' | \
31 sudo tee -a /etc/apt/sources.list
32 echo 'deb http://www.emdebian.org/debian/ squeeze main' | \
33 sudo tee -a /etc/apt/sources.list
34 sudo apt-get update
Alex Crichtonac5ba002015-09-14 11:49:09 -070035 sudo apt-get install emdebian-archive-keyring
Alex Crichton86c7c432015-09-14 12:58:03 -070036 sudo apt-get install qemu-user gcc-4.4-mips-linux-gnu -y --force-yes
Alex Crichton944a7332015-09-14 11:27:10 -070037 export CC=mips-linux-gnu-gcc
Alex Crichtonacda0132015-09-13 11:22:26 -070038else
Alex Crichton83a30492015-09-12 16:15:48 -070039 # Download and install the relevant target locally, then run tests
40 curl -sO https://static.rust-lang.org/dist/rust-$TRAVIS_RUST_VERSION-$HOST.tar.gz
41 tar xf rust-$TRAVIS_RUST_VERSION-$HOST.tar.gz
42 rm -rf $HOME/rust/lib/rustlib/$HOST
43 mv rust-$TRAVIS_RUST_VERSION-$HOST/rustc/lib/rustlib/$HOST \
44 $HOME/rust/lib/rustlib
Alex Crichton944a7332015-09-14 11:27:10 -070045 TARGET=$HOST
Alex Crichton83a30492015-09-12 16:15:48 -070046fi
Alex Crichton944a7332015-09-14 11:27:10 -070047
48mkdir .cargo
49cp ci/cargo-config .cargo/config
50sh ci/run.sh $TARGET