diff --git a/.builds/alpine.yml b/.builds/alpine.yml index 7b8f7f3fc..322649a63 100644 --- a/.builds/alpine.yml +++ b/.builds/alpine.yml @@ -1,5 +1,6 @@ image: alpine/edge packages: + - clang - eudev-dev - ffmpeg-dev - glslang @@ -25,7 +26,7 @@ sources: tasks: - setup: | cd wlroots - meson setup build --fatal-meson-warnings --default-library=both -Dauto_features=enabled -Dxcb-errors=disabled + CC=clang meson setup build --fatal-meson-warnings --default-library=both -Dauto_features=enabled -Dxcb-errors=disabled - build: | cd wlroots ninja -C build diff --git a/.builds/archlinux-cross-x86.yml b/.builds/archlinux-cross-x86.yml new file mode 100644 index 000000000..1d18eefe6 --- /dev/null +++ b/.builds/archlinux-cross-x86.yml @@ -0,0 +1,26 @@ +image: archlinux +packages: + - meson +sources: + - https://gitlab.freedesktop.org/wlroots/wlroots.git + - https://git.sr.ht/~kennylevinsen/seatd#0.7.0 + - https://gitlab.freedesktop.org/emersion/libliftoff.git#v0.4.0 +tasks: + - setup: | + # multilib is not enabled by default, packages have to be installed manually + sudo sed -i "/\[multilib\]/,/Include/"'s/^#//' /etc/pacman.conf + sudo pacman -Syy --noconfirm multilib-devel lib32-wayland lib32-libdrm lib32-libxkbcommon lib32-libxcb lib32-pixman lib32-mesa lib32-systemd + # not all dependencies are available in multilib + mkdir -p wlroots/subprojects + ln -s seatd wlroots/subprojects/seatd + ln -s libliftoff wlroots/subprojects/libliftoff + cd wlroots + meson setup build --fatal-meson-warnings --default-library=both --prefix /usr --cross-file=.builds/x86-linux-gnu.ini --force-fallback=seatd,libliftoff + - build: | + cd wlroots/build + ninja + sudo ninja install + - tinywl: | + cd wlroots/tinywl + make + diff --git a/.builds/archlinux.yml b/.builds/archlinux.yml index 3803107d6..13e0ca52b 100644 --- a/.builds/archlinux.yml +++ b/.builds/archlinux.yml @@ -1,6 +1,5 @@ image: archlinux packages: - - clang - ffmpeg - libinput - libdisplay-info @@ -26,17 +25,13 @@ sources: tasks: - setup: | cd wlroots - CC=gcc meson setup build-gcc --fatal-meson-warnings --default-library=both -Dauto_features=enabled --prefix /usr -Db_sanitize=address,undefined - CC=clang meson setup build-clang --fatal-meson-warnings -Dauto_features=enabled - - gcc: | - cd wlroots/build-gcc + meson setup build --fatal-meson-warnings --default-library=both -Dauto_features=enabled --prefix /usr -Db_sanitize=address,undefined + - build: | + cd wlroots/build ninja sudo ninja install cd ../tinywl CFLAGS="-fsanitize=address,undefined -fno-omit-frame-pointer" make - - clang: | - cd wlroots/build-clang - ninja - smoke-test: | cd wlroots/tinywl sudo modprobe vkms diff --git a/.builds/x86-linux-gnu.ini b/.builds/x86-linux-gnu.ini new file mode 100644 index 000000000..85dfdd927 --- /dev/null +++ b/.builds/x86-linux-gnu.ini @@ -0,0 +1,19 @@ +[binaries] +c = '/usr/bin/gcc' +cpp = '/usr/bin/g++' +ar = '/usr/bin/gcc-ar' +strip = '/usr/bin/strip' +pkgconfig = '/usr/bin/pkgconf' +llvm-config = '/usr/bin/llvm-config32' + +[built-in options] +c_args = ['-m32'] +c_link_args = ['-m32'] +pkg_config_path = ['/usr/lib32/pkgconfig'] +libdir = 'lib32' + +[host_machine] +system = 'linux' +cpu_family = 'x86' +cpu = 'i686' +endian = 'little'