]> git.lizzy.rs Git - rust.git/blob - .travis.yml
auto merge of #12641 : sfackler/rust/issue-11552, r=huonw
[rust.git] / .travis.yml
1 # Use something that's not 'ruby' so we don't set up things like
2 # RVM/bundler/ruby and whatnot. Right now 'rust' isn't a language on travis and
3 # it treats unknown languages as ruby-like I believe.
4 language: c
5
6 # Before we start doing anything, install a stock LLVM
7 install:
8   - sudo apt-get install llvm-3.3 llvm-3.3-dev clang-3.3 lldb-3.3
9
10 # All of the llvm tools are suffixed with "-3.3" which we don't want, so symlink
11 # them all into a local directory and just use that
12 #
13 # FIXME: this shouldn't update the src/llvm sub-repo, that takes about a minute
14 #        it's gotta download so much stuff.
15 before_script:
16   - mkdir -p local-llvm/bin
17   - ln -nsf /usr/bin/llvm-config-3.3 local-llvm/bin/llvm-config
18   - ln -nsf /usr/bin/llvm-mc-3.3 local-llvm/bin/llvm-mc
19   - ln -nsf /usr/bin/llvm-as-3.3 local-llvm/bin/llvm-as
20   - ln -nsf /usr/bin/llvm-dis-3.3 local-llvm/bin/llvm-dis
21   - ln -nsf /usr/bin/llc-3.3 local-llvm/bin/llc
22   - ln -nsf /usr/include/llvm-3.3 local-llvm/include
23   - ./configure --disable-optimize-tests --llvm-root=`pwd`/local-llvm --enable-fast-make --enable-clang
24
25 # Tidy everything up first, then build a few things, and then run a few tests.
26 # Note that this is meant to run in a "fairly small" amount of time, so this
27 # isn't exhaustive at all.
28 #
29 # The "-lffi and -lncurses" are required for LLVM. The LLVM that rust builds
30 # manually disables bringing in these two libraries, but the stock LLVM was
31 # apparently built with these options. We provide these options when building so
32 # the `rustc` binary can successfully link.
33 #
34 # As a result of https://github.com/travis-ci/travis-ci/issues/1066, we run
35 # everything in one large command instead of multiple commands.
36 script: |
37   make tidy &&
38   RUSTFLAGS="-C link-args='-lffi -lncurses'" make -j4 rustc-stage1 &&
39   make check-stage1-std check-stage1-rpass check-stage1-cfail check-stage1-rfail
40
41 env:
42   - NO_BENCH=1
43
44 # We track this ourselves, and in theory we don't have to update the LLVM repo
45 # (but sadly we do right now anyway).
46 git:
47   submodules: false