swaylock/meson.build
Drew DeVault 64259db8d6 Add support for building swaylock without PAM
This involves setuid'ing swaylock, which then forks and drops perms on
the parent process. The child process remains root and listens on a pipe
for requests to validate passwords against /etc/shadow.
2018-09-28 13:53:01 +02:00

52 lines
936 B
Meson

sysconfdir = get_option('sysconfdir')
dependencies = [
cairo,
client_protos,
gdk_pixbuf,
math,
pango,
pangocairo,
xkbcommon,
wayland_client,
wlroots,
]
sources = [
'main.c',
'password.c',
'render.c',
'seat.c'
]
if libpam.found()
sources += ['pam.c']
dependencies += [libpam]
else
warning('The swaylock binary must be setuid when compiled without libpam')
warning('You must do this manually post-install: chmod a+s /path/to/swaylock')
sources += ['shadow.c']
endif
executable('swaylock',
sources,
include_directories: [sway_inc],
dependencies: dependencies,
link_with: [lib_sway_common, lib_sway_client],
install: true
)
if is_freebsd
install_data(
'pam/swaylock.freebsd',
install_dir: sysconfdir + '/pam.d/',
rename: 'swaylock'
)
else
install_data(
'pam/swaylock.linux',
install_dir: sysconfdir + '/pam.d/',
rename: 'swaylock'
)
endif