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
|
|
|
|
2019-11-15 11:56:31 +01:00
|
|
|
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 && \
|
2020-03-19 18:13:06 +01:00
|
|
|
git clone --progress https://github.com/tpoechtrager/cctools-port.git && \
|
2019-01-07 21:51:22 +01:00
|
|
|
cd /root/cctools-port && \
|
2019-12-03 08:22:50 +01:00
|
|
|
git checkout 8239a5211bcf07d6b9d359782e1a889ec1d7cce5 && \
|
2019-01-07 21:51:22 +01:00
|
|
|
sed -i 's#./autogen.sh#libtoolize -c -i --force\n./autogen.sh#' usage_examples/ios_toolchain/build.sh && \
|
2019-10-01 22:04:13 +02:00
|
|
|
usage_examples/ios_toolchain/build.sh /root/files/iPhoneOS12.4.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 && \
|
|
|
|
sed -i 's#^TRIPLE=.*#TRIPLE="x86_64-apple-darwin11"#' usage_examples/ios_toolchain/build.sh && \
|
2019-10-01 22:04:13 +02:00
|
|
|
usage_examples/ios_toolchain/build.sh /root/files/iPhoneSimulator12.4.sdk.tar.xz x86_64 && \
|
2019-01-07 21:51:22 +01:00
|
|
|
mkdir -p /root/ioscross/x86_64 && \
|
|
|
|
mv usage_examples/ios_toolchain/target/* /root/ioscross/x86_64 && \
|
|
|
|
mkdir /root/ioscross/x86_64/usr && \
|
|
|
|
ln -s /root/ioscross/x86_64/bin /root/ioscross/x86_64/usr/bin
|
|
|
|
|
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
|
|
|
|
ENV PATH="/root/ioscross/arm64/bin:/root/ioscross/x86_64/bin:${PATH}"
|
|
|
|
|
|
|
|
RUN cp -a /root/files/${mono_version} /root && \
|
|
|
|
cd /root/${mono_version}/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/iPhoneOS12.4.sdk --osx-toolchain ${OSXCROSS_ROOT} && \
|
|
|
|
python3 ios.py make -j --verbose --target=arm64 && \
|
|
|
|
python3 ios.py configure -j --target=x86_64 --ios-toolchain ${IOSCROSS_ROOT}/x86_64 --ios-sdk ${IOSCROSS_ROOT}/x86_64/SDK/iPhoneOS12.4.sdk --osx-toolchain ${OSXCROSS_ROOT} && \
|
|
|
|
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.
|
|
|
|
#python3 ios.py configure -j --target=cross-arm64 --ios-toolchain ${IOSCROSS_ROOT}/arm64 --ios-sdk ${IOSCROSS_ROOT}/arm64/SDK/iPhoneOS12.4.sdk --osx-toolchain ${OSXCROSS_ROOT} && \
|
|
|
|
#python3 ios.py make -j --target=cross-arm64 && \
|
|
|
|
cd /root && \
|
|
|
|
rm -rf /root/${mono_version}
|
|
|
|
|
|
|
|
# Until we can build the cross-compiler, we include a pre-made build in the container.
|
|
|
|
RUN mkdir -p /root/aot-compilers/iphone-arm64 && \
|
|
|
|
tar xvf /root/files/aarch64-apple-darwin-mono-sgen.tar.xz -C /root/aot-compilers/iphone-arm64
|
2019-01-17 23:06:38 +01:00
|
|
|
|
2019-11-15 11:22:07 +01:00
|
|
|
CMD /bin/bash
|