aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/d.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2019-08-27 14:50:10 -0700
committerJussi Pakkanen <jpakkane@gmail.com>2019-08-30 00:01:32 +0300
commit0efab591da210418e0d618449be2f9462d5d58e8 (patch)
treeb2fb1641b336c8262b1ec2e4da5d6cec12046241 /mesonbuild/compilers/d.py
parent3256e7ea63edb8508d1a2aac45da02e5c452df2c (diff)
downloadmeson-0efab591da210418e0d618449be2f9462d5d58e8.zip
meson-0efab591da210418e0d618449be2f9462d5d58e8.tar.gz
meson-0efab591da210418e0d618449be2f9462d5d58e8.tar.bz2
compilers: Move the compiler argument to proxy linker flags to the compiler class
Instead of the DynamicLinker returning a hardcoded value like `-Wl,-foo`, it now is passed a value that could be '-Wl,', or could be something '-Xlinker=' This makes a few things cleaner, and will make it possible to fix using clang (not clang-cl) on windows, where it invokes either link.exe or lld-link.exe instead of a gnu-ld compatible linker.
Diffstat (limited to 'mesonbuild/compilers/d.py')
-rw-r--r--mesonbuild/compilers/d.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/mesonbuild/compilers/d.py b/mesonbuild/compilers/d.py
index 18e3bf9..5e0c173 100644
--- a/mesonbuild/compilers/d.py
+++ b/mesonbuild/compilers/d.py
@@ -67,6 +67,8 @@ dmd_optimization_args = {'0': [],
class DmdLikeCompilerMixin:
+ LINKER_PREFIX = '-L'
+
def get_output_args(self, target):
return ['-of=' + target]
@@ -577,6 +579,10 @@ class DCompiler(Compiler):
class GnuDCompiler(DCompiler, GnuCompiler):
+
+ # we mostly want DCompiler, but that gives us the Compiler.LINKER_PREFIX instead
+ LINKER_PREFIX = GnuCompiler.LINKER_PREFIX
+
def __init__(self, exelist, version, for_machine: MachineChoice, arch, **kwargs):
DCompiler.__init__(self, exelist, version, for_machine, arch, **kwargs)
self.id = 'gcc'