mirror of
https://github.com/godotengine/build-containers.git
synced 2025-12-31 21:48:41 +03:00
Toolchain updates: Fedora 34, Emscripten 2.0.25, and more
- Update base image from Fedora 33 to Fedora 34 (newer GCC, Clang, MinGW and binutils). - Update Emscripten for classical builds from 2.0.15 to 2.0.25. - Update Android SDK tools to latest version, and build-tools from 30.0.1 to 30.0.3. - Update osxcross and ios cctools-port to latest commits. - Update iOS Mono build's min target version to match Godot's buildsystem. See #83 for details.
This commit is contained in:
@@ -11,19 +11,18 @@ RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mand
|
||||
dnf -y install --setopt=install_weak_deps=False \
|
||||
java-1.8.0-openjdk-devel ncurses-compat-libs && \
|
||||
mkdir -p sdk && cd sdk && \
|
||||
curl -LO https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip && \
|
||||
unzip commandlinetools-linux-6858069_latest.zip && \
|
||||
rm commandlinetools-linux-6858069_latest.zip && \
|
||||
export CMDLINETOOLS=commandlinetools-linux-7302050_latest.zip && \
|
||||
curl -LO https://dl.google.com/android/repository/${CMDLINETOOLS} && \
|
||||
unzip ${CMDLINETOOLS} && \
|
||||
rm ${CMDLINETOOLS} && \
|
||||
yes | cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" --licenses && \
|
||||
cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" "ndk;${ANDROID_NDK_VERSION}" 'cmdline-tools;latest' 'build-tools;30.0.1' 'platforms;android-29' 'cmake;3.10.2.4988404'
|
||||
cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" "ndk;${ANDROID_NDK_VERSION}" 'cmdline-tools;latest' 'build-tools;30.0.3' 'platforms;android-29' 'cmake;3.18.1'
|
||||
|
||||
RUN cp -a /root/files/${mono_version} /root && \
|
||||
export MONO_SOURCE_ROOT=/root/${mono_version} && \
|
||||
cd /root/${mono_version}/godot-mono-builds && \
|
||||
python3 android.py configure -j --target=all-runtime && \
|
||||
python3 android.py make -j --target=all-runtime && \
|
||||
cd /root/${mono_version} && git clean -fdx && NOCONFIGURE=1 ./autogen.sh && \
|
||||
cd /root/${mono_version}/godot-mono-builds && \
|
||||
python3 bcl.py make -j --product=android && \
|
||||
cd /root && \
|
||||
rm -rf /root/${mono_version}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
FROM fedora:33
|
||||
FROM fedora:34
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
RUN dnf -y upgrade --setopt=install_weak_deps=False && \
|
||||
dnf -y install --setopt=install_weak_deps=False \
|
||||
bash bzip2 curl git make nano patch pkgconfig python-unversioned-command python3-pip unzip which xz && \
|
||||
bash bzip2 curl file findutils git make nano patch pkgconfig python3-pip unzip which xz && \
|
||||
pip install scons==4.1.0
|
||||
|
||||
CMD /bin/bash
|
||||
|
||||
@@ -9,7 +9,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
automake autoconf clang gcc gcc-c++ gcc-objc gcc-objc++ cmake libicu-devel libtool libxml2-devel llvm-devel openssl-devel perl python yasm && \
|
||||
git clone --progress https://github.com/tpoechtrager/cctools-port.git && \
|
||||
cd /root/cctools-port && \
|
||||
git checkout 14ab64360c556c1263e022318ee4be1077d7a839 && \
|
||||
git checkout 236a426c1205a3bfcf0dbb2e2faf2296f0a100e5 && \
|
||||
# arm64 device
|
||||
usage_examples/ios_toolchain/build.sh /root/files/iPhoneOS${IOS_SDK}.sdk.tar.xz arm64 && \
|
||||
mkdir -p /root/ioscross/arm64 && \
|
||||
@@ -42,12 +42,15 @@ RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mand
|
||||
cd /root/${mono_version} && \
|
||||
cd godot-mono-builds && \
|
||||
export MONO_SOURCE_ROOT=/root/${mono_version} && \
|
||||
python3 ios.py configure -j --verbose --target=arm64 --ios-toolchain ${IOSCROSS_ROOT}/arm64 --ios-sdk ${IOSCROSS_ROOT}/arm64/SDK/iPhoneOS${IOS_SDK}.sdk --osx-toolchain ${OSXCROSS_ROOT} && \
|
||||
python3 ios.py make -j --verbose --target=arm64 && \
|
||||
#python3 ios.py configure -j --verbose --target=arm64-sim --ios-toolchain ${IOSCROSS_ROOT}/arm64_sim --ios-sdk ${IOSCROSS_ROOT}/arm64_sim/SDK/iPhoneOS${IOS_SDK}.sdk --osx-toolchain ${OSXCROSS_ROOT} && \
|
||||
#python3 ios.py make -j --verbose --target=arm64-sim && \
|
||||
python3 ios.py configure -j --verbose --target=x86_64 --ios-toolchain ${IOSCROSS_ROOT}/x86_64_sim --ios-sdk ${IOSCROSS_ROOT}/x86_64_sim/SDK/iPhoneOS${IOS_SDK}.sdk --osx-toolchain ${OSXCROSS_ROOT} && \
|
||||
python3 ios.py make -j --verbose --target=x86_64 && \
|
||||
python3 ios.py configure -j --target=arm64 --ios-version-min 10.0 --osx-toolchain ${OSXCROSS_ROOT} \
|
||||
--ios-toolchain ${IOSCROSS_ROOT}/arm64 --ios-sdk ${IOSCROSS_ROOT}/arm64/SDK/iPhoneOS${IOS_SDK}.sdk && \
|
||||
python3 ios.py make -j --target=arm64 && \
|
||||
#python3 ios.py configure -j --target=arm64-sim --ios-version-min 10.0 --osx-toolchain ${OSXCROSS_ROOT} \
|
||||
# --ios-toolchain ${IOSCROSS_ROOT}/arm64_sim --ios-sdk ${IOSCROSS_ROOT}/arm64_sim/SDK/iPhoneOS${IOS_SDK}.sdk && \
|
||||
#python3 ios.py make -j --target=arm64-sim && \
|
||||
python3 ios.py configure -j --target=x86_64 --ios-version-min 10.0 --osx-toolchain ${OSXCROSS_ROOT} \
|
||||
--ios-toolchain ${IOSCROSS_ROOT}/x86_64_sim --ios-sdk ${IOSCROSS_ROOT}/x86_64_sim/SDK/iPhoneOS${IOS_SDK}.sdk && \
|
||||
python3 ios.py make -j --target=x86_64 && \
|
||||
python3 bcl.py make -j --product=ios && \
|
||||
# TODO: Emable once godot-mono-builds supports osxcross for the cross-compiler.
|
||||
# It requires having a build of libclang with support for iOS arm64 + changes to the build scripts.
|
||||
|
||||
@@ -3,7 +3,7 @@ FROM godot-mono:${img_version}
|
||||
|
||||
ARG mono_version
|
||||
|
||||
ENV EMSCRIPTEN_CLASSICAL=2.0.15
|
||||
ENV EMSCRIPTEN_CLASSICAL=2.0.25
|
||||
ENV EMSCRIPTEN_MONO=1.39.9
|
||||
|
||||
RUN if [ -z "${mono_version}" ]; then printf "\n\nArgument mono_version is mandatory!\n\n"; exit 1; fi && \
|
||||
@@ -23,8 +23,6 @@ RUN if [ -z "${mono_version}" ]; then printf "\n\nArgument mono_version is manda
|
||||
python3 patch_emscripten.py && \
|
||||
python3 wasm.py configure -j --target=runtime && \
|
||||
python3 wasm.py make -j --target=runtime && \
|
||||
cd /root/${mono_version} && git clean -fdx && NOCONFIGURE=1 ./autogen.sh && \
|
||||
cd /root/${mono_version}/godot-mono-builds && \
|
||||
python3 bcl.py make -j --product wasm && \
|
||||
cd /root && \
|
||||
rm -rf /root/${mono_version}
|
||||
|
||||
@@ -5,8 +5,7 @@ ARG mono_version
|
||||
|
||||
RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mandatory!\n\n"; exit 1; fi && \
|
||||
dnf -y install --setopt=install_weak_deps=False \
|
||||
gcc gcc-c++ make yasm \
|
||||
autoconf automake cmake gettext libtool perl && \
|
||||
autoconf automake cmake gcc gcc-c++ gettext libtool perl python-unversioned-command && \
|
||||
cp -a /root/files/${mono_version} /root && \
|
||||
cd /root/${mono_version} && \
|
||||
NOCONFIGURE=1 ./autogen.sh && \
|
||||
|
||||
@@ -8,7 +8,7 @@ RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mand
|
||||
automake autoconf bzip2-devel clang libicu-devel libtool libxml2-devel llvm-devel openssl-devel yasm && \
|
||||
git clone --progress https://github.com/tpoechtrager/osxcross.git && \
|
||||
cd /root/osxcross && \
|
||||
git checkout 61925a29c404fc547ce9d51eb2ee4a09bd6533da && \
|
||||
git checkout 447cf3b3ea4323d24648f5f7f775f5977a0d15bd && \
|
||||
ln -s /root/files/MacOSX11.1.sdk.tar.xz /root/osxcross/tarballs && \
|
||||
UNATTENDED=1 ./build.sh
|
||||
|
||||
|
||||
Reference in New Issue
Block a user