bu5hm4n pushed a commit to branch master.

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

commit 4e0079eaa945c1401b99827a1ac623fdaedb3edd
Author: Marcel Hollerbach <[email protected]>
Date:   Wed Jan 30 16:06:50 2019 +0000

    meson: fix race condition in building
    
    the error
    ```
    
./src/modules/evas/engines/gl_generic/../software_generic/evas_ector_software.h:31:10:
 fatal error: 'evas_ector_software_buffer.eo.h' file not found
    ```
    Came up when building efl on osx with meson. This is caused by the fact 
that gl_generic was build before the .eo files of evas_ector have been created 
in software_generic, this fixes this race condition by adding a new dependency 
to avoid that.
    
    Reviewed-by: Stefan Schmidt <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D7831
---
 src/modules/evas/engines/gl_generic/meson.build | 2 +-
 src/modules/evas/meson.build                    | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/gl_generic/meson.build 
b/src/modules/evas/engines/gl_generic/meson.build
index 8926f24127..c9957d4923 100644
--- a/src/modules/evas/engines/gl_generic/meson.build
+++ b/src/modules/evas/engines/gl_generic/meson.build
@@ -39,7 +39,7 @@ engine_include_dir = 
include_directories(join_paths('..','software_generic'))
 if get_option('evas-modules') == 'shared' and not 
evas_force_static.contains(engine)
   shared_module(mod_full_name, engine_src,
         include_directories : config_dir + [engine_include_dir],
-        dependencies : [eina, evas_pre] + engine_deps,
+        dependencies : [eina, evas_pre] + engine_deps + [software_generic],
         install : true,
         install_dir : mod_install_dir,
         name_suffix : sys_mod_extension
diff --git a/src/modules/evas/meson.build b/src/modules/evas/meson.build
index e97ff1b2a0..fff385bc01 100644
--- a/src/modules/evas/meson.build
+++ b/src/modules/evas/meson.build
@@ -67,6 +67,12 @@ foreach engine_conf : engines
         dependencies : [eina, evas_pre] + engine_deps,
       )
 
+      if engine == 'software_generic'
+        software_generic = declare_dependency(
+          include_directories: engine_include_dir,
+          link_with : tmp
+        )
+      endif
       if engine == 'gl_common'
         #gl_common will only be used by gl_generic, NOT by libevas.so, so we 
work arround the static list
         gl_common = declare_dependency(

-- 


Reply via email to