aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/backend/ninjabackend.py4
-rw-r--r--mesonbuild/interpreter/interpreter.py7
2 files changed, 7 insertions, 4 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index c6f82e3..5c77dc2 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -442,10 +442,10 @@ class NinjaBackend(backends.Backend):
'benchmark', etc, and also for RunTargets.
https://github.com/mesonbuild/meson/issues/1644
'''
- if dummy_outfile.startswith('meson-'):
+ if dummy_outfile.startswith('meson-internal__'):
raise AssertionError(f'Invalid usage of create_phony_target with {dummy_outfile!r}')
- to_name = f'meson-{dummy_outfile}'
+ to_name = f'meson-internal__{dummy_outfile}'
elem = NinjaBuildElement(all_outputs, dummy_outfile, 'phony', to_name)
self.add_build(elem)
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py
index af83c0e54..53e819b 100644
--- a/mesonbuild/interpreter/interpreter.py
+++ b/mesonbuild/interpreter/interpreter.py
@@ -2927,9 +2927,12 @@ Try setting b_lundef to false instead.'''.format(self.coredata.options[OptionKey
To define a target that builds in that directory you must define it
in the meson.build file in that directory.
'''))
- if name.startswith('meson-'):
- raise InvalidArguments("Target names starting with 'meson-' are reserved "
+ if name.startswith('meson-internal__'):
+ raise InvalidArguments("Target names starting with 'meson-internal__' are reserved "
"for Meson's internal use. Please rename.")
+ if name.startswith('meson-') and '.' not in name:
+ raise InvalidArguments("Target names starting with 'meson-' and without a file extension "
+ "are reserved for Meson's internal use. Please rename.")
if name in coredata.FORBIDDEN_TARGET_NAMES:
raise InvalidArguments(f"Target name '{name}' is reserved for Meson's "
"internal use. Please rename.")