Skip to content

Commit 1f52c3f

Browse files
committed
OSX: Fix support for latest osxcross and Xcode 10.13
The osxcross installation process has been improved and now supports more recent versions of Xcode than 7, so most of our custom code is no longer needed. The xcode packer could also be reworked to use osxcross' SDK packing script. Fixes #15.
1 parent 545fbe5 commit 1f52c3f

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)