docs: make bugs.html easier to find
[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="meson Vulkan"
36 - BUILD=meson
37 - UNWIND="false"
38 - DRI_LOADERS="-Dglx=disabled -Dgbm=false -Degl=false -Dplatforms=x11,wayland,drm -Dosmesa=none"
39 - 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"
40 - VULKAN_DRIVERS="intel,amd"
41 - LLVM_VERSION=7
42 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
43 addons:
44 apt:
45 sources:
46 - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
47 key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
48 packages:
49 - llvm-7-dev
50 # Common
51 - xz-utils
52 - libexpat1-dev
53 - libx11-xcb-dev
54 - libelf-dev
55 - python3.5
56 - python3-pip
57 - python3-setuptools
58 - env:
59 - LABEL="meson loaders/classic DRI"
60 - BUILD=meson
61 - UNWIND="false"
62 - DRI_LOADERS="-Dglx=dri -Dgbm=true -Degl=true -Dplatforms=x11,wayland,drm,surfaceless -Dosmesa=classic"
63 - DRI_DRIVERS="i915,i965,r100,r200,swrast,nouveau"
64 - 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"
65 addons:
66 apt:
67 packages:
68 - xz-utils
69 - x11proto-xf86vidmode-dev
70 - libxxf86vm-dev
71 - libexpat1-dev
72 - libx11-xcb-dev
73 - libxdamage-dev
74 - libxfixes-dev
75 - python3.5
76 - python3-pip
77 - python3-setuptools
78 - env:
79 - LABEL="make loaders/classic DRI"
80 - BUILD=make
81 - MAKEFLAGS="-j4"
82 - MAKE_CHECK_COMMAND="make check"
83 - DRI_LOADERS="--enable-glx --enable-gbm --enable-egl --with-platforms=x11,drm,surfaceless,wayland --enable-osmesa"
84 - DRI_DRIVERS="i915,i965,radeon,r200,swrast,nouveau"
85 - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
86 - GALLIUM_DRIVERS=""
87 - VULKAN_DRIVERS=""
88 - LIBUNWIND_FLAGS="--disable-libunwind"
89 addons:
90 apt:
91 packages:
92 - xz-utils
93 - x11proto-xf86vidmode-dev
94 - libxxf86vm-dev
95 - libexpat1-dev
96 - libx11-xcb-dev
97 - libxdamage-dev
98 - libxfixes-dev
99 - python3-pip
100 - python3-setuptools
101 - env:
102 # NOTE: Building SWR is 2x (yes two) times slower than all the other
103 # gallium drivers combined.
104 # Start this early so that it doesn't hunder the run time.
105 - LABEL="meson Gallium Drivers SWR"
106 - BUILD=meson
107 - UNWIND="true"
108 - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
109 - 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"
110 - GALLIUM_DRIVERS="swr"
111 - LLVM_VERSION=6.0
112 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
113 addons:
114 apt:
115 packages:
116 - llvm-6.0-dev
117 # Common
118 - xz-utils
119 - libexpat1-dev
120 - libx11-xcb-dev
121 - libelf-dev
122 - libunwind8-dev
123 - python3.5
124 - python3-pip
125 - python3-setuptools
126 - env:
127 - LABEL="meson Gallium Drivers RadeonSI"
128 - BUILD=meson
129 - UNWIND="true"
130 - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
131 - 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"
132 - GALLIUM_DRIVERS="radeonsi"
133 - LLVM_VERSION=7
134 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
135 addons:
136 apt:
137 sources:
138 - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
139 key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
140 packages:
141 # From sources above
142 - llvm-7-dev
143 # Common
144 - xz-utils
145 - libexpat1-dev
146 - libx11-xcb-dev
147 - libelf-dev
148 - libunwind8-dev
149 - python3.5
150 - python3-pip
151 - python3-setuptools
152 - env:
153 - LABEL="meson Gallium Drivers Other"
154 - BUILD=meson
155 - UNWIND="true"
156 - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
157 - 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"
158 - GALLIUM_DRIVERS="i915,nouveau,kmsro,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv"
159 - LLVM_VERSION=5.0
160 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
161 addons:
162 apt:
163 packages:
164 # LLVM packaging is broken and misses these dependencies
165 - libedit-dev
166 - llvm-5.0-dev
167 # Common
168 - xz-utils
169 - libexpat1-dev
170 - libx11-xcb-dev
171 - libelf-dev
172 - libunwind8-dev
173 - python3.5
174 - python3-pip
175 - python3-setuptools
176 - env:
177 - LABEL="meson Gallium ST Clover LLVM-5.0"
178 - BUILD=meson
179 - UNWIND="true"
180 - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
181 - 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"
182 - GALLIUM_DRIVERS="r600"
183 - LLVM_VERSION=5.0
184 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
185 addons:
186 apt:
187 packages:
188 - libclc-dev
189 # LLVM packaging is broken and misses these dependencies
190 - libedit-dev
191 - llvm-5.0-dev
192 - clang-5.0
193 - libclang-5.0-dev
194 # Common
195 - xz-utils
196 - libexpat1-dev
197 - libx11-xcb-dev
198 - libelf-dev
199 - libunwind8-dev
200 - python3-pip
201 - python3-setuptools
202 - env:
203 - LABEL="meson Gallium ST Clover LLVM-6.0"
204 - BUILD=meson
205 - UNWIND="true"
206 - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
207 - 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"
208 - GALLIUM_DRIVERS="r600"
209 - LLVM_VERSION=6.0
210 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
211 addons:
212 apt:
213 packages:
214 - libclc-dev
215 - llvm-6.0-dev
216 - clang-6.0
217 - libclang-6.0-dev
218 # Common
219 - xz-utils
220 - libexpat1-dev
221 - libx11-xcb-dev
222 - libelf-dev
223 - libunwind8-dev
224 - python3.5
225 - python3-pip
226 - python3-setuptools
227 - env:
228 - LABEL="meson Gallium ST Clover LLVM-7"
229 - BUILD=meson
230 - UNWIND="true"
231 - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
232 - 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"
233 - GALLIUM_DRIVERS="r600,radeonsi"
234 - LLVM_VERSION=7
235 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
236 addons:
237 apt:
238 sources:
239 - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
240 key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
241 packages:
242 - libclc-dev
243 # From sources above
244 - llvm-7-dev
245 - clang-7
246 - libclang-7-dev
247 # Common
248 - xz-utils
249 - libexpat1-dev
250 - libx11-xcb-dev
251 - libelf-dev
252 - libunwind8-dev
253 - python3.5
254 - python3-pip
255 - python3-setuptools
256 - env:
257 - LABEL="meson Gallium ST Other"
258 - BUILD=meson
259 - UNWIND="true"
260 - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
261 - 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"
262 # We need swrast for osmesa and nine.
263 # Nouveau supports, or builds at least against all ST.
264 - GALLIUM_DRIVERS="nouveau,swrast"
265 - LLVM_VERSION=5.0
266 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
267 addons:
268 apt:
269 packages:
270 - llvm-5.0-dev
271 # LLVM packaging is broken and misses these dependencies
272 - libedit-dev
273 # Nine requires gcc 4.6... which is the one we have right ?
274 - libxvmc-dev
275 # Build locally, for now.
276 #- libvdpau-dev
277 #- libva-dev
278 - libomxil-bellagio-dev
279 # Common
280 - xz-utils
281 - libexpat1-dev
282 - libx11-xcb-dev
283 - libelf-dev
284 - libunwind8-dev
285 - python3.5
286 - python3-pip
287 - python3-setuptools
288 - env:
289 # NOTE: Building SWR is 2x (yes two) times slower than all the other
290 # gallium drivers combined.
291 # Start this early so that it doesn't hunder the run time.
292 - LABEL="make Gallium Drivers SWR"
293 - BUILD=make
294 - MAKEFLAGS="-j4"
295 - MAKE_CHECK_COMMAND="true"
296 - LLVM_VERSION=6.0
297 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
298 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
299 - DRI_DRIVERS=""
300 - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
301 - GALLIUM_DRIVERS="swr"
302 - VULKAN_DRIVERS=""
303 - LIBUNWIND_FLAGS="--enable-libunwind"
304 addons:
305 apt:
306 packages:
307 - llvm-6.0-dev
308 # Common
309 - xz-utils
310 - libexpat1-dev
311 - libx11-xcb-dev
312 - libelf-dev
313 - libunwind8-dev
314 - python3-pip
315 - python3-setuptools
316 - env:
317 - LABEL="make Gallium Drivers RadeonSI"
318 - BUILD=make
319 - MAKEFLAGS="-j4"
320 - MAKE_CHECK_COMMAND="true"
321 - LLVM_VERSION=7
322 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
323 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
324 - DRI_DRIVERS=""
325 - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
326 - GALLIUM_DRIVERS="radeonsi"
327 - VULKAN_DRIVERS=""
328 - LIBUNWIND_FLAGS="--enable-libunwind"
329 addons:
330 apt:
331 sources:
332 - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
333 key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
334 packages:
335 # From sources above
336 - llvm-7-dev
337 # Common
338 - xz-utils
339 - libexpat1-dev
340 - libx11-xcb-dev
341 - libelf-dev
342 - libunwind8-dev
343 - python3-pip
344 - python3-setuptools
345 - env:
346 - LABEL="make Gallium Drivers Other"
347 - BUILD=make
348 - MAKEFLAGS="-j4"
349 - MAKE_CHECK_COMMAND="true"
350 - LLVM_VERSION=3.9
351 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
352 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
353 - DRI_DRIVERS=""
354 - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
355 - GALLIUM_DRIVERS="i915,nouveau,kmsro,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv"
356 - VULKAN_DRIVERS=""
357 - LIBUNWIND_FLAGS="--enable-libunwind"
358 addons:
359 apt:
360 packages:
361 # LLVM packaging is broken and misses these dependencies
362 - libedit-dev
363 - llvm-3.9-dev
364 # Common
365 - xz-utils
366 - libexpat1-dev
367 - libx11-xcb-dev
368 - libelf-dev
369 - libunwind8-dev
370 - python3-pip
371 - python3-setuptools
372 - env:
373 - LABEL="make Gallium ST Clover LLVM-3.9"
374 - BUILD=make
375 - MAKEFLAGS="-j4"
376 - MAKE_CHECK_COMMAND="true"
377 - LLVM_VERSION=3.9
378 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
379 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
380 - DRI_DRIVERS=""
381 - 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"
382 - GALLIUM_DRIVERS="r600"
383 - VULKAN_DRIVERS=""
384 - LIBUNWIND_FLAGS="--enable-libunwind"
385 addons:
386 apt:
387 packages:
388 - libclc-dev
389 # LLVM packaging is broken and misses these dependencies
390 - libedit-dev
391 - llvm-3.9-dev
392 - clang-3.9
393 - libclang-3.9-dev
394 # Common
395 - xz-utils
396 - libexpat1-dev
397 - libx11-xcb-dev
398 - libelf-dev
399 - libunwind8-dev
400 - python3-pip
401 - python3-setuptools
402 - env:
403 - LABEL="make Gallium ST Clover LLVM-4.0"
404 - BUILD=make
405 - MAKEFLAGS="-j4"
406 - MAKE_CHECK_COMMAND="true"
407 - LLVM_VERSION=4.0
408 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
409 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
410 - DRI_DRIVERS=""
411 - 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"
412 - GALLIUM_DRIVERS="r600"
413 - VULKAN_DRIVERS=""
414 - LIBUNWIND_FLAGS="--enable-libunwind"
415 addons:
416 apt:
417 packages:
418 - libclc-dev
419 # LLVM packaging is broken and misses these dependencies
420 - libedit-dev
421 - llvm-4.0-dev
422 - clang-4.0
423 - libclang-4.0-dev
424 # Common
425 - xz-utils
426 - libexpat1-dev
427 - libx11-xcb-dev
428 - libelf-dev
429 - libunwind8-dev
430 - python3-pip
431 - python3-setuptools
432 - env:
433 - LABEL="make Gallium ST Clover LLVM-5.0"
434 - BUILD=make
435 - MAKEFLAGS="-j4"
436 - MAKE_CHECK_COMMAND="true"
437 - LLVM_VERSION=5.0
438 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
439 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
440 - DRI_DRIVERS=""
441 - 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"
442 - GALLIUM_DRIVERS="r600"
443 - VULKAN_DRIVERS=""
444 - LIBUNWIND_FLAGS="--enable-libunwind"
445 addons:
446 apt:
447 packages:
448 - libclc-dev
449 # LLVM packaging is broken and misses these dependencies
450 - libedit-dev
451 - llvm-5.0-dev
452 - clang-5.0
453 - libclang-5.0-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="make Gallium ST Clover LLVM-6.0"
464 - BUILD=make
465 - MAKEFLAGS="-j4"
466 - MAKE_CHECK_COMMAND="true"
467 - LLVM_VERSION=6.0
468 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
469 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
470 - DRI_DRIVERS=""
471 - 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"
472 - GALLIUM_DRIVERS="r600"
473 - VULKAN_DRIVERS=""
474 - LIBUNWIND_FLAGS="--enable-libunwind"
475 addons:
476 apt:
477 packages:
478 - libclc-dev
479 - llvm-6.0-dev
480 - clang-6.0
481 - libclang-6.0-dev
482 # Common
483 - xz-utils
484 - libexpat1-dev
485 - libx11-xcb-dev
486 - libelf-dev
487 - libunwind8-dev
488 - python3-pip
489 - python3-setuptools
490 - env:
491 - LABEL="make Gallium ST Clover LLVM-7"
492 - BUILD=make
493 - MAKEFLAGS="-j4"
494 - MAKE_CHECK_COMMAND="true"
495 - LLVM_VERSION=7
496 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
497 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
498 - DRI_DRIVERS=""
499 - 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"
500 - GALLIUM_DRIVERS="r600,radeonsi"
501 - VULKAN_DRIVERS=""
502 - LIBUNWIND_FLAGS="--enable-libunwind"
503 addons:
504 apt:
505 sources:
506 - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
507 key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
508 packages:
509 - libclc-dev
510 # From sources above
511 - llvm-7-dev
512 - clang-7
513 - libclang-7-dev
514 # Common
515 - xz-utils
516 - libexpat1-dev
517 - libx11-xcb-dev
518 - libelf-dev
519 - libunwind8-dev
520 - env:
521 - LABEL="make Gallium ST Other"
522 - BUILD=make
523 - MAKEFLAGS="-j4"
524 - MAKE_CHECK_COMMAND="true"
525 - LLVM_VERSION=3.5
526 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
527 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
528 - DRI_DRIVERS=""
529 - GALLIUM_ST="--enable-dri --disable-opencl --enable-xa --enable-nine --enable-xvmc --enable-vdpau --enable-va --enable-omx-bellagio --enable-gallium-osmesa"
530 # We need swrast for osmesa and nine.
531 # i915 most likely doesn't work with most ST.
532 # Regardless - we're doing a quick build test here.
533 - GALLIUM_DRIVERS="i915,swrast"
534 - VULKAN_DRIVERS=""
535 - LIBUNWIND_FLAGS="--enable-libunwind"
536 addons:
537 apt:
538 packages:
539 # We actually want to test against llvm-3.3, yet 3.5 is available
540 - llvm-3.5-dev
541 # Nine requires gcc 4.6... which is the one we have right ?
542 - libxvmc-dev
543 # Build locally, for now.
544 #- libvdpau-dev
545 #- libva-dev
546 - libomxil-bellagio-dev
547 # LLVM packaging is broken and misses these dependencies
548 - libedit-dev
549 # Common
550 - xz-utils
551 - libexpat1-dev
552 - libx11-xcb-dev
553 - libelf-dev
554 - libunwind8-dev
555 - python3-pip
556 - python3-setuptools
557 - env:
558 - LABEL="make Vulkan"
559 - BUILD=make
560 - MAKEFLAGS="-j4"
561 - MAKE_CHECK_COMMAND="make -C src/gtest check && make -C src/intel check"
562 - LLVM_VERSION=7
563 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
564 - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl --with-platforms=x11,wayland"
565 - DRI_DRIVERS=""
566 - GALLIUM_ST="--enable-dri --enable-dri3 --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
567 - GALLIUM_DRIVERS=""
568 - VULKAN_DRIVERS="intel,radeon"
569 - LIBUNWIND_FLAGS="--disable-libunwind"
570 addons:
571 apt:
572 sources:
573 - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
574 key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
575 packages:
576 # From sources above
577 - llvm-7-dev
578 # Common
579 - xz-utils
580 - libexpat1-dev
581 - libx11-xcb-dev
582 - libelf-dev
583 - python3-pip
584 - python3-setuptools
585 - env:
586 - LABEL="scons"
587 - BUILD=scons
588 - SCONSFLAGS="-j4"
589 # Explicitly disable.
590 - SCONS_TARGET="llvm=0"
591 # Keep it symmetrical to the make build.
592 - SCONS_CHECK_COMMAND="scons llvm=0 check"
593 addons:
594 apt:
595 packages:
596 # Common
597 - xz-utils
598 - x11proto-xf86vidmode-dev
599 - libexpat1-dev
600 - libx11-xcb-dev
601 - libelf-dev
602 - env:
603 - LABEL="scons LLVM"
604 - BUILD=scons
605 - SCONSFLAGS="-j4"
606 - SCONS_TARGET="llvm=1"
607 # Keep it symmetrical to the make build.
608 - SCONS_CHECK_COMMAND="scons llvm=1 check"
609 - LLVM_VERSION=3.5
610 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
611 addons:
612 apt:
613 packages:
614 # LLVM packaging is broken and misses these dependencies
615 - libedit-dev
616 # We actually want to test against llvm-3.3, yet 3.5 is available
617 - llvm-3.5-dev
618 # Common
619 - xz-utils
620 - x11proto-xf86vidmode-dev
621 - libexpat1-dev
622 - libx11-xcb-dev
623 - libelf-dev
624 - env:
625 - LABEL="scons SWR"
626 - BUILD=scons
627 - SCONSFLAGS="-j4"
628 - SCONS_TARGET="swr=1"
629 - LLVM_VERSION=6.0
630 - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
631 # Keep it symmetrical to the make build. There's no actual SWR, yet.
632 - SCONS_CHECK_COMMAND="true"
633 addons:
634 apt:
635 packages:
636 - llvm-6.0-dev
637 # Common
638 - xz-utils
639 - x11proto-xf86vidmode-dev
640 - libexpat1-dev
641 - libx11-xcb-dev
642 - libelf-dev
643 - env:
644 - LABEL="macOS make"
645 - BUILD=make
646 - MAKEFLAGS="-j4"
647 - MAKE_CHECK_COMMAND="make check"
648 - DRI_LOADERS="--with-platforms=x11 --disable-egl"
649 os: osx
650 - env:
651 - LABEL="macOS meson"
652 - BUILD=meson
653 - UNWIND="false"
654 - DRI_LOADERS="-Dglx=dri -Dgbm=false -Degl=false -Dplatforms=x11 -Dosmesa=none"
655 - 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"
656 os: osx
657
658 before_install:
659 - |
660 if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
661 HOMEBREW_NO_AUTO_UPDATE=1 brew install python3 ninja expat gettext
662 # Set PATH for homebrew pip3 installs
663 PATH="$HOME/Library/Python/3.6/bin:${PATH}"
664 # Set PKG_CONFIG_PATH for keg-only expat
665 PKG_CONFIG_PATH="/usr/local/opt/expat/lib/pkgconfig:${PKG_CONFIG_PATH}"
666 # Set PATH for keg-only gettext
667 PATH="/usr/local/opt/gettext/bin:${PATH}"
668
669 # Install xquartz for prereqs ...
670 XQUARTZ_VERSION="2.7.11"
671 wget -nv https://dl.bintray.com/xquartz/downloads/XQuartz-${XQUARTZ_VERSION}.dmg
672 hdiutil attach XQuartz-${XQUARTZ_VERSION}.dmg
673 sudo installer -pkg /Volumes/XQuartz-${XQUARTZ_VERSION}/XQuartz.pkg -target /
674 hdiutil detach /Volumes/XQuartz-${XQUARTZ_VERSION}
675 # ... and set paths
676 PATH="/opt/X11/bin:${PATH}"
677 PKG_CONFIG_PATH="/opt/X11/share/pkgconfig:/opt/X11/lib/pkgconfig:${PKG_CONFIG_PATH}"
678 ACLOCAL="aclocal -I /opt/X11/share/aclocal -I /usr/local/share/aclocal"
679 fi
680
681 install:
682 # Install a more modern meson from pip, since the version in the
683 # ubuntu repos is often quite old.
684 - if test "x$BUILD" = xmeson; then
685 pip3 install --user meson;
686 pip3 install --user mako;
687 fi
688
689 # Install autotools build dependencies
690 - if test "x$BUILD" = xmake; then
691 pip2 install --user mako;
692 fi
693
694 # Install a more modern scons from pip.
695 - if test "x$BUILD" = xscons; then
696 pip2 install --user "scons>=2.4";
697 pip2 install --user mako;
698 fi
699
700 # Install dependencies where we require specific versions (or where
701 # disallowed by Travis CI's package whitelisting).
702
703 - |
704 if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
705 wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
706 tar -jxvf $XORGMACROS_VERSION.tar.bz2
707 (cd $XORGMACROS_VERSION && ./configure --prefix=$HOME/prefix && make install)
708
709 wget $XORG_RELEASES/proto/$GLPROTO_VERSION.tar.bz2
710 tar -jxvf $GLPROTO_VERSION.tar.bz2
711 (cd $GLPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
712
713 wget $XORG_RELEASES/proto/$DRI2PROTO_VERSION.tar.bz2
714 tar -jxvf $DRI2PROTO_VERSION.tar.bz2
715 (cd $DRI2PROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
716
717 wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2
718 tar -jxvf $XCBPROTO_VERSION.tar.bz2
719 (cd $XCBPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
720
721 wget $XCB_RELEASES/$LIBXCB_VERSION.tar.bz2
722 tar -jxvf $LIBXCB_VERSION.tar.bz2
723 (cd $LIBXCB_VERSION && ./configure --prefix=$HOME/prefix && make install)
724
725 wget $XORG_RELEASES/lib/$LIBPCIACCESS_VERSION.tar.bz2
726 tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2
727 (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
728
729 wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
730 tar -jxvf $LIBDRM_VERSION.tar.bz2
731 (cd $LIBDRM_VERSION && ./configure --prefix=$HOME/prefix --enable-vc4 --enable-freedreno --enable-etnaviv-experimental-api && make install)
732
733 wget $XORG_RELEASES/proto/$RANDRPROTO_VERSION.tar.bz2
734 tar -jxvf $RANDRPROTO_VERSION.tar.bz2
735 (cd $RANDRPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
736
737 wget $XORG_RELEASES/lib/$LIBXRANDR_VERSION.tar.bz2
738 tar -jxvf $LIBXRANDR_VERSION.tar.bz2
739 (cd $LIBXRANDR_VERSION && ./configure --prefix=$HOME/prefix && make install)
740
741 wget $XORG_RELEASES/lib/$LIBXSHMFENCE_VERSION.tar.bz2
742 tar -jxvf $LIBXSHMFENCE_VERSION.tar.bz2
743 (cd $LIBXSHMFENCE_VERSION && ./configure --prefix=$HOME/prefix && make install)
744
745 wget https://people.freedesktop.org/~aplattner/vdpau/$LIBVDPAU_VERSION.tar.bz2
746 tar -jxvf $LIBVDPAU_VERSION.tar.bz2
747 (cd $LIBVDPAU_VERSION && ./configure --prefix=$HOME/prefix && make install)
748
749 wget https://www.freedesktop.org/software/vaapi/releases/libva/$LIBVA_VERSION.tar.bz2
750 tar -jxvf $LIBVA_VERSION.tar.bz2
751 (cd $LIBVA_VERSION && ./configure --prefix=$HOME/prefix --disable-wayland --disable-dummy-driver && make install)
752
753 wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
754 tar -axvf $LIBWAYLAND_VERSION.tar.xz
755 (cd $LIBWAYLAND_VERSION && ./configure --prefix=$HOME/prefix --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation && make install)
756
757 wget $WAYLAND_RELEASES/$WAYLAND_PROTOCOLS_VERSION.tar.xz
758 tar -axvf $WAYLAND_PROTOCOLS_VERSION.tar.xz
759 (cd $WAYLAND_PROTOCOLS_VERSION && ./configure --prefix=$HOME/prefix && make install)
760
761 # Meson requires ninja >= 1.6, but xenial has 1.3.x
762 wget https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-linux.zip
763 unzip ninja-linux.zip
764 mv ninja $HOME/prefix/bin/
765
766 # Generate this header since one is missing on the Travis instance
767 mkdir -p linux
768 printf "%s\n" \
769 "#ifndef _LINUX_MEMFD_H" \
770 "#define _LINUX_MEMFD_H" \
771 "" \
772 "#define MFD_CLOEXEC 0x0001U" \
773 "#define MFD_ALLOW_SEALING 0x0002U" \
774 "" \
775 "#endif /* _LINUX_MEMFD_H */" > linux/memfd.h
776
777 # Generate this header, including the missing SYS_memfd_create
778 # macro, which is not provided by the header in the Travis
779 # instance
780 mkdir -p sys
781 printf "%s\n" \
782 "#ifndef _SYSCALL_H" \
783 "#define _SYSCALL_H 1" \
784 "" \
785 "#include <asm/unistd.h>" \
786 "" \
787 "#ifndef _LIBC" \
788 "# include <bits/syscall.h>" \
789 "#endif" \
790 "" \
791 "#ifndef __NR_memfd_create" \
792 "# define __NR_memfd_create 319 /* Taken from <asm/unistd_64.h> */" \
793 "#endif" \
794 "" \
795 "#ifndef SYS_memfd_create" \
796 "# define SYS_memfd_create __NR_memfd_create" \
797 "#endif" \
798 "" \
799 "#endif" > sys/syscall.h
800 fi
801
802 script:
803 - if test "x$BUILD" = xmake; then
804 export CFLAGS="$CFLAGS -isystem`pwd`";
805
806 mkdir build &&
807 cd build &&
808 ../autogen.sh
809 --enable-autotools
810 --enable-debug
811 $LIBUNWIND_FLAGS
812 $DRI_LOADERS
813 --with-dri-drivers=$DRI_DRIVERS
814 $GALLIUM_ST
815 --with-gallium-drivers=$GALLIUM_DRIVERS
816 --with-vulkan-drivers=$VULKAN_DRIVERS
817 --disable-llvm-shared-libs
818 &&
819 make && eval $MAKE_CHECK_COMMAND;
820 fi
821
822 - if test "x$BUILD" = xscons; then
823 scons $SCONS_TARGET && eval $SCONS_CHECK_COMMAND;
824 fi
825
826 - |
827 if test "x$BUILD" = xmeson; then
828 if test -n "$LLVM_CONFIG"; then
829 # We need to control the version of llvm-config we're using, so we'll
830 # generate a native file to do so. This requires meson >=0.49
831 #
832 echo -e "[binaries]\nllvm-config = '`which $LLVM_CONFIG`'" > native.file
833
834 $LLVM_CONFIG --version
835 else
836 : > native.file
837 fi
838
839 export CFLAGS="$CFLAGS -isystem`pwd`"
840 meson _build \
841 --native-file=native.file \
842 -Dbuild-tests=true \
843 -Dlibunwind=${UNWIND} \
844 ${DRI_LOADERS} \
845 -Ddri-drivers=${DRI_DRIVERS:-[]} \
846 ${GALLIUM_ST} \
847 -Dgallium-drivers=${GALLIUM_DRIVERS:-[]} \
848 -Dvulkan-drivers=${VULKAN_DRIVERS:-[]}
849 meson configure _build
850 ninja -C _build
851 ninja -C _build test
852 fi