meson: egl: group dri2 bits separately from haiku
[mesa.git] / .travis.yml
index b0ddbe226cdbb7eef19c0f544994687db0a72793..8d6ddb2f20192ce3fee7757ceb0b580782d3c534 100644 (file)
@@ -9,9 +9,9 @@ cache:
 
 env:
   global:
-    - XORG_RELEASES=http://xorg.freedesktop.org/releases/individual
-    - XCB_RELEASES=http://xcb.freedesktop.org/dist
-    - WAYLAND_RELEASES=http://wayland.freedesktop.org/releases
+    - 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
@@ -35,27 +35,32 @@ matrix:
     - env:
         - LABEL="meson Vulkan"
         - BUILD=meson
-        - MESON_OPTIONS="-Ddri-drivers=[] -Dgallium-drivers=[]"
-        - LLVM_VERSION=5.0
+        - DRI_DRIVERS=""
+        - GALLIUM_DRIVERS=""
+        - VULKAN_DRIVERS="intel,amd"
+        - LLVM_VERSION=6.0
         - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
       addons:
         apt:
           sources:
-            - llvm-toolchain-trusty-5.0
+            - llvm-toolchain-trusty-6.0
+            # llvm-6 requires libstdc++4.9 which is not in main repo
+            - ubuntu-toolchain-r-test
           packages:
-            # LLVM packaging is broken and misses these dependencies
-            - libedit-dev
             # From sources above
-            - llvm-5.0-dev
+            - llvm-6.0-dev
             # Common
             - xz-utils
             - libexpat1-dev
             - libelf-dev
+            - python3.5
             - python3-pip
     - env:
         - LABEL="meson loaders/classic DRI"
         - BUILD=meson
-        - MESON_OPTIONS="-Dvulkan-drivers=[] -Dgallium-drivers=[]"
+        - DRI_DRIVERS="i915,i965,r100,r200,swrast,nouveau"
+        - GALLIUM_DRIVERS=""
+        - VULKAN_DRIVERS=""
       addons:
         apt:
           packages:
@@ -65,6 +70,7 @@ matrix:
             - libx11-xcb-dev
             - libxdamage-dev
             - libxfixes-dev
+            - python3.5
             - python3-pip
     - env:
         - LABEL="make loaders/classic DRI"
@@ -86,6 +92,7 @@ matrix:
             - libx11-xcb-dev
             - libxdamage-dev
             - libxfixes-dev
+            - python3-pip
     - env:
         # NOTE: Building SWR is 2x (yes two) times slower than all the other
         # gallium drivers combined.
@@ -94,10 +101,8 @@ matrix:
         - BUILD=make
         - MAKEFLAGS="-j4"
         - MAKE_CHECK_COMMAND="true"
-        - LLVM_VERSION=5.0
+        - LLVM_VERSION=6.0
         - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
-        - OVERRIDE_CC="gcc-4.8"
-        - OVERRIDE_CXX="g++-4.8"
         - 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"
@@ -107,12 +112,12 @@ matrix:
       addons:
         apt:
           sources:
-            - llvm-toolchain-trusty-5.0
+            - llvm-toolchain-trusty-6.0
+            # llvm-6 requires libstdc++4.9 which is not in main repo
+            - ubuntu-toolchain-r-test
           packages:
-            # LLVM packaging is broken and misses these dependencies
-            - libedit-dev
             # From sources above
-            - llvm-5.0-dev
+            - llvm-6.0-dev
             # Common
             - xz-utils
             - x11proto-xf86vidmode-dev
@@ -120,12 +125,13 @@ matrix:
             - libx11-xcb-dev
             - libelf-dev
             - libunwind8-dev
+            - python3-pip
     - env:
         - LABEL="make Gallium Drivers RadeonSI"
         - BUILD=make
         - MAKEFLAGS="-j4"
         - MAKE_CHECK_COMMAND="true"
-        - LLVM_VERSION=5.0
+        - LLVM_VERSION=6.0
         - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
         - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
         - DRI_DRIVERS=""
@@ -136,12 +142,12 @@ matrix:
       addons:
         apt:
           sources:
-            - llvm-toolchain-trusty-5.0
+            - llvm-toolchain-trusty-6.0
+            # llvm-6 requires libstdc++4.9 which is not in main repo
+            - ubuntu-toolchain-r-test
           packages:
-            # LLVM packaging is broken and misses these dependencies
-            - libedit-dev
             # From sources above
-            - llvm-5.0-dev
+            - llvm-6.0-dev
             # Common
             - xz-utils
             - x11proto-xf86vidmode-dev
@@ -149,6 +155,7 @@ matrix:
             - libx11-xcb-dev
             - libelf-dev
             - libunwind8-dev
+            - python3-pip
     - env:
         - LABEL="make Gallium Drivers Other"
         - BUILD=make
@@ -181,8 +188,8 @@ matrix:
             - libx11-xcb-dev
             - libelf-dev
             - libunwind8-dev
+            - python3-pip
     - env:
-        # NOTE: Analogous to SWR above, building Clover is quite slow.
         - LABEL="make Gallium ST Clover LLVM-3.9"
         - BUILD=make
         - MAKEFLAGS="-j4"
@@ -220,8 +227,8 @@ matrix:
             - libx11-xcb-dev
             - libelf-dev
             - libunwind8-dev
+            - python3-pip
     - env:
-        # NOTE: Analogous to SWR above, building Clover is quite slow.
         - LABEL="make Gallium ST Clover LLVM-4.0"
         - BUILD=make
         - MAKEFLAGS="-j4"
@@ -256,8 +263,8 @@ matrix:
             - libx11-xcb-dev
             - libelf-dev
             - libunwind8-dev
+            - python3-pip
     - env:
-        # NOTE: Analogous to SWR above, building Clover is quite slow.
         - LABEL="make Gallium ST Clover LLVM-5.0"
         - BUILD=make
         - MAKEFLAGS="-j4"
@@ -269,7 +276,7 @@ matrix:
         - 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"
+        - GALLIUM_DRIVERS="r600"
         - VULKAN_DRIVERS=""
         - LIBUNWIND_FLAGS="--enable-libunwind"
       addons:
@@ -292,8 +299,8 @@ matrix:
             - libx11-xcb-dev
             - libelf-dev
             - libunwind8-dev
+            - python3-pip
     - env:
-        # NOTE: Analogous to SWR above, building Clover is quite slow.
         - LABEL="make Gallium ST Clover LLVM-6.0"
         - BUILD=make
         - MAKEFLAGS="-j4"
@@ -310,7 +317,7 @@ matrix:
         apt:
           sources:
             - llvm-toolchain-trusty-6.0
-            # llvm-6 depends on gcc-4.9 which is not in main repo
+            # llvm-6 requires libstdc++4.9 which is not in main repo
             - ubuntu-toolchain-r-test
           packages:
             - libclc-dev
@@ -325,6 +332,40 @@ matrix:
             - libx11-xcb-dev
             - libelf-dev
             - libunwind8-dev
+            - python3-pip
+    - 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/trusty/ llvm-toolchain-trusty-7 main'
+              key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
+            # llvm-7 requires libstdc++4.9 which is not in main repo
+            - ubuntu-toolchain-r-test
+          packages:
+            - libclc-dev
+            # From sources above
+            - llvm-7-dev
+            - clang-7
+            - libclang-7-dev
+            # Common
+            - xz-utils
+            - x11proto-xf86vidmode-dev
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - libelf-dev
+            - libunwind8-dev
     - env:
         - LABEL="make Gallium ST Other"
         - BUILD=make
@@ -361,12 +402,13 @@ matrix:
             - libx11-xcb-dev
             - libelf-dev
             - libunwind8-dev
+            - python3-pip
     - env:
         - LABEL="make Vulkan"
         - BUILD=make
         - MAKEFLAGS="-j4"
         - MAKE_CHECK_COMMAND="make -C src/gtest check && make -C src/intel check"
-        - LLVM_VERSION=5.0
+        - LLVM_VERSION=6.0
         - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
         - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl --with-platforms=x11,wayland"
         - DRI_DRIVERS=""
@@ -377,18 +419,19 @@ matrix:
       addons:
         apt:
           sources:
-            - llvm-toolchain-trusty-5.0
+            - llvm-toolchain-trusty-6.0
+            # llvm-6 requires libstdc++4.9 which is not in main repo
+            - ubuntu-toolchain-r-test
           packages:
-            # LLVM packaging is broken and misses these dependencies
-            - libedit-dev
             # From sources above
-            - llvm-5.0-dev
+            - llvm-6.0-dev
             # Common
             - xz-utils
             - x11proto-xf86vidmode-dev
             - libexpat1-dev
             - libx11-xcb-dev
             - libelf-dev
+            - python3-pip
     - env:
         - LABEL="scons"
         - BUILD=scons
@@ -432,21 +475,19 @@ matrix:
         - BUILD=scons
         - SCONSFLAGS="-j4"
         - SCONS_TARGET="swr=1"
-        - LLVM_VERSION=5.0
+        - LLVM_VERSION=6.0
         - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
         # Keep it symmetrical to the make build. There's no actual SWR, yet.
         - SCONS_CHECK_COMMAND="true"
-        - OVERRIDE_CC="gcc-4.8"
-        - OVERRIDE_CXX="g++-4.8"
       addons:
         apt:
           sources:
-            - llvm-toolchain-trusty-5.0
+            - llvm-toolchain-trusty-6.0
+            # llvm-6 requires libstdc++4.9 which is not in main repo
+            - ubuntu-toolchain-r-test
           packages:
-            # LLVM packaging is broken and misses these dependencies
-            - libedit-dev
             # From sources above
-            - llvm-5.0-dev
+            - llvm-6.0-dev
             # Common
             - xz-utils
             - x11proto-xf86vidmode-dev
@@ -463,7 +504,6 @@ matrix:
     - env:
         - LABEL="macOS meson"
         - BUILD=meson
-        - MESON_OPTIONS="-Degl=false"
       os: osx
 
 before_install:
@@ -490,18 +530,24 @@ before_install:
     fi
 
 install:
-  - pip2 install --user mako
-
   # Install a more modern meson from pip, since the version in the
-  # ubuntu repos is often quite old. Avoid >=0.45.0 as it needs python
-  # 3.5+
+  # ubuntu repos is often quite old. This requires python>=3.5, so
+  # let's make it default
   - if test "x$BUILD" = xmeson; then
-      pip3 install --user "meson<0.45.0";
+      sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 10;
+      pip3 install --user meson;
+      pip3 install --user mako;
+    fi
+
+  # Install autotools build dependencies
+  - if test "x$BUILD" = xmake; then
+      pip2 install --user mako;
     fi
 
   # Install a more modern scons from pip.
   - if test "x$BUILD" = xscons; then
       pip2 install --user "scons>=2.4";
+      pip2 install --user mako;
     fi
 
   # Since libdrm gets updated in configure.ac regularly, try to pick up the
@@ -543,7 +589,7 @@ install:
       tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2
       (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
 
-      wget http://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
+      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)
 
@@ -559,11 +605,11 @@ install:
       tar -jxvf $LIBXSHMFENCE_VERSION.tar.bz2
       (cd $LIBXSHMFENCE_VERSION && ./configure --prefix=$HOME/prefix && make install)
 
-      wget http://people.freedesktop.org/~aplattner/vdpau/$LIBVDPAU_VERSION.tar.bz2
+      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 http://www.freedesktop.org/software/vaapi/releases/libva/$LIBVA_VERSION.tar.bz2
+      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)
 
@@ -647,6 +693,14 @@ script:
   - |
     if test "x$BUILD" = xmeson; then
 
+      if test "x$TRAVIS_OS_NAME" == xosx; then
+        MESON_OPTIONS="-Degl=false"
+      fi
+
+      if test "x$TRAVIS_OS_NAME" == xlinux; then
+        MESON_OPTIONS="-Ddri-drivers=${DRI_DRIVERS:-[]} -Dgallium-drivers=${GALLIUM_DRIVERS:-[]} -Dvulkan-drivers=${VULKAN_DRIVERS:-[]}"
+      fi
+
       # Travis CI has moved to LLVM 5.0, and meson is detecting
       # automatically the available version in /usr/local/bin based on
       # the PATH env variable order preference.