Skip to content

Commit 877a551

Browse files
authored
fix build for missing platforms (#329)
Testing if this fixes anything.
1 parent 0c8f94f commit 877a551

File tree

21 files changed

+295
-178
lines changed

21 files changed

+295
-178
lines changed

.cargo/config.toml

+4
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,7 @@ linker = "aarch64-linux-android23-clang"
1919
linker = "x86_64-linux-android23-clang"
2020
[target.i686-linux-android]
2121
linker = "i686-linux-android23-clang"
22+
[target.aarch64-unknown-linux-gnu]
23+
linker = "aarch64-linux-gnu-gcc"
24+
[target.armv7-unknown-linux-gnueabihf]
25+
linker = "arm-linux-gnueabihf-gcc"

.github/actions/build/action.yml

+4
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ inputs:
1717
runs:
1818
using: composite
1919
steps:
20+
- name: Show targets
21+
shell: sh
22+
run: |
23+
rustc --print=target-list
2024
- name: Rust Add target
2125
shell: sh
2226
run: |

.github/workflows/android_builds.yml

+11-17
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,28 @@ name: 🤖 Android Builds
22
on:
33
workflow_call:
44

5-
env:
6-
GODOT4_BIN: godot
7-
85
jobs:
96
android:
10-
runs-on: "ubuntu-20.04"
7+
runs-on: "ubuntu-22.04"
118
name: ${{ matrix.dimensions.short }} ${{ matrix.precision }} ${{ matrix.features.name }} ${{ matrix.arch }}
129
strategy:
1310
fail-fast: false
1411
matrix:
15-
arch: ["x86_64-linux-android", "aarch64-linux-android", "i686-linux-android"]
12+
arch: ["x86_64-linux-android", "armv7-linux-androideabi", "aarch64-linux-android", "i686-linux-android"]
1613
precision: [single] #, double]
1714
dimensions: [{"feature": "dim2", "short": "2d"}, {"feature": "dim3", "short": "3d"}]
1815
features: [{"feature":"simd-stable,serde-serialize,experimental-threads", "name": "simd-parallel"}, {"feature":"enhanced-determinism,serde-serialize,experimental-threads", "name": "enhanced-determinism"}]
1916

2017
steps:
2118
- uses: actions/checkout@v4
22-
#- uses: chickensoft-games/setup-godot@v1
23-
# name: 🤖 Setup Godot
24-
# with:
25-
# version: 4.3.0
26-
# use-dotnet: false
27-
#- name: 🔬 Verify Setup
28-
# run: |
29-
# godot --version
30-
# which godot
31-
# GODOT4_BIN=godot
19+
- uses: blazium-engine/setup-blazium@master
20+
name: 🤖 Setup Blazium
21+
with:
22+
version: 0.1.184-nightly
23+
- name: 🔬 Verify Setup
24+
run: |
25+
Blazium --version
26+
echo "GODOT4_BIN=$BLAZIUM_EDITOR" >> $GITHUB_ENV
3227
- name: Set up Java 11
3328
uses: actions/setup-java@v4
3429
with:
@@ -50,8 +45,7 @@ jobs:
5045
run: |
5146
echo "CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=${{steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android23-clang" >> $GITHUB_ENV
5247
echo "CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER=${{steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android23-clang" >> $GITHUB_ENV
53-
# This is not find when compiling
54-
# echo "CARGO_TARGET_ARMV7_LINUX_ANDROID_LINKER=${{steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi23-clang" >> $GITHUB_ENV
48+
echo "CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER=${{steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi23-clang" >> $GITHUB_ENV
5549
echo "CARGO_TARGET_I686_LINUX_ANDROID_LINKER=${{steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android23-clang" >> $GITHUB_ENV
5650
echo "CLANG_PATH=${{steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin/clang" >> $GITHUB_ENV
5751
echo "LIBCLANG_PATH=${{steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/lib64/libclang.so.12git" >> $GITHUB_ENV

.github/workflows/ios_builds.yml

+17-21
Original file line numberDiff line numberDiff line change
@@ -3,58 +3,54 @@ on:
33
workflow_call:
44

55
env:
6-
GODOT4_BIN: godot
76
LLVM_PATH: /opt/homebrew/opt/llvm/bin
87

98
jobs:
109
ios:
1110
runs-on: "macos-latest"
12-
name: ${{ matrix.dimensions.short }} ${{ matrix.precision }} ${{ matrix.features.name }} ${{ matrix.arch }}
11+
name: ${{ matrix.dimensions.short }} ${{ matrix.precision }} ${{ matrix.features.name }} ${{ matrix.arch.name }}
1312
strategy:
1413
fail-fast: false
1514
matrix:
16-
arch: ["aarch64-apple-ios"]
15+
arch: [{"name" : "arm64", "rust": "aarch64-apple-ios"}, {"name" : "x86_64", "rust": "x86_64-apple-ios"}]
1716
precision: [single] #, double]
1817
dimensions: [{"feature": "dim2", "short": "2d"}, {"feature": "dim3", "short": "3d"}]
1918
features: [{"feature":"simd-stable,serde-serialize,experimental-threads", "name": "simd-parallel"}, {"feature":"enhanced-determinism,serde-serialize,experimental-threads", "name": "enhanced-determinism"}]
2019

2120
steps:
2221
- uses: actions/checkout@v4
23-
#- uses: chickensoft-games/setup-godot@v1
24-
# name: 🤖 Setup Godot
25-
# with:
26-
# version: 4.3.0
27-
# use-dotnet: false
28-
#- name: 🔬 Verify Setup
29-
# run: |
30-
# godot --version
31-
# which godot
32-
# GODOT4_BIN=godot
33-
# brew install llvm
34-
# brew link llvm
22+
- uses: blazium-engine/setup-blazium@master
23+
name: 🤖 Setup Blazium
24+
with:
25+
version: 0.1.184-nightly
26+
- name: 🔬 Verify Setup
27+
run: |
28+
Blazium --version
29+
echo "GODOT4_BIN=$BLAZIUM_EDITOR" >> $GITHUB_ENV
3530
- name: Build
3631
uses: ./.github/actions/build
3732
with:
38-
arch: ${{ matrix.arch }}
33+
arch: ${{ matrix.arch.rust }}
3934
features: ${{ matrix.features.feature }},${{ matrix.precision }}-${{ matrix.dimensions.feature }}
4035
- name: Copy to bin
4136
shell: sh
4237
run: |
43-
mv target/release/libgodot_rapier.dylib bin${{ matrix.dimensions.short }}/addons/godot-rapier${{ matrix.dimensions.short }}/bin/libgodot_rapier.ios.framework/libgodot_rapier.ios
44-
mv target/release/libgodot_rapier.a bin${{ matrix.dimensions.short }}/addons/godot-rapier${{ matrix.dimensions.short }}/bin/libgodot_rapier.ios.framework/libgodot_rapier.a
38+
ls target/release
39+
mv target/release/libgodot_rapier.dylib bin${{ matrix.dimensions.short }}/addons/godot-rapier${{ matrix.dimensions.short }}/bin/libgodot_rapier.ios.${{ matrix.arch.name }}.framework/libgodot_rapier
40+
mv target/release/libgodot_rapier.a bin${{ matrix.dimensions.short }}/addons/godot-rapier${{ matrix.dimensions.short }}/bin/libgodot_rapier.ios.${{ matrix.arch.name }}.framework/libgodot_rapier.a
4541
4642
- name: Upload
4743
uses: actions/upload-artifact@v4
4844
with:
49-
name: godot-rapier-${{ matrix.dimensions.short }}-${{ matrix.precision }}-${{ matrix.features.name }}-${{ matrix.arch}}
45+
name: godot-rapier-${{ matrix.dimensions.short }}-${{ matrix.precision }}-${{ matrix.features.name }}-${{ matrix.arch.rust}}
5046
path: |
51-
bin${{ matrix.dimensions.short }}/**/*.ios
47+
bin${{ matrix.dimensions.short }}/**/libgodot_rapier
5248
if-no-files-found: error
5349

5450
- name: Upload Static
5551
uses: actions/upload-artifact@v4
5652
with:
57-
name: static-rapier-${{ matrix.dimensions.short }}-${{ matrix.precision }}-${{ matrix.features.name }}-${{ matrix.arch}}
53+
name: static-rapier-${{ matrix.dimensions.short }}-${{ matrix.precision }}-${{ matrix.features.name }}-${{ matrix.arch.rust}}
5854
path: |
5955
bin${{ matrix.dimensions.short }}/**/*.a
6056
if-no-files-found: error

.github/workflows/linux_builds.yml

+15-16
Original file line numberDiff line numberDiff line change
@@ -2,43 +2,42 @@ name: 🐧 Linux Builds
22
on:
33
workflow_call:
44

5-
env:
6-
GODOT4_BIN: godot
7-
85
jobs:
96
linux:
10-
runs-on: ubuntu-20.04
7+
runs-on: "ubuntu-22.04"
118
name: ${{ matrix.dimensions.short }} ${{ matrix.precision }} ${{ matrix.features.name }} ${{ matrix.arch }}
129
strategy:
1310
fail-fast: false
1411
matrix:
15-
#arch: ["i686-unknown-linux-gnu", "aarch64-unknown-linux-gnu"]
16-
arch: ["x86_64-unknown-linux-gnu"]
12+
arch: ["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu", "aarch64-unknown-linux-gnu", "armv7-unknown-linux-gnueabihf"]
1713
precision: [single] #, double]
1814
dimensions: [{"feature": "dim2", "short": "2d"}, {"feature": "dim3", "short": "3d"}]
1915
features: [{"feature":"simd-stable,serde-serialize,experimental-threads", "name": "simd-parallel"}, {"feature":"enhanced-determinism,serde-serialize,experimental-threads", "name": "enhanced-determinism"}]
2016

2117
steps:
2218
- uses: actions/checkout@v4
23-
#- uses: chickensoft-games/setup-godot@v1
24-
# name: 🤖 Setup Godot
25-
# with:
26-
# version: 4.3.0
27-
# use-dotnet: false
28-
#- name: 🔬 Verify Setup
29-
# run: |
30-
# godot --version
31-
# which godot
32-
# GODOT4_BIN=godot
19+
- uses: blazium-engine/setup-blazium@master
20+
name: 🤖 Setup Blazium
21+
with:
22+
version: 0.1.184-nightly
23+
- name: 🔬 Verify Setup
24+
run: |
25+
Blazium --version
26+
echo "GODOT4_BIN=$BLAZIUM_EDITOR" >> $GITHUB_ENV
3327
- name: "Install dependencies"
3428
shell: sh
3529
run: |
30+
sudo dpkg --add-architecture aarch64
3631
sudo apt-get update
3732
sudo apt-get install libunwind-dev
3833
sudo apt-get install build-essential
3934
sudo apt-get install pkg-config
4035
sudo apt-get install libssl-dev
4136
sudo apt-get install zlib1g-dev
37+
# Multi platform build
38+
sudo apt-get install gcc-multilib g++-multilib libc6-dev-i386
39+
# Arm64 and arm32
40+
sudo apt install gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf
4241
- name: Build
4342
uses: ./.github/actions/build
4443
with:

.github/workflows/macos_builds.yml

+8-13
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ on:
33
workflow_call:
44

55
env:
6-
GODOT4_BIN: godot
76
LLVM_PATH: /opt/homebrew/opt/llvm/bin
87

98
jobs:
@@ -20,18 +19,14 @@ jobs:
2019

2120
steps:
2221
- uses: actions/checkout@v4
23-
#- uses: chickensoft-games/setup-godot@v1
24-
# name: 🤖 Setup Godot
25-
# with:
26-
# version: 4.3.0
27-
# use-dotnet: false
28-
#- name: 🔬 Verify Setup
29-
# run: |
30-
# godot --version
31-
# which godot
32-
# GODOT4_BIN=godot
33-
# brew install llvm
34-
# brew link llvm
22+
- uses: blazium-engine/setup-blazium@master
23+
name: 🤖 Setup Blazium
24+
with:
25+
version: 0.1.184-nightly
26+
- name: 🔬 Verify Setup
27+
run: |
28+
Blazium --version
29+
echo "GODOT4_BIN=$BLAZIUM_EDITOR" >> $GITHUB_ENV
3530
- name: Build
3631
uses: ./.github/actions/build
3732
with:

.github/workflows/web_builds.yml

+10-15
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,9 @@ name: 🌐 Web Builds
22
on:
33
workflow_call:
44

5-
env:
6-
GODOT4_BIN: godot
7-
85
jobs:
96
web:
10-
runs-on: ubuntu-20.04
7+
runs-on: ubuntu-22.04
118
name: ${{ matrix.dimensions.short }} ${{ matrix.precision }} ${{ matrix.features.name }} ${{ matrix.arch }}
129
strategy:
1310
fail-fast: false
@@ -22,16 +19,14 @@ jobs:
2219

2320
steps:
2421
- uses: actions/checkout@v4
25-
#- uses: chickensoft-games/setup-godot@v1
26-
# name: 🤖 Setup Godot
27-
# with:
28-
# version: 4.3.0
29-
# use-dotnet: false
30-
#- name: 🔬 Verify Setup
31-
# run: |
32-
# godot --version
33-
# which godot
34-
# GODOT4_BIN=godot
22+
- uses: blazium-engine/setup-blazium@master
23+
name: 🤖 Setup Blazium
24+
with:
25+
version: 0.1.184-nightly
26+
- name: 🔬 Verify Setup
27+
run: |
28+
Blazium --version
29+
echo "GODOT4_BIN=$BLAZIUM_EDITOR" >> $GITHUB_ENV
3530
- name: Set up Emscripten latest
3631
uses: mymindstorm/setup-emsdk@v14
3732
with:
@@ -52,7 +47,7 @@ jobs:
5247
mkdir -p bin2d/addons/godot-rapier2d/bin/wasm-nothreads
5348
mkdir -p bin3d/addons/godot-rapier3d/bin/wasm-nothreads
5449
if: "${{ matrix.build_param.folder == 'wasm-nothreads' }}"
55-
50+
5651
- name: Build
5752
uses: ./.github/actions/build
5853
with:

.github/workflows/windows_builds.yml

+10-7
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,29 @@ name: 🏁 Windows Builds
22
on:
33
workflow_call:
44

5-
env:
6-
GODOT4_BIN: C:\Users\runneradmin\bin\godot.exe
7-
85
jobs:
96
build-windows:
107
runs-on: "windows-latest"
118
name: ${{ matrix.dimensions.short }} ${{ matrix.precision }} ${{ matrix.features.name }} ${{ matrix.arch }}
129
strategy:
1310
fail-fast: false
1411
matrix:
15-
arch: ["x86_64-pc-windows-msvc", "i686-pc-windows-msvc", "aarch64-pc-windows-msvc"]
12+
# ARM32 Is not officially supported yet, you need to self build rust target.
13+
arch: ["x86_64-pc-windows-msvc", "i686-pc-windows-msvc", "aarch64-pc-windows-msvc"] #, "thumbv7a-pc-windows-msvc"]
1614
precision: [single] #, double]
1715
dimensions: [{"feature": "dim2", "short": "2d"}, {"feature": "dim3", "short": "3d"}]
1816
features: [{"feature":"simd-stable,serde-serialize,experimental-threads", "name": "simd-parallel"}, {"feature":"enhanced-determinism,serde-serialize,experimental-threads", "name": "enhanced-determinism"}]
1917

2018
steps:
2119
- uses: actions/checkout@v4
22-
#- name: 🔬 Verify Setup
23-
# run: |
24-
# choco install llvm
20+
- uses: blazium-engine/setup-blazium@master
21+
name: 🤖 Setup Blazium
22+
with:
23+
version: 0.1.184-nightly
24+
- name: 🔬 Verify Setup
25+
run: |
26+
Blazium --version
27+
echo "GODOT4_BIN=$BLAZIUM_EDITOR" >> $GITHUB_ENV
2528
- name: Build
2629
uses: ./.github/actions/build
2730
with:

.gitignore

+4-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ bin3d/samples/godot-rapier3d/addons/**
88
target
99

1010
!bin2d/addons/godot-rapier2d/bin/libgodot_rapier.macos.framework/Resources/Info.plist
11-
!bin2d/addons/godot-rapier2d/bin/libgodot_rapier.ios.framework/Info.plist
11+
!bin2d/addons/godot-rapier2d/bin/libgodot_rapier.ios.arm64.framework/Info.plist
12+
!bin2d/addons/godot-rapier2d/bin/libgodot_rapier.ios.x86_64.framework/Info.plist
1213

1314
!bin3d/addons/godot-rapier3d/bin/libgodot_rapier.macos.framework/Resources/Info.plist
14-
!bin3d/addons/godot-rapier3d/bin/libgodot_rapier.ios.framework/Info.plist
15+
!bin3d/addons/godot-rapier3d/bin/libgodot_rapier.ios.arm64.framework/Info.plist
16+
!bin3d/addons/godot-rapier3d/bin/libgodot_rapier.ios.x86_64.framework/Info.plist
1517

1618
# Binaries
1719
*.os

0 commit comments

Comments
 (0)