]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/home/meson.build
Merge pull request #29295 from valentindavid/valentindavid/sysupdate-patterns-in...
[thirdparty/systemd.git] / src / home / meson.build
1 # SPDX-License-Identifier: LGPL-2.1-or-later
2
3 home_includes = [includes, include_directories('.')]
4
5 systemd_homework_sources = files(
6 'home-util.c',
7 'homework-cifs.c',
8 'homework-directory.c',
9 'homework-fscrypt.c',
10 'homework-luks.c',
11 'homework-mount.c',
12 'homework-password-cache.c',
13 'homework-quota.c',
14 'homework.c',
15 'user-record-util.c',
16 )
17
18 if conf.get('HAVE_P11KIT') == 1
19 systemd_homework_sources += files('homework-pkcs11.c')
20 endif
21 if conf.get('HAVE_LIBFIDO2') == 1
22 systemd_homework_sources += files('homework-fido2.c')
23 endif
24
25 systemd_homed_sources = files(
26 'home-util.c',
27 'homed-bus.c',
28 'homed-conf.c',
29 'homed-home-bus.c',
30 'homed-home.c',
31 'homed-manager-bus.c',
32 'homed-manager.c',
33 'homed-operation.c',
34 'homed-varlink.c',
35 'homed.c',
36 'user-record-password-quality.c',
37 'user-record-sign.c',
38 'user-record-util.c',
39 )
40
41 homed_gperf_c = custom_target(
42 'homed_gperf.c',
43 input : 'homed-gperf.gperf',
44 output : 'homed-gperf.c',
45 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
46
47 systemd_homed_sources += [homed_gperf_c]
48
49 homectl_sources = files(
50 'home-util.c',
51 'homectl-fido2.c',
52 'homectl-pkcs11.c',
53 'homectl-recovery-key.c',
54 'homectl.c',
55 'user-record-password-quality.c',
56 'user-record-util.c',
57 )
58
59 pam_systemd_home_sources = files(
60 'home-util.c',
61 'pam_systemd_home.c',
62 'user-record-util.c',
63 )
64
65 executables += [
66 libexec_template + {
67 'name' : 'systemd-homework',
68 'conditions' : ['ENABLE_HOMED'],
69 'sources' : systemd_homework_sources,
70 'link_with' : [
71 libshared,
72 libshared_fdisk
73 ],
74 'dependencies' : [
75 libblkid,
76 libcrypt,
77 libfdisk,
78 libopenssl,
79 libp11kit,
80 threads,
81 ],
82 },
83 libexec_template + {
84 'name' : 'systemd-homed',
85 'dbus' : true,
86 'conditions' : ['ENABLE_HOMED'],
87 'sources' : systemd_homed_sources,
88 'include_directories' : includes +
89 include_directories('.'),
90 'dependencies' : [
91 libcrypt,
92 libm,
93 libopenssl,
94 threads,
95 ],
96 },
97 executable_template + {
98 'name' : 'homectl',
99 'public' : true,
100 'conditions' : ['ENABLE_HOMED'],
101 'sources' : homectl_sources,
102 'dependencies' : [
103 libcrypt,
104 libdl,
105 libopenssl,
106 libp11kit,
107 threads,
108 ],
109 },
110 ]
111
112 modules += [
113 pam_template + {
114 'name' : 'pam_systemd_home',
115 'conditions' : [
116 'ENABLE_HOMED',
117 'HAVE_PAM',
118 ],
119 'sources' : pam_systemd_home_sources,
120 'dependencies' : [
121 libcrypt,
122 libpam_misc,
123 libpam,
124 threads,
125 ],
126 'version-script' : meson.current_source_dir() / 'pam_systemd_home.sym',
127 },
128 ]
129
130 if conf.get('ENABLE_HOMED') == 1
131 install_data('org.freedesktop.home1.conf',
132 install_dir : dbuspolicydir)
133 install_data('org.freedesktop.home1.service',
134 install_dir : dbussystemservicedir)
135 install_data('org.freedesktop.home1.policy',
136 install_dir : polkitpolicydir)
137
138 if install_sysconfdir_samples
139 install_data('homed.conf',
140 install_dir : pkgsysconfdir)
141 endif
142 endif