diff --git a/docs/markdown/Builtin-options.md b/docs/markdown/Builtin-options.md index ffbab47d879d..d41dfabe3cde 100644 --- a/docs/markdown/Builtin-options.md +++ b/docs/markdown/Builtin-options.md @@ -262,8 +262,7 @@ with `b_asneeded`, so that option will be silently disabled. [[shared_module]]s will not have bitcode embedded because `-Wl,-bitcode_bundle` is incompatible with -both `-bundle` and `-Wl,-undefined,dynamic_lookup` which are necessary -for shared modules to work. +`-Wl,-undefined,dynamic_lookup` which is necessary for shared modules to work. ## Compiler options diff --git a/mesonbuild/linkers/linkers.py b/mesonbuild/linkers/linkers.py index 0dc2c0bf599d..8efc6e74478a 100644 --- a/mesonbuild/linkers/linkers.py +++ b/mesonbuild/linkers/linkers.py @@ -796,7 +796,7 @@ def get_allow_undefined_args(self) -> T.List[str]: return self._apply_prefix('-undefined,dynamic_lookup') def get_std_shared_module_args(self, target: 'BuildTarget') -> T.List[str]: - return ['-bundle'] + self._apply_prefix('-undefined,dynamic_lookup') + return ['-dynamiclib'] + self._apply_prefix('-undefined,dynamic_lookup') def get_pie_args(self) -> T.List[str]: return []