summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/linkers/linkers.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/mesonbuild/linkers/linkers.py b/mesonbuild/linkers/linkers.py
index dbb5e57aa..ec8edba11 100644
--- a/mesonbuild/linkers/linkers.py
+++ b/mesonbuild/linkers/linkers.py
@@ -792,7 +792,15 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker):
return ['-fsanitize=' + value]
def no_undefined_args(self) -> T.List[str]:
- return self._apply_prefix('-undefined,error')
+ # We used to emit -undefined,error, but starting with Xcode 15 /
+ # Sonoma, doing so triggers "ld: warning: -undefined error is
+ # deprecated". Given that "-undefined error" is documented to be the
+ # linker's default behaviour, this warning seems ill advised. However,
+ # it does create a lot of noise. As "-undefined error" is the default
+ # behaviour, the least bad way to deal with this seems to be to just
+ # not emit anything here. Of course that only works as long as nothing
+ # else injects -undefined dynamic_lookup, or such. Complain to Apple.
+ return []
def headerpad_args(self) -> T.List[str]:
return self._apply_prefix('-headerpad_max_install_names')