diff options
author | Andres Freund <andres@anarazel.de> | 2023-12-01 16:52:19 -0800 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2023-12-06 23:20:09 +0200 |
commit | 7148b4f207bd7a09d9191abe7ffee8d7996c4634 (patch) | |
tree | 064ead23c010899e56ec8a42b6f692132942b0f6 /mesonbuild/linkers/linkers.py | |
parent | 39ecfc2d542ae7e248119b5dcb6f0a01493e2ae6 (diff) | |
download | meson-7148b4f207bd7a09d9191abe7ffee8d7996c4634.zip meson-7148b4f207bd7a09d9191abe7ffee8d7996c4634.tar.gz meson-7148b4f207bd7a09d9191abe7ffee8d7996c4634.tar.bz2 |
macos: Do not emit -undefined,error for Sonoma compatibility
Emitting -undefined,error was correct,, 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. Of course that only works as long
as nothing else injects -undefined dynamic_lookup, or such. Complain to Apple.
Fixes: https://github.com/mesonbuild/meson/issues/12450
Diffstat (limited to 'mesonbuild/linkers/linkers.py')
-rw-r--r-- | mesonbuild/linkers/linkers.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/mesonbuild/linkers/linkers.py b/mesonbuild/linkers/linkers.py index dbb5e57..ec8edba 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') |