Skip to content

Commit 81e867e

Browse files
authored
Fix minimum iOS/tvOS version and add iOS 14 to RID graph (#50167)
As specified in #44654 the minimum iOS/tvOS version we're targeting for .NET 6 is iOS 10. Bump the versions used in our build scripts and RID graph to that and also add iOS 14.
1 parent 8fd0a90 commit 81e867e

File tree

9 files changed

+177
-470
lines changed

9 files changed

+177
-470
lines changed

src/libraries/Microsoft.NETCore.Platforms/src/runtime.compatibility.json

Lines changed: 56 additions & 247 deletions
Large diffs are not rendered by default.

src/libraries/Microsoft.NETCore.Platforms/src/runtime.json

Lines changed: 25 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1116,31 +1116,31 @@
11161116
},
11171117
"ios.10": {
11181118
"#import": [
1119-
"ios.9"
1119+
"ios"
11201120
]
11211121
},
11221122
"ios.10-arm": {
11231123
"#import": [
11241124
"ios.10",
1125-
"ios.9-arm"
1125+
"ios-arm"
11261126
]
11271127
},
11281128
"ios.10-arm64": {
11291129
"#import": [
11301130
"ios.10",
1131-
"ios.9-arm64"
1131+
"ios-arm64"
11321132
]
11331133
},
11341134
"ios.10-x64": {
11351135
"#import": [
11361136
"ios.10",
1137-
"ios.9-x64"
1137+
"ios-x64"
11381138
]
11391139
},
11401140
"ios.10-x86": {
11411141
"#import": [
11421142
"ios.10",
1143-
"ios.9-x86"
1143+
"ios-x86"
11441144
]
11451145
},
11461146
"ios.11": {
@@ -1194,62 +1194,21 @@
11941194
"ios.12-x64"
11951195
]
11961196
},
1197-
"ios.8": {
1198-
"#import": [
1199-
"ios"
1200-
]
1201-
},
1202-
"ios.8-arm": {
1203-
"#import": [
1204-
"ios.8",
1205-
"ios-arm"
1206-
]
1207-
},
1208-
"ios.8-arm64": {
1209-
"#import": [
1210-
"ios.8",
1211-
"ios-arm64"
1212-
]
1213-
},
1214-
"ios.8-x64": {
1215-
"#import": [
1216-
"ios.8",
1217-
"ios-x64"
1218-
]
1219-
},
1220-
"ios.8-x86": {
1221-
"#import": [
1222-
"ios.8",
1223-
"ios-x86"
1224-
]
1225-
},
1226-
"ios.9": {
1227-
"#import": [
1228-
"ios.8"
1229-
]
1230-
},
1231-
"ios.9-arm": {
1232-
"#import": [
1233-
"ios.9",
1234-
"ios.8-arm"
1235-
]
1236-
},
1237-
"ios.9-arm64": {
1197+
"ios.14": {
12381198
"#import": [
1239-
"ios.9",
1240-
"ios.8-arm64"
1199+
"ios.13"
12411200
]
12421201
},
1243-
"ios.9-x64": {
1202+
"ios.14-arm64": {
12441203
"#import": [
1245-
"ios.9",
1246-
"ios.8-x64"
1204+
"ios.14",
1205+
"ios.13-arm64"
12471206
]
12481207
},
1249-
"ios.9-x86": {
1208+
"ios.14-x64": {
12501209
"#import": [
1251-
"ios.9",
1252-
"ios.8-x86"
1210+
"ios.14",
1211+
"ios.13-x64"
12531212
]
12541213
},
12551214
"iossimulator": {
@@ -1277,25 +1236,25 @@
12771236
},
12781237
"iossimulator.10": {
12791238
"#import": [
1280-
"iossimulator.9"
1239+
"iossimulator"
12811240
]
12821241
},
12831242
"iossimulator.10-arm64": {
12841243
"#import": [
12851244
"iossimulator.10",
1286-
"iossimulator.9-arm64"
1245+
"iossimulator-arm64"
12871246
]
12881247
},
12891248
"iossimulator.10-x64": {
12901249
"#import": [
12911250
"iossimulator.10",
1292-
"iossimulator.9-x64"
1251+
"iossimulator-x64"
12931252
]
12941253
},
12951254
"iossimulator.10-x86": {
12961255
"#import": [
12971256
"iossimulator.10",
1298-
"iossimulator.9-x86"
1257+
"iossimulator-x86"
12991258
]
13001259
},
13011260
"iossimulator.11": {
@@ -1349,50 +1308,21 @@
13491308
"iossimulator.12-x64"
13501309
]
13511310
},
1352-
"iossimulator.8": {
1353-
"#import": [
1354-
"iossimulator"
1355-
]
1356-
},
1357-
"iossimulator.8-arm64": {
1358-
"#import": [
1359-
"iossimulator.8",
1360-
"iossimulator-arm64"
1361-
]
1362-
},
1363-
"iossimulator.8-x64": {
1364-
"#import": [
1365-
"iossimulator.8",
1366-
"iossimulator-x64"
1367-
]
1368-
},
1369-
"iossimulator.8-x86": {
1370-
"#import": [
1371-
"iossimulator.8",
1372-
"iossimulator-x86"
1373-
]
1374-
},
1375-
"iossimulator.9": {
1376-
"#import": [
1377-
"iossimulator.8"
1378-
]
1379-
},
1380-
"iossimulator.9-arm64": {
1311+
"iossimulator.14": {
13811312
"#import": [
1382-
"iossimulator.9",
1383-
"iossimulator.8-arm64"
1313+
"iossimulator.13"
13841314
]
13851315
},
1386-
"iossimulator.9-x64": {
1316+
"iossimulator.14-arm64": {
13871317
"#import": [
1388-
"iossimulator.9",
1389-
"iossimulator.8-x64"
1318+
"iossimulator.14",
1319+
"iossimulator.13-arm64"
13901320
]
13911321
},
1392-
"iossimulator.9-x86": {
1322+
"iossimulator.14-x64": {
13931323
"#import": [
1394-
"iossimulator.9",
1395-
"iossimulator.8-x86"
1324+
"iossimulator.14",
1325+
"iossimulator.13-x64"
13961326
]
13971327
},
13981328
"linux": {

src/libraries/Microsoft.NETCore.Platforms/src/runtimeGroups.props

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,23 +83,23 @@
8383
<RuntimeGroup Include="ios">
8484
<Parent>unix</Parent>
8585
<Architectures>arm;x86</Architectures>
86-
<Versions>8;9;10</Versions>
86+
<Versions>10</Versions>
8787
</RuntimeGroup>
8888
<RuntimeGroup Include="ios">
8989
<Parent>unix</Parent>
9090
<Architectures>arm64;x64</Architectures>
91-
<Versions>8;9;10;11;12;13</Versions>
91+
<Versions>10;11;12;13;14</Versions>
9292
</RuntimeGroup>
9393

9494
<RuntimeGroup Include="iossimulator">
9595
<Parent>ios</Parent>
9696
<Architectures>x86</Architectures>
97-
<Versions>8;9;10</Versions>
97+
<Versions>10</Versions>
9898
</RuntimeGroup>
9999
<RuntimeGroup Include="iossimulator">
100100
<Parent>ios</Parent>
101101
<Architectures>arm64;x64</Architectures>
102-
<Versions>8;9;10;11;12;13</Versions>
102+
<Versions>10;11;12;13;14</Versions>
103103
</RuntimeGroup>
104104

105105
<!-- linux mint includes major version in Include because Parent is different for each major -->

src/libraries/Native/build-native.sh

Lines changed: 20 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -104,57 +104,49 @@ elif [[ "$__TargetOS" == Android && -z "$ROOTFS_DIR" ]]; then
104104
exit 1
105105
fi
106106
elif [[ "$__TargetOS" == iOSSimulator ]]; then
107-
__CMakeArgs="-DCMAKE_SYSTEM_NAME=iOS $__CMakeArgs"
107+
# set default iOS simulator deployment target
108+
# keep in sync with src/mono/Directory.Build.props
109+
__CMakeArgs="-DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 $__CMakeArgs"
108110
if [[ "$__BuildArch" == x64 ]]; then
109-
# set default iOS simulator deployment target (8.0 is the minimum supported by Xcode 11)
110-
# keep in sync with src/mono/Directory.Build.props
111-
__CMakeArgs="-DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=8.0 -DCMAKE_OSX_ARCHITECTURES=\"x86_64\" $__CMakeArgs"
111+
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"x86_64\" $__CMakeArgs"
112112
elif [[ "$__BuildArch" == x86 ]]; then
113-
# set default iOS simulator deployment target (8.0 is the minimum supported by Xcode 11)
114-
# keep in sync with src/mono/Directory.Build.props
115-
__CMakeArgs="-DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=8.0 -DCMAKE_OSX_ARCHITECTURES=\"i386\" $__CMakeArgs"
113+
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"i386\" $__CMakeArgs"
116114
elif [[ "$__BuildArch" == arm64 ]]; then
117-
# set default iOS device deployment target
118-
# keep in sync with src/mono/Directory.Build.props
119-
__CMakeArgs="-DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=8.0 -DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
115+
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
120116
else
121117
echo "Error: Unknown iOSSimulator architecture $__BuildArch."
122118
exit 1
123119
fi
124120
elif [[ "$__TargetOS" == iOS ]]; then
125-
__CMakeArgs="-DCMAKE_SYSTEM_NAME=iOS $__CMakeArgs"
121+
# set default iOS device deployment target
122+
# keep in sync with src/mono/Directory.Build.props
123+
__CMakeArgs="-DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 $__CMakeArgs"
126124
if [[ "$__BuildArch" == arm64 ]]; then
127-
# set default iOS device deployment target
128-
# keep in sync with src/mono/Directory.Build.props
129-
__CMakeArgs="-DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_DEPLOYMENT_TARGET=8.0 -DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
125+
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
130126
elif [[ "$__BuildArch" == arm ]]; then
131-
# set default iOS device deployment target
132-
# keep in sync with src/mono/Directory.Build.props
133-
__CMakeArgs="-DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_DEPLOYMENT_TARGET=8.0 -DCMAKE_OSX_ARCHITECTURES=\"armv7;armv7s\" $__CMakeArgs"
127+
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"armv7;armv7s\" $__CMakeArgs"
134128
else
135129
echo "Error: Unknown iOS architecture $__BuildArch."
136130
exit 1
137131
fi
138132
elif [[ "$__TargetOS" == tvOSSimulator ]]; then
139-
__CMakeArgs="-DCMAKE_SYSTEM_NAME=tvOS $__CMakeArgs"
140-
# set default tvOS device deployment target
141-
# keep in sync with tvOSVersionMin in src/mono/Directory.Build.props
142-
__CMakeArgs="-DCMAKE_OSX_DEPLOYMENT_TARGET=9.0 $__CMakeArgs"
133+
# set default tvOS simulator deployment target
134+
# keep in sync with src/mono/Directory.Build.props
135+
__CMakeArgs="-DCMAKE_SYSTEM_NAME=tvOS -DCMAKE_OSX_SYSROOT=appletvsimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 $__CMakeArgs"
143136
if [[ "$__BuildArch" == x64 ]]; then
144-
__CMakeArgs="-DCMAKE_OSX_SYSROOT=appletvsimulator -DCMAKE_OSX_ARCHITECTURES=\"x86_64\" $__CMakeArgs"
137+
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"x86_64\" $__CMakeArgs"
145138
elif [[ "$__BuildArch" == arm64 ]]; then
146-
__CMakeArgs="-DCMAKE_OSX_SYSROOT=appletvsimulator -DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
139+
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
147140
else
148141
echo "Error: Unknown tvOSSimulator architecture $__BuildArch."
149142
exit 1
150143
fi
151144
elif [[ "$__TargetOS" == tvOS ]]; then
152-
__CMakeArgs="-DCMAKE_SYSTEM_NAME=tvOS $__CMakeArgs"
153-
# set default tvOS device deployment target
154-
# keep in sync with tvOSVersionMin in src/mono/Directory.Build.props
155-
__CMakeArgs="-DCMAKE_OSX_DEPLOYMENT_TARGET=9.0 $__CMakeArgs"
145+
# set default tvOS device deployment target
146+
# keep in sync with src/mono/Directory.Build.props
147+
__CMakeArgs="-DCMAKE_SYSTEM_NAME=tvOS -DCMAKE_OSX_SYSROOT=appletvos -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 $__CMakeArgs"
156148
if [[ "$__BuildArch" == arm64 ]]; then
157-
__CMakeArgs="-DCMAKE_OSX_SYSROOT=appletvos -DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
149+
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
158150
else
159151
echo "Error: Unknown tvOS architecture $__BuildArch."
160152
exit 1

src/mono/Directory.Build.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313

1414
<PropertyGroup>
1515
<!-- Minimum target OS version, keep in sync with src/libraries/Native/build-native.sh -->
16-
<iOSVersionMin>8.0</iOSVersionMin>
17-
<tvOSVersionMin>9.0</tvOSVersionMin>
16+
<iOSVersionMin>10.0</iOSVersionMin>
17+
<tvOSVersionMin>10.0</tvOSVersionMin>
1818
<watchOSVersionMin>2.0</watchOSVersionMin>
1919
<watchOS64_32VersionMin>5.1</watchOS64_32VersionMin>
2020
<macOSVersionMin>10.13</macOSVersionMin>

src/mono/mono/eglib/goutput.c

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -322,42 +322,63 @@ default_stderr_handler (const gchar *message)
322322
}
323323

324324

325-
#elif defined(HOST_IOS)
326-
#include <asl.h>
325+
#elif defined(HOST_IOS) || defined(HOST_TVOS) || defined(HOST_WATCHOS) || defined(HOST_MACCAT)
326+
#include <os/log.h>
327327

328328
static int
329-
to_asl_priority (GLogLevelFlags log_level)
329+
to_os_log_priority (GLogLevelFlags log_level)
330330
{
331331
switch (log_level & G_LOG_LEVEL_MASK)
332332
{
333-
case G_LOG_LEVEL_ERROR: return ASL_LEVEL_CRIT;
334-
case G_LOG_LEVEL_CRITICAL: return ASL_LEVEL_ERR;
335-
case G_LOG_LEVEL_WARNING: return ASL_LEVEL_WARNING;
336-
case G_LOG_LEVEL_MESSAGE: return ASL_LEVEL_NOTICE;
337-
case G_LOG_LEVEL_INFO: return ASL_LEVEL_INFO;
338-
case G_LOG_LEVEL_DEBUG: return ASL_LEVEL_DEBUG;
333+
case G_LOG_LEVEL_ERROR: return OS_LOG_TYPE_ERROR;
334+
case G_LOG_LEVEL_CRITICAL: return OS_LOG_TYPE_ERROR;
335+
case G_LOG_LEVEL_WARNING: return OS_LOG_TYPE_DEFAULT;
336+
case G_LOG_LEVEL_MESSAGE: return OS_LOG_TYPE_DEFAULT;
337+
case G_LOG_LEVEL_INFO: return OS_LOG_TYPE_DEFAULT;
338+
case G_LOG_LEVEL_DEBUG: return OS_LOG_TYPE_DEFAULT;
339339
}
340-
return ASL_LEVEL_ERR;
340+
return OS_LOG_TYPE_ERROR;
341341
}
342342

343+
static const char *
344+
to_log_level_name (GLogLevelFlags log_level)
345+
{
346+
switch (log_level & G_LOG_LEVEL_MASK)
347+
{
348+
case G_LOG_LEVEL_ERROR: return "error";
349+
case G_LOG_LEVEL_CRITICAL: return "critical";
350+
case G_LOG_LEVEL_WARNING: return "warning";
351+
case G_LOG_LEVEL_MESSAGE: return "message";
352+
case G_LOG_LEVEL_INFO: return "info";
353+
case G_LOG_LEVEL_DEBUG: return "debug";
354+
}
355+
return "unknown";
356+
}
357+
358+
// keep in sync with mono_log_write_os_log
343359
void
344360
g_log_default_handler (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer unused_data)
345361
{
346-
asl_log (NULL, NULL, to_asl_priority (log_level), "%s", message);
362+
os_log_with_type (OS_LOG_DEFAULT, to_os_log_priority (log_level), "%{public}s%{public}s%{public}s: %{public}s",
363+
log_domain != NULL ? log_domain : "",
364+
log_domain != NULL ? ": " : "",
365+
to_log_level_name(log_level),
366+
message);
367+
347368
if (log_level & fatal)
348369
g_assert_abort ();
349370
}
350371

351372
static void
352373
default_stdout_handler (const gchar *message)
353374
{
354-
asl_log (NULL, NULL, ASL_LEVEL_WARNING, "%s", message);
375+
os_log (OS_LOG_DEFAULT, "%{public}s", message);
355376
}
356377

357378
static void
358379
default_stderr_handler (const gchar *message)
359380
{
360-
asl_log (NULL, NULL, ASL_LEVEL_WARNING, "%s", message);
381+
os_log_error (OS_LOG_DEFAULT, "%{public}s", message);
361382
}
362383

363384
#else

0 commit comments

Comments
 (0)