2019-12-02 13:30:41 +01:00
|
|
|
ARG img_version
|
2020-04-06 11:24:03 +02:00
|
|
|
FROM godot-osx:${img_version}
|
2019-01-07 21:51:22 +01:00
|
|
|
|
2024-06-19 15:23:30 +02:00
|
|
|
ENV IOS_SDK=17.5
|
2020-11-19 12:57:58 +01:00
|
|
|
|
2019-11-15 11:56:31 +01:00
|
|
|
RUN dnf -y install --setopt=install_weak_deps=False \
|
2022-05-24 22:52:47 +02:00
|
|
|
automake autoconf gcc gcc-c++ gcc-objc gcc-objc++ cmake libicu-devel libtool libxml2-devel openssl-devel perl python yasm && \
|
Update to Fedora 39, update all toolchains
- Base image: Fedora 39
- SCons: 4.5.2
- Linux: GCC 10.2.0 built against glibc 2.19, binutils 2.35.1
- Windows: MinGW 11.0.0, GCC 13.2.1, binutils 2.40
- Web: Emscripten 3.1.39
- Android: Android NDK 23.2.8568313, build-tools 33.0.2, platform android-33, CMake 3.22.1, JDK 17
CMake 3.22.1, JDK 17
- 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
Switches macOS/iOS builds to use Apple Clang, to maximize compatibility with
upstream Xcode.
Also add gettext which is needed by Godot build scripts to compile PO files
to MO.
2023-09-04 10:10:35 +02:00
|
|
|
git clone --progress https://github.com/tpoechtrager/cctools-port && \
|
2019-01-07 21:51:22 +01:00
|
|
|
cd /root/cctools-port && \
|
2024-01-30 19:56:32 +01:00
|
|
|
git checkout a98286d858210b209395624477533c0bde05556a && \
|
2021-07-12 15:19:54 +02:00
|
|
|
# arm64 device
|
2020-11-19 12:57:58 +01:00
|
|
|
usage_examples/ios_toolchain/build.sh /root/files/iPhoneOS${IOS_SDK}.sdk.tar.xz arm64 && \
|
2019-01-07 21:51:22 +01:00
|
|
|
mkdir -p /root/ioscross/arm64 && \
|
|
|
|
mv usage_examples/ios_toolchain/target/* /root/ioscross/arm64 && \
|
|
|
|
mkdir /root/ioscross/arm64/usr && \
|
|
|
|
ln -s /root/ioscross/arm64/bin /root/ioscross/arm64/usr/bin && \
|
Update to Fedora 39, update all toolchains
- Base image: Fedora 39
- SCons: 4.5.2
- Linux: GCC 10.2.0 built against glibc 2.19, binutils 2.35.1
- Windows: MinGW 11.0.0, GCC 13.2.1, binutils 2.40
- Web: Emscripten 3.1.39
- Android: Android NDK 23.2.8568313, build-tools 33.0.2, platform android-33, CMake 3.22.1, JDK 17
CMake 3.22.1, JDK 17
- 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
Switches macOS/iOS builds to use Apple Clang, to maximize compatibility with
upstream Xcode.
Also add gettext which is needed by Godot build scripts to compile PO files
to MO.
2023-09-04 10:10:35 +02:00
|
|
|
# Prepare for simulator builds
|
|
|
|
sed -i '/WRAPPER_SDKDIR/s/iPhoneOS/iPhoneSimulator/' usage_examples/ios_toolchain/build.sh && \
|
2021-07-12 15:19:54 +02:00
|
|
|
# arm64 simulator
|
Update to Fedora 39, update all toolchains
- Base image: Fedora 39
- SCons: 4.5.2
- Linux: GCC 10.2.0 built against glibc 2.19, binutils 2.35.1
- Windows: MinGW 11.0.0, GCC 13.2.1, binutils 2.40
- Web: Emscripten 3.1.39
- Android: Android NDK 23.2.8568313, build-tools 33.0.2, platform android-33, CMake 3.22.1, JDK 17
CMake 3.22.1, JDK 17
- 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
Switches macOS/iOS builds to use Apple Clang, to maximize compatibility with
upstream Xcode.
Also add gettext which is needed by Godot build scripts to compile PO files
to MO.
2023-09-04 10:10:35 +02:00
|
|
|
usage_examples/ios_toolchain/build.sh /root/files/iPhoneSimulator${IOS_SDK}.sdk.tar.xz arm64 && \
|
|
|
|
mkdir -p /root/ioscross/arm64_sim && \
|
|
|
|
mv usage_examples/ios_toolchain/target/* /root/ioscross/arm64_sim && \
|
|
|
|
mkdir /root/ioscross/arm64_sim/usr && \
|
|
|
|
ln -s /root/ioscross/arm64_sim/bin /root/ioscross/arm64_sim/usr/bin && \
|
2021-07-12 15:19:54 +02:00
|
|
|
# x86_64 simulator
|
Update to Fedora 39, update all toolchains
- Base image: Fedora 39
- SCons: 4.5.2
- Linux: GCC 10.2.0 built against glibc 2.19, binutils 2.35.1
- Windows: MinGW 11.0.0, GCC 13.2.1, binutils 2.40
- Web: Emscripten 3.1.39
- Android: Android NDK 23.2.8568313, build-tools 33.0.2, platform android-33, CMake 3.22.1, JDK 17
CMake 3.22.1, JDK 17
- 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
Switches macOS/iOS builds to use Apple Clang, to maximize compatibility with
upstream Xcode.
Also add gettext which is needed by Godot build scripts to compile PO files
to MO.
2023-09-04 10:10:35 +02:00
|
|
|
sed -i 's/^TRIPLE=.*/TRIPLE="x86_64-apple-darwin11"/' usage_examples/ios_toolchain/build.sh && \
|
2020-11-19 12:57:58 +01:00
|
|
|
usage_examples/ios_toolchain/build.sh /root/files/iPhoneSimulator${IOS_SDK}.sdk.tar.xz x86_64 && \
|
2021-01-27 12:55:51 +01:00
|
|
|
mkdir -p /root/ioscross/x86_64_sim && \
|
|
|
|
mv usage_examples/ios_toolchain/target/* /root/ioscross/x86_64_sim && \
|
|
|
|
mkdir /root/ioscross/x86_64_sim/usr && \
|
2022-05-24 22:52:47 +02:00
|
|
|
ln -s /root/ioscross/x86_64_sim/bin /root/ioscross/x86_64_sim/usr/bin && \
|
|
|
|
cd /root && \
|
|
|
|
rm -rf /root/cctools-port
|
2019-01-07 21:51:22 +01:00
|
|
|
|
2019-01-17 23:06:38 +01:00
|
|
|
ENV OSXCROSS_IOS=not_nothing
|
2020-04-06 11:24:03 +02:00
|
|
|
ENV IOSCROSS_ROOT=/root/ioscross
|
2021-01-27 12:55:51 +01:00
|
|
|
ENV PATH="/root/ioscross/arm64/bin:/root/ioscross/arm64_sim/bin:/root/ioscross/x86_64_sim/bin:${PATH}"
|
2020-04-06 11:24:03 +02:00
|
|
|
|
2019-11-15 11:22:07 +01:00
|
|
|
CMD /bin/bash
|