diff options
author | Jon Turney <jon.turney@dronecode.org.uk> | 2018-12-05 13:41:56 +0000 |
---|---|---|
committer | Jon Turney <jon.turney@dronecode.org.uk> | 2019-04-27 15:42:14 +0100 |
commit | 45d1dff592765a8a225599eec58ef5a75cd521c2 (patch) | |
tree | 0eb50c3bcdfd147a781bc10dadcad886298bf4a7 | |
parent | 1303389700e91057316560ab1a4f3071ca2959a8 (diff) | |
download | meson-45d1dff592765a8a225599eec58ef5a75cd521c2.zip meson-45d1dff592765a8a225599eec58ef5a75cd521c2.tar.gz meson-45d1dff592765a8a225599eec58ef5a75cd521c2.tar.bz2 |
ninja: Remove unneeded outfile args (rules)
After the previous commit, outfile is now passed down to lots of things
which don't use it, as they only create rules, rather than writing them
out. Remove these unnecessary args.
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 65 |
1 files changed, 32 insertions, 33 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 8c856b2..2ed2a78 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -271,7 +271,7 @@ int dummy; ''' % num_pools) with self.detect_vs_dep_prefix(tempfilename) as outfile: - self.generate_rules(outfile) + self.generate_rules() self.write_rules(outfile) self.generate_phony(outfile) outfile.write('# Build rules for targets\n\n') @@ -823,16 +823,16 @@ int dummy; # Alias that runs the above-defined meson-benchmark target self.create_target_alias('meson-benchmark', outfile) - def generate_rules(self, outfile): + def generate_rules(self): self.rules = [] self.add_rule_comment(NinjaComment('Rules for compiling.')) - self.generate_compile_rules(outfile) + self.generate_compile_rules() self.add_rule_comment(NinjaComment('Rules for linking.')) if self.environment.is_cross_build(): - self.generate_static_link_rules(True, outfile) - self.generate_static_link_rules(False, outfile) - self.generate_dynamic_link_rules(outfile) + self.generate_static_link_rules(True) + self.generate_static_link_rules(False) + self.generate_dynamic_link_rules() self.add_rule_comment(NinjaComment('Other rules')) # Ninja errors out if you have deps = gcc but no depfile, so we must # have two rules for custom commands. @@ -1025,7 +1025,7 @@ int dummy; element.write(outfile) return plain_class_path - def generate_java_link(self, outfile): + def generate_java_link(self): rule = 'java_LINKER' command = 'jar $ARGS' description = 'Creating JAR $out.' @@ -1458,11 +1458,11 @@ int dummy; # Introspection information self.create_target_source_introspection(target, swiftc, compile_args + header_imports + module_includes, relsrc, rel_generated) - def generate_static_link_rules(self, is_cross, outfile): + def generate_static_link_rules(self, is_cross): num_pools = self.environment.coredata.backend_options['backend_max_links'].value if 'java' in self.build.compilers: if not is_cross: - self.generate_java_link(outfile) + self.generate_java_link() if is_cross: if self.environment.is_cross_build(): static_linker = self.build.static_cross_linker @@ -1503,7 +1503,7 @@ int dummy; rspable=static_linker.can_linker_accept_rsp(), extra=pool)) - def generate_dynamic_link_rules(self, outfile): + def generate_dynamic_link_rules(self): num_pools = self.environment.coredata.backend_options['backend_max_links'].value ctypes = [(self.build.compilers, False)] if self.environment.is_cross_build(): @@ -1549,14 +1549,14 @@ int dummy; synstat = 'restat = 1' self.add_rule(NinjaRule(symrule, symcmd, '', syndesc, extra=synstat)) - def generate_java_compile_rule(self, compiler, outfile): + def generate_java_compile_rule(self, compiler): rule = '%s_COMPILER' % compiler.get_language() invoc = ' '.join([ninja_quote(i) for i in compiler.get_exelist()]) command = '%s $ARGS $in' % invoc description = 'Compiling Java object $in.' self.add_rule(NinjaRule(rule, command, '', description)) - def generate_cs_compile_rule(self, compiler, outfile): + def generate_cs_compile_rule(self, compiler): rule = '%s_COMPILER' % compiler.get_language() invoc = ' '.join([ninja_quote(i) for i in compiler.get_exelist()]) command = '%s' % invoc @@ -1565,14 +1565,14 @@ int dummy; self.add_rule(NinjaRule(rule, command, args, description, rspable=mesonlib.is_windows())) - def generate_vala_compile_rules(self, compiler, outfile): + def generate_vala_compile_rules(self, compiler): rule = '%s_COMPILER' % compiler.get_language() invoc = ' '.join([ninja_quote(i) for i in compiler.get_exelist()]) command = '%s $ARGS $in' % invoc description = 'Compiling Vala source $in.' self.add_rule(NinjaRule(rule, command, '', description, extra='restat = 1')) - def generate_rust_compile_rules(self, compiler, outfile, is_cross): + def generate_rust_compile_rules(self, compiler, is_cross): crstr = '' if is_cross: crstr = '_CROSS' @@ -1585,7 +1585,7 @@ int dummy; self.add_rule(NinjaRule(rule, command, '', description, deps=depstyle, depfile=depfile)) - def generate_swift_compile_rules(self, compiler, outfile): + def generate_swift_compile_rules(self, compiler): rule = '%s_COMPILER' % compiler.get_language() full_exe = [ninja_quote(x) for x in self.environment.get_build_command()] + [ '--internal', @@ -1598,7 +1598,7 @@ int dummy; description = 'Compiling Swift source $in.' self.add_rule(NinjaRule(rule, command, '', description)) - def generate_fortran_dep_hack(self, outfile, crstr): + def generate_fortran_dep_hack(self, crstr): rule = 'FORTRAN_DEP_HACK%s' % (crstr) if mesonlib.is_windows(): cmd = 'cmd /C ""' @@ -1609,7 +1609,7 @@ https://groups.google.com/forum/#!topic/ninja-build/j-2RfBIOd_8 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485''')) self.add_rule(NinjaRule(rule, cmd, '', 'Dep hack', extra='restat = 1')) - def generate_llvm_ir_compile_rule(self, compiler, is_cross, outfile): + def generate_llvm_ir_compile_rule(self, compiler, is_cross): if getattr(self, 'created_llvm_ir_rule', False): return rule = 'llvm_ir{}_COMPILER'.format('_CROSS' if is_cross else '') @@ -1627,32 +1627,32 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485''')) rspable=compiler.can_linker_accept_rsp())) self.created_llvm_ir_rule = True - def generate_compile_rule_for(self, langname, compiler, is_cross, outfile): + def generate_compile_rule_for(self, langname, compiler, is_cross): if langname == 'java': if not is_cross: - self.generate_java_compile_rule(compiler, outfile) + self.generate_java_compile_rule(compiler) return if langname == 'cs': if not is_cross: - self.generate_cs_compile_rule(compiler, outfile) + self.generate_cs_compile_rule(compiler) return if langname == 'vala': if not is_cross: - self.generate_vala_compile_rules(compiler, outfile) + self.generate_vala_compile_rules(compiler) return if langname == 'rust': - self.generate_rust_compile_rules(compiler, outfile, is_cross) + self.generate_rust_compile_rules(compiler, is_cross) return if langname == 'swift': if not is_cross: - self.generate_swift_compile_rules(compiler, outfile) + self.generate_swift_compile_rules(compiler) return if is_cross: crstr = '_CROSS' else: crstr = '' if langname == 'fortran': - self.generate_fortran_dep_hack(outfile, crstr) + self.generate_fortran_dep_hack(crstr) rule = '%s%s_COMPILER' % (langname, crstr) depargs = compiler.get_dependency_gen_args('$out', '$DEPFILE') quoted_depargs = [] @@ -1682,7 +1682,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485''')) rspable=compiler.can_linker_accept_rsp(), deps=deps, depfile=depfile)) - def generate_pch_rule_for(self, langname, compiler, is_cross, outfile): + def generate_pch_rule_for(self, langname, compiler, is_cross): if langname != 'c' and langname != 'cpp': return if is_cross: @@ -1717,20 +1717,19 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485''')) self.add_rule(NinjaRule(rule, command, '', description, deps=deps, depfile=depfile)) - def generate_compile_rules(self, outfile): + def generate_compile_rules(self): for langname, compiler in self.build.compilers.items(): if compiler.get_id() == 'clang': - self.generate_llvm_ir_compile_rule(compiler, False, outfile) - self.generate_compile_rule_for(langname, compiler, False, outfile) - self.generate_pch_rule_for(langname, compiler, False, outfile) + self.generate_llvm_ir_compile_rule(compiler, False) + self.generate_compile_rule_for(langname, compiler, False) + self.generate_pch_rule_for(langname, compiler, False) if self.environment.is_cross_build(): cclist = self.build.cross_compilers for langname, compiler in cclist.items(): if compiler.get_id() == 'clang': - self.generate_llvm_ir_compile_rule(compiler, True, outfile) - self.generate_compile_rule_for(langname, compiler, True, outfile) - self.generate_pch_rule_for(langname, compiler, True, outfile) - outfile.write('\n') + self.generate_llvm_ir_compile_rule(compiler, True) + self.generate_compile_rule_for(langname, compiler, True) + self.generate_pch_rule_for(langname, compiler, True) def generate_generator_list_rules(self, target, outfile): # CustomTargets have already written their rules and |