mirror of
https://github.com/godotengine/build-containers.git
synced 2025-12-31 21:48:41 +03:00
Syncs with the config of the current `main` branch (as used for 4.2+) as far as possible (backports the last couple of years of PRs, minus the removal of some platforms and of the Mono builds). Notably backports #128 and #131, giving us these toolchains: - Base image: Fedora 39 - Mono version: 6.12.0.198 - SCons: 4.5.2 - Linux: GCC 13.2.0 built against glibc 2.28, binutils 2.40, from our own [Linux SDK](https://github.com/godotengine/buildroot) - Windows: MinGW 11.0.0, GCC 13.2.1, binutils 2.40 - HTML5: Emscripten 3.1.39 (standard builds), Emscripten 1.39.9 (Mono builds) - Android: Android NDK 23.2.8568313, build-tools 33.0.2, platform android-33, CMake 3.22.1, JDK 11 - macOS: Xcode 15.0 with Apple Clang (LLVM 16.0.0), MacOSX SDK 14.0 - iOS: Xcode 15.0 with Apple Clang (LLVM 16.0.0), iPhoneOS SDK 17.0 - UWP: Unchanged, current Dockerfile still unsupported
28 lines
1.1 KiB
JavaScript
28 lines
1.1 KiB
JavaScript
ARG img_version
|
|
FROM godot-mono:${img_version}
|
|
|
|
ARG mono_version
|
|
|
|
ENV EMSCRIPTEN_CLASSICAL=3.1.39
|
|
ENV EMSCRIPTEN_MONO=1.39.9
|
|
|
|
RUN git clone --branch ${EMSCRIPTEN_CLASSICAL} --progress https://github.com/emscripten-core/emsdk emsdk_${EMSCRIPTEN_CLASSICAL} && \
|
|
cp -r emsdk_${EMSCRIPTEN_CLASSICAL} emsdk_${EMSCRIPTEN_MONO} && \
|
|
emsdk_${EMSCRIPTEN_CLASSICAL}/emsdk install ${EMSCRIPTEN_CLASSICAL} && \
|
|
emsdk_${EMSCRIPTEN_CLASSICAL}/emsdk activate ${EMSCRIPTEN_CLASSICAL} && \
|
|
emsdk_${EMSCRIPTEN_MONO}/emsdk install ${EMSCRIPTEN_MONO} && \
|
|
emsdk_${EMSCRIPTEN_MONO}/emsdk activate ${EMSCRIPTEN_MONO} && \
|
|
source /root/emsdk_${EMSCRIPTEN_MONO}/emsdk_env.sh && \
|
|
cp -a /root/files/${mono_version} /root && \
|
|
cd /root/${mono_version} && \
|
|
export MONO_SOURCE_ROOT=/root/${mono_version} && \
|
|
cd /root/${mono_version}/godot-mono-builds && \
|
|
python3 patch_emscripten.py && \
|
|
python3 wasm.py configure -j --target=runtime && \
|
|
python3 wasm.py make -j --target=runtime && \
|
|
python3 bcl.py make -j --product wasm && \
|
|
cd /root && \
|
|
rm -rf /root/${mono_version}
|
|
|
|
CMD /bin/bash
|