diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2017-08-15 00:00:08 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2017-08-15 01:38:01 +0530 |
commit | be4428005dff8b17af5696c8f05567de9af1a8c5 (patch) | |
tree | 5f47092dae0cd0dc423cffc5efda8cbc866a645d /mesonbuild/interpreter.py | |
parent | 0c518a8077c200ffed61fad3ada7c726a5a6cbfd (diff) | |
download | meson-be4428005dff8b17af5696c8f05567de9af1a8c5.zip meson-be4428005dff8b17af5696c8f05567de9af1a8c5.tar.gz meson-be4428005dff8b17af5696c8f05567de9af1a8c5.tar.bz2 |
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
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 7 |
1 files changed, 5 insertions, 2 deletions
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() |