#include <unistd.h>'''],
['get_mempolicy', '''#include <stdlib.h>
#include <unistd.h>'''],
+ ['pidfd_send_signal', '''#include <stdlib.h>
+ #include <unistd.h>
+ #include <signal.h>
+ #include <sys/wait.h>'''],
+ ['pidfd_open', '''#include <stdlib.h>
+ #include <unistd.h>
+ #include <signal.h>
+ #include <sys/wait.h>'''],
+ ['rt_sigqueueinfo', '''#include <stdlib.h>
+ #include <unistd.h>
+ #include <signal.h>
+ #include <sys/wait.h>'''],
]
have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
endif
conf.set10('HAVE_OPENSSL', have)
+want_p11kit = get_option('p11kit')
+if want_p11kit != 'false' and not skip_deps
+ libp11kit = dependency('p11-kit-1',
+ version : '>= 0.23.3',
+ required : want_p11kit == 'true')
+ have = libp11kit.found()
+else
+ have = false
+ libp11kit = []
+endif
+conf.set10('HAVE_P11KIT', have)
+
want_elfutils = get_option('elfutils')
if want_elfutils != 'false' and not skip_deps
libdw = dependency('libdw',
install_dir : systemgeneratordir)
if conf.get('HAVE_LIBCRYPTSETUP') == 1
+ systemd_cryptsetup_sources = files('''
+ src/cryptsetup/cryptsetup.c
+ src/cryptsetup/cryptsetup-pkcs11.h
+'''.split())
+
+ if conf.get('HAVE_P11KIT') == 1
+ systemd_cryptsetup_sources += files('src/cryptsetup/cryptsetup-pkcs11.c')
+ endif
+
executable('systemd-cryptsetup',
- 'src/cryptsetup/cryptsetup.c',
+ systemd_cryptsetup_sources,
include_directories : includes,
link_with : [libshared],
- dependencies : [libcryptsetup],
+ dependencies : [libcryptsetup,
+ libp11kit],
install_rpath : rootlibexecdir,
install : true,
install_dir : rootlibexecdir)
foreach tuple : [
['libcryptsetup'],
['PAM'],
+ ['p11kit'],
['AUDIT'],
['IMA'],
['AppArmor'],