[macOS] Workaround Xcode 15 linker bug.
(cherry picked from commit 6da8c7a662
)
This commit is contained in:
parent
94dfa4eaf9
commit
a4c041b6b6
|
@ -1,6 +1,6 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from methods import detect_darwin_sdk_path
|
from methods import detect_darwin_sdk_path, get_compiler_version, is_vanilla_clang
|
||||||
from platform_methods import detect_arch
|
from platform_methods import detect_arch
|
||||||
|
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
@ -119,6 +119,22 @@ def configure(env: "Environment"):
|
||||||
env.Append(CCFLAGS=["-arch", "x86_64", "-mmacosx-version-min=10.13"])
|
env.Append(CCFLAGS=["-arch", "x86_64", "-mmacosx-version-min=10.13"])
|
||||||
env.Append(LINKFLAGS=["-arch", "x86_64", "-mmacosx-version-min=10.13"])
|
env.Append(LINKFLAGS=["-arch", "x86_64", "-mmacosx-version-min=10.13"])
|
||||||
|
|
||||||
|
cc_version = get_compiler_version(env) or {
|
||||||
|
"major": None,
|
||||||
|
"minor": None,
|
||||||
|
"patch": None,
|
||||||
|
"metadata1": None,
|
||||||
|
"metadata2": None,
|
||||||
|
"date": None,
|
||||||
|
}
|
||||||
|
cc_version_major = int(cc_version["major"] or -1)
|
||||||
|
cc_version_minor = int(cc_version["minor"] or -1)
|
||||||
|
vanilla = is_vanilla_clang(env)
|
||||||
|
|
||||||
|
# Workaround for Xcode 15 linker bug.
|
||||||
|
if not vanilla and cc_version_major == 15 and cc_version_minor == 0:
|
||||||
|
env.Prepend(LINKFLAGS=["-ld_classic"])
|
||||||
|
|
||||||
env.Append(CCFLAGS=["-fobjc-arc"])
|
env.Append(CCFLAGS=["-fobjc-arc"])
|
||||||
|
|
||||||
if not "osxcross" in env: # regular native build
|
if not "osxcross" in env: # regular native build
|
||||||
|
|
Loading…
Reference in New Issue