]> git.ipfire.org Git - thirdparty/systemd.git/blame - units/meson.build
meson: create a static version of libshared and link libcore and some tests to it
[thirdparty/systemd.git] / units / meson.build
CommitLineData
5c23128d
ZJS
1# -*- mode: meson -*-
2
3units = [
4 ['basic.target', ''],
5 ['bluetooth.target', ''],
6 ['cryptsetup-pre.target', 'HAVE_LIBCRYPTSETUP'],
7 ['cryptsetup.target', 'HAVE_LIBCRYPTSETUP'],
8 ['dev-hugepages.mount', ''],
9 ['dev-mqueue.mount', ''],
10 ['emergency.target', ''],
11 ['exit.target', ''],
12 ['final.target', ''],
13 ['getty.target', ''],
14 ['graphical.target', ''],
15 ['halt.target', ''],
16 ['hibernate.target', 'ENABLE_HIBERNATE'],
17 ['hybrid-sleep.target', 'ENABLE_HIBERNATE'],
18 ['initrd-fs.target', ''],
19 ['initrd-root-device.target', ''],
20 ['initrd-root-fs.target', ''],
21 ['initrd-switch-root.target', ''],
22 ['initrd.target', ''],
23 ['kexec.target', ''],
24 ['ldconfig.service', 'ENABLE_LDCONFIG'],
25 ['local-fs-pre.target', ''],
26 ['local-fs.target', ''],
27 ['machine.slice', 'ENABLE_MACHINED'],
28 ['machines.target', 'ENABLE_MACHINED'],
29 ['multi-user.target', ''],
30 ['network-online.target', ''],
31 ['network-pre.target', ''],
32 ['network.target', ''],
33 ['nss-lookup.target', ''],
34 ['nss-user-lookup.target', ''],
35 ['paths.target', ''],
36 ['poweroff.target', ''],
37 ['printer.target', ''],
38 ['proc-sys-fs-binfmt_misc.automount', 'ENABLE_BINFMT'],
39 ['proc-sys-fs-binfmt_misc.mount', 'ENABLE_BINFMT'],
40 ['reboot.target', ''],
41 ['remote-fs-pre.target', ''],
42 ['remote-fs.target', ''],
43 ['rescue.target', ''],
44 ['rpcbind.target', ''],
45 ['shutdown.target', ''],
46 ['sigpwr.target', ''],
47 ['sleep.target', ''],
48 ['slices.target', ''],
49 ['smartcard.target', ''],
50 ['sockets.target', ''],
51 ['sound.target', ''],
52 ['suspend.target', ''],
53 ['swap.target', ''],
54 ['sys-fs-fuse-connections.mount', ''],
55 ['sys-kernel-config.mount', ''],
56 ['sys-kernel-debug.mount', ''],
57 ['sysinit.target', ''],
58 ['syslog.socket', ''],
59 ['system-update.target', ''],
60 ['system.slice', ''],
61 ['systemd-ask-password-console.path', ''],
62 ['systemd-ask-password-wall.path', ''],
63 ['systemd-coredump.socket', 'ENABLE_COREDUMP'],
64 ['systemd-initctl.socket', ''],
65 ['systemd-journal-gatewayd.socket', ''],
66 ['systemd-journal-remote.socket', ''],
67 ['systemd-journald-audit.socket', ''],
68 ['systemd-journald-dev-log.socket', ''],
69 ['systemd-journald.socket', ''],
70 ['systemd-networkd.socket', ''],
71 ['systemd-rfkill.socket', 'ENABLE_RFKILL'],
72 ['systemd-tmpfiles-clean.timer', ''],
73 ['systemd-udevd-control.socket', ''],
74 ['systemd-udevd-kernel.socket', ''],
75 ['time-sync.target', ''],
76 ['timers.target', ''],
77 ['umount.target', ''],
78 ['user.slice', ''],
79 ['var-lib-machines.mount', ''],
80 ]
81
82foreach pair : units
83 if pair[1] == '' or conf.get(pair[1], 0) == 1
84 install_data(pair[0],
85 install_dir : systemunitdir)
86 endif
87endforeach
88
89in_units = [
90 ['debug-shell.service', ''],
91 ['emergency.service', ''],
92 ['halt-local.service', 'HAVE_SYSV_COMPAT'],
93 ['initrd-cleanup.service', ''],
94 ['initrd-parse-etc.service', ''],
95 ['initrd-switch-root.service', ''],
96 ['initrd-udevadm-cleanup-db.service', ''],
97 ['kmod-static-nodes.service', 'HAVE_KMOD ENABLE_TMPFILES'],
98 ['quotaon.service', 'ENABLE_QUOTACHECK'],
99 ['rc-local.service', 'HAVE_SYSV_COMPAT'],
100 ['rescue.service', ''],
101 ['system-update-cleanup.service', ''],
102 ['systemd-ask-password-console.service', ''],
103 ['systemd-ask-password-wall.service', ''],
104 ['systemd-backlight@.service', 'ENABLE_BACKLIGHT'],
105 ['systemd-binfmt.service', 'ENABLE_BINFMT'],
106 ['systemd-coredump@.service', 'ENABLE_COREDUMP'],
107 ['systemd-exit.service', ''],
108 ['systemd-firstboot.service', 'ENABLE_FIRSTBOOT'],
109 ['systemd-fsck-root.service', ''],
110 ['systemd-fsck@.service', ''],
111 ['systemd-halt.service', ''],
112 ['systemd-hibernate-resume@.service', 'ENABLE_HIBERNATE'],
113 ['systemd-hibernate.service', 'ENABLE_HIBERNATE'],
114 ['systemd-hybrid-sleep.service', 'ENABLE_HIBERNATE'],
115 ['systemd-hostnamed.service', 'ENABLE_HOSTNAMED'],
116 ['systemd-hwdb-update.service', 'ENABLE_HWDB'],
117 ['systemd-importd.service', 'ENABLE_IMPORTD'],
118 ['systemd-initctl.service', ''],
119 ['systemd-journal-catalog-update.service', ''],
120 ['systemd-journal-flush.service', ''],
121 ['systemd-journal-gatewayd.service', 'ENABLE_REMOTE HAVE_MICROHTTPD'],
122 ['systemd-journal-remote.service', 'ENABLE_REMOTE HAVE_MICROHTTPD'],
123 ['systemd-journal-upload.service', 'ENABLE_REMOTE HAVE_LIBCURL'],
124 ['systemd-journald.service', ''],
125 ['systemd-kexec.service', ''],
126 ['systemd-localed.service', 'ENABLE_LOCALED'],
127 ['systemd-logind.service', 'ENABLE_LOGIND'],
128 ['systemd-machine-id-commit.service', ''],
129 ['systemd-machined.service', 'ENABLE_MACHINED'],
130 ['systemd-modules-load.service', 'HAVE_KMOD'],
131 ['systemd-networkd-wait-online.service', 'ENABLE_NETWORKD'],
132 ['systemd-nspawn@.service', ''],
133 ['systemd-poweroff.service', ''],
134 ['systemd-quotacheck.service', 'ENABLE_QUOTACHECK'],
135 ['systemd-random-seed.service', 'ENABLE_RANDOMSEED'],
136 ['systemd-reboot.service', ''],
137 ['systemd-remount-fs.service', ''],
138 ['systemd-rfkill.service', 'ENABLE_RFKILL'],
139 ['systemd-suspend.service', ''],
140 ['systemd-sysctl.service', ''],
141 ['systemd-sysusers.service', 'ENABLE_SYSUSERS'],
142 ['systemd-timedated.service', 'ENABLE_TIMEDATED'],
143 ['systemd-timesyncd.service', 'ENABLE_TIMESYNCD'],
144 ['systemd-tmpfiles-clean.service', 'ENABLE_TMPFILES'],
145 ['systemd-tmpfiles-setup-dev.service', 'ENABLE_TMPFILES'],
146 ['systemd-tmpfiles-setup.service', 'ENABLE_TMPFILES'],
147 ['systemd-udev-settle.service', ''],
148 ['systemd-udev-trigger.service', ''],
149 ['systemd-udevd.service', ''],
150 ['systemd-update-done.service', ''],
151 ['systemd-update-utmp-runlevel.service', 'HAVE_UTMP HAVE_SYSV_COMPAT'],
152 ['systemd-update-utmp.service', 'HAVE_UTMP'],
153 ['systemd-user-sessions.service', ''],
154 ['systemd-vconsole-setup.service', 'ENABLE_VCONSOLE'],
155 ['systemd-volatile-root.service', ''],
156 ]
157
158foreach pair : in_units
159 file = pair[0]
160 conds = pair[1].split(' ')
161 install = ((conds.get(0, '') == '' or conf.get(conds[0], 0) == 1) and
162 (conds.get(1, '') == '' or conf.get(conds[1], 0) == 1))
163
164 gen = configure_file(
165 input : file + '.in',
166 output : file,
167 configuration : substs)
168 if install
169 install_data(gen,
170 install_dir : systemunitdir)
171 endif
172endforeach
173
174m4_units = [
175 ['getty@.service', ''],
176 ['serial-getty@.service', ''],
177 ['tmp.mount', ''],
178 ]
179
180foreach pair : m4_units
181 file = pair[0]
182 install = pair[1] == '' or conf.get(pair[1], 0) == 1
183
184 custom_target(
185 file,
186 input : file + '.m4',
187 output: file,
188 command : [m4, '-P'] + m4_defines + ['@INPUT@'],
189 capture : true,
190 install : install,
191 install_dir : systemunitdir)
192endforeach
193
194m4_in_units = [
195 ['console-getty.service', ''],
196 ['container-getty@.service', ''],
197 ['systemd-networkd.service', 'ENABLE_NETWORKD'],
198 ['systemd-resolved.service', 'ENABLE_RESOLVED'],
199 ['user@.service', ''],
200 ]
201
202foreach pair : m4_in_units
203 file = pair[0]
204 install = pair[1] == '' or conf.get(pair[1], 0) == 1
205
206 gen = configure_file(
207 input : file + '.m4.in',
208 output : file + '.m4',
209 configuration : substs)
210
211 custom_target(
212 file,
213 input : gen,
214 output: file,
215 command : [m4, '-P'] + m4_defines + ['@INPUT@'],
216 capture : true,
217 install : install,
218 install_dir : systemunitdir)
219endforeach
220
221subdir('user')