From 6b550ae91f166a5c5161ab23c500760a9a155909 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 4 Jul 2017 09:15:00 +1000 Subject: Allow for missing install_dir in install_data() The documentation doesn't require it and the interpreter code works around the possibility of it being None. The ninja backend code however fails with File "/home/whot/code/meson/mesonbuild/backend/ninjabackend.py", line 796, in generate_data_install dstabs = os.path.join(subdir or None, plain_f) File "/usr/lib64/python3.6/posixpath.py", line 78, in join a = os.fspath(a) TypeError: expected str, bytes or os.PathLike object, not NoneType If install_dir is missing, default to datadir/projectname --- mesonbuild/backend/ninjabackend.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mesonbuild/backend/ninjabackend.py') diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index b9f614e..59eaf6b 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -839,6 +839,8 @@ int dummy; for de in data: assert(isinstance(de, build.Data)) subdir = de.install_dir + if not subdir: + subdir = os.path.join(self.environment.get_datadir(), self.interpreter.build.project_name) for f in de.sources: assert(isinstance(f, mesonlib.File)) plain_f = os.path.basename(f.fname) -- cgit v1.1