|
@@ -1,6 +1,6 @@
|
|
|
import os
|
|
|
import sys
|
|
|
-from methods import detect_darwin_sdk_path
|
|
|
+from methods import detect_darwin_sdk_path, get_compiler_version, is_vanilla_clang
|
|
|
|
|
|
|
|
|
def is_active():
|
|
@@ -88,6 +88,13 @@ def configure(env):
|
|
|
env.Append(CCFLAGS=["-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 [-1, -1]
|
|
|
+ vanilla = is_vanilla_clang(env)
|
|
|
+
|
|
|
+ # Workaround for Xcode 15 linker bug.
|
|
|
+ if not vanilla and cc_version[0] == 15 and cc_version[1] == 0:
|
|
|
+ env.Prepend(LINKFLAGS=["-ld_classic"])
|
|
|
+
|
|
|
if not "osxcross" in env: # regular native build
|
|
|
if env["macports_clang"] != "no":
|
|
|
mpprefix = os.environ.get("MACPORTS_PREFIX", "/opt/local")
|