diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-05-09 18:45:06 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-09 18:45:06 +0300 |
commit | 1aa68cf6e3b05b63bf858aa005c34aeea362e3f9 (patch) | |
tree | 5973a0809f6a40a12a52d0d445a5cc4bf51acda2 | |
parent | 39520d568896a96b95df843c22a2120d571daee3 (diff) | |
parent | ebb228a11be9defb4cd2a2e75ce63c5c09686edd (diff) | |
download | meson-1aa68cf6e3b05b63bf858aa005c34aeea362e3f9.zip meson-1aa68cf6e3b05b63bf858aa005c34aeea362e3f9.tar.gz meson-1aa68cf6e3b05b63bf858aa005c34aeea362e3f9.tar.bz2 |
Merge pull request #1610 from valum-framework/vala-use-generate-basic-compiler-args
Use 'generate_basic_compiler_args' for Vala targets
-rw-r--r-- | mesonbuild/backend/backends.py | 13 | ||||
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 23 | ||||
-rw-r--r-- | mesonbuild/compilers.py | 12 |
3 files changed, 25 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 bbae408..797fb64 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..a36f184 100644 --- a/mesonbuild/compilers.py +++ b/mesonbuild/compilers.py @@ -1678,6 +1678,18 @@ 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_no_warn_args(self): + return ['--disable-warnings'] + def get_werror_args(self): return ['--fatal-warnings'] |