diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2020-03-18 11:11:06 -0700 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2020-03-19 19:04:43 +0200 |
commit | e1060f577270528ca548a47aa3d77016e191d8ad (patch) | |
tree | bb5170bf13ef6874b0a97b848b6a000eb648f2fc /mesonbuild/compilers/d.py | |
parent | 32b4bfaa74b628cb02c6fa2f776caeb1b8211fc5 (diff) | |
download | meson-e1060f577270528ca548a47aa3d77016e191d8ad.zip meson-e1060f577270528ca548a47aa3d77016e191d8ad.tar.gz meson-e1060f577270528ca548a47aa3d77016e191d8ad.tar.bz2 |
compilers: Link D runtime/libphobs dynamically on !Windows
Fixes: #6786
Diffstat (limited to 'mesonbuild/compilers/d.py')
-rw-r--r-- | mesonbuild/compilers/d.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/mesonbuild/compilers/d.py b/mesonbuild/compilers/d.py index eb3a0f3..a86f254 100644 --- a/mesonbuild/compilers/d.py +++ b/mesonbuild/compilers/d.py @@ -678,6 +678,12 @@ class GnuDCompiler(GnuCompiler, DCompiler): def get_allow_undefined_link_args(self) -> T.List[str]: return self.linker.get_allow_undefined_args() + def get_linker_always_args(self) -> T.List[str]: + args = super().get_linker_always_args() + if self.info.is_windows(): + return args + return args + ['-shared-libphobos'] + class LLVMDCompiler(DmdLikeCompilerMixin, DCompiler): @@ -721,6 +727,12 @@ class LLVMDCompiler(DmdLikeCompilerMixin, DCompiler): def use_linker_args(cls, linker: str) -> T.List[str]: return ['-linker={}'.format(linker)] + def get_linker_always_args(self) -> T.List[str]: + args = super().get_linker_always_args() + if self.info.is_windows(): + return args + return args + ['-link-defaultlib-shared'] + class DmdDCompiler(DmdLikeCompilerMixin, DCompiler): @@ -785,3 +797,9 @@ class DmdDCompiler(DmdLikeCompilerMixin, DCompiler): def can_linker_accept_rsp(self) -> bool: return False + + def get_linker_always_args(self) -> T.List[str]: + args = super().get_linker_always_args() + if self.info.is_windows(): + return args + return args + ['-defaultlib=phobos2', '-debuglib=phobos2'] |