gitlab-ci: drop most autotools builds
authorEric Engestrom <eric.engestrom@intel.com>
Fri, 8 Mar 2019 11:16:25 +0000 (11:16 +0000)
committerEric Engestrom <eric.engestrom@intel.com>
Tue, 19 Mar 2019 17:40:05 +0000 (17:40 +0000)
With autotools this close to being not supported anymore, let's not
waste half of the CI cycles on it. The default build will catch most
issues, and the rest can be tested by the old Travis.

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
.gitlab-ci.yml
.travis.yml

index 87f6c19f31be259c4a6fac84f92d6759990b278c..28840e055a0d1e132b4bf170117fe42d64ff9cad 100644 (file)
@@ -112,29 +112,6 @@ ubuntu:
     - ninja -j4
     - ninja test
 
-.make-build:
-  extends: .build
-  variables:
-    MAKEFLAGS: "-j4"
-  script:
-    - if test -n "$LLVM_VERSION"; then
-        export LLVM_CONFIG="llvm-config-${LLVM_VERSION}";
-      fi
-    - mkdir build
-    - cd build
-    - ../autogen.sh
-        --enable-autotools
-        --enable-debug
-        $LIBUNWIND_FLAGS
-        $DRI_LOADERS
-        --with-dri-drivers=$DRI_DRIVERS
-        $GALLIUM_ST
-        --with-gallium-drivers=$GALLIUM_DRIVERS
-        --with-vulkan-drivers=$VULKAN_DRIVERS
-        --disable-llvm-shared-libs
-    - make
-    - eval $MAKE_CHECK_COMMAND
-
 .scons-build:
   extends: .build
   variables:
@@ -326,146 +303,20 @@ meson-gallium-st-other:
     GALLIUM_DRIVERS: "nouveau,swrast"
     LLVM_VERSION: "5.0"
 
-make-vulkan:
-  extends: .make-build
-  variables:
-    MAKE_CHECK_COMMAND: "make -C src/gtest check && make -C src/intel check"
-    LLVM_VERSION: "7"
-    DRI_LOADERS: >
-      --disable-glx
-      --disable-gbm
-      --disable-egl
-      --with-platforms=x11,wayland,drm
-    DRI_DRIVERS: ""
-    GALLIUM_ST: >
-      --enable-dri
-      --enable-dri3
-      --disable-opencl
-      --disable-xa
-      --disable-nine
-      --disable-xvmc
-      --disable-vdpau
-      --disable-va
-      --disable-omx-bellagio
-      --disable-gallium-osmesa
-    VULKAN_DRIVERS: intel,radeon
-    LIBUNWIND_FLAGS: --disable-libunwind
-
-make-loader-classic-dri:
-  extends: .make-build
-  variables:
-    MAKE_CHECK_COMMAND: "make check"
-    DRI_LOADERS: >
-      --enable-glx
-      --enable-gbm
-      --enable-egl
-      --with-platforms=x11,wayland,drm,surfaceless
-      --enable-osmesa
-    DRI_DRIVERS: "i915,i965,radeon,r200,swrast,nouveau"
-    GALLIUM_ST: >
-      --enable-dri
-      --disable-opencl
-      --disable-xa
-      --disable-nine
-      --disable-xvmc
-      --disable-vdpau
-      --disable-va
-      --disable-omx-bellagio
-      --disable-gallium-osmesa
-    LIBUNWIND_FLAGS: --disable-libunwind
-
-# NOTE: Building SWR is 2x (yes two) times slower than all the other
-# gallium drivers combined.
-# Start this early so that it doesn't hunder the run time.
-make-gallium-drivers-swr:
-  extends: .make-build
-  variables:
-    MAKE_CHECK_COMMAND: "true"
-    LLVM_VERSION: "6.0"
-    DRI_LOADERS: >
-      --disable-glx
-      --disable-gbm
-      --disable-egl
-    GALLIUM_ST: >
-      --enable-dri
-      --disable-opencl
-      --disable-xa
-      --disable-nine
-      --disable-xvmc
-      --disable-vdpau
-      --disable-va
-      --disable-omx-bellagio
-      --disable-gallium-osmesa
-    GALLIUM_DRIVERS: "swr"
-    LIBUNWIND_FLAGS: --enable-libunwind
-
-make-gallium-drivers-radeonsi:
-  extends: make-gallium-drivers-swr
-  variables:
-    LLVM_VERSION: "7"
-    GALLIUM_DRIVERS: "radeonsi"
-
-make-gallium-drivers-other:
-  extends: make-gallium-drivers-swr
-  variables:
-    LLVM_VERSION: "3.9"
-    GALLIUM_DRIVERS: "i915,nouveau,kmsro,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv"
-
-make-gallium-st-clover-llvm:
-  extends: .make-build
-  variables:
-    MAKE_CHECK_COMMAND: "true"
-    DRI_LOADERS: >
-      --disable-glx
-      --disable-gbm
-      --disable-egl
-    GALLIUM_ST: >
-      --disable-dri
-      --enable-opencl
-      --enable-opencl-icd
-      --enable-llvm
-      --disable-xa
-      --disable-nine
-      --disable-xvmc
-      --disable-vdpau
-      --disable-va
-      --disable-omx-bellagio
-      --disable-gallium-osmesa
-    LIBUNWIND_FLAGS: --enable-libunwind
-    GALLIUM_DRIVERS: "r600,radeonsi"
-    LLVM_VERSION: "7"
-
-make-gallium-st-clover-llvm-39:
-  extends: make-gallium-st-clover-llvm
-  variables:
-    LLVM_VERSION: "3.9"
-    GALLIUM_DRIVERS: "r600"
-
-make-gallium-st-other:
-  extends: .make-build
+autotools:
+  extends: .build
   variables:
