diff options
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index a4cdefd..4bc76ab 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -537,8 +537,9 @@ int dummy; self.add_build_comment(NinjaComment('Install rules')) self.generate_install() self.generate_dist() - if 'b_coverage' in self.environment.coredata.base_options and \ - self.environment.coredata.base_options['b_coverage'].value: + key = OptionKey('b_coverage') + if (key in self.environment.coredata.base_options and + self.environment.coredata.base_options[key].value): self.add_build_comment(NinjaComment('Coverage rules')) self.generate_coverage_rules() self.add_build_comment(NinjaComment('Suffix')) @@ -814,7 +815,7 @@ int dummy; source2object[s] = o obj_list.append(o) - use_pch = self.environment.coredata.base_options.get('b_pch', False) + use_pch = self.environment.coredata.base_options.get(OptionKey('b_pch')) if use_pch and target.has_pch(): pch_objects = self.generate_pch(target, header_deps=header_deps) else: @@ -1297,8 +1298,8 @@ int dummy; args.append(a) return args, deps - def generate_cs_target(self, target): - buildtype = self.get_option_for_target('buildtype', target) + def generate_cs_target(self, target: build.BuildTarget): + buildtype = self.get_option_for_target(OptionKey('buildtype'), target) fname = target.get_filename() outname_rel = os.path.join(self.get_target_dir(target), fname) src_list = target.get_sources() @@ -1307,8 +1308,8 @@ int dummy; deps = [] commands = compiler.compiler_args(target.extra_args.get('cs', [])) commands += compiler.get_buildtype_args(buildtype) - commands += compiler.get_optimization_args(self.get_option_for_target('optimization', target)) - commands += compiler.get_debug_args(self.get_option_for_target('debug', target)) + commands += compiler.get_optimization_args(self.get_option_for_target(OptionKey('optimization'), target)) + commands += compiler.get_debug_args(self.get_option_for_target(OptionKey('debug'), target)) if isinstance(target, build.Executable): commands.append('-target:exe') elif isinstance(target, build.SharedLibrary): @@ -1349,7 +1350,7 @@ int dummy; def determine_single_java_compile_args(self, target, compiler): args = [] - args += compiler.get_buildtype_args(self.get_option_for_target('buildtype', target)) + args += compiler.get_buildtype_args(self.get_option_for_target(OptionKey('buildtype'), target)) args += self.build.get_global_args(compiler, target.for_machine) args += self.build.get_project_args(compiler, target.subproject, target.for_machine) args += target.get_java_args() @@ -1512,7 +1513,7 @@ int dummy; valac_outputs.append(vala_c_file) args = self.generate_basic_compiler_args(target, valac) - args += valac.get_colorout_args(self.environment.coredata.base_options.get('b_colorout').value) + args += valac.get_colorout_args(self.environment.coredata.base_options.get(OptionKey('b_colorout')).value) # 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). @@ -1619,9 +1620,9 @@ int dummy; opt_proxy = self.get_compiler_options_for_target(target) args += ['--crate-name', target.name] - args += rustc.get_buildtype_args(self.get_option_for_target('buildtype', target)) - args += rustc.get_debug_args(self.get_option_for_target('debug', target)) - args += rustc.get_optimization_args(self.get_option_for_target('optimization', target)) + args += rustc.get_buildtype_args(self.get_option_for_target(OptionKey('buildtype'), target)) + args += rustc.get_debug_args(self.get_option_for_target(OptionKey('debug'), target)) + args += rustc.get_optimization_args(self.get_option_for_target(OptionKey('optimization'), target)) args += rustc.get_option_compile_args(opt_proxy) args += self.build.get_global_args(rustc, target.for_machine) args += self.build.get_project_args(rustc, target.subproject, target.for_machine) @@ -1772,8 +1773,8 @@ int dummy; raise InvalidArguments('Swift target {} contains a non-swift source file.'.format(target.get_basename())) os.makedirs(self.get_target_private_dir_abs(target), exist_ok=True) compile_args = swiftc.get_compile_only_args() - compile_args += swiftc.get_optimization_args(self.get_option_for_target('optimization', target)) - compile_args += swiftc.get_debug_args(self.get_option_for_target('debug', target)) + compile_args += swiftc.get_optimization_args(self.get_option_for_target(OptionKey('optimization'), target)) + compile_args += swiftc.get_debug_args(self.get_option_for_target(OptionKey('debug'), target)) compile_args += swiftc.get_module_args(module_name) compile_args += self.build.get_project_args(swiftc, target.subproject, target.for_machine) compile_args += self.build.get_global_args(swiftc, target.for_machine) @@ -2498,7 +2499,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485''')) commands += self.get_compile_debugfile_args(compiler, target, rel_obj) # PCH handling - if self.environment.coredata.base_options.get('b_pch', False): + if self.environment.coredata.base_options.get(OptionKey('b_pch')): commands += self.get_pch_include_args(compiler, target) pchlist = target.get_pch(compiler.language) else: @@ -2869,9 +2870,9 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485''')) # Add things like /NOLOGO; usually can't be overridden commands += linker.get_linker_always_args() # Add buildtype linker args: optimization level, etc. - commands += linker.get_buildtype_linker_args(self.get_option_for_target('buildtype', target)) + commands += linker.get_buildtype_linker_args(self.get_option_for_target(OptionKey('buildtype'), target)) # Add /DEBUG and the pdb filename when using MSVC - if self.get_option_for_target('debug', target): + if self.get_option_for_target(OptionKey('debug'), target): commands += self.get_link_debugfile_args(linker, target, outname) debugfile = self.get_link_debugfile_name(linker, target, outname) if debugfile is not None: @@ -3155,8 +3156,8 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485''')) if ctlist: elem.add_dep(self.generate_custom_target_clean(ctlist)) - if 'b_coverage' in self.environment.coredata.base_options and \ - self.environment.coredata.base_options['b_coverage'].value: + if OptionKey('b_coverage') in self.environment.coredata.base_options and \ + self.environment.coredata.base_options[OptionKey('b_coverage')].value: self.generate_gcov_clean() elem.add_dep('clean-gcda') elem.add_dep('clean-gcno') |