about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml53
-rw-r--r--src/test/compile-fail/gated-phase.rs1
2 files changed, 54 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000000..a443581b58e
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,53 @@
+# Use something that's not 'ruby' so we don't set up things like
+# RVM/bundler/ruby and whatnot. Right now 'rust' isn't a language on travis and
+# 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!)
+install:
+  - 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
+
+# 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
+#
+# 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
+  - ./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.
+script:
+  - 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
+
+env:
+  - NO_BENCH=1
+
+# 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
diff --git a/src/test/compile-fail/gated-phase.rs b/src/test/compile-fail/gated-phase.rs
index 416a7691ceb..c8763899269 100644
--- a/src/test/compile-fail/gated-phase.rs
+++ b/src/test/compile-fail/gated-phase.rs
@@ -9,6 +9,7 @@
 // except according to those terms.
 
 // aux-build:macro_crate_test.rs
+// ignore-stage1
 
 #[phase(syntax)]
 //~^ ERROR compile time crate loading is experimental and possibly buggy