about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml30
-rwxr-xr-xconfigure34
2 files changed, 47 insertions, 17 deletions
diff --git a/.travis.yml b/.travis.yml
index 29d287bfb48..dc955bc2f2b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,9 @@
-# Use something that's not 'ruby' so we don't set up things like
-# RVM/bundler/ruby and whatnot. Right now 'rust' as a language actually
-# downloads a rust/cargo snapshot, which we don't really want for building rust.
+# ccache support is disabled unless your language is a C-derivative. However
+# `language: C` unconditionally sets `CC=compiler`. If we just set it in our
+# `env` it will be overwritten by the default (gcc 4.6).
 language: c
+compiler: /usr/bin/gcc-4.7
+cache: ccache
 sudo: false
 
 # The test suite is in general way too stressful for travis, especially in
@@ -9,12 +11,28 @@ sudo: false
 # back to only build the stage1 compiler and run a subset of tests, but this
 # didn't end up panning out very well.
 #
-# As a result, we're just using travis to run `make tidy` now. It'll help
-# everyone find out about their trailing spaces early on!
+# As a result, we're just using travis to run `make tidy` and *only* build
+# stage1 but *not* test it for now (a strict subset of the bootstrap). This will
+# catch "obvious" errors like style or not even compiling.
+#
+# We need gcc4.7 or higher to build LLVM, and travis (well, Ubuntu 12.04)
+# currently ships with 4.6. Gotta download our own.
 before_script:
-  - ./configure --llvm-root=path/to/nowhere
+  - ./configure --enable-ccache
 script:
   - make tidy
+  - make rustc-stage1 -j4
+
+env:
+  - CXX=/usr/bin/g++-4.7
+
+addons:
+  apt:
+    sources:
+    - ubuntu-toolchain-r-test
+    packages:
+    - gcc-4.7
+    - g++-4.7
 
 # Real testing happens on http://buildbot.rust-lang.org/
 #
diff --git a/configure b/configure
index 1d3611f88f0..da8630c46ff 100755
--- a/configure
+++ b/configure
@@ -1016,15 +1016,12 @@ fi
 
 if [ ! -z "$CFG_ENABLE_CCACHE" ]
 then
-    if [ -z "$CC" ]
+    if [ -z "$CFG_CCACHE" ]
     then
-        if [ -z "$CFG_CCACHE" ]
-        then
-            err "ccache requested but not found"
-        fi
-
-        CFG_CC="ccache $CFG_CC"
+        err "ccache requested but not found"
     fi
+
+    CFG_CC="ccache $CFG_CC"
 fi
 
 if [ -z "$CC" -a -z "$CFG_ENABLE_CLANG" -a -z "$CFG_GCC" ]
@@ -1513,11 +1510,26 @@ do
 
             (*)
             msg "inferring LLVM_CXX/CC from CXX/CC = $CXX/$CC"
-            LLVM_CXX_32="$CXX"
-            LLVM_CC_32="$CC"
+            if [ ! -z "$CFG_ENABLE_CCACHE" ]
+            then
+                if [ -z "$CFG_CCACHE" ]
+                then
+                    err "ccache requested but not found"
+                fi
+
+                LLVM_CXX_32="ccache $CXX"
+                LLVM_CC_32="ccache $CC"
+
+                LLVM_CXX_64="ccache $CXX"
+                LLVM_CC_64="ccache $CC"
+            else
+                LLVM_CXX_32="$CXX"
+                LLVM_CC_32="$CC"
+
+                LLVM_CXX_64="$CXX"
+                LLVM_CC_64="$CC"
+            fi
 
-            LLVM_CXX_64="$CXX"
-            LLVM_CC_64="$CC"
             ;;
         esac