12 - LIBPCIACCESS_VERSION=libpciaccess-0.13.4
13 - LIBDRM_VERSION=libdrm-2.4.92
14 - LIBWAYLAND_VERSION=wayland-1.15.92
15 - WAYLAND_PROTOCOLS_VERSION=wayland-protocols-1.15
16 - MESA_VERSION=mesa-18.1.5
17 - LIBVA_VERSION=libva-1.7.0
18 - VULKAN_SDK_VERSION=sdk-1.1.77.0
19 - LIBEVDEV_VERSION=libevdev-1.5.9
20 - LIBUNWIND_VERSION=libunwind-1.2.1
21 - PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
22 - LD_LIBRARY_PATH=$HOME/prefix/lib:$LD_LIBRARY_PATH
23 - PATH=$HOME/prefix/bin:$PATH
24 - OVERRIDE_CC="gcc-4.9"
25 - OVERRIDE_CXX="g++-4.9"
32 - LABEL="Static analysis"
47 - ubuntu-toolchain-r-test
53 - LABEL="Disable hotplug"
55 - HWC_FLAGS="--disable-hotplug-support"
59 - ubuntu-toolchain-r-test
65 - LABEL="Dummy compositor"
67 - HWC_FLAGS="--enable-dummy-compositor"
71 - ubuntu-toolchain-r-test
77 - LABEL="Vulkan compositor"
79 - HWC_FLAGS="--enable-vulkan"
83 - ubuntu-toolchain-r-test
89 - LABEL="Weston plugin"
95 - ubuntu-toolchain-r-test
120 - if test "x$BUILD" = xstatic; then
121 ./travisci/check_patch.py;
126 test -n "$OVERRIDE_CC" && export CC="$OVERRIDE_CC"
127 test -n "$OVERRIDE_CXX" && export CXX="$OVERRIDE_CXX"
129 wget http://xorg.freedesktop.org/releases/individual/lib/$LIBPCIACCESS_VERSION.tar.bz2
130 tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2
131 (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
133 wget http://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
134 tar -jxvf $LIBDRM_VERSION.tar.bz2
135 (cd $LIBDRM_VERSION && ./configure --prefix=$HOME/prefix && make install)
137 # Generate this header since one is missing on the Travis instance
138 mkdir -p $HOME/prefix/include/linux
140 "#ifndef _LINUX_MEMFD_H" \
141 "#define _LINUX_MEMFD_H" \
143 "#define __NR_memfd_create 319" \
144 "#define SYS_memfd_create __NR_memfd_create" \
146 "#define MFD_CLOEXEC 0x0001U" \
147 "#define MFD_ALLOW_SEALING 0x0002U" \
149 "#endif /* _LINUX_MEMFD_H */" > $HOME/prefix/include/linux/memfd.h
151 wget http://wayland.freedesktop.org/releases/$LIBWAYLAND_VERSION.tar.xz
152 tar -axvf $LIBWAYLAND_VERSION.tar.xz
153 (cd $LIBWAYLAND_VERSION && ./configure --prefix=$HOME/prefix \
154 --enable-libraries --without-host-scanner --disable-documentation \
155 --disable-dtd-validation && make install)
157 wget http://wayland.freedesktop.org/releases/$WAYLAND_PROTOCOLS_VERSION.tar.xz
158 tar -axvf $WAYLAND_PROTOCOLS_VERSION.tar.xz
159 (cd $WAYLAND_PROTOCOLS_VERSION && ./configure --prefix=$HOME/prefix && \
162 wget https://mesa.freedesktop.org/archive/$MESA_VERSION.tar.gz
163 tar -zxvf $MESA_VERSION.tar.gz
164 (cd $MESA_VERSION && ./configure --prefix=$HOME/prefix --disable-glx \
165 --with-platforms=surfaceless,wayland --without-gallium-drivers \
166 --with-dri-drivers=i965 --with-vulkan-drivers=intel && make install)
168 wget http://www.freedesktop.org/software/vaapi/releases/libva/$LIBVA_VERSION.tar.bz2
169 tar -jxvf $LIBVA_VERSION.tar.bz2
170 (cd $LIBVA_VERSION && ./configure --prefix=$HOME/prefix && make install)
172 wget https://github.com/KhronosGroup/Vulkan-Headers/archive/$VULKAN_SDK_VERSION.tar.gz
173 mv $VULKAN_SDK_VERSION.tar.gz Vulkan-Headers-$VULKAN_SDK_VERSION.tar.gz
174 tar -zxvf Vulkan-Headers-$VULKAN_SDK_VERSION.tar.gz
175 (cd Vulkan-Headers-$VULKAN_SDK_VERSION && \
176 cmake -DCMAKE_INSTALL_PREFIX=$HOME/prefix && make install)
178 wget https://github.com/KhronosGroup/Vulkan-Loader/archive/$VULKAN_SDK_VERSION.tar.gz
179 mv $VULKAN_SDK_VERSION.tar.gz Vulkan-Loader-$VULKAN_SDK_VERSION.tar.gz
180 tar -zxvf Vulkan-Loader-$VULKAN_SDK_VERSION.tar.gz
181 (cd Vulkan-Loader-$VULKAN_SDK_VERSION && \
182 cmake -DCMAKE_INSTALL_PREFIX=$HOME/prefix -DBUILD_TESTS=OFF \
183 -DBUILD_WSI_MIR_SUPPORT=Off -DBUILD_WSI_WAYLAND_SUPPORT=Off \
184 -DBUILD_WSI_XCB_SUPPORT=Off -DBUILD_WSI_XLIB_SUPPORT=Off && make install)
186 wget https://www.freedesktop.org/software/libevdev/$LIBEVDEV_VERSION.tar.xz
187 tar -axvf $LIBEVDEV_VERSION.tar.xz
188 (cd $LIBEVDEV_VERSION && ./configure --prefix=$HOME/prefix && make install)
190 wget https://download.savannah.nongnu.org/releases/libunwind/$LIBUNWIND_VERSION.tar.gz
191 tar -xzvf $LIBUNWIND_VERSION.tar.gz
192 (cd $LIBUNWIND_VERSION && ./configure --prefix=$HOME/prefix && make install)
195 - if test "x$BUILD" = xmake; then
196 ./autogen.sh $HWC_FLAGS && make;
200 if test "x$BUILD" = xweston; then
201 cp travisci/realpath $HOME/prefix/bin
203 wget https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip
204 unzip ninja-linux.zip
205 cp ninja $HOME/prefix/bin
207 pip3 install --user pathlib
208 pip3 install --user meson==0.43.0
210 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/prefix/lib/x86_64-linux-gnu/pkgconfig
211 git clone git://anongit.freedesktop.org/git/wayland/libinput libinput
212 (cd libinput && meson --prefix=$HOME/prefix -Dlibwacom=false \
213 -Ddocumentation=false -Ddebug-gui=false -Dtests=false builddir/ && \
214 ninja -C builddir/ && ninja -C builddir/ install)
216 export WLD=$HOME/prefix
217 git clone -b iahwc-plugin https://github.com/intel/external-weston.git ../weston
219 #HACK: Weston's paths are hardcoded to ../iahwc/..
220 cp -r ../IA-Hardware-Composer ../iahwc
222 os/linux/weston/build_script.sh --weston-dir=../weston --iahwc-dir=$(pwd) --build