Skip to content

Commit aa1fa6e

Browse files
committed
Add commands to make ARM64 Windows engine builds, update Mesa/NIR and ANGLE downloads to the latest releases.
1 parent a29f0a2 commit aa1fa6e

File tree

3 files changed

+72
-6
lines changed

3 files changed

+72
-6
lines changed

build-release.sh

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,15 +293,30 @@ if [ "${build_classical}" == "1" ]; then
293293
zip -q -9 "${reldir}/${binname}.zip" ${binname} ${wrpname}
294294
rm ${binname} ${wrpname}
295295

296+
binname="${godot_basename}_arm64.exe"
297+
wrpname="${godot_basename}_arm64_console.exe"
298+
cp out/windows/arm64/tools/godot.windows.editor.arm64.exe ${binname}
299+
strip ${binname}
300+
sign_windows ${binname}
301+
cp out/windows/arm64/tools/godot.windows.editor.arm64.console.exe ${wrpname}
302+
strip ${wrpname}
303+
sign_windows ${wrpname}
304+
zip -q -9 "${reldir}/${binname}.zip" ${binname} ${wrpname}
305+
rm ${binname} ${wrpname}
306+
296307
# Templates
297308
cp out/windows/x86_64/templates/godot.windows.template_release.x86_64.exe ${templatesdir}/windows_release_x86_64.exe
298309
cp out/windows/x86_64/templates/godot.windows.template_debug.x86_64.exe ${templatesdir}/windows_debug_x86_64.exe
299310
cp out/windows/x86_32/templates/godot.windows.template_release.x86_32.exe ${templatesdir}/windows_release_x86_32.exe
300311
cp out/windows/x86_32/templates/godot.windows.template_debug.x86_32.exe ${templatesdir}/windows_debug_x86_32.exe
312+
cp out/windows/arm64/templates/godot.windows.template_release.arm64.exe ${templatesdir}/windows_release_arm64.exe
313+
cp out/windows/arm64/templates/godot.windows.template_debug.arm64.exe ${templatesdir}/windows_debug_arm64.exe
301314
cp out/windows/x86_64/templates/godot.windows.template_release.x86_64.console.exe ${templatesdir}/windows_release_x86_64_console.exe
302315
cp out/windows/x86_64/templates/godot.windows.template_debug.x86_64.console.exe ${templatesdir}/windows_debug_x86_64_console.exe
303316
cp out/windows/x86_32/templates/godot.windows.template_release.x86_32.console.exe ${templatesdir}/windows_release_x86_32_console.exe
304317
cp out/windows/x86_32/templates/godot.windows.template_debug.x86_32.console.exe ${templatesdir}/windows_debug_x86_32_console.exe
318+
cp out/windows/arm64/templates/godot.windows.template_release.arm64.console.exe ${templatesdir}/windows_release_arm64_console.exe
319+
cp out/windows/arm64/templates/godot.windows.template_debug.arm64.console.exe ${templatesdir}/windows_debug_arm64_console.exe
305320
strip ${templatesdir}/windows*.exe
306321

307322
## macOS (Classical) ##
@@ -471,15 +486,32 @@ if [ "${build_mono}" == "1" ]; then
471486
zip -r -q -9 "${reldir_mono}/${binname}.zip" ${binname}
472487
rm -rf ${binname}
473488

