q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4ec57607714d2bc977b1219e72f82d22cbec144c

commit 4ec57607714d2bc977b1219e72f82d22cbec144c
Author: Daniel Kolesa <[email protected]>
Date:   Mon Sep 9 15:10:57 2019 +0200

    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

-- 


Reply via email to