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 --