-    MAKE_CHECK_COMMAND: "true"
-    # We should be testing 3.3, but 3.9 is the oldest that still exists in ubuntu
-    LLVM_VERSION: "3.9"
-    DRI_LOADERS: >
-      --disable-glx
-      --disable-gbm
-      --disable-egl
-    GALLIUM_ST: >
-      --enable-dri
-      --disable-opencl
-      --enable-xa
-      --enable-nine
-      --enable-xvmc
-      --enable-vdpau
-      --enable-va
-      --enable-omx-bellagio
-      --enable-gallium-osmesa
-    # We need swrast for osmesa and nine.
-    # i915 most likely doesn't work with most ST.
-    # Regardless - we're doing a quick build test here.
-    GALLIUM_DRIVERS: "i915,swrast"
-    LIBUNWIND_FLAGS: --enable-libunwind
+    MAKEFLAGS: "-j4"
+    LLVM_CONFIG: llvm-config-7
+  script:
+    - mkdir build
+    - cd build
+    - ../autogen.sh
+        --enable-autotools
+        --enable-debug
+        --disable-llvm-shared-libs
+    - make
+    - make check
 
 scons-nollvm:
   extends: .scons-build
index 0dbb9f63752a04218d794545b64f688c11c3f87e..82c2088776c9915710530f5912ee7d1c925d7789 100644 (file)
@@ -3,14 +3,354 @@ language: c
 dist: xenial
 
 cache:
+  apt: true
   ccache: true
 
 env:
   global:
