aboutsummaryrefslogtreecommitdiffstats
path: root/meson.build
diff options
context:
space:
mode:
authorLibravatar Simon Ser <contact@emersion.fr>2022-11-26 20:13:31 +0100
committerLibravatar Simon Zeni <simon@bl4ckb0ne.ca>2022-11-28 13:28:15 -0500
commit5b64e2fc31ede4777343e06087d7b921b28be674 (patch)
treeba41e4c743f21799bbbccaf9a4dffabe86ff2828 /meson.build
parentTranslate README to Czech (diff)
downloadsway-5b64e2fc31ede4777343e06087d7b921b28be674.tar.gz
sway-5b64e2fc31ede4777343e06087d7b921b28be674.tar.zst
sway-5b64e2fc31ede4777343e06087d7b921b28be674.zip
Make GLES2 optional
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build33
1 files changed, 19 insertions, 14 deletions
diff --git a/meson.build b/meson.build
index 7e26ae2a..5468064f 100644
--- a/meson.build
+++ b/meson.build
@@ -43,6 +43,24 @@ subproject(
43 required: false, 43 required: false,
44 version: wlroots_version, 44 version: wlroots_version,
45) 45)
46wlroots = dependency('wlroots', version: wlroots_version)
47wlroots_features = {
48 'xwayland': false,
49 'libinput_backend': false,
50 'gles2_renderer': false,
51 'session': false,
52}
53foreach name, _ : wlroots_features
54 var_name = 'have_' + name.underscorify()
55 have = wlroots.get_variable(pkgconfig: var_name, internal: var_name) == 'true'
56 wlroots_features += { name: have }
57endforeach
58
59if get_option('xwayland').enabled() and not wlroots_features['xwayland']
60 error('Cannot enable Xwayland in sway: wlroots has been built without Xwayland support')
61endif
62
63null_dep = dependency('', required: false)
46 64
47jsonc = dependency('json-c', version: '>=0.13') 65jsonc = dependency('json-c', version: '>=0.13')
48pcre2 = dependency('libpcre2-8') 66pcre2 = dependency('libpcre2-8')
@@ -50,14 +68,13 @@ wayland_server = dependency('wayland-server', version: '>=1.21.0')
50wayland_client = dependency('wayland-client') 68wayland_client = dependency('wayland-client')
51wayland_cursor = dependency('wayland-cursor') 69wayland_cursor = dependency('wayland-cursor')
52wayland_protos = dependency('wayland-protocols', version: '>=1.24') 70wayland_protos = dependency('wayland-protocols', version: '>=1.24')
53wlroots = dependency('wlroots', version: wlroots_version)
54xkbcommon = dependency('xkbcommon') 71xkbcommon = dependency('xkbcommon')
55cairo = dependency('cairo') 72cairo = dependency('cairo')
56pango = dependency('pango') 73pango = dependency('pango')
57pangocairo = dependency('pangocairo') 74pangocairo = dependency('pangocairo')
58gdk_pixbuf = dependency('gdk-pixbuf-2.0', required: get_option('gdk-pixbuf')) 75gdk_pixbuf = dependency('gdk-pixbuf-2.0', required: get_option('gdk-pixbuf'))
59pixman = dependency('pixman-1') 76pixman = dependency('pixman-1')
60glesv2 = dependency('glesv2') 77glesv2 = wlroots_features['gles2_renderer'] ? dependency('glesv2') : null_dep
61libevdev = dependency('libevdev') 78libevdev = dependency('libevdev')
62libinput = dependency('libinput', version: '>=1.21.0') 79libinput = dependency('libinput', version: '>=1.21.0')
63xcb = dependency('xcb', required: get_option('xwayland')) 80xcb = dependency('xcb', required: get_option('xwayland'))
@@ -71,18 +88,6 @@ rt = cc.find_library('rt')
71xcb_icccm = dependency('xcb-icccm', required: get_option('xwayland')) 88xcb_icccm = dependency('xcb-icccm', required: get_option('xwayland'))
72threads = dependency('threads') # for pthread_setschedparam 89threads = dependency('threads') # for pthread_setschedparam
73 90
74wlroots_features = {
75 'xwayland': false,
76}
77foreach name, _ : wlroots_features
78 var_name = 'have_' + name.underscorify()
79 have = wlroots.get_variable(pkgconfig: var_name, internal: var_name) == 'true'
80 wlroots_features += { name: have }
81endforeach
82
83if get_option('xwayland').enabled() and not wlroots_features['xwayland']
84 error('Cannot enable Xwayland in sway: wlroots has been built without Xwayland support')
85endif
86have_xwayland = xcb.found() and wlroots_features['xwayland'] 91have_xwayland = xcb.found() and wlroots_features['xwayland']
87 92
88if get_option('sd-bus-provider') == 'auto' 93if get_option('sd-bus-provider') == 'auto'