1
- export macos_version, nbits, proc_family, exeext, dlext
1
+ export macos_version, macos_kernel_version, nbits, proc_family, exeext, dlext
2
2
3
3
function macos_version (kernel_version:: Integer )
4
4
# See https://en.wikipedia.org/wiki/Darwin_(operating_system)#Release_history
@@ -13,9 +13,35 @@ function macos_version(kernel_version::Integer)
13
13
19 => " 10.15" ,
14
14
20 => " 11.0" ,
15
15
21 => " 12.0" ,
16
+ 22 => " 13.0" ,
17
+ 23 => " 14.0" ,
18
+ 24 => " 15.0" ,
16
19
)
17
20
return get (kernel_to_macos, kernel_version, nothing )
18
21
end
22
+ macos_version (v:: VersionNumber ) = macos_version (v. major)
23
+
24
+ """
25
+ macos_kernel_version(v::VersionNumber)
26
+
27
+ Return the kernel version from a macOS VersionNumber, e.g. when given
28
+ `10.10`` return `14`. If given a VersionNumber outside of what we
29
+ understand, return the closest valid number.
30
+ """
31
+ function macos_kernel_version (v:: VersionNumber )
32
+ if v. major < 10
33
+ return 12
34
+ elseif v. major == 10
35
+ if v. minor <= 8
36
+ return 12
37
+ else
38
+ return min (12 + (v. minor - 8 ), 19 )
39
+ end
40
+ else
41
+ return 20 + (v. major - 11 )
42
+ end
43
+ end
44
+ macos_kernel_version (s:: String ) = macos_kernel_version (VersionNumber (s))
19
45
20
46
"""
21
47
macos_version(p::AbstractPlatform)
@@ -38,6 +64,16 @@ function macos_version(p::AbstractPlatform)
38
64
return macos_version (os_version (p))
39
65
end
40
66
67
+ function macos_kernel_version (p:: AbstractPlatform )
68
+ if os (p) != " macos"
69
+ return nothing
70
+ end
71
+ if os_version (p) === nothing
72
+ return nothing
73
+ end
74
+ return Int (os_version (p). major)
75
+ end
76
+
41
77
42
78
"""
43
79
nbits(p::AbstractPlatform)
0 commit comments