-    - PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
+    - XORG_RELEASES=https://xorg.freedesktop.org/releases/individual
+    - XCB_RELEASES=https://xcb.freedesktop.org/dist
+    - WAYLAND_RELEASES=https://wayland.freedesktop.org/releases
+    - XORGMACROS_VERSION=util-macros-1.19.0
+    - GLPROTO_VERSION=glproto-1.4.17
+    - DRI2PROTO_VERSION=dri2proto-2.8
+    - LIBPCIACCESS_VERSION=libpciaccess-0.13.4
+    - LIBDRM_VERSION=libdrm-2.4.97
+    - XCBPROTO_VERSION=xcb-proto-1.13
+    - RANDRPROTO_VERSION=randrproto-1.3.0
+    - LIBXRANDR_VERSION=libXrandr-1.3.0
+    - LIBXCB_VERSION=libxcb-1.13
+    - LIBXSHMFENCE_VERSION=libxshmfence-1.2
+    - LIBVDPAU_VERSION=libvdpau-1.1
+    - LIBVA_VERSION=libva-1.7.0
+    - LIBWAYLAND_VERSION=wayland-1.15.0
+    - WAYLAND_PROTOCOLS_VERSION=wayland-protocols-1.8
+    - PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
+    - LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
+    - PATH="$HOME/prefix/bin:$PATH"
 
 matrix:
   include:
