|
15 | 15 | parse(VersionNumber, verstr) |
16 | 16 | end |
17 | 17 |
|
18 | | -const _darwin_version = Ref{VersionNumber}() |
19 | | -""" |
| 18 | +@static if isdefined(Base, :OncePerProcess) # VERSION >= v"1.12.0-DEV.1421" |
| 19 | + const darwin_version = OncePerProcess{VersionNumber}() do |
| 20 | + _syscall_version("kern.osrelease") |
| 21 | + end |
| 22 | + const macos_version = OncePerProcess{VersionNumber}() do |
| 23 | + _syscall_version("kern.osproductversion") |
| 24 | + end |
| 25 | +else |
| 26 | + const _darwin_version = Ref{VersionNumber}() |
| 27 | + function darwin_version() |
| 28 | + if !isassigned(_darwin_version) |
| 29 | + _darwin_version[] = _syscall_version("kern.osrelease") |
| 30 | + end |
| 31 | + _darwin_version[] |
| 32 | + end |
| 33 | + |
| 34 | + const _macos_version = Ref{VersionNumber}() |
| 35 | + function macos_version() |
| 36 | + if !isassigned(_macos_version) |
| 37 | + _macos_version[] = _syscall_version("kern.osproductversion") |
| 38 | + end |
| 39 | + _macos_version[] |
| 40 | + end |
| 41 | +end |
| 42 | + |
| 43 | +@doc """ |
20 | 44 | Metal.darwin_version() -> VersionNumber |
21 | 45 |
|
22 | 46 | Returns the host Darwin kernel version. |
23 | 47 |
|
24 | 48 | See also [`Metal.macos_version`](@ref). |
25 | | -""" |
26 | | -function darwin_version() |
27 | | - if !isassigned(_darwin_version) |
28 | | - _darwin_version[] = _syscall_version("kern.osrelease") |
29 | | - end |
30 | | - _darwin_version[] |
31 | | -end |
| 49 | +""" darwin_version |
32 | 50 |
|
33 | | -const _macos_version = Ref{VersionNumber}() |
34 | | -""" |
| 51 | +@doc """ |
35 | 52 | Metal.macos_version() -> VersionNumber |
36 | 53 |
|
37 | 54 | Returns the host macOS version. |
38 | 55 |
|
39 | 56 | See also [`Metal.darwin_version`](@ref). |
40 | | -""" |
41 | | -function macos_version() |
42 | | - if !isassigned(_macos_version) |
43 | | - _macos_version[] = _syscall_version("kern.osproductversion") |
44 | | - end |
45 | | - _macos_version[] |
46 | | -end |
| 57 | +""" macos_version |
47 | 58 |
|
48 | 59 |
|
49 | 60 | ## support queries |
|
0 commit comments