From c230d71c9d22c0e8a23dbae87bf5a41b9dd386bc Mon Sep 17 00:00:00 2001 From: KubaZ2 Date: Sat, 13 Sep 2025 00:58:46 +0200 Subject: [PATCH 1/5] Add Linux and Windows arm64 builds --- .github/workflows/cmake.yml | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 2e70082..f6e1d9f 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -15,23 +15,35 @@ jobs: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest] + os: [ubuntu-24.04, ubuntu-24.04-arm, windows-2025, windows-11-arm] cpp_compiler: [g++, clang++, cl] build_shared_libs: [ON] include: - - os: windows-latest - cpp_compiler: cl - - os: ubuntu-latest + - os: ubuntu-24.04 cpp_compiler: g++ - - os: ubuntu-latest + - os: ubuntu-24.04 cpp_compiler: clang++ - exclude: - - os: windows-latest + - os: ubuntu-24.04-arm cpp_compiler: g++ - - os: windows-latest + - os: ubuntu-24.04-arm cpp_compiler: clang++ - - os: ubuntu-latest + - os: windows-2025 + cpp_compiler: cl + - os: windows-11-arm + cpp_compiler: cl + exclude: + - os: ubuntu-24.04 cpp_compiler: cl + - os: ubuntu-24.04-arm + cpp_compiler: cl + - os: windows-2025 + cpp_compiler: g++ + - os: windows-2025 + cpp_compiler: clang++ + - os: windows-11-arm + cpp_compiler: g++ + - os: windows-11-arm + cpp_compiler: clang++ steps: - uses: actions/checkout@v4 From a850df3c3a437c3e98d1ddbcf3440216ade58ed8 Mon Sep 17 00:00:00 2001 From: KubaZ2 Date: Sat, 13 Sep 2025 01:03:13 +0200 Subject: [PATCH 2/5] Update os checks --- .github/workflows/cmake.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index f6e1d9f..03a05dc 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -52,7 +52,7 @@ jobs: fetch-depth: 0 - name: Install Required Packages - if: matrix.os == 'ubuntu-latest' + if: matrix.os == 'ubuntu-24.04' || matrix.os == 'ubuntu-24.04-arm' run: | sudo apt-get update sudo apt-get install nasm @@ -95,7 +95,7 @@ jobs: run: ctest --build-config ${{ steps.strings.outputs.build-type }} - name: Move Build Output - if: matrix.os == 'windows-latest' + if: matrix.os == 'windows-2025' || matrix.os == 'windows-11-arm' run: | mv ${{ steps.strings.outputs.build-output-dir }}/out/${{ steps.strings.outputs.build-type }}/* ${{ steps.strings.outputs.build-output-dir }}/out/ rm ${{ steps.strings.outputs.build-output-dir }}/out/${{ steps.strings.outputs.build-type }}/ @@ -108,12 +108,12 @@ jobs: ${{ steps.strings.outputs.build-output-dir }}/out/ - name: Strip Symbols - if: matrix.os == 'ubuntu-latest' + if: matrix.os == 'ubuntu-24.04' || matrix.os == 'ubuntu-24.04-arm' run: | strip ${{ steps.strings.outputs.build-output-dir }}/out/libdavec.so - name: Strip Symbols - if: matrix.os == 'windows-latest' + if: matrix.os == 'windows-2025' || matrix.os == 'windows-11-arm' run: | rm ${{ steps.strings.outputs.build-output-dir }}/out/libdavec.pdb From d967b5fcc8530f6638f57d9bbded3342dd1184e4 Mon Sep 17 00:00:00 2001 From: KubaZ2 Date: Sat, 13 Sep 2025 16:03:12 +0200 Subject: [PATCH 3/5] MSVC ARM fix --- .gitmodules | 3 ++- libdave | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index baf8c16..a99e290 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,4 @@ [submodule "libdave"] path = libdave - url = https://github.com/discord/libdave + url = https://github.com/KubaZ2/libdave + branch = fix/msvc-arm diff --git a/libdave b/libdave index c0cf644..00a9b82 160000 --- a/libdave +++ b/libdave @@ -1 +1 @@ -Subproject commit c0cf6449724082488aeb9d9c5398fe1c131abb04 +Subproject commit 00a9b82b6538989d5f1450c984e68e3493e629ad From a09c43b983bd5e1b8f8a77257936917dc9124d0d Mon Sep 17 00:00:00 2001 From: KubaZ2 Date: Sat, 13 Sep 2025 16:23:28 +0200 Subject: [PATCH 4/5] Add debug logs at build --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index 0a150b9..35a93b1 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,9 @@ else $(error "Unknown SSL option: $(SSL). Valid options are: boringssl, openssl1.1, openssl3") endif +$(info PROCESSOR_ARCHITEW6432 is $(PROCESSOR_ARCHITEW6432)) +$(info PROCESSOR_ARCHITECTURE is $(PROCESSOR_ARCHITECTURE)) + WIN_TRIPLET= ifeq ($(OS),Windows_NT) ifeq ($(PROCESSOR_ARCHITEW6432),) From 341c52c530af56336f136365c62c846c98a6ebd0 Mon Sep 17 00:00:00 2001 From: KubaZ2 Date: Sat, 13 Sep 2025 16:58:40 +0200 Subject: [PATCH 5/5] Rollback and remove windows arm support --- .github/workflows/cmake.yml | 12 +++--------- .gitmodules | 4 ++-- Makefile | 3 --- libdave | 2 +- 4 files changed, 6 insertions(+), 15 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 03a05dc..0db429c 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -15,7 +15,7 @@ jobs: fail-fast: false matrix: - os: [ubuntu-24.04, ubuntu-24.04-arm, windows-2025, windows-11-arm] + os: [ubuntu-24.04, ubuntu-24.04-arm, windows-2025] cpp_compiler: [g++, clang++, cl] build_shared_libs: [ON] include: @@ -29,8 +29,6 @@ jobs: cpp_compiler: clang++ - os: windows-2025 cpp_compiler: cl - - os: windows-11-arm - cpp_compiler: cl exclude: - os: ubuntu-24.04 cpp_compiler: cl @@ -40,10 +38,6 @@ jobs: cpp_compiler: g++ - os: windows-2025 cpp_compiler: clang++ - - os: windows-11-arm - cpp_compiler: g++ - - os: windows-11-arm - cpp_compiler: clang++ steps: - uses: actions/checkout@v4 @@ -95,7 +89,7 @@ jobs: run: ctest --build-config ${{ steps.strings.outputs.build-type }} - name: Move Build Output - if: matrix.os == 'windows-2025' || matrix.os == 'windows-11-arm' + if: matrix.os == 'windows-2025' run: | mv ${{ steps.strings.outputs.build-output-dir }}/out/${{ steps.strings.outputs.build-type }}/* ${{ steps.strings.outputs.build-output-dir }}/out/ rm ${{ steps.strings.outputs.build-output-dir }}/out/${{ steps.strings.outputs.build-type }}/ @@ -113,7 +107,7 @@ jobs: strip ${{ steps.strings.outputs.build-output-dir }}/out/libdavec.so - name: Strip Symbols - if: matrix.os == 'windows-2025' || matrix.os == 'windows-11-arm' + if: matrix.os == 'windows-2025' run: | rm ${{ steps.strings.outputs.build-output-dir }}/out/libdavec.pdb diff --git a/.gitmodules b/.gitmodules index a99e290..c160266 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "libdave"] path = libdave - url = https://github.com/KubaZ2/libdave - branch = fix/msvc-arm + url = https://github.com/discord/libdave + branch = main diff --git a/Makefile b/Makefile index 35a93b1..0a150b9 100644 --- a/Makefile +++ b/Makefile @@ -12,9 +12,6 @@ else $(error "Unknown SSL option: $(SSL). Valid options are: boringssl, openssl1.1, openssl3") endif -$(info PROCESSOR_ARCHITEW6432 is $(PROCESSOR_ARCHITEW6432)) -$(info PROCESSOR_ARCHITECTURE is $(PROCESSOR_ARCHITECTURE)) - WIN_TRIPLET= ifeq ($(OS),Windows_NT) ifeq ($(PROCESSOR_ARCHITEW6432),) diff --git a/libdave b/libdave index 00a9b82..c0cf644 160000 --- a/libdave +++ b/libdave @@ -1 +1 @@ -Subproject commit 00a9b82b6538989d5f1450c984e68e3493e629ad +Subproject commit c0cf6449724082488aeb9d9c5398fe1c131abb04