aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter/interpreter.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/interpreter/interpreter.py')
-rw-r--r--mesonbuild/interpreter/interpreter.py17
1 files changed, 8 insertions, 9 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py
index 8caf010..131f073 100644
--- a/mesonbuild/interpreter/interpreter.py
+++ b/mesonbuild/interpreter/interpreter.py
@@ -2342,14 +2342,8 @@ class Interpreter(InterpreterBase, HoldableObject):
'"rename" and "sources" argument lists must be the same length if "rename" is given. '
f'Rename has {len(rename)} elements and sources has {len(sources)}.')
- install_dir_name = kwargs['install_dir']
- if install_dir_name:
- if not os.path.isabs(install_dir_name):
- install_dir_name = os.path.join('{datadir}', install_dir_name)
- else:
- install_dir_name = '{datadir}'
return self.install_data_impl(sources, kwargs['install_dir'], kwargs['install_mode'],
- rename, kwargs['install_tag'], install_dir_name,
+ rename, kwargs['install_tag'],
preserve_path=kwargs['preserve_path'])
def install_data_impl(self, sources: T.List[mesonlib.File], install_dir: T.Optional[str],
@@ -2361,7 +2355,9 @@ class Interpreter(InterpreterBase, HoldableObject):
"""Just the implementation with no validation."""
idir = install_dir or ''
- idir_name = install_dir_name or idir
+ idir_name = install_dir_name or idir or '{datadir}'
+ if isinstance(idir_name, P_OBJ.OptionString):
+ idir_name = idir_name.optname
dirs = collections.defaultdict(list)
ret_data = []
if preserve_path:
@@ -2594,10 +2590,13 @@ class Interpreter(InterpreterBase, HoldableObject):
if not idir:
raise InterpreterException(
'"install_dir" must be specified when "install" in a configure_file is true')
+ idir_name = idir
+ if isinstance(idir_name, P_OBJ.OptionString):
+ idir_name = idir_name.optname
cfile = mesonlib.File.from_built_file(ofile_path, ofile_fname)
install_mode = kwargs['install_mode']
install_tag = kwargs['install_tag']
- self.build.data.append(build.Data([cfile], idir, idir, install_mode, self.subproject,
+ self.build.data.append(build.Data([cfile], idir, idir_name, install_mode, self.subproject,
install_tag=install_tag, data_type='configure'))
return mesonlib.File.from_built_file(self.subdir, output)