aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/backend/ninjabackend.py1
-rw-r--r--mesonbuild/compilers/vala.py8
2 files changed, 8 insertions, 1 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index f77d2b1..287b683 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1094,6 +1094,7 @@ int dummy;
valac_outputs.append(vala_c_file)
args = self.generate_basic_compiler_args(target, valac)
+ args += valac.get_colorout_args(self.environment.coredata.base_options.get('b_colorout').value)
# Tell Valac to output everything in our private directory. Sadly this
# means it will also preserve the directory components of Vala sources
# found inside the build tree (generated sources).
diff --git a/mesonbuild/compilers/vala.py b/mesonbuild/compilers/vala.py
index 21c040c..9da9b81 100644
--- a/mesonbuild/compilers/vala.py
+++ b/mesonbuild/compilers/vala.py
@@ -15,7 +15,7 @@
import os.path
from .. import mlog
-from ..mesonlib import EnvironmentException
+from ..mesonlib import EnvironmentException, version_compare
from .compilers import Compiler
@@ -26,6 +26,7 @@ class ValaCompiler(Compiler):
self.version = version
self.id = 'valac'
self.is_cross = False
+ self.base_options = ['b_colorout']
def name_string(self):
return ' '.join(self.exelist)
@@ -54,6 +55,11 @@ class ValaCompiler(Compiler):
def get_werror_args(self):
return ['--fatal-warnings']
+ def get_colorout_args(self, colortype):
+ if version_compare(self.version, '>=0.37.1'):
+ return ['--color=' + colortype]
+ return []
+
def sanity_check(self, work_dir, environment):
code = 'class MesonSanityCheck : Object { }'
args = self.get_cross_extra_flags(environment, link=False)