diff options
author | Patrick Griffis <tingping@tingping.se> | 2017-04-07 21:24:35 -0400 |
---|---|---|
committer | Patrick Griffis <tingping@tingping.se> | 2017-04-29 04:05:20 -0400 |
commit | 12504b23854e8ce839d2373a024ca3704b3db559 (patch) | |
tree | 17d15509a5b5d5af43dcdfc21832daca71162225 | |
parent | 82492f5d765b70cc87385fb887008df89fac878e (diff) | |
download | meson-12504b23854e8ce839d2373a024ca3704b3db559.zip meson-12504b23854e8ce839d2373a024ca3704b3db559.tar.gz meson-12504b23854e8ce839d2373a024ca3704b3db559.tar.bz2 |
i18n: Fix handling relative data_dirs
-rw-r--r-- | mesonbuild/modules/i18n.py | 10 |
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) |