]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/login/meson.build
000a5f9d96a913e47672eb401e47aa2b766c7997
[thirdparty/systemd.git] / src / login / meson.build
1 # SPDX-License-Identifier: LGPL-2.1-or-later
2
3 systemd_logind_sources = files(
4 'logind.c',
5 'logind.h')
6
7 logind_gperf_c = custom_target(
8 'logind_gperf.c',
9 input : 'logind-gperf.gperf',
10 output : 'logind-gperf.c',
11 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
12
13 liblogind_core_sources = files(
14 'logind-action.c',
15 'logind-action.h',
16 'logind-brightness.c',
17 'logind-brightness.h',
18 'logind-button.c',
19 'logind-button.h',
20 'logind-core.c',
21 'logind-dbus.c',
22 'logind-dbus.h',
23 'logind-device.c',
24 'logind-device.h',
25 'logind-inhibit.c',
26 'logind-inhibit.h',
27 'logind-polkit.c',
28 'logind-polkit.h',
29 'logind-seat-dbus.c',
30 'logind-seat-dbus.h',
31 'logind-seat.c',
32 'logind-seat.h',
33 'logind-session-dbus.c',
34 'logind-session-dbus.h',
35 'logind-session-device.c',
36 'logind-session-device.h',
37 'logind-session.c',
38 'logind-session.h',
39 'logind-user-dbus.c',
40 'logind-user-dbus.h',
41 'logind-user.c',
42 'logind-user.h',
43 'logind-utmp.c')
44
45 liblogind_core_sources += [logind_gperf_c]
46
47 liblogind_core = static_library(
48 'logind-core',
49 liblogind_core_sources,
50 include_directories : includes,
51 dependencies : libacl,
52 build_by_default : false)
53
54 loginctl_sources = files(
55 'loginctl.c',
56 'sysfs-show.h',
57 'sysfs-show.c')
58
59 user_runtime_dir_sources = files('user-runtime-dir.c')
60
61 pam_systemd_sym = 'src/login/pam_systemd.sym'
62 pam_systemd_c = files('pam_systemd.c')
63
64 enable_logind = conf.get('ENABLE_LOGIND') == 1
65 in_files = [
66 ['logind.conf', pkgsysconfdir, enable_logind and install_sysconfdir_samples],
67 ['70-uaccess.rules', udevrulesdir, enable_logind and conf.get('HAVE_ACL') == 1],
68 ['71-seat.rules', udevrulesdir, enable_logind],
69 ['73-seat-late.rules', udevrulesdir, enable_logind],
70 ['systemd-user', pamconfdir, enable_logind]]
71
72 foreach tuple : in_files
73 file = tuple[0]
74 dir = tuple[1]
75 install = (dir == pkgsysconfdir) ? install_sysconfdir_samples : (dir != 'no')
76 custom_target(
77 file,
78 input : file + '.in',
79 output: file,
80 command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
81 install : tuple[2] and install,
82 install_dir : dir)
83 endforeach
84
85 if enable_logind
86 install_data('org.freedesktop.login1.conf',
87 install_dir : dbuspolicydir)
88 install_data('org.freedesktop.login1.service',
89 install_dir : dbussystemservicedir)
90 install_data('org.freedesktop.login1.policy',
91 install_dir : polkitpolicydir)
92 install_data('70-power-switch.rules',
93 install_dir : udevrulesdir)
94 endif
95
96 ############################################################
97
98 tests += [
99 [files('test-login-shared.c')],
100
101 [files('test-inhibit.c'),
102 [], [], [], '', 'manual'],
103
104 [files('test-login-tables.c'),
105 [liblogind_core,
106 libshared],
107 [threads]],
108 ]