From 5b83894b77d4946b66eea18f5bb44e53127869f5 Mon Sep 17 00:00:00 2001 From: Christoph Behle Date: Sat, 16 Dec 2017 15:07:08 +0100 Subject: More version information for D --- mesonbuild/compilers/d.py | 16 ++++++++-------- mesonbuild/environment.py | 7 ++++--- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/mesonbuild/compilers/d.py b/mesonbuild/compilers/d.py index 9739f28..9681a9f 100644 --- a/mesonbuild/compilers/d.py +++ b/mesonbuild/compilers/d.py @@ -42,9 +42,9 @@ d_feature_args = {'gcc': {'unittest': '-funittest', } class DCompiler(Compiler): - def __init__(self, exelist, version, is_cross): + def __init__(self, exelist, version, is_cross, **kwargs): self.language = 'd' - super().__init__(exelist, version) + super().__init__(exelist, version, **kwargs) self.id = 'unknown' self.is_cross = is_cross @@ -224,8 +224,8 @@ class DCompiler(Compiler): class GnuDCompiler(DCompiler): - def __init__(self, exelist, version, is_cross): - DCompiler.__init__(self, exelist, version, is_cross) + def __init__(self, exelist, version, is_cross, **kwargs): + DCompiler.__init__(self, exelist, version, is_cross, **kwargs) self.id = 'gcc' default_warn_args = ['-Wall', '-Wdeprecated'] self.warn_args = {'1': default_warn_args, @@ -267,8 +267,8 @@ class GnuDCompiler(DCompiler): class LLVMDCompiler(DCompiler): - def __init__(self, exelist, version, is_cross): - DCompiler.__init__(self, exelist, version, is_cross) + def __init__(self, exelist, version, is_cross, **kwargs): + DCompiler.__init__(self, exelist, version, is_cross, **kwargs) self.id = 'llvm' self.base_options = ['b_coverage', 'b_colorout'] @@ -321,8 +321,8 @@ class LLVMDCompiler(DCompiler): class DmdDCompiler(DCompiler): - def __init__(self, exelist, version, is_cross): - DCompiler.__init__(self, exelist, version, is_cross) + def __init__(self, exelist, version, is_cross, **kwargs): + DCompiler.__init__(self, exelist, version, is_cross, **kwargs) self.id = 'dmd' self.base_options = ['b_coverage', 'b_colorout'] diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py index 8597cf0..ea4a54e 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py @@ -723,12 +723,13 @@ class Environment: except OSError: raise EnvironmentException('Could not execute D compiler "%s"' % ' '.join(exelist)) version = search_version(out) + full_version = out.split('\n', 1)[0] if 'LLVM D compiler' in out: - return compilers.LLVMDCompiler(exelist, version, is_cross) + return compilers.LLVMDCompiler(exelist, version, is_cross, full_version=full_version) elif 'gdc' in out: - return compilers.GnuDCompiler(exelist, version, is_cross) + return compilers.GnuDCompiler(exelist, version, is_cross, full_version=full_version) elif 'Digital Mars' in out: - return compilers.DmdDCompiler(exelist, version, is_cross) + return compilers.DmdDCompiler(exelist, version, is_cross, full_version=full_version) raise EnvironmentException('Unknown compiler "' + ' '.join(exelist) + '"') def detect_swift_compiler(self): -- cgit v1.1