From be4428005dff8b17af5696c8f05567de9af1a8c5 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Tue, 15 Aug 2017 00:00:08 +0530 Subject: ninja: Fix cleaning in various edge cases We need to use target aliases for reserved target names and run targets to workaround a ninja bug: https://github.com/ninja-build/ninja/issues/828 Closes https://github.com/mesonbuild/meson/issues/1644 --- mesonbuild/interpreter.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'mesonbuild/interpreter.py') diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 970ab7c..91e4305 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -2742,9 +2742,12 @@ different subdirectory. def add_target(self, name, tobj): if name == '': raise InterpreterException('Target name must not be empty.') + if name.startswith('meson-'): + raise InvalidArguments("Target names starting with 'meson-' are reserved " + "for Meson's internal use. Please rename.") if name in coredata.forbidden_target_names: - raise InvalidArguments('Target name "%s" is reserved for Meson\'s internal use. Please rename.' - % name) + raise InvalidArguments("Target name '%s' is reserved for Meson's " + "internal use. Please rename." % name) # To permit an executable and a shared library to have the # same name, such as "foo.exe" and "libfoo.a". idname = tobj.get_id() -- cgit v1.1