| # This is **not** meant to be run on CI, but rather locally instead. If you're |
| # on a Linux machine you'll be able to run most of these, but otherwise this'll |
| # just attempt to run as many platforms as possible! |
| |
| run() { |
| _target=$1 |
| _cc=$2 |
| if [ "$_cc" != "" ]; then |
| which $_cc > /dev/null |
| if [ $? -ne 0 ]; then |
| echo "$_cc not installed, skipping $_target" |
| return |
| fi |
| export CC=$_cc |
| fi |
| if [ ! -d .cargo ]; then |
| mkdir .cargo |
| cp ci/cargo-config .cargo/config |
| fi |
| sh ci/run.sh $_target |
| if [ "$?" != "0" ]; then |
| exit 1 |
| fi |
| } |
| |
| OS=`uname` |
| if [ "$OS" = "Linux" ]; then |
| # For more info on where to get all these cross compilers see |
| # ci/run-travis.sh and what packages are needed on ubuntu |
| run x86_64-unknown-linux-gnu clang |
| run i686-unknown-linux-gnu clang |
| run x86_64-unknown-linux-musl musl-gcc |
| run mips-unknown-linux-gnu mips-linux-gnu-gcc |
| run aarch64-unknown-linux-gnu aarch64-linux-gnueabihf-gcc |
| run arm-unknown-linux-gnueabihf arm-linux-gnueabihf-gcc-4.7 |
| |
| # Prep for this by running `vagrant up freebsd` in the `ci` directory |
| (cd ci && vagrant ssh freebsd -c \ |
| "cd /vagrant && sh ci/run.sh x86_64-unknown-freebsd") |
| |
| # Make sure you've run `docker pull alexcrichton/rust-libc-test` to get |
| # this image ahead of time. |
| docker run -itv `pwd`:/clone alexcrichton/rust-libc-test \ |
| sh ci/run.sh arm-linux-androideabi |
| elif [ "$OS" = "Darwin" ]; then |
| cargo run --target x86_64-unknown-linux-gnu |
| cargo run --target i686-unknown-linux-gnu |
| fi |