bu5hm4n pushed a commit to branch feature/meson.

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

commit cf05d5895901b7e196daad5774cd0a2b807ab48d
Author: Marcel Hollerbach <[email protected]>
Date:   Sat Jan 6 09:54:28 2018 +0000

    meson: here comes ecore_imf
---
 meson.build                               |  1 +
 meson_options.txt                         |  6 ++++++
 src/lib/ecore_imf/meson.build             | 32 +++++++++++++++++++++++++++++++
 src/modules/ecore_imf/ibus/meson.build    |  7 +++++++
 src/modules/ecore_imf/meson.build         | 28 +++++++++++++++++++++++++++
 src/modules/ecore_imf/scim/meson.build    |  6 ++++++
 src/modules/ecore_imf/wayland/meson.build |  6 ++++++
 src/modules/ecore_imf/xim/meson.build     |  5 +++++
 src/wayland_protocol/meson.build          |  1 +
 9 files changed, 92 insertions(+)

diff --git a/meson.build b/meson.build
index a880c4c249..598b12418d 100644
--- a/meson.build
+++ b/meson.build
@@ -120,6 +120,7 @@ subprojects = [
 ['evas_goal'        , false,  true, false, false, false, false, []],
 ['ecore_input_evas' , false,  true, false, false, false, false, []],
 ['ecore_evas'       ,  true,  true, false, false, false, false, []],
+['ecore_imf'        ,  true,  true, false, false, false, false, []],
 ]
 
 # We generate Efl_Config.h and config.h later, they will be available here
diff --git a/meson_options.txt b/meson_options.txt
index 32db772cb9..54414b9d79 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -166,6 +166,12 @@ option('ecore_evas',
   description : 'build evas'
 )
 
+option('ecore_imf',
+  type : 'boolean',
+  value : true,
+  description : 'build evas'
+)
+
 option('build-id',
   type : 'string',
   value : 'none',
diff --git a/src/lib/ecore_imf/meson.build b/src/lib/ecore_imf/meson.build
new file mode 100644
index 0000000000..65060edd6a
--- /dev/null
+++ b/src/lib/ecore_imf/meson.build
@@ -0,0 +1,32 @@
+ecore_imf_deps = []
+
+ecore_imf_header_src = [
+   'Ecore_IMF.h'
+]
+
+ecore_imf_src = [
+  'ecore_imf.c',
+  'ecore_imf_context.c',
+  'ecore_imf_module.c',
+  'ecore_imf_private.h',
+]
+
+
+ecore_imf_lib = library('ecore_imf',
+    ecore_imf_src, pub_eo_file_target,
+    dependencies: [ecore, ecore_imf_deps],
+    include_directories : config_dir,
+    c_args : package_c_args,
+    install: true,
+)
+
+ecore_imf = declare_dependency(
+  include_directories: [include_directories('.')],
+  link_with: ecore_imf_lib,
+  sources : pub_eo_file_target,
+  dependencies: [eina],
+)
+
+install_headers(ecore_imf_header_src,
+  install_dir : dir_package_include,
+)
\ No newline at end of file
diff --git a/src/modules/ecore_imf/ibus/meson.build 
b/src/modules/ecore_imf/ibus/meson.build
new file mode 100644
index 0000000000..badbb9f711
--- /dev/null
+++ b/src/modules/ecore_imf/ibus/meson.build
@@ -0,0 +1,7 @@
+mod_src = files([
+  'ibus_module.c',
+  'ibus_imcontext.c',
+  'ibus_imcontext.h'
+])
+
+mod_deps = [ecore, ecore_imf, ecore_x, dependency('ibus-1.0'), 
dependency('glib-2.0'), ecore_evas]
diff --git a/src/modules/ecore_imf/meson.build 
b/src/modules/ecore_imf/meson.build
new file mode 100644
index 0000000000..bebe280066
--- /dev/null
+++ b/src/modules/ecore_imf/meson.build
@@ -0,0 +1,28 @@
+mods = ['ibus', 'xim']
+
+if dependency('scim-1.0', required : false).found()
+  mods += ['scim']
+endif
+
+if get_option('ecore_wl2')
+  mods += ['wayland']
+endif
+
+
+foreach mod_name : mods
+  mod_src = []
+  mod_deps = []
+  subdir(mod_name)
+  config_h.set('BUILD_ECORE_IMF_'+mod_name.to_upper(), '1')
+
+  mod_install_dir =  join_paths(dir_package_modules, mod_name, module_arch)
+
+  shared_module(mod_name,
+      mod_src,
+      dependencies: mod_deps,
+      install: true,
+      install_dir : mod_install_dir
+  )
+  module_files += join_paths(mod_install_dir, 'lib'+mod_name+'.so')
+
+endforeach
diff --git a/src/modules/ecore_imf/scim/meson.build 
b/src/modules/ecore_imf/scim/meson.build
new file mode 100644
index 0000000000..ecc65e40fa
--- /dev/null
+++ b/src/modules/ecore_imf/scim/meson.build
@@ -0,0 +1,6 @@
+mod_src = files([
+  'scim_module.cpp',
+  'scim_imcontext.cpp',
+  'scim_imcontext.h'
+])
+mod_deps = [ecore, ecore_imf, ecore_x, dependency('scim-1.0'), 
dependency('glib-2.0')]
diff --git a/src/modules/ecore_imf/wayland/meson.build 
b/src/modules/ecore_imf/wayland/meson.build
new file mode 100644
index 0000000000..a082d7ae98
--- /dev/null
+++ b/src/modules/ecore_imf/wayland/meson.build
@@ -0,0 +1,6 @@
+mod_src = files([
+  'wayland_module.c',
+  'wayland_imcontext.c',
+  'wayland_imcontext.h'
+])
+mod_deps = [ecore, ecore_imf, ecore_wl2, wayland_protocol, ecore_evas, 
ecore_input]
diff --git a/src/modules/ecore_imf/xim/meson.build 
b/src/modules/ecore_imf/xim/meson.build
new file mode 100644
index 0000000000..669b50ef89
--- /dev/null
+++ b/src/modules/ecore_imf/xim/meson.build
@@ -0,0 +1,5 @@
+mod_src = files([
+  'ecore_imf_xim.c',
+])
+
+mod_deps = [ecore, ecore_imf, ecore_input, ecore_x, dependency('ibus-1.0'), 
dependency('glib-2.0'), ecore_evas]
diff --git a/src/wayland_protocol/meson.build b/src/wayland_protocol/meson.build
index 6dbcbc4ad2..29e670f0e0 100644
--- a/src/wayland_protocol/meson.build
+++ b/src/wayland_protocol/meson.build
@@ -15,6 +15,7 @@ wl_protocol_local = [
 wl_protocol_sys = [
   join_paths('xdg-shell', 'xdg-shell-unstable-v6.xml'),
   join_paths('linux-dmabuf', 'linux-dmabuf-unstable-v1.xml'),
+  join_paths('text-input', 'text-input-unstable-v1.xml'),
 ]
 
 foreach sys_protocol : wl_protocol_sys

-- 


Reply via email to