meson: enable and fix build of ddrag+gdi engines for evas
authorMike Blumenkrantz <zmike@samsung.com>
Tue, 30 Apr 2019 19:30:02 +0000 (15:30 -0400)
committerHermet Park <hermetpark@gmail.com>
Wed, 8 May 2019 04:32:33 +0000 (13:32 +0900)
there are some specific defines and cflags needed for these builds
to succeed and provide the expected functionality
Depends on D8733

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8734

header_checks/meson.build
src/modules/evas/engines/meson.build
src/modules/evas/engines/software_ddraw/meson.build
src/modules/evas/engines/software_gdi/meson.build

index b22a16e..782c225 100644 (file)
@@ -232,4 +232,6 @@ config_h.set('SIZEOF_LONG', cc.sizeof('long'))
 if sys_windows == true
   config_h.set('HAVE_DLSYM', '1')
   config_h.set('HAVE_NOTIFY_WIN32', '1')
+  config_h.set10('HAVE_WINDOWS_H', true)
+  config_h.set10('HAVE_DDRAW_H', true)
 endif
index bf1b95e..1524d14 100644 (file)
@@ -10,6 +10,13 @@ engines = [
  ['wayland_shm', ['wl']],
 ]
 
+if sys_windows == true
+ engines += [
+   ['software_ddraw', []],
+   ['software_gdi', []],
+ ]
+endif
+
 if get_option('opengl') != 'none'
   engines += [
    ['gl_generic', []],
index 2f6f580..404fe7c 100644 (file)
@@ -1,17 +1,16 @@
 engine_src = files([
-  'Evas_Engine_Software_DDraw.h',
   'evas_engine.c',
-  'evas_engine.h',
   'evas_outbuf.c',
   'evas_ddraw_buffer.c',
-  'evas_ddraw_main.c',
+  'evas_ddraw_main.cpp',
 ])
 
-engine_deps = []
+engine_deps = [cc.find_library('ddraw')]
 
 if get_option('evas-modules') == 'shared'
   shared_module(mod_full_name, engine_src,
         include_directories : config_dir + [engine_include_dir],
+        cpp_args: ['-fno-rtti', '-fno-exceptions'],
         dependencies : [eina, evas] + engine_deps,
         install : true,
         install_dir : mod_install_dir,
index 63a1c2c..e492e00 100644 (file)
@@ -1,13 +1,11 @@
 engine_src = files([
-  'Evas_Engine_Software_Gdi.h',
   'evas_engine.c',
-  'evas_engine.h',
   'evas_outbuf.c',
   'evas_gdi_buffer.c',
   'evas_gdi_main.c',
 ])
 
-engine_deps = []
+engine_deps = [cc.find_library('gdi32')]
 
 if get_option('evas-modules') == 'shared'
   shared_module(mod_full_name, engine_src,