aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/linkers.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/mesonbuild/linkers.py b/mesonbuild/linkers.py
index 3bc7f89..c80720d 100644
--- a/mesonbuild/linkers.py
+++ b/mesonbuild/linkers.py
@@ -868,3 +868,17 @@ class SolarisDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker):
is_shared_module: bool) -> typing.List[str]:
sostr = '' if soversion is None else '.' + soversion
return ['-Wl,-soname,{}{}.{}{}'.format(prefix, shlib_name, suffix, sostr)]
+
+
+class OptlinkDynamicLinker(VisualStudioLikeLinkerMixin, DynamicLinker):
+
+ """Digital Mars dynamic linker for windows."""
+
+ def __init__(self, for_machine: mesonlib.MachineChoice,
+ *, version: str = 'unknown version'):
+ # Use optlink instead of link so we don't interfer with other link.exe
+ # implementations.
+ super().__init__(['optlink.exe'], for_machine, 'optlink', version=version)
+
+ def get_allow_undefined_args(self) -> typing.List[str]:
+ return []