]> git.lizzy.rs Git - rust.git/blobdiff - .travis.yml
auto merge of #13193 : pongad/rust/fixconfig, r=thestinger
[rust.git] / .travis.yml
index 2c2ef693d0b3d985c766abf3c93c4127fcb15826..165c070633acf3ff628ff39ffa2dcc18dcb385a6 100644 (file)
@@ -3,54 +3,61 @@
 # it treats unknown languages as ruby-like I believe.
 language: c
 
-# Before we start doing anything, install the latest stock LLVM. These are
-# maintained by LLVM, and more information can be found at llvm.org/apt.
-#
-# Right now, the highest version is 3.5, and our SVN version is roughly aligned
-# with the 3.5 API (hurray!)
+# Before we start doing anything, install a stock LLVM
 install:
+  - sudo sh -c "echo 'deb http://llvm.org/apt/precise/ llvm-toolchain-precise-3.4 main' >> /etc/apt/sources.list"
   - sudo sh -c "echo 'deb http://llvm.org/apt/precise/ llvm-toolchain-precise main' >> /etc/apt/sources.list"
-  - sudo sh -c "echo 'deb-src http://llvm.org/apt/precise/ llvm-toolchain-precise main' >> /etc/apt/sources.list"
   - sudo sh -c "echo 'deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu precise main' >> /etc/apt/sources.list"
   - wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
   - sudo apt-get update -qq
-  - sudo apt-get install -y --force-yes -qq llvm-3.5 llvm-3.5-dev clang-3.5 lldb-3.5
+  - sudo apt-get install -qq --force-yes -y llvm-$LLVM_VERSION
+    llvm-${LLVM_VERSION}-dev clang-$LLVM_VERSION lldb-$LLVM_VERSION
+
 
-# All of the llvm tools are suffixed with "-3.5" which we don't want, so symlink
-# them all into a local directory and just use that
+# All of the llvm tools are suffixed with "-$VERS" which we don't want, so
+# symlink them all into a local directory and just use that
 #
 # FIXME: this shouldn't update the src/llvm sub-repo, that takes about a minute
 #        it's gotta download so much stuff.
 before_script:
   - mkdir -p local-llvm/bin
-  - ln -nsf /usr/bin/llvm-config-3.5 local-llvm/bin/llvm-config
-  - ln -nsf /usr/bin/llvm-mc-3.5 local-llvm/bin/llvm-mc
-  - ln -nsf /usr/bin/llvm-as-3.5 local-llvm/bin/llvm-as
-  - ln -nsf /usr/bin/llvm-dis-3.5 local-llvm/bin/llvm-dis
-  - ln -nsf /usr/bin/llc-3.5 local-llvm/bin/llc
-  - ln -nsf /usr/include/llvm-3.5 local-llvm/include
+  - ln -nsf /usr/bin/llvm-config-$LLVM_VERSION local-llvm/bin/llvm-config
+  - ln -nsf /usr/bin/llvm-mc-$LLVM_VERSION local-llvm/bin/llvm-mc
+  - ln -nsf /usr/bin/llvm-as-$LLVM_VERSION local-llvm/bin/llvm-as
+  - ln -nsf /usr/bin/llvm-dis-$LLVM_VERSION local-llvm/bin/llvm-dis
+  - ln -nsf /usr/bin/llc-$LLVM_VERSION local-llvm/bin/llc
+  - ln -nsf /usr/include/llvm-$LLVM_VERSION local-llvm/include
   - ./configure --disable-optimize-tests --llvm-root=`pwd`/local-llvm --enable-fast-make --enable-clang
 
 # Tidy everything up first, then build a few things, and then run a few tests.
 # Note that this is meant to run in a "fairly small" amount of time, so this
 # isn't exhaustive at all.
 #
-# The "-lffi and -lncurses" are required for LLVM. The LLVM that rust builds
-# manually disables bringing in these two libraries, but the stock LLVM was
-# apparently built with these options. We provide these options when building so
-# the `rustc` binary can successfully link.
-#
 # As a result of https://github.com/travis-ci/travis-ci/issues/1066, we run
 # everything in one large command instead of multiple commands.
 script: |
+  if [[ $TRAVIS_PULL_REQUEST != 'false' ]]; then
+    if [[ $LLVM_VERSION != '3.4' ]]; then exit 0; fi
+  fi &&
   make tidy &&
-  RUSTFLAGS="-C link-args='-lffi -lncurses'" make -j4 rustc-stage1 &&
-  make check-stage1-std check-stage1-rpass check-stage1-cfail check-stage1-rfail
+  make -j4 rustc-stage1 &&
+  make check-stage1-std check-stage1-rpass check-stage1-cfail check-stage1-rfail check-stage1-doc
 
 env:
-  - NO_BENCH=1
+  global:
+    - NO_BENCH=1
+  matrix:
+    - LLVM_VERSION=3.3
+    - LLVM_VERSION=3.4
 
 # We track this ourselves, and in theory we don't have to update the LLVM repo
 # (but sadly we do right now anyway).
 git:
   submodules: false
+
+notifications:
+  email: false
+
+branches:
+  only:
+    - master