+    - env:
+        - LABEL="make Vulkan"
+        - BUILD=make
+        - MAKEFLAGS="-j4"
+        - MAKE_CHECK_COMMAND="make -C src/gtest check && make -C src/intel check"
+        - LLVM_VERSION=7
+        - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+        - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl --with-platforms=x11,wayland"
+        - DRI_DRIVERS=""
+        - GALLIUM_ST="--enable-dri --enable-dri3 --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+        - GALLIUM_DRIVERS=""
+        - VULKAN_DRIVERS="intel,radeon"
+        - LIBUNWIND_FLAGS="--disable-libunwind"
+      addons:
+        apt:
+          sources:
+            - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
+              key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
+          packages:
+            # From sources above
+            - llvm-7-dev
+            # Common
+            - xz-utils
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libelf-dev
+            - python3-pip
+            - python3-setuptools
+    - env:
+        - LABEL="make loaders/classic DRI"
+        - BUILD=make
+        - MAKEFLAGS="-j4"
+        - MAKE_CHECK_COMMAND="make check"
+        - DRI_LOADERS="--enable-glx --enable-gbm --enable-egl --with-platforms=x11,drm,surfaceless,wayland --enable-osmesa"
+        - DRI_DRIVERS="i915,i965,radeon,r200,swrast,nouveau"
+        - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+        - GALLIUM_DRIVERS=""
+        - VULKAN_DRIVERS=""
+        - LIBUNWIND_FLAGS="--disable-libunwind"
+      addons:
+        apt:
+          packages:
+            - xz-utils
+            - x11proto-xf86vidmode-dev
+            - libxxf86vm-dev
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libxdamage-dev
+            - libxfixes-dev
+            - python3-pip
+            - python3-setuptools
+    - env:
+        # NOTE: Building SWR is 2x (yes two) times slower than all the other
+        # gallium drivers combined.
+        # Start this early so that it doesn't hunder the run time.
+        - LABEL="make Gallium Drivers SWR"
+        - BUILD=make
+        - MAKEFLAGS="-j4"
+        - MAKE_CHECK_COMMAND="true"
+        - LLVM_VERSION=6.0
+        - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+        - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+        - DRI_DRIVERS=""
+        - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+        - GALLIUM_DRIVERS="swr"
+        - VULKAN_DRIVERS=""
+        - LIBUNWIND_FLAGS="--enable-libunwind"
+      addons:
+        apt:
+          packages:
+            - llvm-6.0-dev
+            # Common
+            - xz-utils
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libelf-dev
+            - libunwind8-dev
+            - python3-pip
+            - python3-setuptools
+    - env:
+        - LABEL="make Gallium Drivers RadeonSI"
+        - BUILD=make
+        - MAKEFLAGS="-j4"
+        - MAKE_CHECK_COMMAND="true"
+        - LLVM_VERSION=7
+        - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+        - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+        - DRI_DRIVERS=""
+        - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+        - GALLIUM_DRIVERS="radeonsi"
+        - VULKAN_DRIVERS=""
+        - LIBUNWIND_FLAGS="--enable-libunwind"
+      addons:
+        apt:
+          sources:
+            - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
+              key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
+          packages:
+            # From sources above
+            - llvm-7-dev
+            # Common
+            - xz-utils
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libelf-dev
+            - libunwind8-dev
+            - python3-pip
+            - python3-setuptools
+    - env:
+        - LABEL="make Gallium Drivers Other"
+        - BUILD=make
+        - MAKEFLAGS="-j4"
+        - MAKE_CHECK_COMMAND="true"
+        - LLVM_VERSION=3.9
+        - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+        - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+        - DRI_DRIVERS=""
+        - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+        - GALLIUM_DRIVERS="i915,nouveau,kmsro,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv"
+        - VULKAN_DRIVERS=""
+        - LIBUNWIND_FLAGS="--enable-libunwind"
+      addons:
+        apt:
+          packages:
+            # LLVM packaging is broken and misses these dependencies
+            - libedit-dev
+            - llvm-3.9-dev
+            # Common
+            - xz-utils
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libelf-dev
+            - libunwind8-dev
+            - python3-pip
+            - python3-setuptools
+    - env:
+        - LABEL="make Gallium ST Clover LLVM-3.9"
+        - BUILD=make
+        - MAKEFLAGS="-j4"
+        - MAKE_CHECK_COMMAND="true"
+        - LLVM_VERSION=3.9
+        - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+        - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+        - DRI_DRIVERS=""
+        - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+        - GALLIUM_DRIVERS="r600"
+        - VULKAN_DRIVERS=""
+        - LIBUNWIND_FLAGS="--enable-libunwind"
+      addons:
+        apt:
+          packages:
+            - libclc-dev
+            # LLVM packaging is broken and misses these dependencies
+            - libedit-dev
+            - llvm-3.9-dev
+            - clang-3.9
+            - libclang-3.9-dev
+            # Common
+            - xz-utils
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libelf-dev
+            - libunwind8-dev
+            - python3-pip
+            - python3-setuptools
+    - env:
+        - LABEL="make Gallium ST Clover LLVM-4.0"
+        - BUILD=make
+        - MAKEFLAGS="-j4"
+        - MAKE_CHECK_COMMAND="true"
+        - LLVM_VERSION=4.0
+        - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+        - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+        - DRI_DRIVERS=""
+        - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+        - GALLIUM_DRIVERS="r600"
+        - VULKAN_DRIVERS=""
+        - LIBUNWIND_FLAGS="--enable-libunwind"
+      addons:
+        apt:
+          packages:
+            - libclc-dev
+            # LLVM packaging is broken and misses these dependencies
+            - libedit-dev
+            - llvm-4.0-dev
+            - clang-4.0
+            - libclang-4.0-dev
+            # Common
+            - xz-utils
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libelf-dev
+            - libunwind8-dev
+            - python3-pip
+            - python3-setuptools
+    - env:
+        - LABEL="make Gallium ST Clover LLVM-5.0"
+        - BUILD=make
+        - MAKEFLAGS="-j4"
+        - MAKE_CHECK_COMMAND="true"
+        - LLVM_VERSION=5.0
+        - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+        - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+        - DRI_DRIVERS=""
+        - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+        - GALLIUM_DRIVERS="r600"
+        - VULKAN_DRIVERS=""
+        - LIBUNWIND_FLAGS="--enable-libunwind"
+      addons:
+        apt:
+          packages:
+            - libclc-dev
+            # LLVM packaging is broken and misses these dependencies
+            - libedit-dev
+            - llvm-5.0-dev
+            - clang-5.0
+            - libclang-5.0-dev
+            # Common
+            - xz-utils
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libelf-dev
+            - libunwind8-dev
+            - python3-pip
+            - python3-setuptools
+    - env:
+        - LABEL="make Gallium ST Clover LLVM-6.0"
+        - BUILD=make
+        - MAKEFLAGS="-j4"
+        - MAKE_CHECK_COMMAND="true"
+        - LLVM_VERSION=6.0
+        - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+        - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+        - DRI_DRIVERS=""
+        - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+        - GALLIUM_DRIVERS="r600"
+        - VULKAN_DRIVERS=""
+        - LIBUNWIND_FLAGS="--enable-libunwind"
+      addons:
+        apt:
+          packages:
+            - libclc-dev
+            - llvm-6.0-dev
+            - clang-6.0
+            - libclang-6.0-dev
+            # Common
+            - xz-utils
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libelf-dev
+            - libunwind8-dev
+            - python3-pip
+            - python3-setuptools
+    - env:
+        - LABEL="make Gallium ST Clover LLVM-7"
+        - BUILD=make
+        - MAKEFLAGS="-j4"
+        - MAKE_CHECK_COMMAND="true"
+        - LLVM_VERSION=7
+        - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+        - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+        - DRI_DRIVERS=""
+        - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+        - GALLIUM_DRIVERS="r600,radeonsi"
+        - VULKAN_DRIVERS=""
+        - LIBUNWIND_FLAGS="--enable-libunwind"
+      addons:
+        apt:
+          sources:
+            - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
+              key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
+          packages:
+            - libclc-dev
+            # From sources above
+            - llvm-7-dev
+            - clang-7
+            - libclang-7-dev
+            # Common
+            - xz-utils
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libelf-dev
+            - libunwind8-dev
+    - env:
+        - LABEL="make Gallium ST Other"
+        - BUILD=make
+        - MAKEFLAGS="-j4"
+        - MAKE_CHECK_COMMAND="true"
+        - LLVM_VERSION=3.5
+        - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+        - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+        - DRI_DRIVERS=""
+        - GALLIUM_ST="--enable-dri --disable-opencl --enable-xa --enable-nine --enable-xvmc --enable-vdpau --enable-va --enable-omx-bellagio --enable-gallium-osmesa"
+        # We need swrast for osmesa and nine.
+        # i915 most likely doesn't work with most ST.
+        # Regardless - we're doing a quick build test here.
+        - GALLIUM_DRIVERS="i915,swrast"
+        - VULKAN_DRIVERS=""
+        - LIBUNWIND_FLAGS="--enable-libunwind"
+      addons:
+        apt:
+          packages:
+            # We actually want to test against llvm-3.3, yet 3.5 is available
+            - llvm-3.5-dev
+            # Nine requires gcc 4.6... which is the one we have right ?
+            - libxvmc-dev
+            # Build locally, for now.
+            #- libvdpau-dev
+            #- libva-dev
+            - libomxil-bellagio-dev
+            # LLVM packaging is broken and misses these dependencies
+            - libedit-dev
+            # Common
+            - xz-utils
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libelf-dev
+            - libunwind8-dev
+            - python3-pip
+            - python3-setuptools
     - env:
         - LABEL="macOS make"
         - BUILD=make
