aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Griffis <tingping@tingping.se>2017-04-07 21:24:35 -0400
committerPatrick Griffis <tingping@tingping.se>2017-04-29 04:05:20 -0400
commit12504b23854e8ce839d2373a024ca3704b3db559 (patch)
tree17d15509a5b5d5af43dcdfc21832daca71162225
parent82492f5d765b70cc87385fb887008df89fac878e (diff)
downloadmeson-12504b23854e8ce839d2373a024ca3704b3db559.zip
meson-12504b23854e8ce839d2373a024ca3704b3db559.tar.gz
meson-12504b23854e8ce839d2373a024ca3704b3db559.tar.bz2
i18n: Fix handling relative data_dirs
-rw-r--r--mesonbuild/modules/i18n.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/mesonbuild/modules/i18n.py b/mesonbuild/modules/i18n.py
index 78112fc..c4e29cf 100644
--- a/mesonbuild/modules/i18n.py
+++ b/mesonbuild/modules/i18n.py
@@ -49,6 +49,12 @@ PRESET_ARGS = {
class I18nModule(ExtensionModule):
+ @staticmethod
+ def _get_data_dirs(state, dirs):
+ """Returns source directories of relative paths"""
+ src_dir = path.join(state.environment.get_source_dir(), state.subdir)
+ return [path.join(src_dir, d) for d in dirs]
+
def merge_file(self, state, args, kwargs):
podir = kwargs.pop('po_dir', None)
if not podir:
@@ -60,7 +66,7 @@ class I18nModule(ExtensionModule):
if file_type not in VALID_TYPES:
raise MesonException('i18n: "{}" is not a valid type {}'.format(file_type, VALID_TYPES))
- datadirs = mesonlib.stringlistify(kwargs.pop('data_dirs', []))
+ datadirs = self._get_data_dirs(state, mesonlib.stringlistify(kwargs.pop('data_dirs', [])))
datadirs = '--datadirs=' + ':'.join(datadirs) if datadirs else None
command = [state.environment.get_build_command(), '--internal', 'msgfmthelper',
@@ -79,7 +85,7 @@ class I18nModule(ExtensionModule):
raise coredata.MesonException('Can not do gettext because xgettext is not installed.')
packagename = args[0]
languages = mesonlib.stringlistify(kwargs.get('languages', []))
- datadirs = mesonlib.stringlistify(kwargs.get('data_dirs', []))
+ datadirs = self._get_data_dirs(state, mesonlib.stringlistify(kwargs.get('data_dirs', [])))
extra_args = mesonlib.stringlistify(kwargs.get('args', []))
preset = kwargs.pop('preset', None)