meson: fix race condition in building
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>
Wed, 30 Jan 2019 16:06:50 +0000 (16:06 +0000)
committerTaehyub Kim <taehyub.kim@samsung.com>
Thu, 31 Jan 2019 03:45:41 +0000 (12:45 +0900)
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 <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7831

src/modules/evas/engines/gl_generic/meson.build
src/modules/evas/meson.build

index 8926f24..c9957d4 100644 (file)
@@ -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
index d2d5667..624137a 100644 (file)
@@ -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(