diff options
-rw-r--r-- | mesonbuild/backend/backends.py | 13 | ||||
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 23 | ||||
-rw-r--r-- | mesonbuild/compilers.py | 9 |
3 files changed, 22 insertions, 23 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index 419d04f..b903f4c 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -419,7 +419,18 @@ class Backend: # NOTE: We must preserve the order in which external deps are # specified, so we reverse the list before iterating over it. for dep in reversed(target.get_external_deps()): - commands += dep.get_compile_args() + if compiler.language == 'vala': + if isinstance(dep, dependencies.PkgConfigDependency): + if dep.name == 'glib-2.0' and dep.version_reqs is not None: + for req in dep.version_reqs: + if req.startswith(('>=', '==')): + commands += ['--target-glib', req[2:]] + break + commands += ['--pkg', dep.name] + elif isinstance(dep, dependencies.ExternalLibrary): + commands += dep.get_lang_args('vala') + else: + commands += dep.get_compile_args() # Qt needs -fPIC for executables # XXX: We should move to -fPIC for all executables if isinstance(target, build.Executable): diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index f4c78a1..ac660cf 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -1070,20 +1070,11 @@ 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 += 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()] - + args = self.generate_basic_compiler_args(target, valac) # 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). args += ['-d', c_out_dir] - args += ['-C'] if not isinstance(target, build.Executable): # Library name args += ['--library=' + target.name] @@ -1112,18 +1103,6 @@ int dummy; # Install GIR to default location if requested by user if len(target.install_dir) > 3 and target.install_dir[3] is True: target.install_dir[3] = os.path.join(self.environment.get_datadir(), 'gir-1.0') - if self.get_option_for_target('werror', target): - args += valac.get_werror_args() - for d in target.get_external_deps(): - if isinstance(d, dependencies.PkgConfigDependency): - if d.name == 'glib-2.0' and d.version_reqs is not None: - for req in d.version_reqs: - if req.startswith(('>=', '==')): - args += ['--target-glib', req[2:]] - break - args += ['--pkg', d.name] - elif isinstance(d, dependencies.ExternalLibrary): - args += d.get_lang_args('vala') # Detect gresources and add --gresources arguments for each for (gres, gensrc) in other_src[1].items(): if isinstance(gensrc, modules.GResourceTarget): diff --git a/mesonbuild/compilers.py b/mesonbuild/compilers.py index 406c719..6ade23f 100644 --- a/mesonbuild/compilers.py +++ b/mesonbuild/compilers.py @@ -1678,6 +1678,15 @@ class ValaCompiler(Compiler): def get_compile_only_args(self): return ['-C'] + def get_pic_args(self): + return [] + + def get_always_args(self): + return ['-C'] + + def get_warn_args(self, warning_level): + return [] + def get_werror_args(self): return ['--fatal-warnings'] |