summaryrefslogtreecommitdiff
path: root/src/wayland_protocol
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2018-08-12 15:26:29 +0200
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2018-10-02 17:22:50 +0200
commit46d464e5bfc10398461a33a2256c1c58d509dd1a (patch)
tree8c1a9272c05f14033a4430bc122632461bd73608 /src/wayland_protocol
parent70ecf1056bb4be5a68b63044f938ccc2fe0a58c0 (diff)
here comes meson
a new shiny buildtool that currently completes in the total of ~ 4 min.. 1 min. conf time 2:30 min. build time Where autotools takes: 1:50 min. conf time 3:40 min. build time. meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read. Further informations can be gathered from the README.meson Right now, bindings & windows support are missing. It is highly recommented to use meson 0.48 due to optimizations in meson that reduced the time the meson call would need. Co-authored-by: Mike Blumenkrantz <zmike@samsung.com> Differential Revision: https://phab.enlightenment.org/D7012 Depends on D7011
Diffstat (limited to 'src/wayland_protocol')
-rw-r--r--src/wayland_protocol/meson.build67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/wayland_protocol/meson.build b/src/wayland_protocol/meson.build
new file mode 100644
index 0000000..5f3680e
--- /dev/null
+++ b/src/wayland_protocol/meson.build
@@ -0,0 +1,67 @@
1wayland_scanner_bin = find_program('wayland-scanner')
2
3#make it typo proof
4_wayland_protocols = dependency('wayland-protocols')
5wayland_client = dependency('wayland-client')
6
7wl_protocol_local = [
8 'efl-aux-hints.xml',
9 'efl-hints.xml',
10 'session-recovery.xml',
11 'teamwork.xml',
12 'www.xml'
13]
14
15wl_unstable_protocol_sys = [
16 join_paths('xdg-shell', 'xdg-shell-unstable-v6.xml'),
17 join_paths('linux-dmabuf', 'linux-dmabuf-unstable-v1.xml'),
18 join_paths('text-input', 'text-input-unstable-v1.xml'),
19]
20
21wl_stable_protocol_sys = [
22 join_paths('xdg-shell', 'xdg-shell.xml'),
23]
24
25foreach sys_protocol : wl_unstable_protocol_sys
26 wl_protocol_local += [
27 join_paths(_wayland_protocols.get_pkgconfig_variable('pkgdatadir'), 'unstable',
28 sys_protocol)]
29endforeach
30
31foreach sys_protocol : wl_stable_protocol_sys
32 wl_protocol_local += [
33 join_paths(_wayland_protocols.get_pkgconfig_variable('pkgdatadir'), 'stable',
34 sys_protocol)]
35endforeach
36
37gen_obj = []
38
39foreach item : wl_protocol_local
40 gen_obj += custom_target('wl_code_'+item.underscorify(),
41 input: item,
42 output : ['@BASENAME@-protocol.c'],
43 command: [wayland_scanner_bin, ['code','@INPUT@','@OUTPUT@']]
44 )
45 gen_obj += custom_target('wl_client_header_'+item.underscorify(),
46 input: item,
47 output : ['@BASENAME@-client-protocol.h'],
48 command: [wayland_scanner_bin, ['client-header','@INPUT@','@OUTPUT@']]
49 )
50 gen_obj += custom_target('wl_server_header_'+item.underscorify(),
51 input: item,
52 output : ['@BASENAME@-server-protocol.h'],
53 command: [wayland_scanner_bin, ['server-header','@INPUT@','@OUTPUT@']]
54 )
55endforeach
56
57
58wayland_protocol_lib = static_library('wayland_protocol',
59 gen_obj,
60)
61
62wayland_protocol = declare_dependency(
63 include_directories: include_directories('.'),
64 link_with: wayland_protocol_lib,
65 sources: gen_obj,
66 dependencies : [wayland_client]
67) \ No newline at end of file