meson: only find libcrypt if SELinux and no PAM

We only need libcrypt if we're building _with_ SELinux and
_without_ PAM. We don't use libcrypt for general SELinux
with PAM.

This is mostly a correctness change as libcrypt should
generally be available (as opposed to the previous
change which fixed some real-world cases).

Fixes: f3f0fde861
Fixes: #478
This commit is contained in:
Sam James 2021-11-22 10:30:36 +00:00 committed by William Hubbs
parent f3f0fde861
commit b868fc2c8d

View File

@ -93,7 +93,7 @@ rc_bindir = rc_libexecdir / 'bin'
rc_sbindir = rc_libexecdir / 'sbin'
sbindir = rootprefix / get_option('sbindir')
crypt_dep = dependency('libcrypt', required : not get_option('pam'))
crypt_dep = []
selinux_dep = dependency('libselinux', required : get_option('selinux'))
pam_misc_dep = []
@ -107,6 +107,8 @@ if selinux_dep.found()
if not pam_misc_dep.found() and get_option('pam')
error('Pam was requested but could not be located')
endif
else
crypt_dep = dependency('libcrypt', required : not get_option('pam'))
endif
else
cc_selinux_flags = []