diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 67b3afb04..e96d7d96c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -366,6 +366,12 @@ jobs: arch_gnu_abi: eabihf arch_deb: armhf distro: ubuntu-24.04 + - version: 14 + extra: -no-extras + cross: aarch64 + arch_gnu: aarch64 + arch_deb: arm64 + distro: ubuntu-24.04 - version: 14 cross: aarch64 arch_gnu: aarch64 @@ -425,7 +431,7 @@ jobs: - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: - key: ${{ github.job }}-${{ matrix.version}}-${{ matrix.distro }}-${{ matrix.cross }} + key: ${{ github.job }}-${{ matrix.version}}${{ matrix.extra }}-${{ matrix.distro }}-${{ matrix.cross }} - name: add ccache to the build path run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" @@ -570,6 +576,12 @@ jobs: arch_gnu: aarch64 arch_deb: arm64 distro: ubuntu-24.04 + - version: 18 + extra: -no-extras + cross: aarch64 + arch_gnu: aarch64 + arch_deb: arm64 + distro: ubuntu-24.04 - version: 18 cross: armel arch_gnu_abi: eabi @@ -616,13 +628,13 @@ jobs: - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: - key: ${{ github.job }}-${{ matrix.distro }}-${{ matrix.cross }} + key: ${{ github.job }}-${{ matrix.version }}${{ matrix.extra }}-${{ matrix.cross }} - name: add ccache to the build path run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - name: Configure run: | - meson setup --cross-file=docker/cross-files/${{ matrix.cross }}-clang-${{ matrix.version }}-ccache.cross build \ + meson setup --cross-file=docker/cross-files/${{ matrix.cross }}-clang-${{ matrix.version }}${{ matrix.extra }}-ccache.cross build \ || (cat build/meson-logs/meson-log.txt ; false) - name: Build run: ninja -C build -v diff --git a/docker/cross-files/aarch64-clang-18-no-extras-ccache.cross b/docker/cross-files/aarch64-clang-18-no-extras-ccache.cross new file mode 100644 index 000000000..6f685ede8 --- /dev/null +++ b/docker/cross-files/aarch64-clang-18-no-extras-ccache.cross @@ -0,0 +1,20 @@ +[binaries] +c = ['ccache', 'clang-18'] +cpp = ['ccache', 'clang++-18'] +ar = 'llvm-ar-18' +strip = 'llvm-strip-18' +objcopy = 'llvm-objcopy-18' +ld = 'llvm-ld-18' +exe_wrapper = ['qemu-aarch64-static', '-L', '/usr/aarch64-linux-gnu'] + +[properties] +c_args = ['--target=aarch64-linux-gnu', '-march=armv8-a', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage', '-Wno-switch-default'] +cpp_args = ['--target=aarch64-linux-gnu', '-march=armv8-a', '-isystem=/usr/aarch64-linux-gnu/include', '-Weverything', '-fno-lax-vector-conversions', '-Werror', '-Wno-unsafe-buffer-usage', '-Wno-switch-default'] +c_link_args = ['--target=aarch64-linux-gnu'] +cpp_link_args = ['--target=aarch64-linux-gnu'] + +[host_machine] +system = 'linux' +cpu_family = 'aarch64' +cpu = 'arm64' +endian = 'little' diff --git a/docker/cross-files/aarch64-gcc-14-no-extras-ccache.cross b/docker/cross-files/aarch64-gcc-14-no-extras-ccache.cross new file mode 100644 index 000000000..b7ca8f3dd --- /dev/null +++ b/docker/cross-files/aarch64-gcc-14-no-extras-ccache.cross @@ -0,0 +1,18 @@ +[binaries] +c = ['ccache', 'aarch64-linux-gnu-gcc-14'] +cpp = ['ccache', 'aarch64-linux-gnu-g++-14'] +ar = 'aarch64-linux-gnu-ar' +strip = 'aarch64-linux-gnu-strip' +objcopy = 'aarch64-linux-gnu-objcopy' +ld = 'aarch64-linux-gnu-ld' +exe_wrapper = ['qemu-aarch64-static', '-L', '/usr/aarch64-linux-gnu'] + +[properties] +c_args = ['-march=armv8-a', '-Wextra', '-Werror'] +cpp_args = ['-march=armv8-a', '-Wextra', '-Werror'] + +[host_machine] +system = 'linux' +cpu_family = 'aarch64' +cpu = 'arm64' +endian = 'little'