Skip to content

Commit 85c11a0

Browse files
Normalize macOS version (#61)
Co-authored-by: Tim Besard <[email protected]>
1 parent bdf1edf commit 85c11a0

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ObjectiveC"
22
uuid = "e86c9b32-1129-44ac-8ea0-90d5bb39ded9"
3-
version = "3.4.1"
3+
version = "3.4.2"
44

55
[deps]
66
CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82"

src/version.jl

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ end
2323
const darwin_version = OncePerProcess{VersionNumber}() do
2424
_syscall_version("kern.osrelease")
2525
end
26-
const macos_version = OncePerProcess{VersionNumber}() do
26+
const _macos_version = OncePerProcess{VersionNumber}() do
2727
_syscall_version("kern.osproductversion")
2828
end
2929
else
@@ -35,15 +35,24 @@ else
3535
_darwin_version[]
3636
end
3737

38-
const _macos_version = Ref{VersionNumber}()
39-
function macos_version()
40-
if !isassigned(_macos_version)
41-
_macos_version[] = _syscall_version("kern.osproductversion")
38+
const __macos_version = Ref{VersionNumber}()
39+
function _macos_version()
40+
if !isassigned(__macos_version)
41+
__macos_version[] = _syscall_version("kern.osproductversion")
4242
end
43-
_macos_version[]
43+
__macos_version[]
4444
end
4545
end
4646

47+
function macos_version(normalize=true)
48+
ver = _macos_version()
49+
if normalize && ver.major == 16
50+
# on older SDKs, macOS Tahoe (26) is reported as v16.
51+
# normalize this to v26 regardless of the SDK to simplify use.
52+
return VersionNumber(26, ver.minor, ver.patch)
53+
end
54+
return ver
55+
end
4756
@doc """
4857
ObjectiveC.darwin_version()::VersionNumber
4958

0 commit comments

Comments
 (0)