Skip to content

Commit f7a44c6

Browse files
authored
Merge pull request #21 from godotengine/fix-osx-build
OSX: Fix support for latest osxcross and Xcode 10.13
2 parents 545fbe5 + 1f52c3f commit f7a44c6

File tree

2 files changed

+17
-32
lines changed

2 files changed

+17
-32
lines changed

Dockerfile.osx

Lines changed: 10 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,37 +8,20 @@ RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mand
88
dnf clean all && \
99
git clone https://github.com/tpoechtrager/osxcross.git && \
1010
cd /root/osxcross && \
11+
git checkout 542acc2ef6c21aeb3f109c03748b1015a71fed63 && \
1112
ln -s /root/files/MacOSX10.14.sdk.tar.xz /root/osxcross/tarballs && \
12-
UNATTENDED=1 ./build.sh ;\
13-
cd /root && \
14-
git clone https://github.com/tpoechtrager/apple-libtapi.git && \
15-
cd apple-libtapi && \
16-
INSTALLPREFIX=/root/osxcross/target ./build.sh && ./install.sh && \
17-
cd /root && \
18-
git clone https://github.com/tpoechtrager/cctools-port.git && \
19-
cd cctools-port/cctools/ && \
20-
./configure --prefix=/root/osxcross/target --target=x86_64-apple-darwin17 --with-libtapi=/root/osxcross/target && \
21-
make -j && make install && \
22-
cd /root && \
23-
ln -fs /root/osxcross/target/bin/x86_64-apple-darwin17-install_name_tool /root/osxcross/target/bin/install_name_tool && \
24-
ln -fs /root/osxcross/target/bin/x86_64-apple-darwin17-ar /root/osxcross/target/bin/ar && \
25-
cd /root/osxcross/ && \
26-
./build_compiler_rt.sh && \
27-
export CLANG_LIB_DIR=$(clang -print-search-dirs | grep "libraries: =" | tr '=' ' ' | tr ':' ' ' | awk '{print $2}') && \
28-
mkdir -p ${CLANG_LIB_DIR}/include && \
29-
mkdir -p ${CLANG_LIB_DIR}/lib/darwin && \
30-
cp -rv /root/osxcross/build/compiler-rt/include/sanitizer ${CLANG_LIB_DIR}/include && \
31-
cp -v /root/osxcross/build/compiler-rt/build/lib/darwin/*.a ${CLANG_LIB_DIR}/lib/darwin && \
32-
cp -v /root/osxcross/build/compiler-rt/build/lib/darwin/*.dylib ${CLANG_LIB_DIR}/lib/darwin
13+
UNATTENDED=1 ./build.sh
14+
15+
ENV OSXCROSS_ROOT=/root/osxcross
16+
ENV PATH="/root/osxcross/target/bin:${PATH}"
3317

3418
RUN git clone https://github.com/mono/mono --branch mono-${mono_version} --single-branch && \
3519
cd mono && git submodule update --init && \
36-
patch -p1 < /root/files/patches/fix-mono-configure.diff && \
37-
export PATH=/root/osxcross/target/bin:$PATH && \
38-
export CMAKE=/root/osxcross/target/bin/x86_64-apple-darwin17-cmake && \
39-
./autogen.sh --prefix=/root/dependencies/mono \
20+
export CMAKE=/root/osxcross/target/bin/x86_64-apple-darwin18-cmake && \
21+
NOCONFIGURE=1 ./autogen.sh && \
22+
./configure --prefix=/root/dependencies/mono \
4023
--build=x86_64-linux-gnu \
41-
--host=x86_64-apple-darwin17 \
24+
--host=x86_64-apple-darwin18 \
4225
--disable-boehm \
4326
--disable-mcs-build \
4427
--with-tls=pthread \
@@ -57,9 +40,8 @@ RUN git clone https://github.com/mono/mono --branch mono-${mono_version} --singl
5740
ln -sf /usr/lib/mono/* /root/dependencies/mono/lib/mono && \
5841
cp -rvp /etc/mono /root/dependencies/mono/etc && \
5942
cp /root/files/mono-config-macosx /root/dependencies/mono/etc/config && \
60-
rm -rf /root/mono /root/apple-libtapi /root/cctools-port
43+
rm -rf /root/mono
6144

6245
ENV MONO64_PREFIX=/root/dependencies/mono
63-
ENV OSXCROSS_ROOT=/root/osxcross
6446

6547
CMD /bin/bash

Dockerfile.xcode

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,25 @@ CMD mkdir -p /root/xcode && \
1717
xar -xf /root/files/Xcode_10.3.xip && \
1818
/root/pbzx/pbzx -n Content | cpio -i && \
1919
cp -r Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk /tmp/MacOSX10.14.sdk && \
20-
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/MacOSX10.14.sdk/usr/include/c++ && \
20+
mkdir -p /tmp/MacOSX10.14.sdk/usr/include/c++ && \
21+
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/MacOSX10.14.sdk/usr/include/c++/ && \
2122
mkdir -p mkdir -p /tmp/MacOSX10.14.sdk/usr/share/man && \
2223
cp -rf Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man1 \
2324
Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man3 \
24-
Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man5 /tmp/MacOSX10.14.sdk/usr/share/man && \
25+
Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man5 /tmp/MacOSX10.14.sdk/usr/share/man/ && \
2526
cd /tmp && \
2627
tar -cJf /root/files/MacOSX10.14.sdk.tar.xz MacOSX10.14.sdk && \
2728
rm -rf MacOSX10.14 && \
2829
cd /root/xcode && \
2930
cp -r Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk /tmp/iPhoneOS12.4.sdk && \
30-
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/iPhoneOS12.4.sdk/usr/include/c++ && \
31+
mkdir -p /tmp/iPhoneOS12.4.sdk/usr/include/c++ && \
32+
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/iPhoneOS12.4.sdk/usr/include/c++/ && \
3133
cd /tmp && \
3234
tar -cJf /root/files/iPhoneOS12.4.sdk.tar.xz iPhoneOS12.4.sdk && \
3335
rm -rf iPhoneOS12.4.sdk && \
3436
cd /root/xcode && \
3537
cp -r Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk /tmp/iPhoneOS12.4.sdk && \
36-
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/iPhoneOS12.4.sdk/usr/include/c++ && \
38+
mkdir -p /tmp/iPhoneOS12.4.sdk/usr/include/c++ && \
39+
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/iPhoneOS12.4.sdk/usr/include/c++/ && \
3740
cd /tmp && \
3841
tar -cJf /root/files/iPhoneSimulator12.4.sdk.tar.xz iPhoneOS12.4.sdk

0 commit comments

Comments
 (0)