radv: split out a chunk of variant filling code.
[mesa.git] / .travis.yml
index 31cd5c27ecbf232cfde62f9457c0a85a3fe7333e..3d107aa06786dd733504c4b95109b8d3096f20af 100644 (file)
@@ -1,6 +1,7 @@
 language: c
 
-sudo: false
+sudo: true
+dist: trusty
 
 cache:
   directories:
@@ -10,12 +11,16 @@ addons:
   apt:
     packages:
       - libdrm-dev
-      - libudev-dev
       - x11proto-xf86vidmode-dev
       - libexpat1-dev
       - libxcb-dri2-0-dev
       - libx11-xcb-dev
-      - llvm-3.4-dev
+      - llvm-3.5-dev
+      # llvm-config is not in the dev package?
+      - llvm-3.5
+      # LLVM packaging is broken and misses this dep.
+      - libedit-dev
+      - scons
 
 env:
   global:
@@ -32,11 +37,24 @@ env:
     - LIBXCB_VERSION=libxcb-1.11
     - LIBXSHMFENCE_VERSION=libxshmfence-1.2
     - PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig
+  matrix:
+    - BUILD=make
+    - BUILD=scons
 
 install:
   - export PATH="/usr/lib/ccache:$PATH"
   - pip install --user mako
 
+  # Since libdrm gets updated in configure.ac regularly, try to pick up the
+  # latest version from there.
+  - for line in `grep "^LIBDRM_.*_REQUIRED=" configure.ac`; do
+      old_ver=`echo $LIBDRM_VERSION | sed 's/libdrm-//'`;
+      new_ver=`echo $line | sed 's/.*REQUIRED=//'`;
+      if `echo "$old_ver,$new_ver" | tr ',' '\n' | sort -Vc 2> /dev/null`; then
+        export LIBDRM_VERSION="libdrm-$new_ver";
+      fi;
+    done
+
   # Install dependencies where we require specific versions (or where
   # disallowed by Travis CI's package whitelisting).
 
@@ -74,19 +92,21 @@ install:
 
   - wget http://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
   - tar -jxvf $LIBDRM_VERSION.tar.bz2
-  - (cd $LIBDRM_VERSION && ./configure --prefix=$HOME/prefix && make install)
+  - (cd $LIBDRM_VERSION && ./configure --prefix=$HOME/prefix --enable-vc4 && make install)
 
   - wget $XORG_RELEASES/lib/$LIBXSHMFENCE_VERSION.tar.bz2
   - tar -jxvf $LIBXSHMFENCE_VERSION.tar.bz2
   - (cd $LIBXSHMFENCE_VERSION && ./configure --prefix=$HOME/prefix && make install)
 
-# Disabled LLVM (and therefore r300 and r600) because the build fails
-# with "undefined reference to `clock_gettime'" and "undefined
-# reference to `setupterm'" in llvmpipe.
 script:
-  - ./autogen.sh --enable-debug
-    --disable-gallium-llvm
-    --with-egl-platforms=x11,drm
-    --with-dri-drivers=i915,i965,radeon,r200,swrast,nouveau
-    --with-gallium-drivers=svga,swrast,vc4,virgl
-  - make && make check
+  - if test "x$BUILD" = xmake; then
+      ./autogen.sh --enable-debug
+        --with-egl-platforms=x11,drm
+        --with-dri-drivers=i915,i965,radeon,r200,swrast,nouveau
+        --with-gallium-drivers=svga,swrast,vc4,virgl,r300,r600
+        --disable-llvm-shared-libs
+        ;
+      make && make check;
+    elif test x$BUILD = xscons; then
+      scons;
+    fi