@@ -62,6 +402,105 @@ install:
   # Install dependencies where we require specific versions (or where
   # disallowed by Travis CI's package whitelisting).
 
+  - |
+    if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
+      wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
+      tar -jxvf $XORGMACROS_VERSION.tar.bz2
+      (cd $XORGMACROS_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+      wget $XORG_RELEASES/proto/$GLPROTO_VERSION.tar.bz2
+      tar -jxvf $GLPROTO_VERSION.tar.bz2
+      (cd $GLPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+      wget $XORG_RELEASES/proto/$DRI2PROTO_VERSION.tar.bz2
+      tar -jxvf $DRI2PROTO_VERSION.tar.bz2
+      (cd $DRI2PROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+      wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2
+      tar -jxvf $XCBPROTO_VERSION.tar.bz2
+      (cd $XCBPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+      wget $XCB_RELEASES/$LIBXCB_VERSION.tar.bz2
+      tar -jxvf $LIBXCB_VERSION.tar.bz2
+      (cd $LIBXCB_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+      wget $XORG_RELEASES/lib/$LIBPCIACCESS_VERSION.tar.bz2
+      tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2
+      (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+      wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
+      tar -jxvf $LIBDRM_VERSION.tar.bz2
+      (cd $LIBDRM_VERSION && ./configure --prefix=$HOME/prefix --enable-vc4 --enable-freedreno --enable-etnaviv-experimental-api && make install)
+
+      wget $XORG_RELEASES/proto/$RANDRPROTO_VERSION.tar.bz2
+      tar -jxvf $RANDRPROTO_VERSION.tar.bz2
+      (cd $RANDRPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+      wget $XORG_RELEASES/lib/$LIBXRANDR_VERSION.tar.bz2
+      tar -jxvf $LIBXRANDR_VERSION.tar.bz2
+      (cd $LIBXRANDR_VERSION && ./configure --prefix=$HOME/prefix && 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)
+
+      wget https://people.freedesktop.org/~aplattner/vdpau/$LIBVDPAU_VERSION.tar.bz2
+      tar -jxvf $LIBVDPAU_VERSION.tar.bz2
+      (cd $LIBVDPAU_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+      wget https://www.freedesktop.org/software/vaapi/releases/libva/$LIBVA_VERSION.tar.bz2
+      tar -jxvf $LIBVA_VERSION.tar.bz2
+      (cd $LIBVA_VERSION && ./configure --prefix=$HOME/prefix --disable-wayland --disable-dummy-driver && make install)
+
+      wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
+      tar -axvf $LIBWAYLAND_VERSION.tar.xz
+      (cd $LIBWAYLAND_VERSION && ./configure --prefix=$HOME/prefix --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation && make install)
+
+      wget $WAYLAND_RELEASES/$WAYLAND_PROTOCOLS_VERSION.tar.xz
+      tar -axvf $WAYLAND_PROTOCOLS_VERSION.tar.xz
+      (cd $WAYLAND_PROTOCOLS_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+      # Meson requires ninja >= 1.6, but xenial has 1.3.x
+      wget https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-linux.zip
+      unzip ninja-linux.zip
+      mv ninja $HOME/prefix/bin/
+
+      # Generate this header since one is missing on the Travis instance
+      mkdir -p linux
+      printf "%s\n" \
+           "#ifndef _LINUX_MEMFD_H" \
+           "#define _LINUX_MEMFD_H" \
+           "" \
+           "#define MFD_CLOEXEC             0x0001U" \
+           "#define MFD_ALLOW_SEALING       0x0002U" \
+           "" \
+           "#endif /* _LINUX_MEMFD_H */" > linux/memfd.h
+
+      # Generate this header, including the missing SYS_memfd_create
+      # macro, which is not provided by the header in the Travis
+      # instance
+      mkdir -p sys
+      printf "%s\n" \
+           "#ifndef _SYSCALL_H" \
+           "#define _SYSCALL_H      1" \
+           "" \
+           "#include <asm/unistd.h>" \
+           "" \
+           "#ifndef _LIBC" \
+           "# include <bits/syscall.h>" \
+           "#endif" \
+           "" \
+           "#ifndef __NR_memfd_create" \
+           "# define __NR_memfd_create 319 /* Taken from <asm/unistd_64.h> */" \
+           "#endif" \
+           "" \
+           "#ifndef SYS_memfd_create" \
+           "# define SYS_memfd_create __NR_memfd_create" \
+           "#endif" \
+           "" \
+           "#endif" > sys/syscall.h
+    fi
+
 script:
   - if test "x$BUILD" = xmake; then
       export CFLAGS="$CFLAGS -isystem`pwd`";
@@ -72,13 +511,15 @@ script:
       ../autogen.sh
         --enable-autotools
         --enable-debug
+        $LIBUNWIND_FLAGS
         $DRI_LOADERS
         --with-dri-drivers=$DRI_DRIVERS
+        $GALLIUM_ST
         --with-gallium-drivers=$GALLIUM_DRIVERS
         --with-vulkan-drivers=$VULKAN_DRIVERS
         --disable-llvm-shared-libs
         &&
-      make && make check;
+      make && eval $MAKE_CHECK_COMMAND;
     fi
 
   - |