aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Poirier-Morency <guillaumepoiriermorency@gmail.com>2017-05-13 10:09:25 -0400
committerJussi Pakkanen <jpakkane@gmail.com>2017-05-29 19:42:03 +0300
commit93a1cff174d0a7a564783f200d7360162cb6cbc3 (patch)
tree17e69b3806af8da37823208861f0edb17e59992d
parenta195b78c8ded169f180d8bd6b437f52d47ce7bae (diff)
downloadmeson-93a1cff174d0a7a564783f200d7360162cb6cbc3.zip
meson-93a1cff174d0a7a564783f200d7360162cb6cbc3.tar.gz
meson-93a1cff174d0a7a564783f200d7360162cb6cbc3.tar.bz2
interpreter: Prevent top-level subdirectories from using 'meson-' prefix
These are reserved for internal usages like 'meson-private' or 'meson-logs'.
-rw-r--r--mesonbuild/interpreter.py2
-rw-r--r--test cases/failing/51 reserved meson prefix/meson-foo/meson.build0
-rw-r--r--test cases/failing/51 reserved meson prefix/meson.build3
3 files changed, 5 insertions, 0 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 63725ab..ca3cf75 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -2227,6 +2227,8 @@ class Interpreter(InterpreterBase):
raise InvalidArguments('Subdir contains ..')
if self.subdir == '' and args[0] == self.subproject_dir:
raise InvalidArguments('Must not go into subprojects dir with subdir(), use subproject() instead.')
+ if self.subdir == '' and args[0].startswith('meson-'):
+ raise InvalidArguments('The "meson-" prefix is reserved and cannot be used for top-level subdir().')
prev_subdir = self.subdir
subdir = os.path.join(prev_subdir, args[0])
if os.path.isabs(subdir):
diff --git a/test cases/failing/51 reserved meson prefix/meson-foo/meson.build b/test cases/failing/51 reserved meson prefix/meson-foo/meson.build
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/failing/51 reserved meson prefix/meson-foo/meson.build
diff --git a/test cases/failing/51 reserved meson prefix/meson.build b/test cases/failing/51 reserved meson prefix/meson.build
new file mode 100644
index 0000000..1339035
--- /dev/null
+++ b/test cases/failing/51 reserved meson prefix/meson.build
@@ -0,0 +1,3 @@
+project('test')
+
+subdir('meson-foo')