Merge branch 'ci-32bits' into 'master'

Draft: CI 32bits

See merge request wlroots/wlroots!4030
This commit is contained in:
Simon Zeni 2023-12-05 02:28:04 +00:00
commit 9f97969893
4 changed files with 50 additions and 9 deletions

View file

@ -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

View file

@ -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

View file

@ -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

19
.builds/x86-linux-gnu.ini Normal file
View file

@ -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'