diff options
Diffstat (limited to 'backend')
-rw-r--r-- | backend/drm/meson.build | 10 | ||||
-rw-r--r-- | backend/headless/meson.build | 5 | ||||
-rw-r--r-- | backend/libinput/meson.build | 10 | ||||
-rw-r--r-- | backend/meson.build | 90 | ||||
-rw-r--r-- | backend/multi/meson.build | 1 | ||||
-rw-r--r-- | backend/noop/meson.build | 4 | ||||
-rw-r--r-- | backend/rdp/meson.build | 36 | ||||
-rw-r--r-- | backend/session/meson.build | 53 | ||||
-rw-r--r-- | backend/wayland/meson.build | 20 | ||||
-rw-r--r-- | backend/x11/meson.build | 34 |
10 files changed, 166 insertions, 97 deletions
diff --git a/backend/drm/meson.build b/backend/drm/meson.build new file mode 100644 index 00000000..ffddfdfc --- /dev/null +++ b/backend/drm/meson.build @@ -0,0 +1,10 @@ +wlr_files += files( + 'atomic.c', + 'backend.c', + 'cvt.c', + 'drm.c', + 'legacy.c', + 'properties.c', + 'renderer.c', + 'util.c', +) diff --git a/backend/headless/meson.build b/backend/headless/meson.build new file mode 100644 index 00000000..e38ce133 --- /dev/null +++ b/backend/headless/meson.build @@ -0,0 +1,5 @@ +wlr_files += files( + 'backend.c', + 'input_device.c', + 'output.c', +) diff --git a/backend/libinput/meson.build b/backend/libinput/meson.build new file mode 100644 index 00000000..ff78d2f8 --- /dev/null +++ b/backend/libinput/meson.build @@ -0,0 +1,10 @@ +wlr_files += files( + 'backend.c', + 'events.c', + 'keyboard.c', + 'pointer.c', + 'switch.c', + 'tablet_pad.c', + 'tablet_tool.c', + 'touch.c', +) diff --git a/backend/meson.build b/backend/meson.build index e4a484f4..373102b6 100644 --- a/backend/meson.build +++ b/backend/meson.build @@ -1,82 +1,12 @@ -backend_parts = [] -backend_files = files( - 'backend.c', - 'drm/atomic.c', - 'drm/backend.c', - 'drm/cvt.c', - 'drm/drm.c', - 'drm/legacy.c', - 'drm/properties.c', - 'drm/renderer.c', - 'drm/util.c', - 'headless/backend.c', - 'headless/input_device.c', - 'headless/output.c', - 'libinput/backend.c', - 'libinput/events.c', - 'libinput/keyboard.c', - 'libinput/pointer.c', - 'libinput/switch.c', - 'libinput/tablet_pad.c', - 'libinput/tablet_tool.c', - 'libinput/touch.c', - 'multi/backend.c', - 'noop/backend.c', - 'noop/output.c', - 'session/direct-ipc.c', - 'session/noop.c', - 'session/session.c', - 'wayland/backend.c', - 'wayland/output.c', - 'wayland/wl_seat.c', - 'wayland/tablet_v2.c', -) - -backend_deps = [ - drm, - egl, - gbm, - libinput, - pixman, - xkbcommon, - wayland_server, - wlr_protos, - wlr_render, -] - -if host_machine.system().startswith('freebsd') - backend_files += files('session/direct-freebsd.c') -else - backend_files += files('session/direct.c') -endif - -if logind.found() - backend_files += files('session/logind.c') - backend_deps += logind -endif - -if freerdp.found() and winpr2.found() - backend_files += files( - 'rdp/backend.c', - 'rdp/keyboard.c', - 'rdp/listener.c', - 'rdp/output.c', - 'rdp/peer.c', - 'rdp/pointer.c', - ) - backend_deps += [ - freerdp, - winpr2 - ] - conf_data.set10('WLR_HAS_RDP_BACKEND', true) -endif - +wlr_files += files('backend.c') + +subdir('drm') +subdir('headless') +subdir('libinput') +subdir('multi') +subdir('noop') +subdir('rdp') +subdir('wayland') subdir('x11') -lib_wlr_backend = static_library( - 'wlr_backend', - backend_files, - include_directories: wlr_inc, - link_whole: backend_parts, - dependencies: backend_deps, -) +subdir('session') diff --git a/backend/multi/meson.build b/backend/multi/meson.build new file mode 100644 index 00000000..be4abfb6 --- /dev/null +++ b/backend/multi/meson.build @@ -0,0 +1 @@ +wlr_files += files('backend.c') diff --git a/backend/noop/meson.build b/backend/noop/meson.build new file mode 100644 index 00000000..950c0716 --- /dev/null +++ b/backend/noop/meson.build @@ -0,0 +1,4 @@ +wlr_files += files( + 'backend.c', + 'output.c', +) diff --git a/backend/rdp/meson.build b/backend/rdp/meson.build new file mode 100644 index 00000000..40259c65 --- /dev/null +++ b/backend/rdp/meson.build @@ -0,0 +1,36 @@ +rdp_libs = [] +rdp_required = [ + 'freerdp2', + 'winpr2', +] + +msg = [] +if get_option('freerdp').enabled() + msg += 'Install "@0@" or pass "-Dfreerdp=disabled".' +endif +if not get_option('freerdp').disabled() + msg += 'Required for RDP backend support.' +endif + +foreach lib : rdp_required + dep = dependency(lib, + required: get_option('freerdp'), + not_found_message: '\n'.join(msg).format(lib), + ) + if not dep.found() + subdir_done() + endif + + rdp_libs += dep +endforeach + +wlr_files += files( + 'backend.c', + 'keyboard.c', + 'listener.c', + 'output.c', + 'peer.c', + 'pointer.c', +) +wlr_deps += rdp_libs +conf_data.set10('WLR_HAS_RDP_BACKEND', true) diff --git a/backend/session/meson.build b/backend/session/meson.build new file mode 100644 index 00000000..2c3f09c7 --- /dev/null +++ b/backend/session/meson.build @@ -0,0 +1,53 @@ +wlr_files += files( + 'direct-ipc.c', + 'noop.c', + 'session.c', +) + +if host_machine.system().startswith('freebsd') + wlr_files += files('direct-freebsd.c') +else + wlr_files += files('direct.c') +endif + +# logind + +msg = [] +if get_option('logind').enabled() + msg += 'Install "lib@0@" or pass "-Dlogind=disabled".' +endif +if not get_option('logind').disabled() + msg += 'Required for logind support.' + msg += 'You may need to pass "-Dlogind-provider=elogind" or "-Dlogind-provider=systemd" to ensure the correct library is detected.' +endif + +logind = dependency('lib' + get_option('logind-provider'), + required: get_option('logind'), + not_found_message: '\n'.join(msg).format(get_option('logind-provider')), + version: '>=237', +) +if logind.found() + wlr_files += files('logind.c') + wlr_deps += logind + conf_data.set10('WLR_HAS_' + get_option('logind-provider').to_upper(), true) +endif + +# libcap + +msg = [] +if get_option('libcap').enabled() + msg += 'Install "libcap" or pass "-Dlibcap=disabled".' +endif +if not get_option('libcap').disabled() + msg += 'Required for POSIX capability support (Not needed if using logind).' +endif + +libcap = dependency('libcap', + required: get_option('libcap'), + not_found_message: '\n'.join(msg), +) +if libcap.found() + conf_data.set10('WLR_HAS_LIBCAP', true) + wlr_deps += libcap +endif + diff --git a/backend/wayland/meson.build b/backend/wayland/meson.build new file mode 100644 index 00000000..73336d20 --- /dev/null +++ b/backend/wayland/meson.build @@ -0,0 +1,20 @@ +wlr_files += files( + 'backend.c', + 'output.c', + 'wl_seat.c', + 'tablet_v2.c', +) + +client_protos = [ + 'linux-dmabuf-unstable-v1', + 'pointer-gestures-unstable-v1', + 'presentation-time', + 'relative-pointer-unstable-v1', + 'tablet-unstable-v2', + 'xdg-decoration-unstable-v1', + 'xdg-shell', +] + +foreach proto : client_protos + wlr_files += get_variable(proto.underscorify() + '_h') +endforeach diff --git a/backend/x11/meson.build b/backend/x11/meson.build index 19e873ab..40530bb0 100644 --- a/backend/x11/meson.build +++ b/backend/x11/meson.build @@ -6,8 +6,19 @@ x11_required = [ 'xcb-xfixes', ] +msg = [] +if get_option('x11-backend').enabled() + msg += 'Install "@0@" or pass "-Dx11-backend=disabled" to disable it.' +endif +if not get_option('x11-backend').disabled() + msg += 'Required for X11 backend support.' +endif + foreach lib : x11_required - dep = dependency(lib, required: get_option('x11-backend')) + dep = dependency(lib, + required: get_option('x11-backend'), + not_found_message: '\n'.join(msg).format(lib), + ) if not dep.found() subdir_done() endif @@ -15,21 +26,10 @@ foreach lib : x11_required x11_libs += dep endforeach -lib_wlr_backend_x11 = static_library( - 'wlr_backend_x11', - files( - 'backend.c', - 'input_device.c', - 'output.c', - ), - include_directories: wlr_inc, - dependencies: [ - wayland_server, - pixman, - xkbcommon, - x11_libs, - ], +wlr_files += files( + 'backend.c', + 'input_device.c', + 'output.c', ) - -backend_parts += lib_wlr_backend_x11 +wlr_deps += x11_libs conf_data.set10('WLR_HAS_X11_BACKEND', true) |