Use a switch instead of if/else
diff --git a/ci/run-travis.sh b/ci/run-travis.sh
index ede2e48..0bebd42 100644
--- a/ci/run-travis.sh
+++ b/ci/run-travis.sh
@@ -20,75 +20,65 @@
sudo apt-get install $@
}
-# NOTE: this is not actually run on travis right now, this was added to in
-# theory run FreeBSD vagrant images on Travis, but it ended up not working, so
-# this may not be working when you read this.
-install_vagrant() {
- echo 'deb http://download.virtualbox.org/virtualbox/debian trusty contrib' | \
- sudo tee -a /etc/apt/sources.list
- vbox=virtualbox-5.0_5.0.4-102546~Ubuntu~trusty_amd64.deb
- curl https://www.virtualbox.org/download/oracle_vbox.asc | sudo apt-key add -
- install virtualbox-5.0 linux-headers-3.16.0-31-generic nfs-kernel-server
-
- # After we've got virtualbox, install vagrant itself. Note that the version in
- # the default ubuntu repos is too old to run the images we have, so install
- # the one from the vagrant website's download link
- curl -LO https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.4_x86_64.deb
- sudo dpkg -i vagrant_1.7.4_x86_64.deb
-}
-
-if [ "$TARGET" = "arm-linux-androideabi" ]; then
+case "$TARGET" in
# Pull a pre-built docker image for testing android, then run tests entirely
- # within that image.
- docker pull alexcrichton/rust-libc-test
- exec docker run -v `pwd`:/clone -t alexcrichton/rust-libc-test \
- sh ci/run.sh $TARGET
-elif [ "$TARGET" = "x86_64-unknown-linux-musl" ]; then
- curl -s $EXTRA_TARGETS/$TARGET.tar.gz | tar xzf - -C $HOME/rust/lib/rustlib
- install musl-tools
- export CC=musl-gcc
-elif [ "$TARGET" = "arm-unknown-linux-gnueabihf" ]; then
- curl -s $EXTRA_TARGETS/$TARGET.tar.gz | tar xzf - -C $HOME/rust/lib/rustlib
- install gcc-4.7-arm-linux-gnueabihf qemu-user
- export CC=arm-linux-gnueabihf-gcc-4.7
-elif [ "$TARGET" = "aarch64-unknown-linux-gnu" ]; then
- curl -s $EXTRA_TARGETS/$TARGET.tar.gz | tar xzf - -C $HOME/rust/lib/rustlib
- install gcc-aarch64-linux-gnu qemu-user
- export CC=aarch64-linux-gnu-gcc
-elif [ "$TARGET" = "mips-unknown-linux-gnu" ]; then
- # Download pre-built and custom MIPS libs and then also instsall the MIPS
- # compiler according to this post:
- # http://sathisharada.blogspot.com/2014_10_01_archive.html
- curl -s $EXTRA_TARGETS/$TARGET.tar.gz | tar xzf - -C $HOME/rust/lib/rustlib
+ #d within that image.
+ arm-linux-androideabi)
+ docker pull alexcrichton/rust-libc-test
+ exec docker run -v `pwd`:/clone -t alexcrichton/rust-libc-test \
+ sh ci/run.sh $TARGET
+ ;;
- echo 'deb http://ftp.de.debian.org/debian squeeze main' | \
- sudo tee -a /etc/apt/sources.list
- echo 'deb http://www.emdebian.org/debian/ squeeze main' | \
- sudo tee -a /etc/apt/sources.list
- install emdebian-archive-keyring
- install qemu-user gcc-4.4-mips-linux-gnu -y --force-yes
- export CC=mips-linux-gnu-gcc
-elif [ "$TARGET" = "x86_64-unknown-freebsd" ]; then
- install_vagrant
- cd ci
- vagrant up freebsd
- exec vagrant ssh freebsd -c \
- 'cd /vagrant && CARGO_TARGET_DIR=/tmp sh ci/run.sh x86_64-unknown-freebsd'
-else
- # Download the rustlib folder from the relevant portion of main distribution's
- # tarballs.
- curl -s $MAIN_TARGETS/rust-$TRAVIS_RUST_VERSION-$HOST.tar.gz | \
- tar xzf - -C $HOME/rust/lib/rustlib --strip-components=4 \
- rust-$TRAVIS_RUST_VERSION-$HOST/rustc/lib/rustlib/$HOST
- TARGET=$HOST
+ x86_64-unknown-linux-musl)
+ curl -s $EXTRA_TARGETS/$TARGET.tar.gz | tar xzf - -C $HOME/rust/lib/rustlib
+ install musl-tools
+ export CC=musl-gcc
+ ;;
- # clang has better error messages and implements alignof more broadly
- export CC=clang
+ arm-unknown-linux-gnueabihf)
+ curl -s $EXTRA_TARGETS/$TARGET.tar.gz | tar xzf - -C $HOME/rust/lib/rustlib
+ install gcc-4.7-arm-linux-gnueabihf qemu-user
+ export CC=arm-linux-gnueabihf-gcc-4.7
+ ;;
- if [ "$TARGET" = "i686-unknown-linux-gnu" ]; then
- install gcc-multilib
- fi
-fi
+ aarch64-unknown-linux-gnu)
+ curl -s $EXTRA_TARGETS/$TARGET.tar.gz | tar xzf - -C $HOME/rust/lib/rustlib
+ install gcc-aarch64-linux-gnu qemu-user
+ export CC=aarch64-linux-gnu-gcc
+ ;;
+
+ mips-unknown-linux-gnu)
+ # Download pre-built and custom MIPS libs and then also instsall the MIPS
+ # compiler according to this post:
+ # http://sathisharada.blogspot.com/2014_10_01_archive.html
+ curl -s $EXTRA_TARGETS/$TARGET.tar.gz | tar xzf - -C $HOME/rust/lib/rustlib
+
+ echo 'deb http://ftp.de.debian.org/debian squeeze main' | \
+ sudo tee -a /etc/apt/sources.list
+ echo 'deb http://www.emdebian.org/debian/ squeeze main' | \
+ sudo tee -a /etc/apt/sources.list
+ install emdebian-archive-keyring
+ install qemu-user gcc-4.4-mips-linux-gnu -y --force-yes
+ export CC=mips-linux-gnu-gcc
+ ;;
+
+ *)
+ # Download the rustlib folder from the relevant portion of main distribution's
+ # tarballs.
+ curl -s $MAIN_TARGETS/rust-$TRAVIS_RUST_VERSION-$HOST.tar.gz | \
+ tar xzf - -C $HOME/rust/lib/rustlib --strip-components=4 \
+ rust-$TRAVIS_RUST_VERSION-$HOST/rustc/lib/rustlib/$HOST
+ TARGET=$HOST
+
+ # clang has better error messages and implements alignof more broadly
+ export CC=clang
+
+ if [ "$TARGET" = "i686-unknown-linux-gnu" ]; then
+ install gcc-multilib
+ fi
+ ;;
+
+esac
mkdir .cargo
cp ci/cargo-config .cargo/config