2022-11-23 15:10:02 +01:00
|
|
|
libseat = dependency(
|
|
|
|
|
'libseat',
|
2021-04-11 16:29:24 +02:00
|
|
|
version: '>=0.2.0',
|
2021-12-14 12:10:31 +01:00
|
|
|
fallback: 'seatd',
|
2022-11-23 15:10:02 +01:00
|
|
|
default_options: ['server=disabled', 'man-pages=disabled', 'examples=disabled'],
|
2022-11-23 16:04:43 +01:00
|
|
|
required: session_required,
|
2026-05-24 13:54:23 +02:00
|
|
|
not_found_message: 'Required for session support.',
|
2021-04-11 16:29:24 +02:00
|
|
|
)
|
2026-05-24 16:18:35 +02:00
|
|
|
udev = dependency('libudev', required: get_option('udev'))
|
|
|
|
|
has_netlink = cc.has_header('linux/netlink.h')
|
|
|
|
|
has_device_manager = udev.found() or has_netlink
|
|
|
|
|
if session_required and not has_device_manager
|
|
|
|
|
error('Session requires either udev or <linux/netlink.h>')
|
|
|
|
|
endif
|
|
|
|
|
if not (libseat.found() and has_device_manager)
|
2022-11-23 16:04:43 +01:00
|
|
|
subdir_done()
|
|
|
|
|
endif
|
|
|
|
|
|
2026-05-24 13:54:23 +02:00
|
|
|
wlr_files += files('session.c')
|
|
|
|
|
wlr_deps += [libseat]
|
2022-11-23 16:04:43 +01:00
|
|
|
features += { 'session': true }
|
2026-05-24 13:54:23 +02:00
|
|
|
|
|
|
|
|
if udev.found()
|
|
|
|
|
wlr_files += files('udev.c')
|
|
|
|
|
wlr_deps += [udev]
|
|
|
|
|
internal_features += { 'udev': true }
|
|
|
|
|
endif
|
2026-05-24 16:18:35 +02:00
|
|
|
|
|
|
|
|
if has_netlink
|
|
|
|
|
wlr_files += files('linux.c')
|
|
|
|
|
endif
|