未验证 提交 81e867ea 编写于 作者: A Alexander Köplinger 提交者: GitHub

Fix minimum iOS/tvOS version and add iOS 14 to RID graph (#50167)

As specified in https://github.com/dotnet/runtime/issues/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.
上级 8fd0a906
......@@ -2707,8 +2707,6 @@
],
"ios.10": [
"ios.10",
"ios.9",
"ios.8",
"ios",
"unix",
"any",
......@@ -2717,10 +2715,6 @@
"ios.10-arm": [
"ios.10-arm",
"ios.10",
"ios.9-arm",
"ios.9",
"ios.8-arm",
"ios.8",
"ios-arm",
"ios",
"unix-arm",
......@@ -2731,10 +2725,6 @@
"ios.10-arm64": [
"ios.10-arm64",
"ios.10",
"ios.9-arm64",
"ios.9",
"ios.8-arm64",
"ios.8",
"ios-arm64",
"ios",
"unix-arm64",
......@@ -2745,10 +2735,6 @@
"ios.10-x64": [
"ios.10-x64",
"ios.10",
"ios.9-x64",
"ios.9",
"ios.8-x64",
"ios.8",
"ios-x64",
"ios",
"unix-x64",
......@@ -2759,10 +2745,6 @@
"ios.10-x86": [
"ios.10-x86",
"ios.10",
"ios.9-x86",
"ios.9",
"ios.8-x86",
"ios.8",
"ios-x86",
"ios",
"unix-x86",
......@@ -2773,8 +2755,6 @@
"ios.11": [
"ios.11",
"ios.10",
"ios.9",
"ios.8",
"ios",
"unix",
"any",
......@@ -2785,10 +2765,6 @@
"ios.11",
"ios.10-arm64",
"ios.10",
"ios.9-arm64",
"ios.9",
"ios.8-arm64",
"ios.8",
"ios-arm64",
"ios",
"unix-arm64",
......@@ -2801,10 +2777,6 @@
"ios.11",
"ios.10-x64",
"ios.10",
"ios.9-x64",
"ios.9",
"ios.8-x64",
"ios.8",
"ios-x64",
"ios",
"unix-x64",
......@@ -2816,8 +2788,6 @@
"ios.12",
"ios.11",
"ios.10",
"ios.9",
"ios.8",
"ios",
"unix",
"any",
......@@ -2830,10 +2800,6 @@
"ios.11",
"ios.10-arm64",
"ios.10",
"ios.9-arm64",
"ios.9",
"ios.8-arm64",
"ios.8",
"ios-arm64",
"ios",
"unix-arm64",
......@@ -2848,10 +2814,6 @@
"ios.11",
"ios.10-x64",
"ios.10",
"ios.9-x64",
"ios.9",
"ios.8-x64",
"ios.8",
"ios-x64",
"ios",
"unix-x64",
......@@ -2864,8 +2826,6 @@
"ios.12",
"ios.11",
"ios.10",
"ios.9",
"ios.8",
"ios",
"unix",
"any",
......@@ -2880,10 +2840,6 @@
"ios.11",
"ios.10-arm64",
"ios.10",
"ios.9-arm64",
"ios.9",
"ios.8-arm64",
"ios.8",
"ios-arm64",
"ios",
"unix-arm64",
......@@ -2900,10 +2856,6 @@
"ios.11",
"ios.10-x64",
"ios.10",
"ios.9-x64",
"ios.9",
"ios.8-x64",
"ios.8",
"ios-x64",
"ios",
"unix-x64",
......@@ -2911,78 +2863,28 @@
"any",
"base"
],
"ios.8": [
"ios.8",
"ios",
"unix",
"any",
"base"
],
"ios.8-arm": [
"ios.8-arm",
"ios.8",
"ios-arm",
"ios",
"unix-arm",
"unix",
"any",
"base"
],
"ios.8-arm64": [
"ios.8-arm64",
"ios.8",
"ios-arm64",
"ios",
"unix-arm64",
"unix",
"any",
"base"
],
"ios.8-x64": [
"ios.8-x64",
"ios.8",
"ios-x64",
"ios",
"unix-x64",
"unix",
"any",
"base"
],
"ios.8-x86": [
"ios.8-x86",
"ios.8",
"ios-x86",
"ios",
"unix-x86",
"unix",
"any",
"base"
],
"ios.9": [
"ios.9",
"ios.8",
"ios",
"unix",
"any",
"base"
],
"ios.9-arm": [
"ios.9-arm",
"ios.9",
"ios.8-arm",
"ios.8",
"ios-arm",
"ios.14": [
"ios.14",
"ios.13",
"ios.12",
"ios.11",
"ios.10",
"ios",
"unix-arm",
"unix",
"any",
"base"
],
"ios.9-arm64": [
"ios.9-arm64",
"ios.9",
"ios.8-arm64",
"ios.8",
"ios.14-arm64": [
"ios.14-arm64",
"ios.14",
"ios.13-arm64",
"ios.13",
"ios.12-arm64",
"ios.12",
"ios.11-arm64",
"ios.11",
"ios.10-arm64",
"ios.10",
"ios-arm64",
"ios",
"unix-arm64",
......@@ -2990,11 +2892,17 @@
"any",
"base"
],
"ios.9-x64": [
"ios.9-x64",
"ios.9",
"ios.8-x64",
"ios.8",
"ios.14-x64": [
"ios.14-x64",
"ios.14",
"ios.13-x64",
"ios.13",
"ios.12-x64",
"ios.12",
"ios.11-x64",
"ios.11",
"ios.10-x64",
"ios.10",
"ios-x64",
"ios",
"unix-x64",
......@@ -3002,18 +2910,6 @@
"any",
"base"
],
"ios.9-x86": [
"ios.9-x86",
"ios.9",
"ios.8-x86",
"ios.8",
"ios-x86",
"ios",
"unix-x86",
"unix",
"any",
"base"
],
"iossimulator": [
"iossimulator",
"ios",
......@@ -3053,8 +2949,6 @@
],
"iossimulator.10": [
"iossimulator.10",
"iossimulator.9",
"iossimulator.8",
"iossimulator",
"ios",
"unix",
......@@ -3064,10 +2958,6 @@
"iossimulator.10-arm64": [
"iossimulator.10-arm64",
"iossimulator.10",
"iossimulator.9-arm64",
"iossimulator.9",
"iossimulator.8-arm64",
"iossimulator.8",
"iossimulator-arm64",
"iossimulator",
"ios-arm64",
......@@ -3080,10 +2970,6 @@
"iossimulator.10-x64": [
"iossimulator.10-x64",
"iossimulator.10",
"iossimulator.9-x64",
"iossimulator.9",
"iossimulator.8-x64",
"iossimulator.8",
"iossimulator-x64",
"iossimulator",
"ios-x64",
......@@ -3096,10 +2982,6 @@
"iossimulator.10-x86": [
"iossimulator.10-x86",
"iossimulator.10",
"iossimulator.9-x86",
"iossimulator.9",
"iossimulator.8-x86",
"iossimulator.8",
"iossimulator-x86",
"iossimulator",
"ios-x86",
......@@ -3112,8 +2994,6 @@
"iossimulator.11": [
"iossimulator.11",
"iossimulator.10",
"iossimulator.9",
"iossimulator.8",
"iossimulator",
"ios",
"unix",
......@@ -3125,10 +3005,6 @@
"iossimulator.11",
"iossimulator.10-arm64",
"iossimulator.10",
"iossimulator.9-arm64",
"iossimulator.9",
"iossimulator.8-arm64",
"iossimulator.8",
"iossimulator-arm64",
"iossimulator",
"ios-arm64",
......@@ -3143,10 +3019,6 @@
"iossimulator.11",
"iossimulator.10-x64",
"iossimulator.10",
"iossimulator.9-x64",
"iossimulator.9",
"iossimulator.8-x64",
"iossimulator.8",
"iossimulator-x64",
"iossimulator",
"ios-x64",
......@@ -3160,8 +3032,6 @@
"iossimulator.12",
"iossimulator.11",
"iossimulator.10",
"iossimulator.9",
"iossimulator.8",
"iossimulator",
"ios",
"unix",
......@@ -3175,10 +3045,6 @@
"iossimulator.11",
"iossimulator.10-arm64",
"iossimulator.10",
"iossimulator.9-arm64",
"iossimulator.9",
"iossimulator.8-arm64",
"iossimulator.8",
"iossimulator-arm64",
"iossimulator",
"ios-arm64",
......@@ -3195,10 +3061,6 @@
"iossimulator.11",
"iossimulator.10-x64",
"iossimulator.10",
"iossimulator.9-x64",
"iossimulator.9",
"iossimulator.8-x64",
"iossimulator.8",
"iossimulator-x64",
"iossimulator",
"ios-x64",
......@@ -3213,8 +3075,6 @@
"iossimulator.12",
"iossimulator.11",
"iossimulator.10",
"iossimulator.9",
"iossimulator.8",
"iossimulator",
"ios",
"unix",
......@@ -3230,10 +3090,6 @@
"iossimulator.11",
"iossimulator.10-arm64",
"iossimulator.10",
"iossimulator.9-arm64",
"iossimulator.9",
"iossimulator.8-arm64",
"iossimulator.8",
"iossimulator-arm64",
"iossimulator",
"ios-arm64",
......@@ -3252,42 +3108,6 @@
"iossimulator.11",
"iossimulator.10-x64",
"iossimulator.10",
"iossimulator.9-x64",
"iossimulator.9",
"iossimulator.8-x64",
"iossimulator.8",
"iossimulator-x64",
"iossimulator",
"ios-x64",
"ios",
"unix-x64",
"unix",
"any",
"base"
],
"iossimulator.8": [
"iossimulator.8",
"iossimulator",
"ios",
"unix",
"any",
"base"
],
"iossimulator.8-arm64": [
"iossimulator.8-arm64",
"iossimulator.8",
"iossimulator-arm64",
"iossimulator",
"ios-arm64",
"ios",
"unix-arm64",
"unix",
"any",
"base"
],
"iossimulator.8-x64": [
"iossimulator.8-x64",
"iossimulator.8",
"iossimulator-x64",
"iossimulator",
"ios-x64",
......@@ -3297,32 +3117,29 @@
"any",
"base"
],
"iossimulator.8-x86": [
"iossimulator.8-x86",
"iossimulator.8",
"iossimulator-x86",
"iossimulator",
"ios-x86",
"ios",
"unix-x86",
"unix",
"any",
"base"
],
"iossimulator.9": [
"iossimulator.9",
"iossimulator.8",
"iossimulator.14": [
"iossimulator.14",
"iossimulator.13",
"iossimulator.12",
"iossimulator.11",
"iossimulator.10",
"iossimulator",
"ios",
"unix",
"any",
"base"
],
"iossimulator.9-arm64": [
"iossimulator.9-arm64",
"iossimulator.9",
"iossimulator.8-arm64",
"iossimulator.8",
"iossimulator.14-arm64": [
"iossimulator.14-arm64",
"iossimulator.14",
"iossimulator.13-arm64",
"iossimulator.13",
"iossimulator.12-arm64",
"iossimulator.12",
"iossimulator.11-arm64",
"iossimulator.11",
"iossimulator.10-arm64",
"iossimulator.10",
"iossimulator-arm64",
"iossimulator",
"ios-arm64",
......@@ -3332,11 +3149,17 @@
"any",
"base"
],
"iossimulator.9-x64": [
"iossimulator.9-x64",
"iossimulator.9",
"iossimulator.8-x64",
"iossimulator.8",
"iossimulator.14-x64": [
"iossimulator.14-x64",
"iossimulator.14",
"iossimulator.13-x64",
"iossimulator.13",
"iossimulator.12-x64",
"iossimulator.12",
"iossimulator.11-x64",
"iossimulator.11",
"iossimulator.10-x64",
"iossimulator.10",
"iossimulator-x64",
"iossimulator",
"ios-x64",
......@@ -3346,20 +3169,6 @@
"any",
"base"
],
"iossimulator.9-x86": [
"iossimulator.9-x86",
"iossimulator.9",
"iossimulator.8-x86",
"iossimulator.8",
"iossimulator-x86",
"iossimulator",
"ios-x86",
"ios",
"unix-x86",
"unix",
"any",
"base"
],
"linux": [
"linux",
"unix",
......
......@@ -1116,31 +1116,31 @@
},
"ios.10": {
"#import": [
"ios.9"
"ios"
]
},
"ios.10-arm": {
"#import": [
"ios.10",
"ios.9-arm"
"ios-arm"
]
},
"ios.10-arm64": {
"#import": [
"ios.10",
"ios.9-arm64"
"ios-arm64"
]
},
"ios.10-x64": {
"#import": [
"ios.10",
"ios.9-x64"
"ios-x64"
]
},
"ios.10-x86": {
"#import": [
"ios.10",
"ios.9-x86"
"ios-x86"
]
},
"ios.11": {
......@@ -1194,62 +1194,21 @@
"ios.12-x64"
]
},
"ios.8": {
"#import": [
"ios"
]
},
"ios.8-arm": {
"#import": [
"ios.8",
"ios-arm"
]
},
"ios.8-arm64": {
"#import": [
"ios.8",
"ios-arm64"
]
},
"ios.8-x64": {
"#import": [
"ios.8",
"ios-x64"
]
},
"ios.8-x86": {
"#import": [
"ios.8",
"ios-x86"
]
},
"ios.9": {
"#import": [
"ios.8"
]
},
"ios.9-arm": {
"#import": [
"ios.9",
"ios.8-arm"
]
},
"ios.9-arm64": {
"ios.14": {
"#import": [
"ios.9",
"ios.8-arm64"
"ios.13"
]
},
"ios.9-x64": {
"ios.14-arm64": {
"#import": [
"ios.9",
"ios.8-x64"
"ios.14",
"ios.13-arm64"
]
},
"ios.9-x86": {
"ios.14-x64": {
"#import": [
"ios.9",
"ios.8-x86"
"ios.14",
"ios.13-x64"
]
},
"iossimulator": {
......@@ -1277,25 +1236,25 @@
},
"iossimulator.10": {
"#import": [
"iossimulator.9"
"iossimulator"
]
},
"iossimulator.10-arm64": {
"#import": [
"iossimulator.10",
"iossimulator.9-arm64"
"iossimulator-arm64"
]
},
"iossimulator.10-x64": {
"#import": [
"iossimulator.10",
"iossimulator.9-x64"
"iossimulator-x64"
]
},
"iossimulator.10-x86": {
"#import": [
"iossimulator.10",
"iossimulator.9-x86"
"iossimulator-x86"
]
},
"iossimulator.11": {
......@@ -1349,50 +1308,21 @@
"iossimulator.12-x64"
]
},
"iossimulator.8": {
"#import": [
"iossimulator"
]
},
"iossimulator.8-arm64": {
"#import": [
"iossimulator.8",
"iossimulator-arm64"
]
},
"iossimulator.8-x64": {
"#import": [
"iossimulator.8",
"iossimulator-x64"
]
},
"iossimulator.8-x86": {
"#import": [
"iossimulator.8",
"iossimulator-x86"
]
},
"iossimulator.9": {
"#import": [
"iossimulator.8"
]
},
"iossimulator.9-arm64": {
"iossimulator.14": {
"#import": [
"iossimulator.9",
"iossimulator.8-arm64"
"iossimulator.13"
]
},
"iossimulator.9-x64": {
"iossimulator.14-arm64": {
"#import": [
"iossimulator.9",
"iossimulator.8-x64"
"iossimulator.14",
"iossimulator.13-arm64"
]
},
"iossimulator.9-x86": {
"iossimulator.14-x64": {
"#import": [
"iossimulator.9",
"iossimulator.8-x86"
"iossimulator.14",
"iossimulator.13-x64"
]
},
"linux": {
......
......@@ -83,23 +83,23 @@
<RuntimeGroup Include="ios">
<Parent>unix</Parent>
<Architectures>arm;x86</Architectures>
<Versions>8;9;10</Versions>
<Versions>10</Versions>
</RuntimeGroup>
<RuntimeGroup Include="ios">
<Parent>unix</Parent>
<Architectures>arm64;x64</Architectures>
<Versions>8;9;10;11;12;13</Versions>
<Versions>10;11;12;13;14</Versions>
</RuntimeGroup>
<RuntimeGroup Include="iossimulator">
<Parent>ios</Parent>
<Architectures>x86</Architectures>
<Versions>8;9;10</Versions>
<Versions>10</Versions>
</RuntimeGroup>
<RuntimeGroup Include="iossimulator">
<Parent>ios</Parent>
<Architectures>arm64;x64</Architectures>
<Versions>8;9;10;11;12;13</Versions>
<Versions>10;11;12;13;14</Versions>
</RuntimeGroup>
<!-- linux mint includes major version in Include because Parent is different for each major -->
......
......@@ -104,57 +104,49 @@ elif [[ "$__TargetOS" == Android && -z "$ROOTFS_DIR" ]]; then
exit 1
fi
elif [[ "$__TargetOS" == iOSSimulator ]]; then
__CMakeArgs="-DCMAKE_SYSTEM_NAME=iOS $__CMakeArgs"
# set default iOS simulator deployment target
# keep in sync with src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 $__CMakeArgs"
if [[ "$__BuildArch" == x64 ]]; then
# set default iOS simulator deployment target (8.0 is the minimum supported by Xcode 11)
# keep in sync with src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=8.0 -DCMAKE_OSX_ARCHITECTURES=\"x86_64\" $__CMakeArgs"
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"x86_64\" $__CMakeArgs"
elif [[ "$__BuildArch" == x86 ]]; then
# set default iOS simulator deployment target (8.0 is the minimum supported by Xcode 11)
# keep in sync with src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=8.0 -DCMAKE_OSX_ARCHITECTURES=\"i386\" $__CMakeArgs"
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"i386\" $__CMakeArgs"
elif [[ "$__BuildArch" == arm64 ]]; then
# set default iOS device deployment target
# keep in sync with src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=8.0 -DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
else
echo "Error: Unknown iOSSimulator architecture $__BuildArch."
exit 1
fi
elif [[ "$__TargetOS" == iOS ]]; then
__CMakeArgs="-DCMAKE_SYSTEM_NAME=iOS $__CMakeArgs"
# set default iOS device deployment target
# keep in sync with src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 $__CMakeArgs"
if [[ "$__BuildArch" == arm64 ]]; then
# set default iOS device deployment target
# keep in sync with src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_DEPLOYMENT_TARGET=8.0 -DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
elif [[ "$__BuildArch" == arm ]]; then
# set default iOS device deployment target
# keep in sync with src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_DEPLOYMENT_TARGET=8.0 -DCMAKE_OSX_ARCHITECTURES=\"armv7;armv7s\" $__CMakeArgs"
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"armv7;armv7s\" $__CMakeArgs"
else
echo "Error: Unknown iOS architecture $__BuildArch."
exit 1
fi
elif [[ "$__TargetOS" == tvOSSimulator ]]; then
__CMakeArgs="-DCMAKE_SYSTEM_NAME=tvOS $__CMakeArgs"
# set default tvOS device deployment target
# keep in sync with tvOSVersionMin in src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_OSX_DEPLOYMENT_TARGET=9.0 $__CMakeArgs"
# set default tvOS simulator deployment target
# keep in sync with src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_SYSTEM_NAME=tvOS -DCMAKE_OSX_SYSROOT=appletvsimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 $__CMakeArgs"
if [[ "$__BuildArch" == x64 ]]; then
__CMakeArgs="-DCMAKE_OSX_SYSROOT=appletvsimulator -DCMAKE_OSX_ARCHITECTURES=\"x86_64\" $__CMakeArgs"
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"x86_64\" $__CMakeArgs"
elif [[ "$__BuildArch" == arm64 ]]; then
__CMakeArgs="-DCMAKE_OSX_SYSROOT=appletvsimulator -DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
else
echo "Error: Unknown tvOSSimulator architecture $__BuildArch."
exit 1
fi
elif [[ "$__TargetOS" == tvOS ]]; then
__CMakeArgs="-DCMAKE_SYSTEM_NAME=tvOS $__CMakeArgs"
# set default tvOS device deployment target
# keep in sync with tvOSVersionMin in src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_OSX_DEPLOYMENT_TARGET=9.0 $__CMakeArgs"
# set default tvOS device deployment target
# keep in sync with src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_SYSTEM_NAME=tvOS -DCMAKE_OSX_SYSROOT=appletvos -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 $__CMakeArgs"
if [[ "$__BuildArch" == arm64 ]]; then
__CMakeArgs="-DCMAKE_OSX_SYSROOT=appletvos -DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
else
echo "Error: Unknown tvOS architecture $__BuildArch."
exit 1
......
......@@ -13,8 +13,8 @@
<PropertyGroup>
<!-- Minimum target OS version, keep in sync with src/libraries/Native/build-native.sh -->
<iOSVersionMin>8.0</iOSVersionMin>
<tvOSVersionMin>9.0</tvOSVersionMin>
<iOSVersionMin>10.0</iOSVersionMin>
<tvOSVersionMin>10.0</tvOSVersionMin>
<watchOSVersionMin>2.0</watchOSVersionMin>
<watchOS64_32VersionMin>5.1</watchOS64_32VersionMin>
<macOSVersionMin>10.13</macOSVersionMin>
......
......@@ -322,28 +322,49 @@ default_stderr_handler (const gchar *message)
}
#elif defined(HOST_IOS)
#include <asl.h>
#elif defined(HOST_IOS) || defined(HOST_TVOS) || defined(HOST_WATCHOS) || defined(HOST_MACCAT)
#include <os/log.h>
static int
to_asl_priority (GLogLevelFlags log_level)
to_os_log_priority (GLogLevelFlags log_level)
{
switch (log_level & G_LOG_LEVEL_MASK)
{
case G_LOG_LEVEL_ERROR: return ASL_LEVEL_CRIT;
case G_LOG_LEVEL_CRITICAL: return ASL_LEVEL_ERR;
case G_LOG_LEVEL_WARNING: return ASL_LEVEL_WARNING;
case G_LOG_LEVEL_MESSAGE: return ASL_LEVEL_NOTICE;
case G_LOG_LEVEL_INFO: return ASL_LEVEL_INFO;
case G_LOG_LEVEL_DEBUG: return ASL_LEVEL_DEBUG;
case G_LOG_LEVEL_ERROR: return OS_LOG_TYPE_ERROR;
case G_LOG_LEVEL_CRITICAL: return OS_LOG_TYPE_ERROR;
case G_LOG_LEVEL_WARNING: return OS_LOG_TYPE_DEFAULT;
case G_LOG_LEVEL_MESSAGE: return OS_LOG_TYPE_DEFAULT;
case G_LOG_LEVEL_INFO: return OS_LOG_TYPE_DEFAULT;
case G_LOG_LEVEL_DEBUG: return OS_LOG_TYPE_DEFAULT;
}
return ASL_LEVEL_ERR;
return OS_LOG_TYPE_ERROR;
}
static const char *
to_log_level_name (GLogLevelFlags log_level)
{
switch (log_level & G_LOG_LEVEL_MASK)
{
case G_LOG_LEVEL_ERROR: return "error";
case G_LOG_LEVEL_CRITICAL: return "critical";
case G_LOG_LEVEL_WARNING: return "warning";
case G_LOG_LEVEL_MESSAGE: return "message";
case G_LOG_LEVEL_INFO: return "info";
case G_LOG_LEVEL_DEBUG: return "debug";
}
return "unknown";
}
// keep in sync with mono_log_write_os_log
void
g_log_default_handler (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer unused_data)
{
asl_log (NULL, NULL, to_asl_priority (log_level), "%s", message);
os_log_with_type (OS_LOG_DEFAULT, to_os_log_priority (log_level), "%{public}s%{public}s%{public}s: %{public}s",
log_domain != NULL ? log_domain : "",
log_domain != NULL ? ": " : "",
to_log_level_name(log_level),
message);
if (log_level & fatal)
g_assert_abort ();
}
......@@ -351,13 +372,13 @@ g_log_default_handler (const gchar *log_domain, GLogLevelFlags log_level, const
static void
default_stdout_handler (const gchar *message)
{
asl_log (NULL, NULL, ASL_LEVEL_WARNING, "%s", message);
os_log (OS_LOG_DEFAULT, "%{public}s", message);
}
static void
default_stderr_handler (const gchar *message)
{
asl_log (NULL, NULL, ASL_LEVEL_WARNING, "%s", message);
os_log_error (OS_LOG_DEFAULT, "%{public}s", message);
}
#else
......
......@@ -5,106 +5,61 @@
*/
#include <config.h>
#if (defined(HOST_WATCHOS) && (__WATCH_OS_VERSION_MIN_REQUIRED >= __WATCHOS_3_0)) || defined(HOST_MACCAT)
/* emitted by clang:
* > /Users/lewurm/work/mono-watch4/mono/utils/mono-log-darwin.c:35:2: error: 'asl_log' is \
* > deprecated: first deprecated in watchOS 3.0 - os_log(3) has replaced \
* > asl(3) [-Werror,-Wdeprecated-declarations]
*/
/* untested stuff: */
#if defined(HOST_IOS) || defined(HOST_TVOS) || defined(HOST_WATCHOS) || defined(HOST_MACCAT)
#include <os/log.h>
#include "mono-logger-internals.h"
void
mono_log_open_asl (const char *path, void *userData)
{
}
void
mono_log_write_asl (const char *log_domain, GLogLevelFlags level, mono_bool hdr, const char *message)
mono_log_open_os_log (const char *path, void *userData)
{
switch (level & G_LOG_LEVEL_MASK)
{
case G_LOG_LEVEL_MESSAGE:
os_log (OS_LOG_DEFAULT, "%s%s%s\n",
log_domain != NULL ? log_domain : "",
log_domain != NULL ? ": " : "",
message);
break;
case G_LOG_LEVEL_INFO:
os_log_info (OS_LOG_DEFAULT, "%s%s%s\n",
log_domain != NULL ? log_domain : "",
log_domain != NULL ? ": " : "",
message);
break;
case G_LOG_LEVEL_DEBUG:
os_log_debug (OS_LOG_DEFAULT, "%s%s%s\n",
log_domain != NULL ? log_domain : "",
log_domain != NULL ? ": " : "",
message);
break;
case G_LOG_LEVEL_ERROR:
case G_LOG_LEVEL_WARNING:
os_log_error (OS_LOG_DEFAULT, "%s%s%s\n",
log_domain != NULL ? log_domain : "",
log_domain != NULL ? ": " : "",
message);
case G_LOG_LEVEL_CRITICAL:
default:
os_log_fault (OS_LOG_DEFAULT, "%s%s%s\n",
log_domain != NULL ? log_domain : "",
log_domain != NULL ? ": " : "",
message);
break;
}
if (level & G_LOG_LEVEL_ERROR)
abort();
}
void
mono_log_close_asl ()
{
}
#elif defined(HOST_IOS)
#include <asl.h>
#include "mono-logger-internals.h"
static int
to_asl_priority (GLogLevelFlags log_level)
to_os_log_priority (GLogLevelFlags log_level)
{
switch (log_level & G_LOG_LEVEL_MASK)
{
case G_LOG_LEVEL_ERROR: return ASL_LEVEL_CRIT;
case G_LOG_LEVEL_CRITICAL: return ASL_LEVEL_ERR;
case G_LOG_LEVEL_WARNING: return ASL_LEVEL_WARNING;
case G_LOG_LEVEL_MESSAGE: return ASL_LEVEL_NOTICE;
case G_LOG_LEVEL_INFO: return ASL_LEVEL_INFO;
case G_LOG_LEVEL_DEBUG: return ASL_LEVEL_DEBUG;
case G_LOG_LEVEL_ERROR: return OS_LOG_TYPE_ERROR;
case G_LOG_LEVEL_CRITICAL: return OS_LOG_TYPE_ERROR;
case G_LOG_LEVEL_WARNING: return OS_LOG_TYPE_DEFAULT;
case G_LOG_LEVEL_MESSAGE: return OS_LOG_TYPE_DEFAULT;
case G_LOG_LEVEL_INFO: return OS_LOG_TYPE_DEFAULT;
case G_LOG_LEVEL_DEBUG: return OS_LOG_TYPE_DEFAULT;
}
return ASL_LEVEL_ERR;
return OS_LOG_TYPE_ERROR;
}
void
mono_log_open_asl (const char *path, void *userData)
static const char *
to_log_level_name (GLogLevelFlags log_level)
{
switch (log_level & G_LOG_LEVEL_MASK)
{
case G_LOG_LEVEL_ERROR: return "error";
case G_LOG_LEVEL_CRITICAL: return "critical";
case G_LOG_LEVEL_WARNING: return "warning";
case G_LOG_LEVEL_MESSAGE: return "message";
case G_LOG_LEVEL_INFO: return "info";
case G_LOG_LEVEL_DEBUG: return "debug";
}
return "unknown";
}
// keep in sync with g_log_default_handler
void
mono_log_write_asl (const char *log_domain, GLogLevelFlags level, mono_bool hdr, const char *message)
mono_log_write_os_log (const char *log_domain, GLogLevelFlags level, mono_bool hdr, const char *message)
{
asl_log (NULL, NULL, to_asl_priority (level), "%s%s%s\n",
os_log_with_type (OS_LOG_DEFAULT, to_os_log_priority (level), "%{public}s%{public}s%{public}s: %{public}s",
log_domain != NULL ? log_domain : "",
log_domain != NULL ? ": " : "",
to_log_level_name(level),
message);
if (level & G_LOG_LEVEL_ERROR)
g_assert_abort ();
abort();
}
void
mono_log_close_asl ()
mono_log_close_os_log ()
{
}
......
......@@ -151,10 +151,10 @@ void mono_log_write_logcat (const char *log_domain, GLogLevelFlags level, mono_b
void mono_log_close_logcat (void);
#endif
#if defined(HOST_IOS)
void mono_log_open_asl (const char *path, void *userData);
void mono_log_write_asl (const char *log_domain, GLogLevelFlags level, mono_bool hdr, const char *message);
void mono_log_close_asl (void);
#if defined(HOST_IOS) || defined(HOST_TVOS) || defined(HOST_WATCHOS) || defined(HOST_MACCAT)
void mono_log_open_os_log (const char *path, void *userData);
void mono_log_write_os_log (const char *log_domain, GLogLevelFlags level, mono_bool hdr, const char *message);
void mono_log_close_os_log (void);
#endif
void mono_log_open_recorder (const char *path, void *userData);
......
......@@ -137,10 +137,10 @@ mono_trace_set_logdest_string (const char *dest)
logger.writer = mono_log_write_logcat;
logger.closer = mono_log_close_logcat;
logger.dest = (char*) dest;
#elif defined (HOST_IOS)
logger.opener = mono_log_open_asl;
logger.writer = mono_log_write_asl;
logger.closer = mono_log_close_asl;
#elif defined(HOST_IOS) || defined(HOST_TVOS) || defined(HOST_WATCHOS) || defined(HOST_MACCAT)
logger.opener = mono_log_open_os_log;
logger.writer = mono_log_write_os_log;
logger.closer = mono_log_close_os_log;
logger.dest = (char*) dest;
#else
if (dest && !strcmp("flight-recorder", dest)) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册