489+
binname="${godot_basename}_mono_arm64"
490+
wrpname="${godot_basename}_mono_arm64_console"
491+
mkdir -p ${binname}
492+
cp out/windows/arm64/tools-mono/godot.windows.editor.arm64.mono.exe ${binname}/${binname}.exe
493+
strip ${binname}/${binname}.exe
494+
sign_windows ${binname}/${binname}.exe
495+
cp -rp out/windows/arm64/tools-mono/GodotSharp ${binname}/
496+
cp out/windows/arm64/tools-mono/godot.windows.editor.arm64.mono.console.exe ${binname}/${wrpname}.exe
497+
strip ${binname}/${wrpname}.exe
498+
sign_windows ${binname}/${wrpname}.exe
499+
zip -r -q -9 "${reldir_mono}/${binname}.zip" ${binname}
500+
rm -rf ${binname}
501+
474502
# Templates
475503
cp out/windows/x86_64/templates-mono/godot.windows.template_debug.x86_64.mono.exe ${templatesdir_mono}/windows_debug_x86_64.exe
476504
cp out/windows/x86_64/templates-mono/godot.windows.template_release.x86_64.mono.exe ${templatesdir_mono}/windows_release_x86_64.exe
477505
cp out/windows/x86_32/templates-mono/godot.windows.template_debug.x86_32.mono.exe ${templatesdir_mono}/windows_debug_x86_32.exe
478506
cp out/windows/x86_32/templates-mono/godot.windows.template_release.x86_32.mono.exe ${templatesdir_mono}/windows_release_x86_32.exe
507+
cp out/windows/arm64/templates-mono/godot.windows.template_debug.arm64.mono.exe ${templatesdir_mono}/windows_debug_arm64.exe
508+
cp out/windows/arm64/templates-mono/godot.windows.template_release.arm64.mono.exe ${templatesdir_mono}/windows_release_arm64.exe
479509
cp out/windows/x86_64/templates-mono/godot.windows.template_debug.x86_64.mono.console.exe ${templatesdir_mono}/windows_debug_x86_64_console.exe
480510
cp out/windows/x86_64/templates-mono/godot.windows.template_release.x86_64.mono.console.exe ${templatesdir_mono}/windows_release_x86_64_console.exe
481511
cp out/windows/x86_32/templates-mono/godot.windows.template_debug.x86_32.mono.console.exe ${templatesdir_mono}/windows_debug_x86_32_console.exe
482512
cp out/windows/x86_32/templates-mono/godot.windows.template_release.x86_32.mono.console.exe ${templatesdir_mono}/windows_release_x86_32_console.exe
513+
cp out/windows/arm64/templates-mono/godot.windows.template_debug.arm64.mono.console.exe ${templatesdir_mono}/windows_debug_arm64_console.exe
514+
cp out/windows/arm64/templates-mono/godot.windows.template_release.arm64.mono.console.exe ${templatesdir_mono}/windows_release_arm64_console.exe
483515
strip ${templatesdir_mono}/windows*.exe
484516

485517
## macOS (Mono) ##

build-windows/build.sh

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ set -e
77
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
88
export OPTIONS="production=yes angle_libs=/root/angle mesa_libs=/root/mesa d3d12=yes"
99
export OPTIONS_MONO="module_mono_enabled=yes"
10+
export OPTIONS_LLVM="use_mingw=yes use_llvm=yes mingw_prefix=/root/llvm-mingw"
1011
export TERM=xterm
1112

