diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2016-12-09 12:47:14 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2016-12-13 09:20:34 +0530 |
commit | 7b3d00fee4bc76e9b6492321572db7ddd6d7f674 (patch) | |
tree | 85fb646e08a8ea9be1a6fde507bb721011047d7c /mesonbuild/modules | |
parent | ec47db6c0c6511d249b6d57fd24ca288e00eb9a3 (diff) | |
download | meson-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.py | 10 | ||||
-rw-r--r-- | mesonbuild/modules/rpm.py | 2 | ||||
-rw-r--r-- | mesonbuild/modules/windows.py | 6 |
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): |