aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Poirier-Morency <guillaumepoiriermorency@gmail.com>2016-10-26 12:13:36 -0400
committerJussi Pakkanen <jpakkane@gmail.com>2017-04-22 21:56:43 +0300
commitaa486f5bb2b962ee6f5f65cabe05bb33f92ebead (patch)
tree991cf99ef581d84fc60f3316415598286f96c1b6
parent33b5ddf35e4c3f7a651f3fff13b0c4227c87e225 (diff)
downloadmeson-aa486f5bb2b962ee6f5f65cabe05bb33f92ebead.zip
meson-aa486f5bb2b962ee6f5f65cabe05bb33f92ebead.tar.gz
meson-aa486f5bb2b962ee6f5f65cabe05bb33f92ebead.tar.bz2
vala: Add 'VALAFLAGS' to considered environment variables
Fix precedence of arguments for Vala tasks and include those considered external (i.e. '-Dvala_args' and 'VALAFLAGS').
-rw-r--r--mesonbuild/backend/ninjabackend.py9
-rw-r--r--mesonbuild/environment.py10
2 files changed, 13 insertions, 6 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index db136c7..cc02e5d 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1060,10 +1060,15 @@ int dummy;
vala_c_src.append(vala_c_file)
valac_outputs.append(vala_c_file)
+ # TODO: Use self.generate_basic_compiler_args to get something more
+ # consistent Until then, we should be careful to preserve the
+ # precedence of arguments if it changes upstream.
args = []
- args += self.build.get_global_args(valac)
- args += self.build.get_project_args(valac, target.subproject)
args += valac.get_buildtype_args(self.get_option_for_target('buildtype', target))
+ args += self.build.get_project_args(valac, target.subproject)
+ args += self.build.get_global_args(valac)
+ args += self.environment.coredata.external_args[valac.get_language()]
+
# 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/environment.py b/mesonbuild/environment.py
index cb28897..61425a4 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -809,16 +809,18 @@ def get_args_from_envvars(compiler):
if hasattr(compiler, 'get_linker_exelist'):
compiler_is_linker = (compiler.get_exelist() == compiler.get_linker_exelist())
- if lang not in ('c', 'cpp', 'objc', 'objcpp', 'fortran', 'd'):
- return [], [], []
-
# Compile flags
cflags_mapping = {'c': 'CFLAGS',
'cpp': 'CXXFLAGS',
'objc': 'OBJCFLAGS',
'objcpp': 'OBJCXXFLAGS',
'fortran': 'FFLAGS',
- 'd': 'DFLAGS'}
+ 'd': 'DFLAGS',
+ 'vala': 'VALAFLAGS'}
+
+ if lang not in cflags_mapping.keys():
+ return [], [], []
+
compile_flags = os.environ.get(cflags_mapping[lang], '')
log_var(cflags_mapping[lang], compile_flags)
compile_flags = shlex.split(compile_flags)