1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
# SPDX-License-Identifier: LGPL-2.1-or-later
systemd_logind_sources = files(
'logind.c',
)
logind_gperf_c = custom_target(
'logind_gperf.c',
input : 'logind-gperf.gperf',
output : 'logind-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
liblogind_core_sources = files(
'logind-action.c',
'logind-brightness.c',
'logind-button.c',
'logind-core.c',
'logind-dbus.c',
'logind-device.c',
'logind-inhibit.c',
'logind-polkit.c',
'logind-seat-dbus.c',
'logind-seat.c',
'logind-session-dbus.c',
'logind-session-device.c',
'logind-session.c',
'logind-user-dbus.c',
'logind-user.c',
'logind-wall.c',
)
liblogind_core_sources += [logind_gperf_c]
liblogind_core = static_library(
'logind-core',
liblogind_core_sources,
include_directories : includes,
dependencies : [libacl,
userspace],
build_by_default : false)
loginctl_sources = files(
'loginctl.c',
'sysfs-show.c',
)
executables += [
libexec_template + {
'name' : 'systemd-logind',
'dbus' : true,
'conditions' : ['ENABLE_LOGIND'],
'sources' : systemd_logind_sources,
'link_with' : [
liblogind_core,
libshared,
],
'dependencies' : [
libacl,
threads,
],
},
executable_template + {
'name' : 'loginctl',
'public' : true,
'conditions' : ['ENABLE_LOGIND'],
'sources' : loginctl_sources,
'dependencies' : [
liblz4_cflags,
libxz_cflags,
libzstd_cflags,
threads,
],
},
executable_template + {
'name' : 'systemd-inhibit',
'public' : true,
'conditions' : ['ENABLE_LOGIND'],
'sources' : files('inhibit.c'),
},
libexec_template + {
'name' : 'systemd-user-runtime-dir',
'conditions' : ['ENABLE_LOGIND'],
'sources' : files('user-runtime-dir.c'),
},
test_template + {
'sources' : files('test-inhibit.c'),
'type' : 'manual',
},
test_template + {
'sources' : files('test-login-tables.c'),
'link_with' : [
liblogind_core,
libshared,
],
'dependencies' : threads,
},
test_template + {
'sources' : files('test-session-properties.c'),
'type' : 'manual',
},
]
simple_tests += files(
'test-login-shared.c'
)
modules += [
pam_template + {
'name' : 'pam_systemd',
'conditions' : [
'ENABLE_LOGIND',
'HAVE_PAM',
],
'sources' : files('pam_systemd.c'),
'version-script' : meson.current_source_dir() / 'pam_systemd.sym',
},
pam_template + {
'name' : 'pam_systemd_loadkey',
'conditions' : [
'HAVE_PAM',
],
'sources' : files('pam_systemd_loadkey.c'),
'version-script' : meson.current_source_dir() / 'pam_systemd_loadkey.sym',
},
]
enable_logind = conf.get('ENABLE_LOGIND') == 1
custom_target(
'logind.conf',
input : 'logind.conf.in',
output : 'logind.conf',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
install : enable_logind and install_sysconfdir_samples and pkgsysconfdir != 'no',
install_dir : pkgconfigfiledir)
custom_target(
'systemd-user',
input : 'systemd-user.in',
output : 'systemd-user',
command : [jinja2_cmdline, '@INPUT@', '@OUTPUT@'],
install : enable_logind and pamconfdir != 'no',
install_dir : pamconfdir)
if enable_logind
install_data('org.freedesktop.login1.conf',
install_dir : dbuspolicydir)
install_data('org.freedesktop.login1.service',
install_dir : dbussystemservicedir)
install_data('org.freedesktop.login1.policy',
install_dir : polkitpolicydir)
endif
|