iOS and OSX: Upgrade containers to use latest osxcross and Xcode 12.0.1

Provides SDKs for iOS 14.0 and macOS 10.15.

Mono is patched to fix a regression in Xcode 11.4+, still unfixed by Apple.
Another patch is backported from Unity's Mono fork to fix another issue with
the macOS 11.0 beta SDK.

Fixes missing arguments in Xcode and iOS dockerfiles, seems like some changes
were not properly committed during the last refactor.
This commit is contained in:
Rémi Verschelde
2020-10-07 08:44:09 +02:00
parent aa95c5535b
commit 3366693a05
6 changed files with 112 additions and 33 deletions

View File

@@ -0,0 +1,38 @@
Backported from Unity's mono fork:
https://github.com/Unity-Technologies/mono/pull/1309
---
diff --git a/support/sys-uio.c b/support/sys-uio.c
index 53e162f9..5e44f796 100644
--- a/support/sys-uio.c
+++ b/support/sys-uio.c
@@ -82,7 +82,7 @@ Mono_Posix_Syscall_writev (int dirfd, struct Mono_Posix_Iovec *iov, gint32 iovcn
}
#endif /* def HAVE_WRITEV */
-#ifdef HAVE_PREADV
+#if defined(HAVE_PREADV) && !defined(__APPLE__) // Configure incorrectly detects that this function is available on macOS SDK 11.0 (it is not)
gint64
Mono_Posix_Syscall_preadv (int dirfd, struct Mono_Posix_Iovec *iov, gint32 iovcnt, gint64 off)
{
@@ -100,9 +100,9 @@ Mono_Posix_Syscall_preadv (int dirfd, struct Mono_Posix_Iovec *iov, gint32 iovcn
free (v);
return res;
}
-#endif /* def HAVE_PREADV */
+#endif /* defined(HAVE_PREADV) && !defined(__APPLE__) */
-#ifdef HAVE_PWRITEV
+#if defined(HAVE_PWRITEV) && !defined(__APPLE__) // Configure incorrectly detects that this function is available on macOS SDK 11.0 (it is not)
gint64
Mono_Posix_Syscall_pwritev (int dirfd, struct Mono_Posix_Iovec *iov, gint32 iovcnt, gint64 off)
{
@@ -120,7 +120,7 @@ Mono_Posix_Syscall_pwritev (int dirfd, struct Mono_Posix_Iovec *iov, gint32 iovc
free (v);
return res;
}
-#endif /* def HAVE_PWRITEV */
+#endif /* defined(HAVE_PWRITEV) && !defined(__APPLE__) */
/*

View File

@@ -0,0 +1,29 @@
Workaround for Xcode bug: https://github.com/mono/mono/issues/19393
---
diff --git a/sdks/builds/ios.mk b/sdks/builds/ios.mk
index 0470ccb57cb..bf1036330c5 100644
--- a/sdks/builds/ios.mk
+++ b/sdks/builds/ios.mk
@@ -90,7 +90,6 @@ _ios-$(1)_CPPFLAGS= \
-DSMALL_CONFIG -D_XOPEN_SOURCE -DHOST_IOS -DHAVE_LARGE_FILE_SUPPORT=1 \
_ios-$(1)_LDFLAGS= \
- -Wl,-no_weak_imports \
-arch $(3) \
-framework CoreFoundation \
-lobjc -lc++
diff --git a/sdks/builds/mac.mk b/sdks/builds/mac.mk
index bded6b2c22b..98d8be2f456 100644
--- a/sdks/builds/mac.mk
+++ b/sdks/builds/mac.mk
@@ -36,8 +36,7 @@ _mac-$(1)_CXXFLAGS= \
_mac-$(1)_CPPFLAGS=
-_mac-$(1)_LDFLAGS= \
- -Wl,-no_weak_imports
+_mac-$(1)_LDFLAGS=
_mac-$(1)_CONFIGURE_FLAGS= \
--disable-boehm \