From 09d08cbbdaf06147cfab14de821e6fef9cfa8752 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=CC=84vels=20Nadtoc=CC=8Cajevs?= <7645683+bruvzg@users.noreply.github.com> Date: Thu, 20 Mar 2025 10:39:28 +0200 Subject: [PATCH] Add ARM Linux build config. --- .github/workflows/ci.yml | 11 +++++++++++ .github/workflows/publish.yml | 10 ++++++++++ godot-pathces/patch_arm32.diff | 16 ++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 godot-pathces/patch_arm32.diff diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1d77a61..833997e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,7 @@ name: Godot AceessKit-C static libs on: + push: pull_request: jobs: @@ -67,6 +68,16 @@ jobs: - os: ubuntu-latest target: x86_64-unknown-linux-gnu path: linux/x86_64 + - os: ubuntu-latest + target: aarch64-unknown-linux-gnu + setup-step: curl -L -O https://github.com/godotengine/buildroot/releases/download/godot-2023.08.x-4/aarch64-godot-linux-gnu_sdk-buildroot.tar.bz2 && tar -xf ./aarch64-godot-linux-gnu_sdk-buildroot.tar.bz2 && rm aarch64-godot-linux-*.bz2 && mv aarch64-godot-linux-* "$HOME/godot-sdk" && pushd $HOME/godot-sdk && ./relocate-sdk.sh && popd && echo "$HOME/godot-sdk/bin" >> $GITHUB_PATH + cmake-options: -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=arm64 -DCMAKE_C_COMPILER=$HOME/godot-sdk/bin/aarch64-godot-linux-gnu-cc -DCMAKE_CXX_COMPILER=$HOME/godot-sdk/bin/aarch64-godot-linux-gnu-c++ + path: linux/arm64 + - os: ubuntu-latest + target: arm-unknown-linux-gnueabihf + setup-step: curl -L -O https://github.com/godotengine/buildroot/releases/download/godot-2023.08.x-4/arm-godot-linux-gnueabihf_sdk-buildroot.tar.bz2 && tar -xf ./arm-godot-linux-gnueabihf_sdk-buildroot.tar.bz2 && rm arm-godot-linux-*.bz2 && mv arm-godot-linux-* "$HOME/godot-sdk" && pushd $HOME/godot-sdk && ./relocate-sdk.sh && popd && git apply ./godot-pathces/patch_arm32.diff && echo "$HOME/godot-sdk/bin" >> $GITHUB_PATH + cmake-options: -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=arm32 -DCMAKE_C_COMPILER=$HOME/godot-sdk/bin/arm-godot-linux-gnueabihf-cc -DCMAKE_CXX_COMPILER=$HOME/godot-sdk/bin/arm-godot-linux-gnueabihf-c++ + path: linux/arm32 name: Build steps: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 435eab1..3f20872 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -67,6 +67,16 @@ jobs: - os: ubuntu-latest target: x86_64-unknown-linux-gnu path: linux/x86_64 + - os: ubuntu-latest + target: aarch64-unknown-linux-gnu + setup-step: curl -L -O https://github.com/godotengine/buildroot/releases/download/godot-2023.08.x-4/aarch64-godot-linux-gnu_sdk-buildroot.tar.bz2 && tar -xf ./aarch64-godot-linux-gnu_sdk-buildroot.tar.bz2 && rm aarch64-godot-linux-*.bz2 && mv aarch64-godot-linux-* "$HOME/godot-sdk" && pushd $HOME/godot-sdk && ./relocate-sdk.sh && popd && echo "$HOME/godot-sdk/bin" >> $GITHUB_PATH + cmake-options: -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=arm64 -DCMAKE_C_COMPILER=$HOME/godot-sdk/bin/aarch64-godot-linux-gnu-cc -DCMAKE_CXX_COMPILER=$HOME/godot-sdk/bin/aarch64-godot-linux-gnu-c++ + path: linux/arm64 + - os: ubuntu-latest + target: arm-unknown-linux-gnueabihf + setup-step: curl -L -O https://github.com/godotengine/buildroot/releases/download/godot-2023.08.x-4/arm-godot-linux-gnueabihf_sdk-buildroot.tar.bz2 && tar -xf ./arm-godot-linux-gnueabihf_sdk-buildroot.tar.bz2 && rm arm-godot-linux-*.bz2 && mv arm-godot-linux-* "$HOME/godot-sdk" && pushd $HOME/godot-sdk && ./relocate-sdk.sh && popd && git apply ./godot-pathces/patch_arm32.diff && echo "$HOME/godot-sdk/bin" >> $GITHUB_PATH + cmake-options: -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=arm32 -DCMAKE_C_COMPILER=$HOME/godot-sdk/bin/arm-godot-linux-gnueabihf-cc -DCMAKE_CXX_COMPILER=$HOME/godot-sdk/bin/arm-godot-linux-gnueabihf-c++ + path: linux/arm32 name: Build steps: diff --git a/godot-pathces/patch_arm32.diff b/godot-pathces/patch_arm32.diff new file mode 100644 index 0000000..d961fc4 --- /dev/null +++ b/godot-pathces/patch_arm32.diff @@ -0,0 +1,16 @@ +diff --git a/accesskit.cmake b/accesskit.cmake +index 3c6eb48..aa9a9b6 100644 +--- a/accesskit-c/accesskit.cmake ++++ b/accesskit-c/accesskit.cmake +@@ -31,8 +31,10 @@ elseif (WIN32) + endif() + + if (NOT _accesskit_arch) +- if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(AMD64|amd64|x86_64)$") ++ if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(AMD64|amd64|x86_64)$") + set(_accesskit_arch x86_64) ++ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(ARM32|arm32)$") ++ set(_accesskit_arch arm32) + elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(ARM64|arm64|aarch64)$") + set(_accesskit_arch arm64) + elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(X86|x86|i686)$")