gitlab-ci: add meson gallium RadeonSI build
[mesa.git] / .travis.yml
1 language: c
2
3 dist: xenial
4
5 cache:
6 apt: true
7 ccache: true
8
9 env:
10 global:
11 - XORG_RELEASES=https://xorg.freedesktop.org/releases/individual
12 - XCB_RELEASES=https://xcb.freedesktop.org/dist
13 - WAYLAND_RELEASES=https://wayland.freedesktop.org/releases
14 - XORGMACROS_VERSION=util-macros-1.19.0
15 - GLPROTO_VERSION=glproto-1.4.17
16 - DRI2PROTO_VERSION=dri2proto-2.8
17 - LIBPCIACCESS_VERSION=libpciaccess-0.13.4
18 - LIBDRM_VERSION=libdrm-2.4.97
19 - XCBPROTO_VERSION=xcb-proto-1.13
20 - RANDRPROTO_VERSION=randrproto-1.3.0
21 - LIBXRANDR_VERSION=libXrandr-1.3.0
22 - LIBXCB_VERSION=libxcb-1.13
23 - LIBXSHMFENCE_VERSION=libxshmfence-1.2
24 - LIBVDPAU_VERSION=libvdpau-1.1
25 - LIBVA_VERSION=libva-1.7.0
26 - LIBWAYLAND_VERSION=wayland-1.15.0
27 - WAYLAND_PROTOCOLS_VERSION=wayland-protocols-1.8
28 - PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
29 - LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
30 - PATH="$HOME/prefix/bin:$PATH"
31
32 matrix:
33 include:
34 - env:
35 - LABEL="make loaders/classic DRI"
36 - BUILD=make
37 - MAKEFLAGS="-j4"
38 - MAKE_CHECK_COMMAND="make check"
39 - DRI_LOADERS="--enable-glx --enable-gbm --enable-egl --with-platforms=x11,drm,surfaceless,wayland --enable-osmesa"
40 - DRI_DRIVERS="i915,i965,radeon,r200,swrast,nouveau"
41 - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
42 - GALLIUM_DRIVERS=""
43 - VULKAN_DRIVERS=""
44 - LIBUNWIND_FLAGS="--disable-libunwind"
45 addons:
46 apt:
47 packages:
48 - xz-utils
49 - x11proto-xf86vidmode-dev
50 - libxxf86vm-dev
51 - libexpat1-dev
52 - libx11-xcb-dev
53 - libxdamage-dev
54 - libxfixes-dev
55 - python3-pip
56 - python3-setuptools
57 - env:
58 - LABEL="meson Gallium Drivers Other"
59 - BUILD=meson
60 - UNWIND="true"
61 - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
62 - GALLIUM_ST="-Ddri3=false -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=disabled"
63 - GALLIUM_DRIVERS="i915,nouveau,kmsro,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv"
64 - LLVM_VERSION=5.0
65 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
66 addons:
67 apt:
68 packages:
69 # LLVM packaging is broken and misses these dependencies
70 - libedit-dev
71 - llvm-5.0-dev
72 # Common
73 - xz-utils
74 - libexpat1-dev
75 - libx11-xcb-dev
76 - libelf-dev
77 - libunwind8-dev
78 - python3.5
79 - python3-pip
80 - python3-setuptools
81 - env:
82 - LABEL="meson Gallium ST Clover LLVM-5.0"
83 - BUILD=meson
84 - UNWIND="true"
85 - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
86 - GALLIUM_ST="-Ddri3=false -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=icd"
87 - GALLIUM_DRIVERS="r600"
88 - LLVM_VERSION=5.0
89 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
90 addons:
91 apt:
92 packages:
93 - libclc-dev
94 # LLVM packaging is broken and misses these dependencies
95 - libedit-dev
96 - llvm-5.0-dev
97 - clang-5.0
98 - libclang-5.0-dev
99 # Common
100 - xz-utils
101 - libexpat1-dev
102 - libx11-xcb-dev
103 - libelf-dev
104 - libunwind8-dev
105 - python3-pip
106 - python3-setuptools
107 - env:
108 - LABEL="meson Gallium ST Clover LLVM-6.0"
109 - BUILD=meson
110 - UNWIND="true"
111 - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
112 - GALLIUM_ST="-Ddri3=false -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=icd"
113 - GALLIUM_DRIVERS="r600"
114 - LLVM_VERSION=6.0
115 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
116 addons:
117 apt:
118 packages:
119 - libclc-dev
120 - llvm-6.0-dev
121 - clang-6.0
122 - libclang-6.0-dev
123 # Common
124 - xz-utils
125 - libexpat1-dev
126 - libx11-xcb-dev
127 - libelf-dev
128 - libunwind8-dev
129 - python3.5
130 - python3-pip
131 - python3-setuptools
132 - env:
133 - LABEL="meson Gallium ST Clover LLVM-7"
134 - BUILD=meson
135 - UNWIND="true"
136 - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
137 - GALLIUM_ST="-Ddri3=false -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=icd"
138 - GALLIUM_DRIVERS="r600,radeonsi"
139 - LLVM_VERSION=7
140 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
141 addons:
142 apt:
143 sources:
144 - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
145 key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
146 packages:
147 - libclc-dev
148 # From sources above
149 - llvm-7-dev
150 - clang-7
151 - libclang-7-dev
152 # Common
153 - xz-utils
154 - libexpat1-dev
155 - libx11-xcb-dev
156 - libelf-dev
157 - libunwind8-dev
158 - python3.5
159 - python3-pip
160 - python3-setuptools
161 - env:
162 - LABEL="meson Gallium ST Other"
163 - BUILD=meson
164 - UNWIND="true"
165 - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
166 - GALLIUM_ST="-Ddri3=true -Dgallium-vdpau=true -Dgallium-xvmc=true -Dgallium-omx=bellagio -Dgallium-va=true -Dgallium-xa=true -Dgallium-nine=true -Dgallium-opencl=disabled -Dosmesa=gallium"
167 # We need swrast for osmesa and nine.
168 # Nouveau supports, or builds at least against all ST.
169 - GALLIUM_DRIVERS="nouveau,swrast"
170 - LLVM_VERSION=5.0
171 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
172 addons:
173 apt:
174 packages:
175 - llvm-5.0-dev
176 # LLVM packaging is broken and misses these dependencies
177 - libedit-dev
178 # Nine requires gcc 4.6... which is the one we have right ?
179 - libxvmc-dev
180 # Build locally, for now.
181 #- libvdpau-dev
182 #- libva-dev
183 - libomxil-bellagio-dev
184 # Common
185 - xz-utils
186 - libexpat1-dev
187 - libx11-xcb-dev
188 - libelf-dev
189 - libunwind8-dev
190 - python3.5
191 - python3-pip
192 - python3-setuptools
193 - env:
194 # NOTE: Building SWR is 2x (yes two) times slower than all the other
195 # gallium drivers combined.
196 # Start this early so that it doesn't hunder the run time.
197 - LABEL="make Gallium Drivers SWR"
198 - BUILD=make
199 - MAKEFLAGS="-j4"
200 - MAKE_CHECK_COMMAND="true"
201 - LLVM_VERSION=6.0
202 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
203 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
204 - DRI_DRIVERS=""
205 - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
206 - GALLIUM_DRIVERS="swr"
207 - VULKAN_DRIVERS=""
208 - LIBUNWIND_FLAGS="--enable-libunwind"
209 addons:
210 apt:
211 packages:
212 - llvm-6.0-dev
213 # Common
214 - xz-utils
215 - libexpat1-dev
216 - libx11-xcb-dev
217 - libelf-dev
218 - libunwind8-dev
219 - python3-pip
220 - python3-setuptools
221 - env:
222 - LABEL="make Gallium Drivers RadeonSI"
223 - BUILD=make
224 - MAKEFLAGS="-j4"
225 - MAKE_CHECK_COMMAND="true"
226 - LLVM_VERSION=7
227 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
228 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
229 - DRI_DRIVERS=""
230 - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
231 - GALLIUM_DRIVERS="radeonsi"
232 - VULKAN_DRIVERS=""
233 - LIBUNWIND_FLAGS="--enable-libunwind"
234 addons:
235 apt:
236 sources:
237 - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
238 key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
239 packages:
240 # From sources above
241 - llvm-7-dev
242 # Common
243 - xz-utils
244 - libexpat1-dev
245 - libx11-xcb-dev
246 - libelf-dev
247 - libunwind8-dev
248 - python3-pip
249 - python3-setuptools
250 - env:
251 - LABEL="make Gallium Drivers Other"
252 - BUILD=make
253 - MAKEFLAGS="-j4"
254 - MAKE_CHECK_COMMAND="true"
255 - LLVM_VERSION=3.9
256 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
257 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
258 - DRI_DRIVERS=""
259 - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
260 - GALLIUM_DRIVERS="i915,nouveau,kmsro,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv"
261 - VULKAN_DRIVERS=""
262 - LIBUNWIND_FLAGS="--enable-libunwind"
263 addons:
264 apt:
265 packages:
266 # LLVM packaging is broken and misses these dependencies
267 - libedit-dev
268 - llvm-3.9-dev
269 # Common
270 - xz-utils
271 - libexpat1-dev
272 - libx11-xcb-dev
273 - libelf-dev
274 - libunwind8-dev
275 - python3-pip
276 - python3-setuptools
277 - env:
278 - LABEL="make Gallium ST Clover LLVM-3.9"
279 - BUILD=make
280 - MAKEFLAGS="-j4"
281 - MAKE_CHECK_COMMAND="true"
282 - LLVM_VERSION=3.9
283 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
284 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
285 - DRI_DRIVERS=""
286 - 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"
287 - GALLIUM_DRIVERS="r600"
288 - VULKAN_DRIVERS=""
289 - LIBUNWIND_FLAGS="--enable-libunwind"
290 addons:
291 apt:
292 packages:
293 - libclc-dev
294 # LLVM packaging is broken and misses these dependencies
295 - libedit-dev
296 - llvm-3.9-dev
297 - clang-3.9
298 - libclang-3.9-dev
299 # Common
300 - xz-utils
301 - libexpat1-dev
302 - libx11-xcb-dev
303 - libelf-dev
304 - libunwind8-dev
305 - python3-pip
306 - python3-setuptools
307 - env:
308 - LABEL="make Gallium ST Clover LLVM-4.0"
309 - BUILD=make
310 - MAKEFLAGS="-j4"
311 - MAKE_CHECK_COMMAND="true"
312 - LLVM_VERSION=4.0
313 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
314 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
315 - DRI_DRIVERS=""
316 - 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"
317 - GALLIUM_DRIVERS="r600"
318 - VULKAN_DRIVERS=""
319 - LIBUNWIND_FLAGS="--enable-libunwind"
320 addons:
321 apt:
322 packages:
323 - libclc-dev
324 # LLVM packaging is broken and misses these dependencies
325 - libedit-dev
326 - llvm-4.0-dev
327 - clang-4.0
328 - libclang-4.0-dev
329 # Common
330 - xz-utils
331 - libexpat1-dev
332 - libx11-xcb-dev
333 - libelf-dev
334 - libunwind8-dev
335 - python3-pip
336 - python3-setuptools
337 - env:
338 - LABEL="make Gallium ST Clover LLVM-5.0"
339 - BUILD=make
340 - MAKEFLAGS="-j4"
341 - MAKE_CHECK_COMMAND="true"
342 - LLVM_VERSION=5.0
343 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
344 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
345 - DRI_DRIVERS=""
346 - 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"
347 - GALLIUM_DRIVERS="r600"
348 - VULKAN_DRIVERS=""
349 - LIBUNWIND_FLAGS="--enable-libunwind"
350 addons:
351 apt:
352 packages:
353 - libclc-dev
354 # LLVM packaging is broken and misses these dependencies
355 - libedit-dev
356 - llvm-5.0-dev
357 - clang-5.0
358 - libclang-5.0-dev
359 # Common
360 - xz-utils
361 - libexpat1-dev
362 - libx11-xcb-dev
363 - libelf-dev
364 - libunwind8-dev
365 - python3-pip
366 - python3-setuptools
367 - env:
368 - LABEL="make Gallium ST Clover LLVM-6.0"
369 - BUILD=make
370 - MAKEFLAGS="-j4"
371 - MAKE_CHECK_COMMAND="true"
372 - LLVM_VERSION=6.0
373 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
374 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
375 - DRI_DRIVERS=""
376 - 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"
377 - GALLIUM_DRIVERS="r600"
378 - VULKAN_DRIVERS=""
379 - LIBUNWIND_FLAGS="--enable-libunwind"
380 addons:
381 apt:
382 packages:
383 - libclc-dev
384 - llvm-6.0-dev
385 - clang-6.0
386 - libclang-6.0-dev
387 # Common
388 - xz-utils
389 - libexpat1-dev
390 - libx11-xcb-dev
391 - libelf-dev
392 - libunwind8-dev
393 - python3-pip
394 - python3-setuptools
395 - env:
396 - LABEL="make Gallium ST Clover LLVM-7"
397 - BUILD=make
398 - MAKEFLAGS="-j4"
399 - MAKE_CHECK_COMMAND="true"
400 - LLVM_VERSION=7
401 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
402 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
403 - DRI_DRIVERS=""
404 - 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"
405 - GALLIUM_DRIVERS="r600,radeonsi"
406 - VULKAN_DRIVERS=""
407 - LIBUNWIND_FLAGS="--enable-libunwind"
408 addons:
409 apt:
410 sources:
411 - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
412 key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
413 packages:
414 - libclc-dev
415 # From sources above
416 - llvm-7-dev
417 - clang-7
418 - libclang-7-dev
419 # Common
420 - xz-utils
421 - libexpat1-dev
422 - libx11-xcb-dev
423 - libelf-dev
424 - libunwind8-dev
425 - env:
426 - LABEL="make Gallium ST Other"
427 - BUILD=make
428 - MAKEFLAGS="-j4"
429 - MAKE_CHECK_COMMAND="true"
430 - LLVM_VERSION=3.5
431 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
432 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
433 - DRI_DRIVERS=""
434 - GALLIUM_ST="--enable-dri --disable-opencl --enable-xa --enable-nine --enable-xvmc --enable-vdpau --enable-va --enable-omx-bellagio --enable-gallium-osmesa"
435 # We need swrast for osmesa and nine.
436 # i915 most likely doesn't work with most ST.
437 # Regardless - we're doing a quick build test here.
438 - GALLIUM_DRIVERS="i915,swrast"
439 - VULKAN_DRIVERS=""
440 - LIBUNWIND_FLAGS="--enable-libunwind"
441 addons:
442 apt:
443 packages:
444 # We actually want to test against llvm-3.3, yet 3.5 is available
445 - llvm-3.5-dev
446 # Nine requires gcc 4.6... which is the one we have right ?
447 - libxvmc-dev
448 # Build locally, for now.
449 #- libvdpau-dev
450 #- libva-dev
451 - libomxil-bellagio-dev
452 # LLVM packaging is broken and misses these dependencies
453 - libedit-dev
454 # Common
455 - xz-utils
456 - libexpat1-dev
457 - libx11-xcb-dev
458 - libelf-dev
459 - libunwind8-dev
460 - python3-pip
461 - python3-setuptools
462 - env:
463 - LABEL="macOS make"
464 - BUILD=make
465 - MAKEFLAGS="-j4"
466 - MAKE_CHECK_COMMAND="make check"
467 - DRI_LOADERS="--with-platforms=x11 --disable-egl"
468 os: osx
469 - env:
470 - LABEL="macOS meson"
471 - BUILD=meson
472 - UNWIND="false"
473 - DRI_LOADERS="-Dglx=dri -Dgbm=false -Degl=false -Dplatforms=x11 -Dosmesa=none"
474 - GALLIUM_ST="-Ddri3=true -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=disabled"
475 os: osx
476
477 before_install:
478 - |
479 if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
480 HOMEBREW_NO_AUTO_UPDATE=1 brew install python3 ninja expat gettext
481 # Set PATH for homebrew pip3 installs
482 PATH="$HOME/Library/Python/3.6/bin:${PATH}"
483 # Set PKG_CONFIG_PATH for keg-only expat
484 PKG_CONFIG_PATH="/usr/local/opt/expat/lib/pkgconfig:${PKG_CONFIG_PATH}"
485 # Set PATH for keg-only gettext
486 PATH="/usr/local/opt/gettext/bin:${PATH}"
487
488 # Install xquartz for prereqs ...
489 XQUARTZ_VERSION="2.7.11"
490 wget -nv https://dl.bintray.com/xquartz/downloads/XQuartz-${XQUARTZ_VERSION}.dmg
491 hdiutil attach XQuartz-${XQUARTZ_VERSION}.dmg
492 sudo installer -pkg /Volumes/XQuartz-${XQUARTZ_VERSION}/XQuartz.pkg -target /
493 hdiutil detach /Volumes/XQuartz-${XQUARTZ_VERSION}
494 # ... and set paths
495 PATH="/opt/X11/bin:${PATH}"
496 PKG_CONFIG_PATH="/opt/X11/share/pkgconfig:/opt/X11/lib/pkgconfig:${PKG_CONFIG_PATH}"
497 ACLOCAL="aclocal -I /opt/X11/share/aclocal -I /usr/local/share/aclocal"
498 fi
499
500 install:
501 # Install a more modern meson from pip, since the version in the
502 # ubuntu repos is often quite old.
503 - if test "x$BUILD" = xmeson; then
504 pip3 install --user meson;
505 pip3 install --user mako;
506 fi
507
508 # Install autotools build dependencies
509 - if test "x$BUILD" = xmake; then
510 pip2 install --user mako;
511 fi
512
513 # Install a more modern scons from pip.
514 - if test "x$BUILD" = xscons; then
515 pip2 install --user "scons>=2.4";
516 pip2 install --user mako;
517 fi
518
519 # Install dependencies where we require specific versions (or where
520 # disallowed by Travis CI's package whitelisting).
521
522 - |
523 if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
524 wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
525 tar -jxvf $XORGMACROS_VERSION.tar.bz2
526 (cd $XORGMACROS_VERSION && ./configure --prefix=$HOME/prefix && make install)
527
528 wget $XORG_RELEASES/proto/$GLPROTO_VERSION.tar.bz2
529 tar -jxvf $GLPROTO_VERSION.tar.bz2
530 (cd $GLPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
531
532 wget $XORG_RELEASES/proto/$DRI2PROTO_VERSION.tar.bz2
533 tar -jxvf $DRI2PROTO_VERSION.tar.bz2
534 (cd $DRI2PROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
535
536 wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2
537 tar -jxvf $XCBPROTO_VERSION.tar.bz2
538 (cd $XCBPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
539
540 wget $XCB_RELEASES/$LIBXCB_VERSION.tar.bz2
541 tar -jxvf $LIBXCB_VERSION.tar.bz2
542 (cd $LIBXCB_VERSION && ./configure --prefix=$HOME/prefix && make install)
543
544 wget $XORG_RELEASES/lib/$LIBPCIACCESS_VERSION.tar.bz2
545 tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2
546 (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
547
548 wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
549 tar -jxvf $LIBDRM_VERSION.tar.bz2
550 (cd $LIBDRM_VERSION && ./configure --prefix=$HOME/prefix --enable-vc4 --enable-freedreno --enable-etnaviv-experimental-api && make install)
551
552 wget $XORG_RELEASES/proto/$RANDRPROTO_VERSION.tar.bz2
553 tar -jxvf $RANDRPROTO_VERSION.tar.bz2
554 (cd $RANDRPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
555
556 wget $XORG_RELEASES/lib/$LIBXRANDR_VERSION.tar.bz2
557 tar -jxvf $LIBXRANDR_VERSION.tar.bz2
558 (cd $LIBXRANDR_VERSION && ./configure --prefix=$HOME/prefix && make install)
559
560 wget $XORG_RELEASES/lib/$LIBXSHMFENCE_VERSION.tar.bz2
561 tar -jxvf $LIBXSHMFENCE_VERSION.tar.bz2
562 (cd $LIBXSHMFENCE_VERSION && ./configure --prefix=$HOME/prefix && make install)
563
564 wget https://people.freedesktop.org/~aplattner/vdpau/$LIBVDPAU_VERSION.tar.bz2
565 tar -jxvf $LIBVDPAU_VERSION.tar.bz2
566 (cd $LIBVDPAU_VERSION && ./configure --prefix=$HOME/prefix && make install)
567
568 wget https://www.freedesktop.org/software/vaapi/releases/libva/$LIBVA_VERSION.tar.bz2
569 tar -jxvf $LIBVA_VERSION.tar.bz2
570 (cd $LIBVA_VERSION && ./configure --prefix=$HOME/prefix --disable-wayland --disable-dummy-driver && make install)
571
572 wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
573 tar -axvf $LIBWAYLAND_VERSION.tar.xz
574 (cd $LIBWAYLAND_VERSION && ./configure --prefix=$HOME/prefix --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation && make install)
575
576 wget $WAYLAND_RELEASES/$WAYLAND_PROTOCOLS_VERSION.tar.xz
577 tar -axvf $WAYLAND_PROTOCOLS_VERSION.tar.xz
578 (cd $WAYLAND_PROTOCOLS_VERSION && ./configure --prefix=$HOME/prefix && make install)
579
580 # Meson requires ninja >= 1.6, but xenial has 1.3.x
581 wget https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-linux.zip
582 unzip ninja-linux.zip
583 mv ninja $HOME/prefix/bin/
584
585 # Generate this header since one is missing on the Travis instance
586 mkdir -p linux
587 printf "%s\n" \
588 "#ifndef _LINUX_MEMFD_H" \
589 "#define _LINUX_MEMFD_H" \
590 "" \
591 "#define MFD_CLOEXEC 0x0001U" \
592 "#define MFD_ALLOW_SEALING 0x0002U" \
593 "" \
594 "#endif /* _LINUX_MEMFD_H */" > linux/memfd.h
595
596 # Generate this header, including the missing SYS_memfd_create
597 # macro, which is not provided by the header in the Travis
598 # instance
599 mkdir -p sys
600 printf "%s\n" \
601 "#ifndef _SYSCALL_H" \
602 "#define _SYSCALL_H 1" \
603 "" \
604 "#include <asm/unistd.h>" \
605 "" \
606 "#ifndef _LIBC" \
607 "# include <bits/syscall.h>" \
608 "#endif" \
609 "" \
610 "#ifndef __NR_memfd_create" \
611 "# define __NR_memfd_create 319 /* Taken from <asm/unistd_64.h> */" \
612 "#endif" \
613 "" \
614 "#ifndef SYS_memfd_create" \
615 "# define SYS_memfd_create __NR_memfd_create" \
616 "#endif" \
617 "" \
618 "#endif" > sys/syscall.h
619 fi
620
621 script:
622 - if test "x$BUILD" = xmake; then
623 export CFLAGS="$CFLAGS -isystem`pwd`";
624
625 mkdir build &&
626 cd build &&
627 ../autogen.sh
628 --enable-autotools
629 --enable-debug
630 $LIBUNWIND_FLAGS
631 $DRI_LOADERS
632 --with-dri-drivers=$DRI_DRIVERS
633 $GALLIUM_ST
634 --with-gallium-drivers=$GALLIUM_DRIVERS
635 --with-vulkan-drivers=$VULKAN_DRIVERS
636 --disable-llvm-shared-libs
637 &&
638 make && eval $MAKE_CHECK_COMMAND;
639 fi
640
641 - if test "x$BUILD" = xscons; then
642 scons $SCONS_TARGET && eval $SCONS_CHECK_COMMAND;
643 fi
644
645 - |
646 if test "x$BUILD" = xmeson; then
647 if test -n "$LLVM_CONFIG"; then
648 # We need to control the version of llvm-config we're using, so we'll
649 # generate a native file to do so. This requires meson >=0.49
650 #
651 echo -e "[binaries]\nllvm-config = '`which $LLVM_CONFIG`'" > native.file
652
653 $LLVM_CONFIG --version
654 else
655 : > native.file
656 fi
657
658 export CFLAGS="$CFLAGS -isystem`pwd`"
659 meson _build \
660 --native-file=native.file \
661 -Dbuild-tests=true \
662 -Dlibunwind=${UNWIND} \
663 ${DRI_LOADERS} \
664 -Ddri-drivers=${DRI_DRIVERS:-[]} \
665 ${GALLIUM_ST} \
666 -Dgallium-drivers=${GALLIUM_DRIVERS:-[]} \
667 -Dvulkan-drivers=${VULKAN_DRIVERS:-[]}
668 meson configure _build
669 ninja -C _build
670 ninja -C _build test
671 fi