aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2016-12-09 12:47:14 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2016-12-13 09:20:34 +0530
commit7b3d00fee4bc76e9b6492321572db7ddd6d7f674 (patch)
tree85fb646e08a8ea9be1a6fde507bb721011047d7c /mesonbuild/modules
parentec47db6c0c6511d249b6d57fd24ca288e00eb9a3 (diff)
downloadmeson-7b3d00fee4bc76e9b6492321572db7ddd6d7f674.zip
meson-7b3d00fee4bc76e9b6492321572db7ddd6d7f674.tar.gz
meson-7b3d00fee4bc76e9b6492321572db7ddd6d7f674.tar.bz2
Use dict for self.build.compilers instead of list
Everywhere we use this object, we end up iterating over it and comparing compiler.get_language() with something. Using a dict is the obvious choice and simplifies a lot of code.
Diffstat (limited to 'mesonbuild/modules')
-rw-r--r--mesonbuild/modules/gnome.py10
-rw-r--r--mesonbuild/modules/rpm.py2
-rw-r--r--mesonbuild/modules/windows.py6
3 files changed, 9 insertions, 9 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 1912fc1..6d05b4e 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -433,11 +433,11 @@ can not be used with the current version of glib-compiled-resources, due to
cflags += state.global_args['c']
if state.project_args.get('c'):
cflags += state.project_args['c']
- for compiler in state.compilers:
- if compiler.get_language() == 'c':
- sanitize = compiler.get_options().get('b_sanitize')
- if sanitize:
- cflags += compilers.sanitizer_compile_args(sanitize)
+ if 'c' in state.compilers:
+ compiler = state.compilers['c']
+ sanitize = compiler.get_options().get('b_sanitize')
+ if sanitize:
+ cflags += compilers.sanitizer_compile_args(sanitize)
if cflags:
scan_command += ['--cflags-begin']
scan_command += cflags
diff --git a/mesonbuild/modules/rpm.py b/mesonbuild/modules/rpm.py
index 2c9ed57..dca1ad6 100644
--- a/mesonbuild/modules/rpm.py
+++ b/mesonbuild/modules/rpm.py
@@ -27,7 +27,7 @@ class RPMModule:
def generate_spec_template(self, state, args, kwargs):
compiler_deps = set()
- for compiler in state.compilers:
+ for compiler in state.compilers.values():
if isinstance(compiler, compilers.GnuCCompiler):
compiler_deps.add('gcc')
elif isinstance(compiler, compilers.GnuCPPCompiler):
diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py
index cd4e343..ad882cb 100644
--- a/mesonbuild/modules/windows.py
+++ b/mesonbuild/modules/windows.py
@@ -19,9 +19,9 @@ import os
class WindowsModule:
def detect_compiler(self, compilers):
- for c in compilers:
- if c.language == 'c' or c.language == 'cpp':
- return c
+ for l in ('c', 'cpp'):
+ if l in compilers:
+ return compilers[l]
raise MesonException('Resource compilation requires a C or C++ compiler.')
def compile_resources(self, state, args, kwargs):