aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/ninjabackend.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/backend/ninjabackend.py')
-rw-r--r--mesonbuild/backend/ninjabackend.py176
1 files changed, 88 insertions, 88 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index bb51559..1cab434 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -196,7 +196,7 @@ class NinjaBackend(backends.Backend):
self.all_outputs = {}
self.introspection_data = {}
- def create_target_alias(self, to_target, outfile):
+ def create_target_alias(self, to_target):
# We need to use aliases for targets that might be used as directory
# names to workaround a Ninja bug that breaks `ninja -t clean`.
# This is used for 'reserved' targets such as 'test', 'install',
@@ -274,22 +274,22 @@ int dummy;
self.generate_rules()
self.write_rules(outfile)
self.build_elements = []
- self.generate_phony(outfile)
+ self.generate_phony()
self.add_build_comment(NinjaComment('Build rules for targets'))
for t in self.build.get_targets().values():
- self.generate_target(t, outfile)
+ self.generate_target(t)
self.add_build_comment(NinjaComment('Test rules'))
- self.generate_tests(outfile)
+ self.generate_tests()
self.add_build_comment(NinjaComment('Install rules'))
- self.generate_install(outfile)
- self.generate_dist(outfile)
+ self.generate_install()
+ self.generate_dist()
if 'b_coverage' in self.environment.coredata.base_options and \
self.environment.coredata.base_options['b_coverage'].value:
self.add_build_comment(NinjaComment('Coverage rules'))
- self.generate_coverage_rules(outfile)
+ self.generate_coverage_rules()
self.add_build_comment(NinjaComment('Suffix'))
- self.generate_utils(outfile)
- self.generate_ending(outfile)
+ self.generate_utils()
+ self.generate_ending()
self.write_builds(outfile)
default = 'default all\n\n'
outfile.write(default)
@@ -432,11 +432,11 @@ int dummy;
return True
return False
- def generate_target(self, target, outfile):
+ def generate_target(self, target):
if isinstance(target, build.CustomTarget):
- self.generate_custom_target(target, outfile)
+ self.generate_custom_target(target)
if isinstance(target, build.RunTarget):
- self.generate_run_target(target, outfile)
+ self.generate_run_target(target)
name = target.get_id()
if name in self.processed_targets:
return
@@ -444,20 +444,20 @@ int dummy;
# Initialize an empty introspection source list
self.introspection_data[name] = {}
# Generate rules for all dependency targets
- self.process_target_dependencies(target, outfile)
+ self.process_target_dependencies(target)
# If target uses a language that cannot link to C objects,
# just generate for that language and return.
if isinstance(target, build.Jar):
- self.generate_jar_target(target, outfile)
+ self.generate_jar_target(target)
return
if self.is_rust_target(target):
- self.generate_rust_target(target, outfile)
+ self.generate_rust_target(target)
return
if 'cs' in target.compilers:
- self.generate_cs_target(target, outfile)
+ self.generate_cs_target(target)
return
if 'swift' in target.compilers:
- self.generate_swift_target(target, outfile)
+ self.generate_swift_target(target)
return
# Now we handle the following languages:
@@ -475,14 +475,14 @@ int dummy;
# Sources consumed by valac are filtered out. These only contain
# C/C++ sources, objects, generated libs, and unknown sources now.
target_sources, generated_sources, \
- vala_generated_sources = self.generate_vala_compile(target, outfile)
+ vala_generated_sources = self.generate_vala_compile(target)
else:
target_sources = self.get_target_sources(target)
generated_sources = self.get_target_generated_sources(target)
vala_generated_sources = []
self.scan_fortran_module_outputs(target)
# Generate rules for GeneratedLists
- self.generate_generator_list_rules(target, outfile)
+ self.generate_generator_list_rules(target)
# Generate rules for building the remaining source files in this target
outname = self.get_target_filename(target)
@@ -534,15 +534,15 @@ int dummy;
# because we need `header_deps` to be fully generated in the above loop.
for src in generated_source_files:
if self.environment.is_llvm_ir(src):
- o = self.generate_llvm_ir_compile(target, outfile, src)
+ o = self.generate_llvm_ir_compile(target, src)
else:
- o = self.generate_single_compile(target, outfile, src, True,
+ o = self.generate_single_compile(target, src, True,
header_deps=header_deps)
obj_list.append(o)
use_pch = self.environment.coredata.base_options.get('b_pch', False)
if use_pch and target.has_pch():
- pch_objects = self.generate_pch(target, outfile, header_deps=header_deps)
+ pch_objects = self.generate_pch(target, header_deps=header_deps)
else:
pch_objects = []
@@ -572,39 +572,39 @@ int dummy;
# Passing 'vala' here signifies that we want the compile
# arguments to be specialized for C code generated by
# valac. For instance, no warnings should be emitted.
- obj_list.append(self.generate_single_compile(target, outfile, src, 'vala', [], header_deps))
+ obj_list.append(self.generate_single_compile(target, src, 'vala', [], header_deps))
# Generate compile targets for all the pre-existing sources for this target
for f, src in target_sources.items():
if not self.environment.is_header(src):
if self.environment.is_llvm_ir(src):
- obj_list.append(self.generate_llvm_ir_compile(target, outfile, src))
+ obj_list.append(self.generate_llvm_ir_compile(target, src))
elif is_unity and self.get_target_source_can_unity(target, src):
abs_src = os.path.join(self.environment.get_build_dir(),
src.rel_to_builddir(self.build_to_src))
unity_src.append(abs_src)
else:
- obj_list.append(self.generate_single_compile(target, outfile, src, False, [], header_deps))
+ obj_list.append(self.generate_single_compile(target, src, False, [], header_deps))
obj_list += self.flatten_object_list(target)
if is_unity:
for src in self.generate_unity_files(target, unity_src):
- obj_list.append(self.generate_single_compile(target, outfile, src, True, unity_deps + header_deps))
+ obj_list.append(self.generate_single_compile(target, src, True, unity_deps + header_deps))
linker, stdlib_args = self.determine_linker_and_stdlib_args(target)
- elem = self.generate_link(target, outfile, outname, obj_list, linker, pch_objects, stdlib_args=stdlib_args)
+ elem = self.generate_link(target, outname, obj_list, linker, pch_objects, stdlib_args=stdlib_args)
self.generate_shlib_aliases(target, self.get_target_dir(target))
self.add_build(elem)
- def process_target_dependencies(self, target, outfile):
+ def process_target_dependencies(self, target):
for t in target.get_dependencies():
if t.get_id() not in self.processed_targets:
- self.generate_target(t, outfile)
+ self.generate_target(t)
- def custom_target_generator_inputs(self, target, outfile):
+ def custom_target_generator_inputs(self, target):
for s in target.sources:
if hasattr(s, 'held_object'):
s = s.held_object
if isinstance(s, build.GeneratedList):
- self.generate_genlist_for_target(s, target, outfile)
+ self.generate_genlist_for_target(s, target)
def unwrap_dep_list(self, target):
deps = []
@@ -617,8 +617,8 @@ int dummy;
deps.append(os.path.join(self.get_target_dir(i), output))
return deps
- def generate_custom_target(self, target, outfile):
- self.custom_target_generator_inputs(target, outfile)
+ def generate_custom_target(self, target):
+ self.custom_target_generator_inputs(target)
(srcs, ofilenames, cmd) = self.eval_custom_target_command(target)
deps = self.unwrap_dep_list(target)
deps += self.get_custom_target_depend_files(target)
@@ -682,7 +682,7 @@ int dummy;
self.add_build(elem)
self.processed_targets[target.get_id()] = True
- def generate_run_target(self, target, outfile):
+ def generate_run_target(self, target):
cmd = self.environment.get_build_command() + ['--internal', 'commandrunner']
deps = self.unwrap_dep_list(target)
arg_strings = []
@@ -743,7 +743,7 @@ int dummy;
elem.add_item('pool', 'console')
self.add_build(elem)
# Alias that runs the target defined above with the name the user specified
- self.create_target_alias(target_name, outfile)
+ self.create_target_alias(target_name)
self.processed_targets[target.get_id()] = True
def generate_coverage_command(self, elem, outputs):
@@ -756,38 +756,38 @@ int dummy;
self.environment.get_build_dir(),
self.environment.get_log_dir()])
- def generate_coverage_rules(self, outfile):
+ def generate_coverage_rules(self):
e = NinjaBuildElement(self.all_outputs, 'meson-coverage', 'CUSTOM_COMMAND', 'PHONY')
self.generate_coverage_command(e, [])
e.add_item('description', 'Generates coverage reports.')
self.add_build(e)
# Alias that runs the target defined above
- self.create_target_alias('meson-coverage', outfile)
- self.generate_coverage_legacy_rules(outfile)
+ self.create_target_alias('meson-coverage')
+ self.generate_coverage_legacy_rules()
- def generate_coverage_legacy_rules(self, outfile):
+ def generate_coverage_legacy_rules(self):
e = NinjaBuildElement(self.all_outputs, 'meson-coverage-xml', 'CUSTOM_COMMAND', 'PHONY')
self.generate_coverage_command(e, ['--xml'])
e.add_item('description', 'Generates XML coverage report.')
self.add_build(e)
# Alias that runs the target defined above
- self.create_target_alias('meson-coverage-xml', outfile)
+ self.create_target_alias('meson-coverage-xml')
e = NinjaBuildElement(self.all_outputs, 'meson-coverage-text', 'CUSTOM_COMMAND', 'PHONY')
self.generate_coverage_command(e, ['--text'])
e.add_item('description', 'Generates text coverage report.')
self.add_build(e)
# Alias that runs the target defined above
- self.create_target_alias('meson-coverage-text', outfile)
+ self.create_target_alias('meson-coverage-text')
e = NinjaBuildElement(self.all_outputs, 'meson-coverage-html', 'CUSTOM_COMMAND', 'PHONY')
self.generate_coverage_command(e, ['--html'])
e.add_item('description', 'Generates HTML coverage report.')
self.add_build(e)
# Alias that runs the target defined above
- self.create_target_alias('meson-coverage-html', outfile)
+ self.create_target_alias('meson-coverage-html')
- def generate_install(self, outfile):
+ def generate_install(self):
self.create_install_data_files()
elem = NinjaBuildElement(self.all_outputs, 'meson-install', 'CUSTOM_COMMAND', 'PHONY')
elem.add_dep('all')
@@ -796,9 +796,9 @@ int dummy;
elem.add_item('pool', 'console')
self.add_build(elem)
# Alias that runs the target defined above
- self.create_target_alias('meson-install', outfile)
+ self.create_target_alias('meson-install')
- def generate_tests(self, outfile):
+ def generate_tests(self):
self.serialize_tests()
cmd = self.environment.get_build_command(True) + ['test', '--no-rebuild']
if not self.environment.coredata.get_builtin_option('stdsplit'):
@@ -811,7 +811,7 @@ int dummy;
elem.add_item('pool', 'console')
self.add_build(elem)
# Alias that runs the above-defined meson-test target
- self.create_target_alias('meson-test', outfile)
+ self.create_target_alias('meson-test')
# And then benchmarks.
cmd = self.environment.get_build_command(True) + [
@@ -823,7 +823,7 @@ int dummy;
elem.add_item('pool', 'console')
self.add_build(elem)
# Alias that runs the above-defined meson-benchmark target
- self.create_target_alias('meson-benchmark', outfile)
+ self.create_target_alias('meson-benchmark')
def generate_rules(self):
self.rules = []
@@ -874,12 +874,12 @@ int dummy;
for b in self.build_elements:
b.write(outfile)
- def generate_phony(self, outfile):
+ def generate_phony(self):
self.add_build_comment(NinjaComment('Phony build target, always out of date'))
elem = NinjaBuildElement(self.all_outputs, 'PHONY', 'phony', '')
self.add_build(elem)
- def generate_jar_target(self, target, outfile):
+ def generate_jar_target(self, target):
fname = target.get_filename()
outname_rel = os.path.join(self.get_target_dir(target), fname)
src_list = target.get_sources()
@@ -904,7 +904,7 @@ int dummy;
compile_args = self.determine_single_java_compile_args(target, compiler)
for src in src_list + gen_src_list:
- plain_class_path = self.generate_single_java_compile(src, target, compiler, compile_args, outfile)
+ plain_class_path = self.generate_single_java_compile(src, target, compiler, compile_args)
class_list.append(plain_class_path)
class_dep_list = [os.path.join(self.get_target_private_dir(target), i) for i in class_list]
manifest_path = os.path.join(self.get_target_private_dir(target), 'META-INF', 'MANIFEST.MF')
@@ -933,7 +933,7 @@ int dummy;
# Create introspection information
self.create_target_source_introspection(target, compiler, compile_args, src_list, gen_src_list)
- def generate_cs_resource_tasks(self, target, outfile):
+ def generate_cs_resource_tasks(self, target):
args = []
deps = []
for r in target.resources:
@@ -954,7 +954,7 @@ int dummy;
args.append(a)
return args, deps
- def generate_cs_target(self, target, outfile):
+ def generate_cs_target(self, target):
buildtype = self.get_option_for_target('buildtype', target)
fname = target.get_filename()
outname_rel = os.path.join(self.get_target_dir(target), fname)
@@ -972,7 +972,7 @@ int dummy;
commands.append('-target:library')
else:
raise MesonException('Unknown C# target type.')
- (resource_args, resource_deps) = self.generate_cs_resource_tasks(target, outfile)
+ (resource_args, resource_deps) = self.generate_cs_resource_tasks(target)
commands += resource_args
deps += resource_deps
commands += compiler.get_output_args(outname_rel)
@@ -1002,7 +1002,7 @@ int dummy;
elem.add_item('ARGS', commands)
self.add_build(elem)
- self.generate_generator_list_rules(target, outfile)
+ self.generate_generator_list_rules(target)
self.create_target_source_introspection(target, compiler, commands, rel_srcs, generated_rel_srcs)
def determine_single_java_compile_args(self, target, compiler):
@@ -1022,7 +1022,7 @@ int dummy;
args += ['-sourcepath', sourcepath]
return args
- def generate_single_java_compile(self, src, target, compiler, args, outfile):
+ def generate_single_java_compile(self, src, target, compiler, args):
deps = [os.path.join(self.get_target_dir(l), l.get_filename()) for l in target.link_targets]
generated_sources = self.get_target_generated_sources(target)
for rel_src, gensrc in generated_sources.items():
@@ -1117,7 +1117,7 @@ int dummy;
srctype[f] = gensrc
return vala, vapi, (others, othersgen)
- def generate_vala_compile(self, target, outfile):
+ def generate_vala_compile(self, target):
"""Vala is compiled into C. Set up all necessary build steps here."""
(vala_src, vapi_src, other_src) = self.split_vala_sources(target)
extra_dep_files = []
@@ -1236,7 +1236,7 @@ int dummy;
self.create_target_source_introspection(target, valac, args, all_files, [])
return other_src[0], other_src[1], vala_c_src
- def generate_rust_target(self, target, outfile):
+ def generate_rust_target(self, target):
rustc = target.compilers['rust']
# Rust compiler takes only the main file as input and
# figures out what other files are needed via import
@@ -1326,7 +1326,7 @@ int dummy;
element.add_item('cratetype', cratetype)
self.add_build(element)
if isinstance(target, build.SharedLibrary):
- self.generate_shsym(outfile, target)
+ self.generate_shsym(target)
self.create_target_source_introspection(target, rustc, args, [main_rust_file], [])
def swift_module_file_name(self, target):
@@ -1372,7 +1372,7 @@ int dummy;
others.append(i)
return srcs, others
- def generate_swift_target(self, target, outfile):
+ def generate_swift_target(self, target):
module_name = self.target_swift_modulename(target)
swiftc = target.compilers['swift']
abssrc = []
@@ -1455,7 +1455,7 @@ int dummy;
elem.add_item('RUNDIR', rundir)
self.add_build(elem)
if isinstance(target, build.StaticLibrary):
- elem = self.generate_link(target, outfile, self.get_target_filename(target),
+ elem = self.generate_link(target, self.get_target_filename(target),
rel_objects, self.build.static_linker)
self.add_build(elem)
elif isinstance(target, build.Executable):
@@ -1743,14 +1743,14 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
self.generate_compile_rule_for(langname, compiler, True)
self.generate_pch_rule_for(langname, compiler, True)
- def generate_generator_list_rules(self, target, outfile):
+ def generate_generator_list_rules(self, target):
# CustomTargets have already written their rules and
# CustomTargetIndexes don't actually get generated, so write rules for
# GeneratedLists here
for genlist in target.get_generated_sources():
if isinstance(genlist, (build.CustomTarget, build.CustomTargetIndex)):
continue
- self.generate_genlist_for_target(genlist, target, outfile)
+ self.generate_genlist_for_target(genlist, target)
def replace_paths(self, target, args, override_subdir=None):
if override_subdir:
@@ -1766,7 +1766,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
args = [x.replace('\\', '/') for x in args]
return args
- def generate_genlist_for_target(self, genlist, target, outfile):
+ def generate_genlist_for_target(self, genlist, target):
generator = genlist.get_generator()
subdir = genlist.subdir
exe = generator.get_exe()
@@ -1961,7 +1961,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
def get_link_debugfile_args(self, linker, target, outname):
return linker.get_link_debugfile_args(outname)
- def generate_llvm_ir_compile(self, target, outfile, src):
+ def generate_llvm_ir_compile(self, target, src):
compiler = get_compiler_for_source(target.compilers.values(), src)
commands = CompilerArgs(compiler)
# Compiler args for compiling this target
@@ -2114,7 +2114,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
commands += compiler.get_include_args(self.get_target_private_dir(target), False)
return commands
- def generate_single_compile(self, target, outfile, src, is_generated=False, header_deps=None, order_deps=None):
+ def generate_single_compile(self, target, src, is_generated=False, header_deps=None, order_deps=None):
"""
Compiles C/C++, ObjC/ObjC++, Fortran, and D sources
"""
@@ -2275,7 +2275,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
dep = dst + '.' + compiler.get_depfile_suffix()
return commands, dep, dst, [] # Gcc does not create an object file during pch generation.
- def generate_pch(self, target, outfile, header_deps=None):
+ def generate_pch(self, target, header_deps=None):
header_deps = header_deps if header_deps is not None else []
cstr = ''
pch_objects = []
@@ -2312,7 +2312,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
self.add_build(elem)
return pch_objects
- def generate_shsym(self, outfile, target):
+ def generate_shsym(self, target):
target_name = target.get_filename()
target_file = self.get_target_filename(target)
targetdir = self.get_target_private_dir(target)
@@ -2455,7 +2455,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
return guessed_dependencies + absolute_libs
- def generate_link(self, target, outfile, outname, obj_list, linker, extra_args=None, stdlib_args=None):
+ def generate_link(self, target, outname, obj_list, linker, extra_args=None, stdlib_args=None):
extra_args = extra_args if extra_args is not None else []
stdlib_args = stdlib_args if stdlib_args is not None else []
if isinstance(target, build.StaticLibrary):
@@ -2463,7 +2463,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
else:
linker_base = linker.get_language() # Fixme.
if isinstance(target, build.SharedLibrary):
- self.generate_shsym(outfile, target)
+ self.generate_shsym(target)
crstr = ''
if target.is_cross:
crstr = '_CROSS'
@@ -2616,7 +2616,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
except OSError:
mlog.debug("Library versioning disabled because we do not have symlink creation privileges.")
- def generate_custom_target_clean(self, outfile, trees):
+ def generate_custom_target_clean(self, trees):
e = NinjaBuildElement(self.all_outputs, 'meson-clean-ctlist', 'CUSTOM_COMMAND', 'PHONY')
d = CleanTrees(self.environment.get_build_dir(), trees)
d_file = os.path.join(self.environment.get_scratch_dir(), 'cleantrees.dat')
@@ -2624,13 +2624,13 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
e.add_item('description', 'Cleaning custom target directories.')
self.add_build(e)
# Alias that runs the target defined above
- self.create_target_alias('meson-clean-ctlist', outfile)
+ self.create_target_alias('meson-clean-ctlist')
# Write out the data file passed to the script
with open(d_file, 'wb') as ofile:
pickle.dump(d, ofile)
return 'clean-ctlist'
- def generate_gcov_clean(self, outfile):
+ def generate_gcov_clean(self):
gcno_elem = NinjaBuildElement(self.all_outputs, 'meson-clean-gcno', 'CUSTOM_COMMAND', 'PHONY')
script_root = self.environment.get_script_dir()
clean_script = os.path.join(script_root, 'delwithsuffix.py')
@@ -2638,7 +2638,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
gcno_elem.add_item('description', 'Deleting gcno files.')
self.add_build(gcno_elem)
# Alias that runs the target defined above
- self.create_target_alias('meson-clean-gcno', outfile)
+ self.create_target_alias('meson-clean-gcno')
gcda_elem = NinjaBuildElement(self.all_outputs, 'meson-clean-gcda', 'CUSTOM_COMMAND', 'PHONY')
script_root = self.environment.get_script_dir()
@@ -2647,7 +2647,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
gcda_elem.add_item('description', 'Deleting gcda files.')
self.add_build(gcda_elem)
# Alias that runs the target defined above
- self.create_target_alias('meson-clean-gcda', outfile)
+ self.create_target_alias('meson-clean-gcda')
def get_user_option_args(self):
cmds = []
@@ -2658,7 +2658,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
# affect behavior in any other way.
return sorted(cmds)
- def generate_dist(self, outfile):
+ def generate_dist(self):
elem = NinjaBuildElement(self.all_outputs, 'meson-dist', 'CUSTOM_COMMAND', 'PHONY')
elem.add_item('DESC', 'Creating source packages')
elem.add_item('COMMAND', self.environment.get_build_command() + [
@@ -2669,9 +2669,9 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
elem.add_item('pool', 'console')
self.add_build(elem)
# Alias that runs the target defined above
- self.create_target_alias('meson-dist', outfile)
+ self.create_target_alias('meson-dist')
- def generate_scanbuild(self, outfile):
+ def generate_scanbuild(self):
cmd = self.environment.get_build_command() + \
['--internal', 'scanbuild', self.environment.source_dir, self.environment.build_dir] + \
self.environment.get_build_command() + self.get_user_option_args()
@@ -2680,9 +2680,9 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
elem.add_item('pool', 'console')
self.add_build(elem)
# Alias that runs the target defined above
- self.create_target_alias('meson-scan-build', outfile)
+ self.create_target_alias('meson-scan-build')
- def generate_clangformat(self, outfile):
+ def generate_clangformat(self):
import shutil
target_name = 'clang-format'
if shutil.which('clang-format') is None:
@@ -2698,21 +2698,21 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
elem.add_item('COMMAND', cmd)
elem.add_item('pool', 'console')
self.add_build(elem)
- self.create_target_alias('meson-' + target_name, outfile)
+ self.create_target_alias('meson-' + target_name)
# For things like scan-build and other helper tools we might have.
- def generate_utils(self, outfile):
- self.generate_scanbuild(outfile)
- self.generate_clangformat(outfile)
+ def generate_utils(self):
+ self.generate_scanbuild()
+ self.generate_clangformat()
cmd = self.environment.get_build_command() + ['--internal', 'uninstall']
elem = NinjaBuildElement(self.all_outputs, 'meson-uninstall', 'CUSTOM_COMMAND', 'PHONY')
elem.add_item('COMMAND', cmd)
elem.add_item('pool', 'console')
self.add_build(elem)
# Alias that runs the target defined above
- self.create_target_alias('meson-uninstall', outfile)
+ self.create_target_alias('meson-uninstall')
- def generate_ending(self, outfile):
+ def generate_ending(self):
targetlist = []
for t in self.get_build_by_default_targets().values():
# Add the first output of each target to the 'all' target so that
@@ -2726,7 +2726,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
elem.add_item('COMMAND', [self.ninja_command, '-t', 'clean'])
elem.add_item('description', 'Cleaning.')
# Alias that runs the above-defined meson-clean target
- self.create_target_alias('meson-clean', outfile)
+ self.create_target_alias('meson-clean')
# If we have custom targets in this project, add all their outputs to
# the list that is passed to the `cleantrees.py` script. The script
@@ -2741,11 +2741,11 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
for o in t.get_outputs():
ctlist.append(os.path.join(self.get_target_dir(t), o))
if ctlist:
- elem.add_dep(self.generate_custom_target_clean(outfile, 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:
- self.generate_gcov_clean(outfile)
+ self.generate_gcov_clean()
elem.add_dep('clean-gcda')
elem.add_dep('clean-gcno')
self.add_build(elem)