aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/linkers.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2019-08-12 15:32:02 -0700
committerDylan Baker <dylan@pnwbakers.com>2019-08-14 13:13:23 -0700
commit4e74867f4b14672818249256238396607eb6670c (patch)
tree91251d44caef25be8a2aa1c41aa9381152909e8b /mesonbuild/linkers.py
parent1bb5d53b5ade7aa592e48a9804d48455d0f88952 (diff)
downloadmeson-4e74867f4b14672818249256238396607eb6670c.zip
meson-4e74867f4b14672818249256238396607eb6670c.tar.gz
meson-4e74867f4b14672818249256238396607eb6670c.tar.bz2
linkers: Add DMDs optlink
Diffstat (limited to 'mesonbuild/linkers.py')
-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 []