From 4ec57607714d2bc977b1219e72f82d22cbec144c Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Mon, 9 Sep 2019 15:10:57 +0200 Subject: [PATCH] evas_filter_parser: add a workaround for in-tree runs Without this, the prefix would get pointed to something like /path/to/efl/build/share/evas, which is not a valid path when building. That would cause the docs build to fail. --- doc/meson.build | 6 +++++- src/lib/evas/filters/evas_filter_parser.c | 8 +++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/doc/meson.build b/doc/meson.build index a362c6d2ba..576d2fed4f 100644 --- a/doc/meson.build +++ b/doc/meson.build @@ -114,7 +114,11 @@ foreach text_filter_property : text_filter_properties filter_code = run_command('cat', join_paths(meson.source_root(), 'src', 'examples', 'evas', 'filters', 'filter_'+name+'.lua')) doc_target += custom_target('preview_text_filters_'+name, - command: [env, 'EFL_RUN_IN_TREE=1', preview_text_filter.full_path(), text, filter_code.stdout(), '@OUTPUT@', font, size], + command: [ + env, 'EFL_RUN_IN_TREE=1', + 'EFL_EVAS_FILTER_LUA_PREFIX=' + join_paths(meson.source_root(), 'src', 'lib', 'evas'), + preview_text_filter.full_path(), text, filter_code.stdout(), '@OUTPUT@', font, size + ], depends: preview_text_filter, output: 'filter_'+name+'.png', build_by_default: false diff --git a/src/lib/evas/filters/evas_filter_parser.c b/src/lib/evas/filters/evas_filter_parser.c index 264f6a6ffa..72308d2a9e 100644 --- a/src/lib/evas/filters/evas_filter_parser.c +++ b/src/lib/evas/filters/evas_filter_parser.c @@ -2262,7 +2262,13 @@ static char *_lua_color_code = NULL; static inline void _lua_import_path_get(char *path, size_t len, const char *name) { - const char *pfx = _evas_module_datadir_get(); + const char *pfx = NULL; + /* a hack for in-tree runs, can point this to src/lib/evas */ + if (getenv("EFL_RUN_IN_TREE")) + pfx = getenv("EFL_EVAS_FILTER_LUA_PREFIX"); + /* the real path not for in-tree runs */ + if (!pfx) + pfx = _evas_module_datadir_get(); size_t r = 0; #ifdef FILTERS_DEBUG