1213
rm -rf godot
@@ -40,6 +41,17 @@ if [ "${CLASSICAL}" == "1" ]; then
4041
mkdir -p /root/out/x86_32/templates
4142
cp -rvp bin/* /root/out/x86_32/templates
4243
rm -rf bin
44+
45+
$SCONS platform=windows arch=arm64 $OPTIONS $OPTIONS_LLVM target=editor
46+
mkdir -p /root/out/arm64/tools
47+
cp -rvp bin/* /root/out/arm64/tools
48+
rm -rf bin
49+
50+
$SCONS platform=windows arch=arm64 $OPTIONS $OPTIONS_LLVM target=template_debug
51+
$SCONS platform=windows arch=arm64 $OPTIONS $OPTIONS_LLVM target=template_release
52+
mkdir -p /root/out/arm64/templates
53+
cp -rvp bin/* /root/out/arm64/templates
54+
rm -rf bin
4355
fi
4456

4557
# Mono
@@ -73,6 +85,18 @@ if [ "${MONO}" == "1" ]; then
7385
mkdir -p /root/out/x86_32/templates-mono
7486
cp -rvp bin/* /root/out/x86_32/templates-mono
7587
rm -rf bin
88+
89+
$SCONS platform=windows arch=arm64 $OPTIONS $OPTIONS_MONO target=editor use_mingw=yes use_llvm=yes mingw_prefix=/root/llvm-mingw
90+
./modules/mono/build_scripts/build_assemblies.py --godot-output-dir=./bin --godot-platform=windows
91+
mkdir -p /root/out/arm64/tools-mono
92+
cp -rvp bin/* /root/out/arm64/tools-mono
93+
rm -rf bin
94+
95+
$SCONS platform=windows arch=arm64 $OPTIONS $OPTIONS_MONO target=template_debug use_mingw=yes use_llvm=yes mingw_prefix=/root/llvm-mingw
96+
$SCONS platform=windows arch=arm64 $OPTIONS $OPTIONS_MONO target=template_release use_mingw=yes use_llvm=yes mingw_prefix=/root/llvm-mingw
97+
mkdir -p /root/out/arm64/templates-mono
98+
cp -rvp bin/* /root/out/arm64/templates-mono
99+
rm -rf bin
76100
fi
77101

78102
echo "Windows build successful"

build.sh

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -148,19 +148,29 @@ if [ ! -d "deps/angle" ]; then
148148
echo "Missing ANGLE libraries, downloading them."
149149
mkdir -p deps/angle
150150
pushd deps/angle
151-
curl -L -o windows.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6029/Windows.6029-1.MinGW_11.x86_64.x86_32.zip
152-
curl -L -o macos.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6029.1/macOS.6029.1.Xcode_15.arm64.x86_64.zip
153-
unzip windows.zip && rm -f windows.zip
154-
unzip macos.zip && rm -f macos.zip
151+
curl -L -o windows_arm64.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6601/godot-angle-static-arm64-llvm-release.zip
152+
curl -L -o windows_x86_64.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6601/godot-angle-static-x86_64-gcc-release.zip
153+
curl -L -o windows_x86_32.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6601/godot-angle-static-x86_32-gcc-release.zip
154+
curl -L -o macos_arm64.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6601/godot-angle-static-arm64-macos-release.zip
155+
curl -L -o macos_x86_64.zip https://github.com/godotengine/godot-angle-static/releases/download/chromium%2F6601/godot-angle-static-x86_64-macos-release.zip
156+
unzip -o windows_arm64.zip && rm -f windows_arm64.zip
157+
unzip -o windows_x86_64.zip && rm -f windows_x86_64.zip
158+
unzip -o windows_x86_32.zip && rm -f windows_x86_32.zip
159+
unzip -o macos_arm64.zip && rm -f macos_arm64.zip
160+
unzip -o macos_x86_64.zip && rm -f macos_x86_64.zip
155161
popd
156162
fi
157163

158164
if [ ! -d "deps/mesa" ]; then
159165
echo "Missing Mesa/NIR libraries, downloading them."
160166
mkdir -p deps/mesa
161167
pushd deps/mesa
162-
curl -L -o mesa.zip https://github.com/godotengine/godot-nir-static/releases/download/23.1.9/godot-nir-23.1.9.zip
163-
unzip mesa.zip && rm -f mesa.zip
168+
curl -L -o mesa_arm64.zip https://github.com/godotengine/godot-nir-static/releases/download/23.1.9-1/godot-nir-static-arm64-llvm-release.zip
169+
curl -L -o mesa_x86_64.zip https://github.com/godotengine/godot-nir-static/releases/download/23.1.9-1/godot-nir-static-x86_64-gcc-release.zip
170+
curl -L -o mesa_x86_32.zip https://github.com/godotengine/godot-nir-static/releases/download/23.1.9-1/godot-nir-static-x86_32-gcc-release.zip
171+
unzip -o mesa_arm64.zip && rm -f mesa_arm64.zip
172+
unzip -o mesa_x86_64.zip && rm -f mesa_x86_64.zip
173+
unzip -o mesa_x86_32.zip && rm -f mesa_x86_32.zip
164174
popd
165175
fi
166176

0 commit comments

Comments
 (0)