diff --git a/.github/actions/setup-alpine/action.yml b/.github/actions/setup-alpine/action.yml index 6153875..ac850ff 100644 --- a/.github/actions/setup-alpine/action.yml +++ b/.github/actions/setup-alpine/action.yml @@ -14,6 +14,7 @@ runs: apk update apk add \ build-base \ + clang \ eudev-dev \ git \ libusb-dev \ diff --git a/.github/actions/setup-archlinux/action.yml b/.github/actions/setup-archlinux/action.yml index abead60..cff3d68 100644 --- a/.github/actions/setup-archlinux/action.yml +++ b/.github/actions/setup-archlinux/action.yml @@ -16,6 +16,7 @@ runs: pacman --noconfirm -Sy archlinux-keyring pacman --noconfirm -Su \ + clang \ git \ lib32-libusb \ lib32-systemd \ diff --git a/.github/actions/setup-debian/action.yml b/.github/actions/setup-debian/action.yml index 2a78a7b..eb1c6f1 100644 --- a/.github/actions/setup-debian/action.yml +++ b/.github/actions/setup-debian/action.yml @@ -15,6 +15,7 @@ runs: apt-get update apt-get install --yes \ build-essential \ + clang \ crossbuild-essential-i386 \ gcc \ git \ diff --git a/.github/actions/setup-fedora/action.yml b/.github/actions/setup-fedora/action.yml index 2296e37..a98efaa 100644 --- a/.github/actions/setup-fedora/action.yml +++ b/.github/actions/setup-fedora/action.yml @@ -13,6 +13,7 @@ runs: run: | dnf update -y dnf install -y \ + clang \ gcc \ git \ kernel-devel \ diff --git a/.github/actions/setup-ubuntu/action.yml b/.github/actions/setup-ubuntu/action.yml index f2eca54..2749527 100644 --- a/.github/actions/setup-ubuntu/action.yml +++ b/.github/actions/setup-ubuntu/action.yml @@ -15,6 +15,7 @@ runs: apt-get update apt-get install --yes \ build-essential \ + clang \ crossbuild-essential-i386 \ gcc \ git \ diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 557effb..2667052 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,17 +18,24 @@ permissions: jobs: build: + env: + CC: ${{ matrix.compiler }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: + compiler: ['clang', 'gcc'] + container: + - 'alpine:latest' + - 'archlinux:multilib-devel' + - 'debian:unstable' + - 'fedora:latest' + - 'ubuntu:24.04' include: - - container: 'alpine:latest' - container: 'archlinux:multilib-devel' crossfile: 'arch-cross.ini' - container: 'debian:unstable' crossfile: 'debian-cross.ini' - - container: 'fedora:latest' - container: 'ubuntu:24.04' crossfile: 'ubuntu-cross.ini' @@ -75,11 +82,12 @@ jobs: run: meson dist -C build - name: configure (32bit) - if: ${{ matrix.crossfile != '' }} + if: ${{ matrix.crossfile != '' && matrix.compiler != 'clang' }} run: | cp .github/cross-files/${{ matrix.crossfile }} cross.ini + unset CC meson setup --native-file build-dev.ini --cross-file cross.ini build32 - name: build (32bit) - if: ${{ matrix.crossfile != '' }} - run: meson compile -C build32 + if: ${{ matrix.crossfile != '' && matrix.compiler != 'clang' }} + run: unset CC && meson compile -C build32 diff --git a/meson.build b/meson.build index 149b8b1..c522283 100644 --- a/meson.build +++ b/meson.build @@ -18,7 +18,8 @@ cc = meson.get_compiler('c') add_project_arguments( cc.get_supported_arguments([ '-Wbad-function-cast', - '-Wcast-align', + # should be removed and the code fixed + '-Wno-cast-align', '-Wchar-subscripts', '-Wempty-body', '-Wformat',