bu5hm4n pushed a commit to branch feature/meson.

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

commit 334bfb95aeb8de2888b53bec4ad5020a58d04b85
Author: Marcel Hollerbach <[email protected]>
Date:   Wed Dec 27 22:20:22 2017 +0000

    meson: time for wayland!
---
 meson.build                        |  3 +++
 src/lib/ecore_wl2/meson.build      | 41 +++++++++++++++++++++++++++++
 src/static_libs/libdrm/meson.build |  3 +++
 src/wayland_protocol/meson.build   | 53 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 100 insertions(+)

diff --git a/meson.build b/meson.build
index 5e18e892f9..87b62f38df 100644
--- a/meson.build
+++ b/meson.build
@@ -77,6 +77,8 @@ config_dir = [include_directories('.')]
 eolian_include_directories = []
 
 subdir('header_checks')
+subdir(join_paths('src', 'wayland_protocol'))
+
 
 subprojects = [
 # name   | mod  | lib  | bin  | bench | name of static libs
@@ -96,6 +98,7 @@ subprojects = [
 ['ecore_input', false,  true, false, false, []],
 ['ecore_x', false,  true, false, false, []],
 ['ecore_fb', false,  true, false, false, []],
+['ecore_wl2', false,  true, false, false, ['libdrm']],
 ]
 
 
diff --git a/src/lib/ecore_wl2/meson.build b/src/lib/ecore_wl2/meson.build
new file mode 100644
index 0000000000..052f4375a9
--- /dev/null
+++ b/src/lib/ecore_wl2/meson.build
@@ -0,0 +1,41 @@
+ecore_wl2_deps = []
+
+ecore_wl2_header_src = [
+  'Ecore_Wl2.h'
+]
+
+ecore_wl2_src = [
+  'ecore_wl2_subsurf.c',
+  'ecore_wl2_dnd.c',
+  'ecore_wl2_window.c',
+  'ecore_wl2_input.c',
+  'ecore_wl2_output.c',
+  'ecore_wl2_display.c',
+  'ecore_wl2.c',
+  'ecore_wl2_private.h',
+  'ecore_wl2_buffer.c',
+  'ecore_wl2_surface.c'
+]
+
+ecore_wl2_deps += dependency('wayland-client')
+ecore_wl2_deps += dependency('wayland-server')
+ecore_wl2_deps += dependency('xkbcommon')
+ecore_wl2_deps += wayland_protocol
+
+ecore_wl2_lib = library('ecore_wl2',
+    ecore_wl2_src, pub_eo_file_target,
+    dependencies: [dl, m, eina, ecore, ecore_input, ecore_wl2_deps, libdrm],
+    include_directories : config_dir,
+    install: true,
+)
+
+ecore_wl2 = declare_dependency(
+  include_directories: [include_directories('.')],
+  link_with: ecore_wl2_lib,
+  sources : pub_eo_file_target,
+  dependencies: [eina, wayland_protocol],
+)
+
+install_headers(ecore_wl2_header_src,
+  install_dir : dir_package_include,
+)
\ No newline at end of file
diff --git a/src/static_libs/libdrm/meson.build 
b/src/static_libs/libdrm/meson.build
new file mode 100644
index 0000000000..ec0278b243
--- /dev/null
+++ b/src/static_libs/libdrm/meson.build
@@ -0,0 +1,3 @@
+libdrm = declare_dependency(
+       include_directories: include_directories('.')
+)
\ No newline at end of file
diff --git a/src/wayland_protocol/meson.build b/src/wayland_protocol/meson.build
new file mode 100644
index 0000000000..3433cd8a9f
--- /dev/null
+++ b/src/wayland_protocol/meson.build
@@ -0,0 +1,53 @@
+wayland_scanner_bin = find_program('wayland-scanner')
+
+wayland_protocols = dependency('wayland-protocols')
+
+wl_protocol_local = [
+  'efl-aux-hints.xml',
+  'efl-hints.xml',
+  'session-recovery.xml',
+  'teamwork.xml',      
+  'www.xml'
+]
+
+wl_protocol_sys = [
+  join_paths('xdg-shell', 'xdg-shell-unstable-v6.xml'),
+  join_paths('linux-dmabuf', 'linux-dmabuf-unstable-v1.xml'),
+]
+
+foreach sys_protocol : wl_protocol_sys
+       wl_protocol_local += [ 
+               
join_paths(wayland_protocols.get_pkgconfig_variable('pkgdatadir'), 'unstable',
+                       sys_protocol)]
+endforeach
+
+gen_obj = []
+
+foreach item : wl_protocol_local
+  gen_obj += custom_target('wl_code_'+item.underscorify(),
+    input: item,
+    output : ['@[email protected]'],
+    command: [wayland_scanner_bin, ['code','@INPUT@','@OUTPUT@']]
+  )
+  gen_obj += custom_target('wl_client_header_'+item.underscorify(),
+    input: item,
+    output : ['@[email protected]'],
+    command: [wayland_scanner_bin, ['client-header','@INPUT@','@OUTPUT@']]
+  )
+  gen_obj += custom_target('wl_server_header_'+item.underscorify(),
+    input: item,
+    output : ['@[email protected]'],
+    command: [wayland_scanner_bin, ['server-header','@INPUT@','@OUTPUT@']]
+  )
+endforeach
+
+
+wayland_protocol_lib = static_library('wayland_protocol',
+    gen_obj,
+)
+
+wayland_protocol = declare_dependency(
+       include_directories: include_directories('.'),
+       link_with: wayland_protocol_lib,
+  sources: gen_obj,
+)
\ No newline at end of file

-- 


Reply via email to