aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen <benwaffle@users.noreply.github.com>2017-08-01 11:22:17 +0100
committerJussi Pakkanen <jpakkane@gmail.com>2017-08-01 06:22:17 -0400
commit0ed0bcce4902db366d74a52794f7e71e73a47d41 (patch)
tree335c48f0816a45f8abf7ebc8e7203d86182507e4
parentece4ce887242b572d7d27bc72497d007b2b75fdc (diff)
downloadmeson-0ed0bcce4902db366d74a52794f7e71e73a47d41.zip
meson-0ed0bcce4902db366d74a52794f7e71e73a47d41.tar.gz
meson-0ed0bcce4902db366d74a52794f7e71e73a47d41.tar.bz2
Vala: enable colored warning and error output (#2142)
-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)