Merge lp:~stgraber/ubuntu/trusty/systemd/logind-cgmanager into lp:ubuntu/trusty/systemd

Proposed by Stéphane Graber
Status: Merged
Approved by: Martin Pitt
Approved revision: 66
Merged at revision: 67
Proposed branch: lp:~stgraber/ubuntu/trusty/systemd/logind-cgmanager
Merge into: lp:ubuntu/trusty/systemd
Diff against target: 10725 lines (+10419/-2)
19 files modified
.pc/add-cgmanager-support/Makefile.am (+4218/-0)
.pc/add-cgmanager-support/configure.ac (+978/-0)
.pc/add-cgmanager-support/src/login/logind.c (+1775/-0)
.pc/add-cgmanager-support/src/shared/cgroup-label.c (+77/-0)
.pc/add-cgmanager-support/src/shared/cgroup-util.c (+1603/-0)
.pc/add-cgmanager-support/src/shared/cgroup-util.h (+115/-0)
.pc/applied-patches (+1/-0)
Makefile.am (+19/-0)
configure.ac (+19/-0)
debian/changelog (+10/-0)
debian/control (+2/-0)
debian/patches/add-cgmanager-support (+931/-0)
debian/patches/series (+2/-0)
src/login/logind.c (+104/-0)
src/shared/cgmanager.c (+241/-0)
src/shared/cgmanager.h (+45/-0)
src/shared/cgroup-label.c (+17/-0)
src/shared/cgroup-util.c (+260/-2)
src/shared/cgroup-util.h (+2/-0)
To merge this branch: bzr merge lp:~stgraber/ubuntu/trusty/systemd/logind-cgmanager
Reviewer Review Type Date Requested Status
Martin Pitt Approve
Ubuntu branches Pending
Review via email: mp+211649@code.launchpad.net

Description of the change

Add cgmanager support.

To post a comment you must log in.
Revision history for this message
Martin Pitt (pitti) wrote :

Hey Stéphane,

great work! This isn't upstreamable anyway (as upstream moved to a completely different cgroup management architecture), so I don't think all that careful HAVE_CGMANAGER etc. is actually needed. But if you need it for some kind of non-Ubuntu usage, this bit in Makefile.am probably ought to be conditional on ENABLE_CGMANAGER as well?

682 src/shared/cgmanager.c \
683 src/shared/cgmanager.h \

Same with e. g. in logind.c or src/shared/cgroup-util.c

41 #include "cgmanager.h"

108 Suggests: cgmanager

Out of interest, will cgmanager installed by default on trusty hosts/containers? (I suppose you only need it on the host?)

I'm a bit surprised by the addition of src/shared/cgmanager.[hc]. Shouldn't those be in libcgmanager-dev/libcgmanager0?

src/shared/cgroup-util.c:

55 if (cgm_dbus_connect()) {
56 template = strdup("/tmp/.cgmanager-logind.XXXXXX");

"template" leaks here, both with successful operation as well as in various error paths. It does not need to be initialized that early, so you can move it further down to cut some error paths. But actually this is an excellent place for using _cleanup_free_, so you don't need to worry about all the error paths.

Same problem further down (line 112 ff.)

Is there a bug report for this? I suppose this needs an FFE and proper testing at this point of the release cycle.

LGTM otherwise, thanks!

review: Needs Fixing
Revision history for this message
Stéphane Graber (stgraber) wrote :

cgmanager.h and cgmanager.c both start with an ifdef on HAVE_CGMANAGER, so including them in the Makefile and in other source files shouldn't be a problem and saves us some ifdefing.

I'll fix the template leak.

Indeed this isn't planned to go upstream (it's really just a quick and dirty hack...) but I liked having the ability to force cgmanager off to compare behaviour with what we have currently.

We are currently blocked on the cgmanager MIR but once it's processed, it should get installed in both the host and the containers for logind to work properly. The host will run the cgmanager part of it and the container will run cgproxy, that's required so we get proper namespace translation without needing to implement our scm hacks directly in logind.

cgmanager.h and cgmanager.c aren't verbatim copy of upstream, they are just a thin wrapper around what's coming from libcgmanager-dev (and maybe will get in there at some point, who knows), I based those on the files of the same name from the LXC project but restricted them to only the functions we needed and updated them to use systemd's logging methods.

66. By Stéphane Graber

Add cgmanager support

Revision history for this message
Stéphane Graber (stgraber) wrote :

Branch updated to add the missing free().

Revision history for this message
Martin Pitt (pitti) wrote :

> Branch updated to add the missing free().

Thanks. As I said, using _cleanup_free is much simpler and less error prone for cases like this, but it looks correct to me now.

LGTM now.

> Is there a bug report for this? I suppose this needs an FFE and proper testing at this point of the release cycle.

This is still an open question. When you upload it would be nice to refer to that bug.

Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added directory '.pc/add-cgmanager-support'
=== added file '.pc/add-cgmanager-support/Makefile.am'
--- .pc/add-cgmanager-support/Makefile.am 1970-01-01 00:00:00 +0000
+++ .pc/add-cgmanager-support/Makefile.am 2014-03-19 21:34:41 +0000
@@ -0,0 +1,4218 @@
1# -*- Mode: makefile; indent-tabs-mode: t -*-
2#
3# This file is part of systemd.
4#
5# Copyright 2010-2012 Lennart Poettering
6# Copyright 2010-2012 Kay Sievers
7# Copyright 2013 Zbigniew Jędrzejewski-Szmek
8#
9# systemd is free software; you can redistribute it and/or modify it
10# under the terms of the GNU Lesser General Public License as published by
11# the Free Software Foundation; either version 2.1 of the License, or
12# (at your option) any later version.
13#
14# systemd is distributed in the hope that it will be useful, but
15# WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17# Lesser General Public License for more details.
18#
19# You should have received a copy of the GNU Lesser General Public License
20# along with systemd; If not, see <http://www.gnu.org/licenses/>.
21
22ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
23AM_MAKEFLAGS = --no-print-directory
24AUTOMAKE_OPTIONS = color-tests parallel-tests
25
26SUBDIRS = . po
27
28# remove targets if the command fails
29.DELETE_ON_ERROR:
30
31# keep intermediate files
32.SECONDARY:
33
34LIBUDEV_CURRENT=4
35LIBUDEV_REVISION=5
36LIBUDEV_AGE=3
37
38LIBGUDEV_CURRENT=1
39LIBGUDEV_REVISION=3
40LIBGUDEV_AGE=1
41
42LIBSYSTEMD_LOGIN_CURRENT=7
43LIBSYSTEMD_LOGIN_REVISION=1
44LIBSYSTEMD_LOGIN_AGE=7
45
46LIBSYSTEMD_DAEMON_CURRENT=0
47LIBSYSTEMD_DAEMON_REVISION=10
48LIBSYSTEMD_DAEMON_AGE=0
49
50LIBSYSTEMD_ID128_CURRENT=0
51LIBSYSTEMD_ID128_REVISION=23
52LIBSYSTEMD_ID128_AGE=0
53
54LIBSYSTEMD_JOURNAL_CURRENT=10
55LIBSYSTEMD_JOURNAL_REVISION=2
56LIBSYSTEMD_JOURNAL_AGE=10
57
58# Dirs of external packages
59dbuspolicydir=@dbuspolicydir@
60dbussessionservicedir=@dbussessionservicedir@
61dbussystemservicedir=@dbussystemservicedir@
62dbusinterfacedir=@dbusinterfacedir@
63pamlibdir=@pamlibdir@
64pkgconfigdatadir=$(datadir)/pkgconfig
65pkgconfiglibdir=$(libdir)/pkgconfig
66polkitpolicydir=$(datadir)/polkit-1/actions
67bashcompletiondir=@bashcompletiondir@
68rpmmacrosdir=$(sysconfdir)/rpm
69sysvinitdir=$(SYSTEM_SYSVINIT_PATH)
70sysvrcnddir=$(SYSTEM_SYSVRCND_PATH)
71varlogdir=$(localstatedir)/log
72systemdstatedir=$(localstatedir)/lib/systemd
73catalogstatedir=$(systemdstatedir)/catalog
74
75# Our own, non-special dirs
76pkgsysconfdir=$(sysconfdir)/systemd
77userunitdir=$(prefix)/lib/systemd/user
78userpresetdir=$(prefix)/lib/systemd/user-preset
79tmpfilesdir=$(prefix)/lib/tmpfiles.d
80sysctldir=$(prefix)/lib/sysctl.d
81usergeneratordir=$(prefix)/lib/systemd/user-generators
82pkgincludedir=$(includedir)/systemd
83systemgeneratordir=$(rootlibexecdir)/system-generators
84systemshutdowndir=$(rootlibexecdir)/system-shutdown
85systemsleepdir=$(rootlibexecdir)/system-sleep
86systemunitdir=$(rootprefix)/lib/systemd/system
87systempresetdir=$(rootprefix)/lib/systemd/system-preset
88udevlibexecdir=$(rootprefix)/lib/udev
89udevhomedir=$(udevlibexecdir)
90udevrulesdir=$(udevlibexecdir)/rules.d
91udevhwdbdir=$(udevlibexecdir)/hwdb.d
92catalogdir=$(prefix)/lib/systemd/catalog
93kernelinstalldir = $(prefix)/lib/kernel/install.d
94
95# And these are the special ones for /
96rootprefix=@rootprefix@
97rootbindir=$(rootprefix)/bin
98rootlibexecdir=$(rootprefix)/lib/systemd
99
100CLEANFILES = $(BUILT_SOURCES)
101DISTCLEANFILES =
102EXTRA_DIST =
103BUILT_SOURCES =
104INSTALL_EXEC_HOOKS =
105UNINSTALL_EXEC_HOOKS =
106INSTALL_DATA_HOOKS =
107UNINSTALL_DATA_HOOKS =
108DISTCLEAN_LOCAL_HOOKS =
109CLEAN_LOCAL_HOOKS =
110pkginclude_HEADERS =
111noinst_LTLIBRARIES =
112lib_LTLIBRARIES =
113include_HEADERS =
114noinst_DATA =
115pkgconfiglib_DATA =
116polkitpolicy_in_in_files =
117polkitpolicy_in_files =
118polkitpolicy_files =
119dist_udevrules_DATA =
120nodist_udevrules_DATA =
121dist_pkgsysconf_DATA =
122dist_pkgdata_DATA =
123dist_dbuspolicy_DATA =
124dbusinterface_DATA =
125dist_dbussystemservice_DATA =
126check_PROGRAMS =
127check_DATA =
128tests=
129manual_tests =
130if ENABLE_TESTS
131noinst_PROGRAMS = $(manual_tests) $(tests)
132TESTS = $(tests)
133else
134noinst_PROGRAMS =
135TESTS =
136endif
137udevlibexec_PROGRAMS =
138
139AM_CPPFLAGS = \
140 -include $(top_builddir)/config.h \
141 -DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \
142 -DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" \
143 -DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" \
144 -DSYSTEM_SYSVINIT_PATH=\"$(SYSTEM_SYSVINIT_PATH)\" \
145 -DSYSTEM_SYSVRCND_PATH=\"$(SYSTEM_SYSVRCND_PATH)\" \
146 -DUSER_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/user\" \
147 -DUSER_DATA_UNIT_PATH=\"$(userunitdir)\" \
148 -DCATALOG_DATABASE=\"$(catalogstatedir)/database\" \
149 -DSYSTEMD_CGROUP_AGENT_PATH=\"$(rootlibexecdir)/systemd-cgroups-agent\" \
150 -DSYSTEMD_BINARY_PATH=\"$(rootlibexecdir)/systemd\" \
151 -DSYSTEMD_SHUTDOWN_BINARY_PATH=\"$(rootlibexecdir)/systemd-shutdown\" \
152 -DSYSTEMD_SLEEP_BINARY_PATH=\"$(rootlibexecdir)/systemd-sleep\" \
153 -DSYSTEMCTL_BINARY_PATH=\"$(rootbindir)/systemctl\" \
154 -DSYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH=\"$(rootbindir)/systemd-tty-ask-password-agent\" \
155 -DSYSTEMD_STDIO_BRIDGE_BINARY_PATH=\"$(bindir)/systemd-stdio-bridge\" \
156 -DROOTPREFIX=\"$(rootprefix)\" \
157 -DRANDOM_SEED=\"$(localstatedir)/lib/random-seed\" \
158 -DSYSTEMD_CRYPTSETUP_PATH=\"$(rootlibexecdir)/systemd-cryptsetup\" \
159 -DSYSTEM_GENERATOR_PATH=\"$(systemgeneratordir)\" \
160 -DUSER_GENERATOR_PATH=\"$(usergeneratordir)\" \
161 -DSYSTEM_SHUTDOWN_PATH=\"$(systemshutdowndir)\" \
162 -DSYSTEM_SLEEP_PATH=\"$(systemsleepdir)\" \
163 -DSYSTEMD_KBD_MODEL_MAP=\"$(pkgdatadir)/kbd-model-map\" \
164 -DX_SERVER=\"$(bindir)/X\" \
165 -DUDEVLIBEXECDIR=\"$(udevlibexecdir)\" \
166 -DPOLKIT_AGENT_BINARY_PATH=\"$(bindir)/pkttyagent\" \
167 -DQUOTACHECK=\"$(QUOTACHECK)\" \
168 -I $(top_srcdir)/src \
169 -I $(top_srcdir)/src/shared \
170 -I $(top_srcdir)/src/login \
171 -I $(top_srcdir)/src/journal \
172 -I $(top_srcdir)/src/systemd \
173 -I $(top_builddir)/src/core \
174 -I $(top_srcdir)/src/core \
175 -I $(top_srcdir)/src/libudev \
176 -I $(top_srcdir)/src/udev \
177 -I $(top_builddir)/src/udev \
178 -I $(top_srcdir)/src/libsystemd-bus \
179 $(OUR_CPPFLAGS)
180
181AM_CFLAGS = $(OUR_CFLAGS)
182AM_LDFLAGS = $(OUR_LDFLAGS)
183
184# ------------------------------------------------------------------------------
185define move-to-rootlibdir
186 if test "$(libdir)" != "$(rootlibdir)"; then \
187 $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
188 so_img_name=$$(readlink $(DESTDIR)$(libdir)/$$libname) && \
189 so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
190 $(LN_S) -f $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \
191 mv $(DESTDIR)$(libdir)/$$libname.* $(DESTDIR)$(rootlibdir); \
192 fi
193endef
194
195INSTALL_DIRS =
196
197RUNLEVEL1_TARGET_WANTS =
198RUNLEVEL2_TARGET_WANTS =
199RUNLEVEL3_TARGET_WANTS =
200RUNLEVEL4_TARGET_WANTS =
201RUNLEVEL5_TARGET_WANTS =
202SHUTDOWN_TARGET_WANTS =
203LOCAL_FS_TARGET_WANTS =
204MULTI_USER_TARGET_WANTS =
205SYSINIT_TARGET_WANTS =
206SOCKETS_TARGET_WANTS =
207TIMERS_TARGET_WANTS =
208
209SYSTEM_UNIT_ALIASES =
210USER_UNIT_ALIASES =
211
212GENERAL_ALIASES =
213
214install-target-wants-hook:
215 what="$(RUNLEVEL1_TARGET_WANTS)" && wants=runlevel1.target && $(add-wants)
216 what="$(RUNLEVEL2_TARGET_WANTS)" && wants=runlevel2.target && $(add-wants)
217 what="$(RUNLEVEL3_TARGET_WANTS)" && wants=runlevel3.target && $(add-wants)
218 what="$(RUNLEVEL4_TARGET_WANTS)" && wants=runlevel4.target && $(add-wants)
219 what="$(RUNLEVEL5_TARGET_WANTS)" && wants=runlevel5.target && $(add-wants)
220 what="$(SHUTDOWN_TARGET_WANTS)" && wants=shutdown.target && $(add-wants)
221 what="$(LOCAL_FS_TARGET_WANTS)" && wants=local-fs.target && $(add-wants)
222 what="$(MULTI_USER_TARGET_WANTS)" && wants=multi-user.target && $(add-wants)
223 what="$(SYSINIT_TARGET_WANTS)" && wants=sysinit.target && $(add-wants)
224 what="$(SOCKETS_TARGET_WANTS)" && wants=sockets.target && $(add-wants)
225 what="$(TIMERS_TARGET_WANTS)" && wants=timers.target && $(add-wants)
226
227define add-wants
228 [ -z "$$what" ] || ( \
229 dir=$(DESTDIR)$(systemunitdir)/$$wants.wants && \
230 $(MKDIR_P) -m 0755 $$dir && \
231 cd $$dir && \
232 rm -f $$what && \
233 for i in $$what; do $(LN_S) ../$$i . || exit $$? ; done )
234endef
235
236install-directories-hook:
237 $(MKDIR_P) $(addprefix $(DESTDIR),$(INSTALL_DIRS))
238
239install-aliases-hook:
240 set -- $(SYSTEM_UNIT_ALIASES) && \
241 dir=$(systemunitdir) && $(install-aliases)
242 set -- $(USER_UNIT_ALIASES) && \
243 dir=$(userunitdir) && $(install-aliases)
244 set -- $(GENERAL_ALIASES) && \
245 dir= && $(install-aliases)
246
247define install-aliases
248 while [ -n "$$1" ]; do \
249 $(MKDIR_P) `dirname $(DESTDIR)$$dir/$$2` && \
250 rm -f $(DESTDIR)$$dir/$$2 && \
251 $(LN_S) $$1 $(DESTDIR)$$dir/$$2 && \
252 shift 2 || exit $$?; \
253 done
254endef
255
256INSTALL_EXEC_HOOKS += \
257 install-target-wants-hook \
258 install-directories-hook \
259 install-aliases-hook
260
261# ------------------------------------------------------------------------------
262AM_V_M4 = $(AM_V_M4_$(V))
263AM_V_M4_ = $(AM_V_M4_$(AM_DEFAULT_VERBOSITY))
264AM_V_M4_0 = @echo " M4 " $@;
265
266AM_V_XSLT = $(AM_V_XSLT_$(V))
267AM_V_XSLT_ = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY))
268AM_V_XSLT_0 = @echo " XSLT " $@;
269
270AM_V_GPERF = $(AM_V_GPERF_$(V))
271AM_V_GPERF_ = $(AM_V_GPERF_$(AM_DEFAULT_VERBOSITY))
272AM_V_GPERF_0 = @echo " GPERF " $@;
273
274AM_V_LN = $(AM_V_LN_$(V))
275AM_V_LN_ = $(AM_V_LN_$(AM_DEFAULT_VERBOSITY))
276AM_V_LN_0 = @echo " LN " $@;
277
278# ------------------------------------------------------------------------------
279rootbin_PROGRAMS = \
280 systemctl \
281 systemd-notify \
282 systemd-ask-password \
283 systemd-tty-ask-password-agent \
284 systemd-tmpfiles \
285 systemd-machine-id-setup
286
287bin_PROGRAMS = \
288 systemd-cgls \
289 systemd-cgtop \
290 systemd-stdio-bridge \
291 systemd-nspawn \
292 systemd-detect-virt \
293 systemd-delta \
294 systemd-analyze
295
296dist_bin_SCRIPTS = \
297 src/kernel-install/kernel-install
298
299dist_kernelinstall_SCRIPTS = \
300 src/kernel-install/50-depmod.install \
301 src/kernel-install/90-loaderentry.install
302
303rootlibexec_PROGRAMS = \
304 systemd \
305 systemd-cgroups-agent \
306 systemd-initctl \
307 systemd-update-utmp \
308 systemd-shutdownd \
309 systemd-shutdown \
310 systemd-remount-fs \
311 systemd-reply-password \
312 systemd-fsck \
313 systemd-timestamp \
314 systemd-ac-power \
315 systemd-sysctl \
316 systemd-sleep
317
318systemgenerator_PROGRAMS = \
319 systemd-getty-generator \
320 systemd-fstab-generator \
321 systemd-system-update-generator
322
323systemd_analyze_SOURCES = \
324 src/analyze/systemd-analyze.c
325
326systemd_analyze_CFLAGS = \
327 $(AM_CFLAGS) \
328 $(DBUS_CFLAGS)
329
330systemd_analyze_LDADD = \
331 libsystemd-shared.la \
332 libsystemd-dbus.la
333
334dist_bashcompletion_DATA = \
335 shell-completion/bash/journalctl \
336 shell-completion/bash/systemctl \
337 shell-completion/bash/systemd-analyze \
338 shell-completion/bash/udevadm
339
340dist_tmpfiles_DATA = \
341 tmpfiles.d/systemd.conf \
342 tmpfiles.d/tmp.conf \
343 tmpfiles.d/x11.conf
344
345dist_sysctl_DATA = \
346 sysctl.d/50-default.conf
347
348if HAVE_SYSV_COMPAT
349dist_tmpfiles_DATA += \
350 tmpfiles.d/legacy.conf
351endif
352
353dist_systemunit_DATA = \
354 units/graphical.target \
355 units/multi-user.target \
356 units/emergency.service \
357 units/emergency.target \
358 units/sysinit.target \
359 units/basic.target \
360 units/getty.target \
361 units/halt.target \
362 units/kexec.target \
363 units/local-fs.target \
364 units/local-fs-pre.target \
365 units/initrd.target \
366 units/initrd-fs.target \
367 units/initrd-root-fs.target \
368 units/remote-fs.target \
369 units/remote-fs-pre.target \
370 units/network.target \
371 units/network-online.target \
372 units/nss-lookup.target \
373 units/nss-user-lookup.target \
374 units/hibernate.target \
375 units/hybrid-sleep.target \
376 units/poweroff.target \
377 units/reboot.target \
378 units/rescue.target \
379 units/rpcbind.target \
380 units/time-sync.target \
381 units/shutdown.target \
382 units/final.target \
383 units/umount.target \
384 units/sigpwr.target \
385 units/sleep.target \
386 units/sockets.target \
387 units/timers.target \
388 units/paths.target \
389 units/suspend.target \
390 units/swap.target \
391 units/systemd-initctl.socket \
392 units/systemd-shutdownd.socket \
393 units/syslog.socket \
394 units/dev-hugepages.mount \
395 units/dev-mqueue.mount \
396 units/sys-kernel-config.mount \
397 units/sys-kernel-debug.mount \
398 units/sys-fs-fuse-connections.mount \
399 units/tmp.mount \
400 units/printer.target \
401 units/sound.target \
402 units/bluetooth.target \
403 units/smartcard.target \
404 units/systemd-tmpfiles-clean.timer \
405 units/quotaon.service \
406 units/systemd-ask-password-wall.path \
407 units/systemd-ask-password-console.path \
408 units/syslog.target \
409 units/systemd-udevd-control.socket \
410 units/systemd-udevd-kernel.socket \
411 units/system-update.target \
412 units/initrd-switch-root.target
413
414nodist_systemunit_DATA = \
415 units/getty@.service \
416 units/serial-getty@.service \
417 units/console-shell.service \
418 units/console-getty.service \
419 units/systemd-initctl.service \
420 units/systemd-shutdownd.service \
421 units/systemd-remount-fs.service \
422 units/systemd-update-utmp-runlevel.service \
423 units/systemd-update-utmp-shutdown.service \
424 units/systemd-tmpfiles-setup-dev.service \
425 units/systemd-tmpfiles-setup.service \
426 units/systemd-tmpfiles-clean.service \
427 units/systemd-ask-password-wall.service \
428 units/systemd-ask-password-console.service \
429 units/systemd-sysctl.service \
430 units/emergency.service \
431 units/rescue.service \
432 units/user@.service \
433 units/systemd-hibernate.service \
434 units/systemd-hybrid-sleep.service \
435 units/systemd-suspend.service \
436 units/systemd-halt.service \
437 units/systemd-poweroff.service \
438 units/systemd-reboot.service \
439 units/systemd-kexec.service \
440 units/systemd-fsck@.service \
441 units/systemd-fsck-root.service \
442 units/systemd-udevd.service \
443 units/systemd-udev-trigger.service \
444 units/systemd-udev-settle.service \
445 units/debug-shell.service \
446 units/initrd-parse-etc.service \
447 units/initrd-cleanup.service \
448 units/initrd-udevadm-cleanup-db.service \
449 units/initrd-switch-root.service \
450 units/systemd-nspawn@.service
451
452dist_userunit_DATA = \
453 units/user/default.target \
454 units/user/exit.target
455
456nodist_userunit_DATA = \
457 units/user/systemd-exit.service
458
459EXTRA_DIST += \
460 units/getty@.service.m4 \
461 units/serial-getty@.service.m4 \
462 units/console-shell.service.m4.in \
463 units/console-getty.service.m4.in \
464 units/rescue.service.m4.in \
465 units/systemd-initctl.service.in \
466 units/systemd-shutdownd.service.in \
467 units/systemd-remount-fs.service.in \
468 units/systemd-update-utmp-runlevel.service.in \
469 units/systemd-update-utmp-shutdown.service.in \
470 units/systemd-tmpfiles-setup-dev.service.in \
471 units/systemd-tmpfiles-setup.service.in \
472 units/systemd-tmpfiles-clean.service.in \
473 units/systemd-ask-password-wall.service.in \
474 units/systemd-ask-password-console.service.in \
475 units/systemd-sysctl.service.in \
476 units/emergency.service.in \
477 units/systemd-halt.service.in \
478 units/systemd-poweroff.service.in \
479 units/systemd-reboot.service.in \
480 units/systemd-kexec.service.in \
481 units/user/systemd-exit.service.in \
482 units/systemd-fsck@.service.in \
483 units/systemd-fsck-root.service.in \
484 units/user@.service.in \
485 units/systemd-udevd.service \
486 units/systemd-udev-trigger.service \
487 units/systemd-udev-settle.service \
488 units/debug-shell.service.in \
489 units/systemd-hibernate.service.in \
490 units/systemd-hybrid-sleep.service.in \
491 units/systemd-suspend.service.in \
492 units/quotaon.service.in \
493 units/initrd-parse-etc.service.in \
494 units/initrd-cleanup.service.in \
495 units/initrd-udevadm-cleanup-db.service.in \
496 units/initrd-switch-root.service.in \
497 units/systemd-nspawn@.service.in \
498 introspect.awk
499
500CLEANFILES += \
501 units/console-shell.service.m4 \
502 units/console-getty.service.m4 \
503 units/rescue.service.m4
504
505if HAVE_SYSV_COMPAT
506nodist_systemunit_DATA += \
507 units/rc-local.service \
508 units/halt-local.service
509
510systemgenerator_PROGRAMS += \
511 systemd-rc-local-generator
512endif
513
514EXTRA_DIST += \
515 units/rc-local.service.in \
516 units/halt-local.service.in
517
518dist_doc_DATA = \
519 README \
520 NEWS \
521 LICENSE.LGPL2.1 \
522 LICENSE.GPL2 \
523 LICENSE.MIT \
524 DISTRO_PORTING
525
526@INTLTOOL_POLICY_RULE@
527
528# ------------------------------------------------------------------------------
529
530MANPAGES =
531MANPAGES_ALIAS =
532
533include Makefile-man.am
534
535XML_FILES = \
536 ${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubst %.7,%.xml,${patsubst %.8,%.xml,$(MANPAGES)}}}}}
537HTML_FILES = \
538 ${XML_FILES:.xml=.html}
539HTML_ALIAS = \
540 ${patsubst %.1,%.html,${patsubst %.3,%.html,${patsubst %.5,%.html,${patsubst %.7,%.html,${patsubst %.8,%.html,$(MANPAGES_ALIAS)}}}}}
541
542if ENABLE_MANPAGES
543man_MANS = \
544 $(MANPAGES) \
545 $(MANPAGES_ALIAS)
546
547noinst_DATA += \
548 $(HTML_FILES) \
549 $(HTML_ALIAS)
550
551CLEANFILES += \
552 $(man_MANS) \
553 $(HTML_FILES) \
554 $(HTML_ALIAS)
555
556docs/html/man:
557 $(AM_V_at)$(MKDIR_P) $(dir $@)
558 $(AM_V_LN)$(LN_S) -f ../../man $@
559
560noinst_DATA += \
561 docs/html/man
562
563CLEANFILES += \
564 docs/html/man
565
566if HAVE_PYTHON
567man/index.html: man/systemd.index.html
568 $(AM_V_LN)$(LN_S) -f systemd.index.html $@
569
570noinst_DATA += \
571 man/index.html
572
573CLEANFILES += \
574 man/index.html
575
576XML_GLOB = $(wildcard $(top_srcdir)/man/*.xml $(top_builddir)/man/*.xml)
577NON_INDEX_XML_FILES = $(filter-out man/systemd.index.xml,$(XML_FILES))
578SOURCE_XML_FILES = $(filter-out man/systemd.directives.xml,$(NON_INDEX_XML_FILES))
579
580update-man-list: make-man-rules.py $(XML_GLOB)
581 $(AM_V_GEN)$(PYTHON) $^ > $(top_srcdir)/Makefile-man.tmp
582 $(AM_V_at)mv $(top_srcdir)/Makefile-man.tmp $(top_srcdir)/Makefile-man.am
583 @echo "Makefile-man.am has been regenerated"
584
585man/systemd.index.xml: make-man-index.py $(NON_INDEX_XML_FILES)
586 $(AM_V_at)$(MKDIR_P) $(dir $@)
587 $(AM_V_GEN)$(PYTHON) $< $@ $(filter-out $<,$^)
588
589man/systemd.directives.xml: make-directive-index.py $(SOURCE_XML_FILES)
590 $(AM_V_at)$(MKDIR_P) $(dir $@)
591 $(AM_V_GEN)$(PYTHON) $< $@ $(filter-out $<,$^)
592
593EXTRA_DIST += \
594 man/systemd.index.xml \
595 man/index.html \
596 man/systemd.directives.xml
597
598CLEANFILES += \
599 man/systemd.index.xml \
600 man/systemd.directives.xml
601
602endif
603
604endif
605
606EXTRA_DIST += \
607 $(XML_FILES) \
608 $(HTML_FILES) \
609 $(HTML_ALIAS) \
610 $(dist_MANS) \
611 make-man-index.py \
612 make-directive-index.py \
613 xml_helper.py
614
615# ------------------------------------------------------------------------------
616noinst_LTLIBRARIES += \
617 libsystemd-shared.la
618
619libsystemd_shared_la_SOURCES = \
620 src/shared/linux/auto_dev-ioctl.h \
621 src/shared/linux/fanotify.h \
622 src/shared/linux/seccomp.h \
623 src/shared/linux/seccomp-bpf.h \
624 src/shared/missing.h \
625 src/shared/list.h \
626 src/shared/macro.h \
627 src/shared/def.h \
628 src/shared/sparse-endian.h \
629 src/shared/util.c \
630 src/shared/util.h \
631 src/shared/virt.c \
632 src/shared/virt.h \
633 src/shared/efivars.c \
634 src/shared/efivars.h \
635 src/shared/path-util.c \
636 src/shared/path-util.h \
637 src/shared/time-util.c \
638 src/shared/time-util.h \
639 src/shared/hashmap.c \
640 src/shared/hashmap.h \
641 src/shared/set.c \
642 src/shared/set.h \
643 src/shared/fdset.c \
644 src/shared/fdset.h \
645 src/shared/prioq.c \
646 src/shared/prioq.h \
647 src/shared/sleep-config.c \
648 src/shared/sleep-config.h \
649 src/shared/strv.c \
650 src/shared/strv.h \
651 src/shared/env-util.c \
652 src/shared/env-util.h \
653 src/shared/strbuf.c \
654 src/shared/strbuf.h \
655 src/shared/strxcpyx.c \
656 src/shared/strxcpyx.h \
657 src/shared/conf-parser.c \
658 src/shared/conf-parser.h \
659 src/shared/log.c \
660 src/shared/log.h \
661 src/shared/ratelimit.h \
662 src/shared/ratelimit.c \
663 src/shared/exit-status.c \
664 src/shared/exit-status.h \
665 src/shared/utf8.c \
666 src/shared/utf8.h \
667 src/shared/pager.c \
668 src/shared/pager.h \
669 src/shared/ioprio.h \
670 src/shared/socket-util.c \
671 src/shared/socket-util.h \
672 src/shared/conf-files.c \
673 src/shared/conf-files.h \
674 src/shared/cgroup-util.c \
675 src/shared/cgroup-util.h \
676 src/shared/cgroup-show.c \
677 src/shared/cgroup-show.h \
678 src/shared/unit-name.c \
679 src/shared/unit-name.h \
680 src/shared/utmp-wtmp.c \
681 src/shared/utmp-wtmp.h \
682 src/shared/watchdog.c \
683 src/shared/watchdog.h \
684 src/shared/spawn-ask-password-agent.c \
685 src/shared/spawn-ask-password-agent.h \
686 src/shared/replace-var.c \
687 src/shared/replace-var.h \
688 src/shared/spawn-polkit-agent.c \
689 src/shared/spawn-polkit-agent.h \
690 src/shared/hwclock.c \
691 src/shared/hwclock.h \
692 src/shared/time-dst.c \
693 src/shared/time-dst.h \
694 src/shared/calendarspec.c \
695 src/shared/calendarspec.h \
696 src/shared/fileio.c \
697 src/shared/fileio.h \
698 src/shared/output-mode.h \
699 src/shared/MurmurHash3.c \
700 src/shared/MurmurHash3.h
701
702#-------------------------------------------------------------------------------
703noinst_LTLIBRARIES += \
704 libsystemd-dbus.la
705
706libsystemd_dbus_la_SOURCES = \
707 src/shared/dbus-common.c \
708 src/shared/dbus-common.h \
709 src/shared/dbus-loop.c \
710 src/shared/dbus-loop.h \
711 src/shared/polkit.c \
712 src/shared/polkit.h
713
714libsystemd_dbus_la_CFLAGS = \
715 $(AM_CFLAGS) \
716 $(DBUS_CFLAGS)
717
718libsystemd_dbus_la_LIBADD = \
719 $(DBUS_LIBS)
720
721# ------------------------------------------------------------------------------
722noinst_LTLIBRARIES += \
723 libsystemd-units.la
724
725libsystemd_units_la_SOURCES = \
726 src/shared/install.c \
727 src/shared/install.h \
728 src/shared/install-printf.c \
729 src/shared/install-printf.h \
730 src/shared/path-lookup.c \
731 src/shared/path-lookup.h \
732 src/shared/specifier.c \
733 src/shared/specifier.h
734
735libsystemd_units_la_CFLAGS = \
736 $(AM_CFLAGS) \
737 $(DBUS_CFLAGS)
738
739# ------------------------------------------------------------------------------
740noinst_LTLIBRARIES += \
741 libsystemd-label.la
742
743libsystemd_label_la_SOURCES = \
744 src/shared/cgroup-label.c \
745 src/shared/socket-label.c \
746 src/shared/label.c \
747 src/shared/label.h \
748 src/shared/selinux-util.c \
749 src/shared/selinux-util.h \
750 src/shared/mkdir.c \
751 src/shared/mkdir.h \
752 src/shared/ask-password-api.c \
753 src/shared/ask-password-api.h \
754 src/shared/fileio-label.c \
755 src/shared/fileio-label.h \
756 src/shared/dev-setup.c \
757 src/shared/dev-setup.h
758
759libsystemd_label_la_CFLAGS = \
760 $(AM_CFLAGS) \
761 $(SELINUX_CFLAGS)
762
763libsystemd_label_la_LIBADD = \
764 $(SELINUX_LIBS)
765
766# ------------------------------------------------------------------------------
767noinst_LTLIBRARIES += \
768 libsystemd-logs.la
769
770libsystemd_logs_la_SOURCES = \
771 src/shared/logs-show.c \
772 src/shared/logs-show.h
773
774libsystemd_logs_la_CFLAGS = \
775 $(AM_CFLAGS)
776
777libsystemd_logs_la_LIBADD = \
778 libsystemd-journal-internal.la \
779 libsystemd-id128-internal.la \
780 libsystemd-shared.la
781
782# ------------------------------------------------------------------------------
783noinst_LTLIBRARIES += \
784 libsystemd-capability.la
785
786libsystemd_capability_la_SOURCES = \
787 src/shared/capability.c \
788 src/shared/capability.h
789
790libsystemd_capability_la_CFLAGS = \
791 $(AM_CFLAGS) \
792 $(CAP_CFLAGS)
793
794libsystemd_capability_la_LIBADD = \
795 $(CAP_LIBS)
796
797# ------------------------------------------------------------------------------
798noinst_LTLIBRARIES += \
799 libsystemd-audit.la
800
801libsystemd_audit_la_SOURCES = \
802 src/shared/audit.c \
803 src/shared/audit.h
804
805libsystemd_audit_la_LIBADD = \
806 libsystemd-capability.la
807
808# ------------------------------------------------------------------------------
809if HAVE_ACL
810noinst_LTLIBRARIES += \
811 libsystemd-acl.la
812
813libsystemd_acl_la_SOURCES = \
814 src/shared/acl-util.c \
815 src/shared/acl-util.h
816
817libsystemd_acl_la_CFLAGS = \
818 $(AM_CFLAGS) \
819 $(ACL_CFLAGS)
820
821libsystemd_acl_la_LIBADD = \
822 $(ACL_LIBS) \
823 libsystemd-shared.la
824endif
825
826# ------------------------------------------------------------------------------
827noinst_LTLIBRARIES += \
828 libsystemd-core.la
829
830libsystemd_core_la_SOURCES = \
831 src/core/unit.c \
832 src/core/unit.h \
833 src/core/unit-printf.c \
834 src/core/unit-printf.h \
835 src/core/job.c \
836 src/core/job.h \
837 src/core/manager.c \
838 src/core/manager.h \
839 src/core/transaction.c \
840 src/core/transaction.h \
841 src/core/load-fragment.c \
842 src/core/load-fragment.h \
843 src/core/service.c \
844 src/core/service.h \
845 src/core/automount.c \
846 src/core/automount.h \
847 src/core/mount.c \
848 src/core/mount.h \
849 src/core/swap.c \
850 src/core/swap.h \
851 src/core/device.c \
852 src/core/device.h \
853 src/core/target.c \
854 src/core/target.h \
855 src/core/snapshot.c \
856 src/core/snapshot.h \
857 src/core/socket.c \
858 src/core/socket.h \
859 src/core/timer.c \
860 src/core/timer.h \
861 src/core/path.c \
862 src/core/path.h \
863 src/core/load-dropin.c \
864 src/core/load-dropin.h \
865 src/core/execute.c \
866 src/core/execute.h \
867 src/core/kill.c \
868 src/core/kill.h \
869 src/core/dbus.c \
870 src/core/dbus.h \
871 src/core/dbus-manager.c \
872 src/core/dbus-manager.h \
873 src/core/dbus-unit.c \
874 src/core/dbus-unit.h \
875 src/core/dbus-job.c \
876 src/core/dbus-job.h \
877 src/core/dbus-service.c \
878 src/core/dbus-service.h \
879 src/core/dbus-socket.c \
880 src/core/dbus-socket.h \
881 src/core/dbus-timer.c \
882 src/core/dbus-timer.h \
883 src/core/dbus-target.c \
884 src/core/dbus-target.h \
885 src/core/dbus-mount.c \
886 src/core/dbus-mount.h \
887 src/core/dbus-automount.c \
888 src/core/dbus-automount.h \
889 src/core/dbus-swap.c \
890 src/core/dbus-swap.h \
891 src/core/dbus-snapshot.c \
892 src/core/dbus-snapshot.h \
893 src/core/dbus-device.c \
894 src/core/dbus-device.h \
895 src/core/dbus-execute.c \
896 src/core/dbus-execute.h \
897 src/core/dbus-kill.c \
898 src/core/dbus-kill.h \
899 src/core/dbus-path.c \
900 src/core/dbus-path.h \
901 src/core/cgroup.c \
902 src/core/cgroup.h \
903 src/core/selinux-access.c \
904 src/core/selinux-access.h \
905 src/core/selinux-setup.c \
906 src/core/selinux-setup.h \
907 src/core/smack-setup.c \
908 src/core/smack-setup.h \
909 src/core/ima-setup.c \
910 src/core/ima-setup.h \
911 src/core/locale-setup.h \
912 src/core/locale-setup.c \
913 src/core/hostname-setup.c \
914 src/core/hostname-setup.h \
915 src/core/machine-id-setup.c \
916 src/core/machine-id-setup.h \
917 src/core/mount-setup.c \
918 src/core/mount-setup.h \
919 src/core/loopback-setup.h \
920 src/core/loopback-setup.c \
921 src/core/condition.c \
922 src/core/condition.h \
923 src/core/namespace.c \
924 src/core/namespace.h \
925 src/core/tcpwrap.c \
926 src/core/tcpwrap.h \
927 src/core/cgroup-attr.c \
928 src/core/cgroup-attr.h \
929 src/core/cgroup-semantics.c \
930 src/core/cgroup-semantics.h \
931 src/core/securebits.h \
932 src/core/initreq.h \
933 src/core/special.h \
934 src/core/bus-errors.h \
935 src/core/build.h \
936 src/core/sysfs-show.h \
937 src/core/switch-root.h \
938 src/core/switch-root.c \
939 src/core/killall.h \
940 src/core/killall.c \
941 src/core/syscall-list.c \
942 src/core/syscall-list.h \
943 src/core/audit-fd.c \
944 src/core/audit-fd.h \
945 src/core/sync.c \
946 src/core/sync.h
947
948if HAVE_KMOD
949libsystemd_core_la_SOURCES += \
950 src/core/kmod-setup.c \
951 src/core/kmod-setup.h
952endif
953
954nodist_libsystemd_core_la_SOURCES = \
955 src/core/load-fragment-gperf.c \
956 src/core/load-fragment-gperf-nulstr.c \
957 src/core/syscall-from-name.h \
958 src/core/syscall-to-name.h
959
960libsystemd_core_la_CFLAGS = \
961 $(AM_CFLAGS) \
962 $(DBUS_CFLAGS) \
963 $(LIBWRAP_CFLAGS) \
964 $(PAM_CFLAGS) \
965 $(AUDIT_CFLAGS) \
966 $(KMOD_CFLAGS) \
967 -pthread
968
969libsystemd_core_la_LIBADD = \
970 libsystemd-capability.la \
971 libsystemd-units.la \
972 libsystemd-label.la \
973 libsystemd-shared.la \
974 libsystemd-dbus.la \
975 libsystemd-audit.la \
976 libsystemd-id128-internal.la \
977 libsystemd-daemon.la \
978 libudev.la \
979 $(LIBWRAP_LIBS) \
980 $(PAM_LIBS) \
981 $(AUDIT_LIBS) \
982 $(CAP_LIBS) \
983 $(KMOD_LIBS)
984
985src/core/load-fragment-gperf-nulstr.c: src/core/load-fragment-gperf.gperf
986 $(AM_V_at)$(MKDIR_P) $(dir $@)
987 $(AM_V_GEN)$(AWK) 'BEGIN{ keywords=0 ; FS="," ; print "extern const char load_fragment_gperf_nulstr[];" ; print "const char load_fragment_gperf_nulstr[] ="} ; keyword==1 { print "\"" $$1 "\\0\"" } ; /%%/ { keyword=1} ; END { print ";" }' < $< > $@
988
989EXTRA_DIST += \
990 src/core/load-fragment-gperf.gperf.m4
991
992CLEANFILES += \
993 src/core/load-fragment-gperf.gperf \
994 src/core/load-fragment-gperf.c \
995 src/core/load-fragment-gperf-nulstr.c \
996 src/core/syscall-list.txt \
997 src/core/syscall-from-name.gperf
998
999BUILT_SOURCES += \
1000 src/core/syscall-from-name.h \
1001 src/core/syscall-to-name.h
1002
1003src/core/syscall-list.txt: Makefile
1004 $(AM_V_at)$(MKDIR_P) $(dir $@)
1005 $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include sys/syscall.h - < /dev/null | $(AWK) '/^#define[ \t]+__NR_[^ ]+[ \t]+[0-9(]/ { sub(/__NR_/, "", $$2); print $$2; }' > $@
1006
1007src/core/syscall-from-name.gperf: src/core/syscall-list.txt Makefile
1008 $(AM_V_at)$(MKDIR_P) $(dir $@)
1009 $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct syscall_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, __NR_%s\n", $$1, $$1 }' < $< > $@
1010
1011src/core/syscall-from-name.h: src/core/syscall-from-name.gperf Makefile
1012 $(AM_V_at)$(MKDIR_P) $(dir $@)
1013 $(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_syscall -H hash_syscall_name -p -C < $< > $@
1014
1015src/core/syscall-to-name.h: src/core/syscall-list.txt Makefile
1016 $(AM_V_at)$(MKDIR_P) $(dir $@)
1017 $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const syscall_names[] = { "} { printf "[SYSCALL_TO_INDEX(__NR_%s)] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
1018
1019# ------------------------------------------------------------------------------
1020systemd_SOURCES = \
1021 src/core/main.c
1022
1023systemd_CFLAGS = \
1024 $(AM_CFLAGS) \
1025 $(DBUS_CFLAGS)
1026
1027systemd_LDADD = \
1028 libsystemd-core.la \
1029 libsystemd-daemon.la \
1030 libsystemd-id128-internal.la \
1031 libsystemd-dbus.la
1032
1033dist_pkgsysconf_DATA += \
1034 src/core/system.conf \
1035 src/core/user.conf
1036
1037dist_dbuspolicy_DATA += \
1038 src/core/org.freedesktop.systemd1.conf
1039
1040dist_dbussystemservice_DATA += \
1041 src/core/org.freedesktop.systemd1.service
1042
1043dbusinterface_DATA += \
1044 org.freedesktop.systemd1.Manager.xml \
1045 org.freedesktop.systemd1.Job.xml \
1046 org.freedesktop.systemd1.Unit.xml \
1047 org.freedesktop.systemd1.Service.xml \
1048 org.freedesktop.systemd1.Socket.xml \
1049 org.freedesktop.systemd1.Timer.xml \
1050 org.freedesktop.systemd1.Target.xml \
1051 org.freedesktop.systemd1.Device.xml \
1052 org.freedesktop.systemd1.Mount.xml \
1053 org.freedesktop.systemd1.Automount.xml \
1054 org.freedesktop.systemd1.Snapshot.xml \
1055 org.freedesktop.systemd1.Swap.xml \
1056 org.freedesktop.systemd1.Path.xml
1057
1058polkitpolicy_in_in_files += \
1059 src/core/org.freedesktop.systemd1.policy.in.in
1060
1061org.freedesktop.systemd1.%.xml: systemd
1062 $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.$* $< $@.tmp && \
1063 $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
1064 $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
1065
1066pkgconfigdata_DATA = \
1067 src/core/systemd.pc
1068
1069nodist_rpmmacros_DATA = \
1070 src/core/macros.systemd
1071
1072EXTRA_DIST += \
1073 src/core/systemd.pc.in \
1074 src/core/macros.systemd.in
1075
1076CLEANFILES += \
1077 src/core/macros.systemd \
1078 src/core/org.freedesktop.systemd1.policy.in
1079
1080# ------------------------------------------------------------------------------
1081manual_tests += \
1082 test-engine \
1083 test-ns \
1084 test-loopback \
1085 test-hostname \
1086 test-daemon \
1087 test-cgroup \
1088 test-install \
1089 test-watchdog \
1090 test-log
1091
1092tests += \
1093 test-job-type \
1094 test-env-replace \
1095 test-strbuf \
1096 test-strv \
1097 test-path-util \
1098 test-strxcpyx \
1099 test-unit-file \
1100 test-date \
1101 test-sleep \
1102 test-replace-var \
1103 test-calendarspec \
1104 test-strip-tab-ansi \
1105 test-prioq \
1106 test-fileio \
1107 test-time \
1108 test-hashmap
1109
1110EXTRA_DIST += \
1111 test/sched_idle_bad.service \
1112 test/sched_idle_ok.service \
1113 test/sched_rr_bad.service \
1114 test/sched_rr_ok.service \
1115 test/sched_rr_change.service
1116
1117test_engine_SOURCES = \
1118 src/test/test-engine.c
1119
1120test_engine_CFLAGS = \
1121 $(AM_CFLAGS) \
1122 $(DBUS_CFLAGS)
1123
1124test_engine_LDADD = \
1125 libsystemd-core.la \
1126 libsystemd-daemon.la \
1127 libsystemd-dbus.la
1128
1129test_job_type_SOURCES = \
1130 src/test/test-job-type.c
1131
1132test_job_type_CFLAGS = \
1133 $(AM_CFLAGS) \
1134 $(DBUS_CFLAGS)
1135
1136test_job_type_LDADD = \
1137 libsystemd-core.la \
1138 libsystemd-daemon.la
1139
1140test_ns_SOURCES = \
1141 src/test/test-ns.c
1142
1143test_ns_LDADD = \
1144 libsystemd-core.la
1145
1146test_loopback_SOURCES = \
1147 src/test/test-loopback.c
1148
1149test_loopback_LDADD = \
1150 libsystemd-shared.la \
1151 libsystemd-core.la
1152
1153test_hostname_SOURCES = \
1154 src/test/test-hostname.c
1155
1156test_hostname_LDADD = \
1157 libsystemd-core.la
1158
1159if ENABLE_EFI
1160manual_tests += \
1161 test-efivars
1162
1163test_efivars_SOURCES = \
1164 src/test/test-efivars.c
1165
1166test_efivars_LDADD = \
1167 libsystemd-shared.la
1168endif
1169
1170test_unit_name_SOURCES = \
1171 src/test/test-unit-name.c
1172
1173test_unit_name_CFLAGS = \
1174 $(AM_CFLAGS) \
1175 $(DBUS_CFLAGS)
1176
1177test_unit_name_LDADD = \
1178 libsystemd-core.la
1179
1180test_unit_file_SOURCES = \
1181 src/test/test-unit-file.c
1182
1183test_unit_file_CFLAGS = \
1184 $(AM_CFLAGS) \
1185 $(DBUS_CFLAGS)
1186
1187test_unit_file_LDADD = \
1188 libsystemd-core.la
1189
1190test_util_SOURCES = \
1191 src/test/test-util.c
1192
1193test_util_CFLAGS = \
1194 $(AM_CFLAGS)
1195
1196test_util_LDADD = \
1197 libsystemd-core.la
1198
1199test_hashmap_SOURCES = \
1200 src/test/test-hashmap.c
1201
1202test_hashmap_CFLAGS = \
1203 $(AM_CFLAGS)
1204
1205test_hashmap_LDADD = \
1206 libsystemd-core.la
1207
1208test_prioq_SOURCES = \
1209 src/test/test-prioq.c
1210
1211test_prioq_CFLAGS = \
1212 $(AM_CFLAGS)
1213
1214test_prioq_LDADD = \
1215 libsystemd-core.la
1216
1217test_fileio_SOURCES = \
1218 src/test/test-fileio.c
1219
1220test_fileio_CFLAGS = \
1221 $(AM_CFLAGS)
1222
1223test_fileio_LDADD = \
1224 libsystemd-core.la
1225
1226test_time_SOURCES = \
1227 src/test/test-time.c
1228
1229test_time_CFLAGS = \
1230 $(AM_CFLAGS)
1231
1232test_time_LDADD = \
1233 libsystemd-core.la
1234
1235test_log_SOURCES = \
1236 src/test/test-log.c
1237
1238test_log_LDADD = \
1239 libsystemd-core.la
1240
1241test_date_SOURCES = \
1242 src/test/test-date.c
1243
1244test_date_LDADD = \
1245 libsystemd-core.la
1246
1247test_sleep_SOURCES = \
1248 src/test/test-sleep.c
1249
1250test_sleep_LDADD = \
1251 libsystemd-core.la
1252
1253test_replace_var_SOURCES = \
1254 src/test/test-replace-var.c
1255
1256test_replace_var_LDADD = \
1257 libsystemd-shared.la
1258
1259test_calendarspec_SOURCES = \
1260 src/test/test-calendarspec.c
1261
1262test_calendarspec_LDADD = \
1263 libsystemd-shared.la
1264
1265test_strip_tab_ansi_SOURCES = \
1266 src/test/test-strip-tab-ansi.c
1267
1268test_strip_tab_ansi_LDADD = \
1269 libsystemd-shared.la
1270
1271test_daemon_SOURCES = \
1272 src/test/test-daemon.c
1273
1274test_daemon_LDADD = \
1275 libsystemd-shared.la \
1276 libsystemd-daemon.la
1277
1278test_cgroup_SOURCES = \
1279 src/test/test-cgroup.c
1280
1281test_cgroup_LDADD = \
1282 libsystemd-label.la \
1283 libsystemd-shared.la
1284
1285test_cgroup_util_SOURCES = \
1286 src/test/test-cgroup-util.c
1287
1288test_cgroup_util_LDADD = \
1289 libsystemd-label.la \
1290 libsystemd-shared.la
1291
1292test_env_replace_SOURCES = \
1293 src/test/test-env-replace.c
1294
1295test_env_replace_LDADD = \
1296 libsystemd-shared.la
1297
1298test_strbuf_SOURCES = \
1299 src/test/test-strbuf.c
1300
1301test_strbuf_LDADD = \
1302 libsystemd-shared.la
1303
1304test_strv_SOURCES = \
1305 src/test/test-strv.c
1306
1307test_strv_LDADD = \
1308 libsystemd-shared.la \
1309 libsystemd-units.la \
1310 libsystemd-id128-internal.la
1311
1312test_path_util_SOURCES = \
1313 src/test/test-path-util.c
1314
1315test_path_util_LDADD = \
1316 libsystemd-shared.la
1317
1318test_strxcpyx_SOURCES = \
1319 src/test/test-strxcpyx.c
1320
1321test_strxcpyx_LDADD = \
1322 libsystemd-shared.la
1323
1324test_install_SOURCES = \
1325 src/test/test-install.c
1326
1327test_install_CFLAGS = \
1328 $(AM_CFLAGS) \
1329 $(DBUS_CFLAGS)
1330
1331test_install_LDADD = \
1332 libsystemd-units.la \
1333 libsystemd-label.la \
1334 libsystemd-shared.la \
1335 libsystemd-id128-internal.la
1336
1337test_watchdog_SOURCES = \
1338 src/test/test-watchdog.c
1339
1340test_watchdog_LDADD = \
1341 libsystemd-shared.la
1342
1343test_sched_prio_SOURCES = \
1344 src/test/test-sched-prio.c
1345
1346test_sched_prio_CFLAGS = \
1347 $(AM_CFLAGS) \
1348 $(DBUS_CFLAGS) \
1349 -D"STR(s)=\#s" -D"TEST_DIR=STR($(abs_top_srcdir)/test/)"
1350
1351test_sched_prio_LDADD = \
1352 libsystemd-core.la \
1353 libsystemd-daemon.la
1354
1355# ------------------------------------------------------------------------------
1356systemd_initctl_SOURCES = \
1357 src/initctl/initctl.c
1358
1359systemd_initctl_CFLAGS = \
1360 $(AM_CFLAGS) \
1361 $(DBUS_CFLAGS)
1362
1363systemd_initctl_LDADD = \
1364 libsystemd-shared.la \
1365 libsystemd-daemon.la \
1366 libsystemd-dbus.la
1367
1368# ------------------------------------------------------------------------------
1369systemd_update_utmp_SOURCES = \
1370 src/update-utmp/update-utmp.c
1371
1372systemd_update_utmp_CFLAGS = \
1373 $(AM_CFLAGS) \
1374 $(DBUS_CFLAGS) \
1375 $(AUDIT_CFLAGS)
1376
1377systemd_update_utmp_LDADD = \
1378 libsystemd-shared.la \
1379 libsystemd-dbus.la \
1380 $(AUDIT_LIBS)
1381
1382# ------------------------------------------------------------------------------
1383systemd_shutdownd_SOURCES = \
1384 src/shutdownd/shutdownd.c
1385
1386systemd_shutdownd_LDADD = \
1387 libsystemd-label.la \
1388 libsystemd-shared.la \
1389 libsystemd-daemon.la
1390
1391pkginclude_HEADERS += \
1392 src/systemd/sd-shutdown.h
1393
1394# ------------------------------------------------------------------------------
1395systemd_shutdown_SOURCES = \
1396 src/core/umount.c \
1397 src/core/umount.h \
1398 src/core/shutdown.c \
1399 src/core/mount-setup.c \
1400 src/core/mount-setup.h \
1401 src/core/killall.h \
1402 src/core/killall.c
1403
1404systemd_shutdown_LDADD = \
1405 libsystemd-label.la \
1406 libsystemd-shared.la \
1407 libudev.la
1408
1409# ------------------------------------------------------------------------------
1410if HAVE_KMOD
1411systemd_modules_load_SOURCES = \
1412 src/modules-load/modules-load.c
1413
1414systemd_modules_load_CFLAGS = \
1415 $(AM_CFLAGS) \
1416 $(KMOD_CFLAGS)
1417
1418systemd_modules_load_LDADD = \
1419 libsystemd-shared.la \
1420 $(KMOD_LIBS)
1421
1422rootlibexec_PROGRAMS += \
1423 systemd-modules-load
1424
1425nodist_systemunit_DATA += \
1426 units/systemd-modules-load.service
1427
1428SYSINIT_TARGET_WANTS += \
1429 systemd-modules-load.service
1430
1431endif
1432
1433EXTRA_DIST += \
1434 units/systemd-modules-load.service.in
1435
1436# ------------------------------------------------------------------------------
1437systemd_tmpfiles_SOURCES = \
1438 src/tmpfiles/tmpfiles.c
1439
1440systemd_tmpfiles_LDADD = \
1441 libsystemd-label.la \
1442 libsystemd-shared.la \
1443 libsystemd-capability.la
1444
1445# ------------------------------------------------------------------------------
1446systemd_machine_id_setup_SOURCES = \
1447 src/machine-id-setup/machine-id-setup-main.c \
1448 src/core/machine-id-setup.c \
1449 src/core/machine-id-setup.h
1450
1451systemd_machine_id_setup_LDADD = \
1452 libsystemd-label.la \
1453 libsystemd-shared.la \
1454 libsystemd-id128-internal.la
1455
1456# ------------------------------------------------------------------------------
1457systemd_sysctl_SOURCES = \
1458 src/sysctl/sysctl.c
1459
1460systemd_sysctl_LDADD = \
1461 libsystemd-shared.la
1462
1463# ------------------------------------------------------------------------------
1464systemd_sleep_SOURCES = \
1465 src/sleep/sleep.c
1466
1467systemd_sleep_LDADD = \
1468 libsystemd-shared.la
1469
1470# ------------------------------------------------------------------------------
1471systemd_fsck_SOURCES = \
1472 src/fsck/fsck.c
1473
1474systemd_fsck_CFLAGS = \
1475 $(AM_CFLAGS) \
1476 $(DBUS_CFLAGS)
1477
1478systemd_fsck_LDADD = \
1479 libsystemd-shared.la \
1480 libsystemd-dbus.la \
1481 libudev.la
1482
1483# ------------------------------------------------------------------------------
1484systemd_timestamp_SOURCES = \
1485 src/timestamp/timestamp.c
1486
1487systemd_timestamp_LDADD = \
1488 libsystemd-shared.la
1489
1490# ------------------------------------------------------------------------------
1491systemd_ac_power_SOURCES = \
1492 src/ac-power/ac-power.c
1493
1494systemd_ac_power_LDADD = \
1495 libsystemd-shared.la \
1496 libudev.la
1497
1498# ------------------------------------------------------------------------------
1499systemd_detect_virt_SOURCES = \
1500 src/detect-virt/detect-virt.c
1501
1502systemd_detect_virt_LDADD = \
1503 libsystemd-shared.la
1504
1505systemd-detect-virt-install-hook:
1506 -$(SETCAP) cap_dac_override,cap_sys_ptrace=ep $(DESTDIR)$(bindir)/systemd-detect-virt
1507
1508INSTALL_EXEC_HOOKS += \
1509 systemd-detect-virt-install-hook
1510
1511# ------------------------------------------------------------------------------
1512systemd_delta_SOURCES = \
1513 src/delta/delta.c
1514
1515systemd_delta_LDADD = \
1516 libsystemd-shared.la
1517
1518# ------------------------------------------------------------------------------
1519systemd_getty_generator_SOURCES = \
1520 src/getty-generator/getty-generator.c
1521
1522systemd_getty_generator_LDADD = \
1523 libsystemd-label.la \
1524 libsystemd-shared.la
1525
1526# ------------------------------------------------------------------------------
1527systemd_fstab_generator_SOURCES = \
1528 src/fstab-generator/fstab-generator.c \
1529 src/core/mount-setup.c
1530
1531systemd_fstab_generator_LDADD = \
1532 libsystemd-label.la \
1533 libsystemd-shared.la
1534
1535# ------------------------------------------------------------------------------
1536systemd_system_update_generator_SOURCES = \
1537 src/system-update-generator/system-update-generator.c
1538
1539systemd_system_update_generator_LDADD = \
1540 libsystemd-label.la \
1541 libsystemd-shared.la
1542
1543# ------------------------------------------------------------------------------
1544if ENABLE_EFI
1545systemgenerator_PROGRAMS += \
1546 systemd-efi-boot-generator
1547
1548systemd_efi_boot_generator_SOURCES = \
1549 src/efi-boot-generator/efi-boot-generator.c
1550
1551systemd_efi_boot_generator_LDADD = \
1552 libsystemd-label.la \
1553 libsystemd-shared.la
1554endif
1555
1556# ------------------------------------------------------------------------------
1557systemd_rc_local_generator_SOURCES = \
1558 src/rc-local-generator/rc-local-generator.c
1559
1560systemd_rc_local_generator_LDADD = \
1561 libsystemd-label.la \
1562 libsystemd-shared.la
1563
1564# ------------------------------------------------------------------------------
1565systemd_remount_fs_SOURCES = \
1566 src/remount-fs/remount-fs.c \
1567 src/core/mount-setup.c \
1568 src/core/mount-setup.h
1569
1570systemd_remount_fs_LDADD = \
1571 libsystemd-label.la \
1572 libsystemd-shared.la
1573
1574# ------------------------------------------------------------------------------
1575systemd_cgroups_agent_SOURCES = \
1576 src/cgroups-agent/cgroups-agent.c
1577
1578systemd_cgroups_agent_CFLAGS = \
1579 $(AM_CFLAGS) \
1580 $(DBUS_CFLAGS)
1581
1582systemd_cgroups_agent_LDADD = \
1583 libsystemd-shared.la \
1584 libsystemd-dbus.la
1585
1586# ------------------------------------------------------------------------------
1587systemctl_SOURCES = \
1588 src/systemctl/systemctl.c
1589
1590systemctl_CFLAGS = \
1591 $(AM_CFLAGS) \
1592 $(DBUS_CFLAGS)
1593
1594systemctl_LDADD = \
1595 libsystemd-units.la \
1596 libsystemd-label.la \
1597 libsystemd-shared.la \
1598 libsystemd-daemon.la \
1599 libsystemd-dbus.la \
1600 libsystemd-logs.la
1601
1602# ------------------------------------------------------------------------------
1603systemd_notify_SOURCES = \
1604 src/notify/notify.c \
1605 src/readahead/sd-readahead.c
1606
1607systemd_notify_LDADD = \
1608 libsystemd-shared.la \
1609 libsystemd-daemon.la
1610
1611# ------------------------------------------------------------------------------
1612systemd_ask_password_SOURCES = \
1613 src/ask-password/ask-password.c
1614
1615systemd_ask_password_LDADD = \
1616 libsystemd-label.la \
1617 libsystemd-shared.la
1618
1619# ------------------------------------------------------------------------------
1620systemd_reply_password_SOURCES = \
1621 src/reply-password/reply-password.c
1622
1623systemd_reply_password_LDADD = \
1624 libsystemd-shared.la
1625
1626# ------------------------------------------------------------------------------
1627systemd_cgls_SOURCES = \
1628 src/cgls/cgls.c
1629
1630systemd_cgls_LDADD = \
1631 libsystemd-shared.la
1632
1633# ------------------------------------------------------------------------------
1634systemd_cgtop_SOURCES = \
1635 src/cgtop/cgtop.c
1636
1637systemd_cgtop_LDADD = \
1638 libsystemd-shared.la
1639
1640# ------------------------------------------------------------------------------
1641systemd_nspawn_SOURCES = \
1642 src/nspawn/nspawn.c \
1643 src/core/mount-setup.c \
1644 src/core/mount-setup.h \
1645 src/core/loopback-setup.c \
1646 src/core/loopback-setup.h
1647
1648systemd_nspawn_LDADD = \
1649 libsystemd-label.la \
1650 libsystemd-capability.la \
1651 libsystemd-shared.la \
1652 libsystemd-daemon.la \
1653 libsystemd-id128-internal.la
1654
1655# ------------------------------------------------------------------------------
1656systemd_stdio_bridge_SOURCES = \
1657 src/stdio-bridge/stdio-bridge.c
1658
1659systemd_stdio_bridge_LDADD = \
1660 libsystemd-shared.la \
1661 libsystemd-bus.la \
1662 libsystemd-daemon.la
1663
1664# ------------------------------------------------------------------------------
1665systemd_tty_ask_password_agent_SOURCES = \
1666 src/tty-ask-password-agent/tty-ask-password-agent.c
1667
1668systemd_tty_ask_password_agent_LDADD = \
1669 libsystemd-label.la \
1670 libsystemd-shared.la
1671
1672# ------------------------------------------------------------------------------
1673libsystemd_daemon_la_SOURCES = \
1674 src/libsystemd-daemon/sd-daemon.c
1675
1676libsystemd_daemon_internal_la_SOURCES = \
1677 $(libsystemd_daemon_la_SOURCES)
1678
1679libsystemd_daemon_la_CFLAGS = \
1680 $(AM_CFLAGS) \
1681 -fvisibility=hidden \
1682 -DSD_EXPORT_SYMBOLS
1683
1684libsystemd_daemon_la_LDFLAGS = \
1685 $(AM_LDFLAGS) \
1686 -version-info $(LIBSYSTEMD_DAEMON_CURRENT):$(LIBSYSTEMD_DAEMON_REVISION):$(LIBSYSTEMD_DAEMON_AGE) \
1687 -Wl,--version-script=$(top_srcdir)/src/libsystemd-daemon/libsystemd-daemon.sym
1688
1689pkginclude_HEADERS += \
1690 src/systemd/sd-daemon.h
1691
1692# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
1693libsystemd-daemon-install-hook:
1694 libname=libsystemd-daemon.so && $(move-to-rootlibdir)
1695
1696libsystemd-daemon-uninstall-hook:
1697 rm -f $(DESTDIR)$(rootlibdir)/libsystemd-daemon.so*
1698
1699INSTALL_EXEC_HOOKS += libsystemd-daemon-install-hook
1700UNINSTALL_EXEC_HOOKS += libsystemd-daemon-uninstall-hook
1701
1702lib_LTLIBRARIES += \
1703 libsystemd-daemon.la
1704
1705noinst_LTLIBRARIES += \
1706 libsystemd-daemon-internal.la
1707
1708pkgconfiglib_DATA += \
1709 src/libsystemd-daemon/libsystemd-daemon.pc
1710
1711EXTRA_DIST += \
1712 src/libsystemd-daemon/libsystemd-daemon.pc.in \
1713 src/libsystemd-daemon/libsystemd-daemon.sym
1714
1715# ------------------------------------------------------------------------------
1716libsystemd_bus_la_SOURCES = \
1717 src/systemd/sd-bus.h \
1718 src/systemd/sd-bus-protocol.h \
1719 src/libsystemd-bus/sd-bus.c \
1720 src/libsystemd-bus/bus-control.c \
1721 src/libsystemd-bus/bus-control.h \
1722 src/libsystemd-bus/bus-error.c \
1723 src/libsystemd-bus/bus-error.h \
1724 src/libsystemd-bus/bus-internal.c \
1725 src/libsystemd-bus/bus-internal.h \
1726 src/libsystemd-bus/bus-socket.c \
1727 src/libsystemd-bus/bus-socket.h \
1728 src/libsystemd-bus/bus-kernel.c \
1729 src/libsystemd-bus/bus-kernel.h \
1730 src/libsystemd-bus/bus-message.c \
1731 src/libsystemd-bus/bus-message.h \
1732 src/libsystemd-bus/bus-signature.c \
1733 src/libsystemd-bus/bus-signature.h \
1734 src/libsystemd-bus/bus-type.c \
1735 src/libsystemd-bus/bus-type.h \
1736 src/libsystemd-bus/bus-match.c \
1737 src/libsystemd-bus/bus-match.h \
1738 src/libsystemd-bus/bus-bloom.c \
1739 src/libsystemd-bus/bus-bloom.h \
1740 src/libsystemd-bus/kdbus.h
1741
1742libsystemd_bus_la_LIBADD = \
1743 libsystemd-id128-internal.la \
1744 libsystemd-shared.la \
1745 libsystemd-daemon.la
1746
1747noinst_LTLIBRARIES += \
1748 libsystemd-bus.la
1749
1750tests += \
1751 test-bus-marshal \
1752 test-bus-signature \
1753 test-bus-chat \
1754 test-bus-server \
1755 test-bus-match \
1756 test-bus-kernel
1757
1758noinst_PROGRAMS += \
1759 busctl
1760
1761test_bus_marshal_SOURCES = \
1762 src/libsystemd-bus/test-bus-marshal.c
1763
1764test_bus_marshal_LDADD = \
1765 libsystemd-shared.la \
1766 libsystemd-bus.la \
1767 $(GLIB_LIBS) \
1768 $(DBUS_LIBS)
1769
1770test_bus_marshal_CFLAGS = \
1771 $(AM_CFLAGS) \
1772 $(GLIB_CFLAGS) \
1773 $(DBUS_CFLAGS)
1774
1775test_bus_signature_SOURCES = \
1776 src/libsystemd-bus/test-bus-signature.c
1777
1778test_bus_signature_LDADD = \
1779 libsystemd-shared.la \
1780 libsystemd-bus.la
1781
1782test_bus_chat_SOURCES = \
1783 src/libsystemd-bus/test-bus-chat.c
1784
1785test_bus_chat_CFLAGS = \
1786 $(AM_CFLAGS) \
1787 -pthread
1788
1789test_bus_chat_LDADD = \
1790 libsystemd-shared.la \
1791 libsystemd-bus.la \
1792 libsystemd-id128-internal.la
1793
1794test_bus_server_SOURCES = \
1795 src/libsystemd-bus/test-bus-server.c
1796
1797test_bus_server_CFLAGS = \
1798 $(AM_CFLAGS) \
1799 -pthread
1800
1801test_bus_server_LDADD = \
1802 libsystemd-shared.la \
1803 libsystemd-bus.la \
1804 libsystemd-id128-internal.la
1805
1806test_bus_match_SOURCES = \
1807 src/libsystemd-bus/test-bus-match.c
1808
1809test_bus_match_CFLAGS = \
1810 $(AM_CFLAGS)
1811
1812test_bus_match_LDADD = \
1813 libsystemd-shared.la \
1814 libsystemd-bus.la \
1815 libsystemd-id128-internal.la
1816
1817test_bus_kernel_SOURCES = \
1818 src/libsystemd-bus/test-bus-kernel.c
1819
1820test_bus_kernel_CFLAGS = \
1821 $(AM_CFLAGS)
1822
1823test_bus_kernel_LDADD = \
1824 libsystemd-shared.la \
1825 libsystemd-bus.la \
1826 libsystemd-id128-internal.la
1827
1828busctl_SOURCES = \
1829 src/libsystemd-bus/busctl.c
1830
1831busctl_LDADD = \
1832 libsystemd-shared.la \
1833 libsystemd-bus.la
1834
1835# ------------------------------------------------------------------------------
1836if ENABLE_GTK_DOC
1837SUBDIRS += \
1838 docs/libudev
1839
1840noinst_DATA += \
1841 docs/html/libudev \
1842 docs/html/gudev
1843endif
1844
1845include_HEADERS += \
1846 src/libudev/libudev.h
1847
1848lib_LTLIBRARIES += \
1849 libudev.la
1850
1851libudev_la_SOURCES =\
1852 src/libudev/libudev-private.h \
1853 src/libudev/libudev.c \
1854 src/libudev/libudev-list.c \
1855 src/libudev/libudev-util.c \
1856 src/libudev/libudev-device.c \
1857 src/libudev/libudev-enumerate.c \
1858 src/libudev/libudev-monitor.c \
1859 src/libudev/libudev-queue.c \
1860 src/libudev/libudev-hwdb-def.h \
1861 src/libudev/libudev-hwdb.c
1862
1863libudev_la_CFLAGS = \
1864 $(AM_CFLAGS) \
1865 -fvisibility=hidden
1866
1867libudev_la_LDFLAGS = \
1868 $(AM_LDFLAGS) \
1869 -version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE) \
1870 -Wl,--version-script=$(top_srcdir)/src/libudev/libudev.sym
1871
1872libudev_la_LIBADD = \
1873 libsystemd-shared.la \
1874 libsystemd-daemon-internal.la \
1875 libsystemd-id128-internal.la
1876
1877pkgconfiglib_DATA += \
1878 src/libudev/libudev.pc
1879
1880EXTRA_DIST += \
1881 src/libudev/libudev.pc.in \
1882 src/libudev/libudev.sym
1883
1884CLEANFILES += \
1885 src/libudev/libudev.pc \
1886 docs/html/libudev \
1887 docs/html/gudev
1888
1889docs/html/libudev:
1890 $(AM_V_at)$(MKDIR_P) $(dir $@)
1891 $(AM_V_LN)$(LN_S) -f ../libudev/html $@
1892
1893docs/html/gudev:
1894 $(AM_V_at)$(MKDIR_P) $(dir $@)
1895 $(AM_V_LN)$(LN_S) -f ../gudev/html $@
1896
1897# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
1898libudev-install-hook:
1899 libname=libudev.so && $(move-to-rootlibdir)
1900
1901libudev-uninstall-hook:
1902 rm -f $(DESTDIR)$(rootlibdir)/libudev.so*
1903
1904INSTALL_EXEC_HOOKS += libudev-install-hook
1905UNINSTALL_EXEC_HOOKS += libudev-uninstall-hook
1906
1907# ------------------------------------------------------------------------------
1908noinst_LTLIBRARIES += \
1909 libudev-private.la
1910
1911libudev_private_la_SOURCES =\
1912 $(libudev_la_SOURCES) \
1913 src/libudev/libudev-device-private.c \
1914 src/libudev/libudev-queue-private.c
1915
1916libudev_private_la_CFLAGS = \
1917 $(AM_CFLAGS) \
1918 -fvisibility=default
1919
1920libudev_private_la_LIBADD = \
1921 libsystemd-shared.la
1922
1923# ------------------------------------------------------------------------------
1924INSTALL_DIRS += \
1925 $(sysconfdir)/udev/rules.d \
1926 $(sysconfdir)/udev/hwdb.d
1927
1928dist_udevrules_DATA += \
1929 rules/99-systemd.rules \
1930 rules/42-usb-hid-pm.rules \
1931 rules/50-udev-default.rules \
1932 rules/60-keyboard.rules \
1933 rules/60-persistent-storage-tape.rules \
1934 rules/60-persistent-serial.rules \
1935 rules/60-persistent-input.rules \
1936 rules/60-persistent-alsa.rules \
1937 rules/60-persistent-storage.rules \
1938 rules/64-btrfs.rules \
1939 rules/75-net-description.rules \
1940 rules/75-tty-description.rules \
1941 rules/78-sound-card.rules \
1942 rules/80-net-name-slot.rules \
1943 rules/95-udev-late.rules
1944
1945dist_udevhwdb_DATA = \
1946 hwdb/20-pci-vendor-model.hwdb \
1947 hwdb/20-pci-classes.hwdb \
1948 hwdb/20-usb-vendor-model.hwdb \
1949 hwdb/20-usb-classes.hwdb \
1950 hwdb/20-bluetooth-vendor-product.hwdb \
1951 hwdb/20-acpi-vendor.hwdb \
1952 hwdb/20-OUI.hwdb
1953
1954udevconfdir = $(sysconfdir)/udev
1955dist_udevconf_DATA = \
1956 src/udev/udev.conf
1957
1958sharepkgconfigdir = $(datadir)/pkgconfig
1959sharepkgconfig_DATA = \
1960 src/udev/udev.pc
1961
1962EXTRA_DIST += \
1963 rules/99-systemd.rules.in \
1964 src/udev/udev.pc.in
1965
1966CLEANFILES += \
1967 rules/99-systemd.rules \
1968 src/udev/udev.pc
1969
1970EXTRA_DIST += \
1971 units/systemd-udevd.service.in \
1972 units/systemd-udev-trigger.service.in \
1973 units/systemd-udev-settle.service.in
1974
1975CLEANFILES += \
1976 units/systemd-udevd.service \
1977 units/systemd-udev-trigger.service \
1978 units/systemd-udev-settle.service
1979
1980SOCKETS_TARGET_WANTS += \
1981 systemd-udevd-control.socket \
1982 systemd-udevd-kernel.socket
1983SYSINIT_TARGET_WANTS += \
1984 systemd-udevd.service \
1985 systemd-udev-trigger.service
1986
1987rootbin_PROGRAMS += \
1988 udevadm
1989
1990rootlibexec_PROGRAMS += \
1991 systemd-udevd
1992
1993noinst_LTLIBRARIES += \
1994 libudev-core.la
1995
1996src/udev/keyboard-keys.txt: Makefile
1997 $(AM_V_at)$(MKDIR_P) $(dir $@)
1998 $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/input.h - < /dev/null | $(AWK) '/^#define[ \t]+KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
1999
2000src/udev/keyboard-keys-from-name.gperf: src/udev/keyboard-keys.txt Makefile
2001 $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print tolower(substr($$1 ,5)) ", " $$1 }' < $< > $@
2002
2003src/udev/keyboard-keys-from-name.h: src/udev/keyboard-keys-from-name.gperf Makefile
2004 $(AM_V_GPERF)$(GPERF) -L ANSI-C -t -N keyboard_lookup_key -H hash_key_name -p -C < $< > $@
2005
2006src/udev/keyboard-keys-to-name.h: src/udev/keyboard-keys.txt Makefile
2007 $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@
2008
2009libudev_core_la_SOURCES = \
2010 src/udev/udev.h \
2011 src/udev/udev-event.c \
2012 src/udev/udev-watch.c \
2013 src/udev/udev-node.c \
2014 src/udev/udev-rules.c \
2015 src/udev/udev-ctrl.c \
2016 src/udev/udev-builtin.c \
2017 src/udev/udev-builtin-btrfs.c \
2018 src/udev/udev-builtin-hwdb.c \
2019 src/udev/udev-builtin-input_id.c \
2020 src/udev/udev-builtin-keyboard.c \
2021 src/udev/udev-builtin-net_id.c \
2022 src/udev/udev-builtin-path_id.c \
2023 src/udev/udev-builtin-usb_id.c
2024
2025nodist_libudev_core_la_SOURCES = \
2026 src/udev/keyboard-keys-from-name.h \
2027 src/udev/keyboard-keys-to-name.h
2028
2029BUILT_SOURCES += \
2030 $(nodist_libudev_core_la_SOURCES)
2031
2032CLEANFILES += \
2033 src/udev/keyboard-keys-from-name.gperf \
2034 src/udev/keyboard-keys.txt
2035
2036libudev_core_la_CFLAGS = \
2037 $(AM_CFLAGS) \
2038 $(BLKID_CFLAGS) \
2039 $(KMOD_CFLAGS)
2040
2041libudev_core_la_LIBADD = \
2042 libudev-private.la \
2043 libsystemd-label.la \
2044 libsystemd-daemon-internal.la \
2045 libsystemd-shared.la \
2046 $(BLKID_LIBS) \
2047 $(KMOD_LIBS)
2048
2049libudev_core_la_CPPFLAGS = \
2050 $(AM_CPPFLAGS) \
2051 -DFIRMWARE_PATH="$(FIRMWARE_PATH)"
2052
2053if ENABLE_FIRMWARE
2054libudev_core_la_SOURCES += \
2055 src/udev/udev-builtin-firmware.c
2056
2057dist_udevrules_DATA += \
2058 rules/50-firmware.rules
2059endif
2060
2061if HAVE_KMOD
2062libudev_core_la_SOURCES += \
2063 src/udev/udev-builtin-kmod.c
2064
2065dist_udevrules_DATA += \
2066 rules/80-drivers.rules
2067endif
2068
2069if HAVE_BLKID
2070libudev_core_la_SOURCES += \
2071 src/udev/udev-builtin-blkid.c
2072endif
2073
2074if HAVE_ACL
2075libudev_core_la_SOURCES += \
2076 src/udev/udev-builtin-uaccess.c \
2077 src/login/logind-acl.c \
2078 src/login/sd-login.c
2079
2080libudev_core_la_LIBADD += \
2081 libsystemd-acl.la
2082endif
2083
2084systemd_udevd_SOURCES = \
2085 src/udev/udevd.c
2086
2087systemd_udevd_LDADD = \
2088 libudev-core.la
2089
2090udevadm_SOURCES = \
2091 src/udev/udevadm.c \
2092 src/udev/udevadm-info.c \
2093 src/udev/udevadm-control.c \
2094 src/udev/udevadm-monitor.c \
2095 src/udev/udevadm-hwdb.c \
2096 src/udev/udevadm-settle.c \
2097 src/udev/udevadm-trigger.c \
2098 src/udev/udevadm-test.c \
2099 src/udev/udevadm-test-builtin.c
2100
2101udevadm_LDADD = \
2102 libudev-core.la \
2103 libsystemd-shared.la
2104
2105# Update hwdb on installation. Do not bother if installing
2106# in DESTDIR, since this is likely for packaging purposes.
2107hwdb-update-hook:
2108 -test -n "$(DESTDIR)" || $(rootbindir)/udevadm hwdb --update
2109
2110INSTALL_DATA_HOOKS += \
2111 hwdb-update-hook
2112
2113hwdb-remove-hook:
2114 -test -n "$(DESTDIR)" || rm -f $(udevlibexecdir)/hwdb.bin
2115
2116# ------------------------------------------------------------------------------
2117TESTS += \
2118 test/udev-test.pl \
2119 test/rules-test.sh
2120
2121manual_tests += \
2122 test-libudev \
2123 test-udev
2124
2125test_libudev_SOURCES = \
2126 src/test/test-libudev.c
2127
2128test_libudev_LDADD = \
2129 libsystemd-label.la \
2130 libsystemd-shared.la \
2131 libudev.la
2132
2133test_udev_SOURCES = \
2134 src/test/test-udev.c
2135
2136test_udev_LDADD = \
2137 libudev-core.la \
2138 libsystemd-shared.la \
2139 $(BLKID_LIBS) \
2140 $(KMOD_LIBS) \
2141 $(SELINUX_LIBS)
2142
2143if HAVE_ACL
2144test_udev_LDADD += \
2145 libsystemd-acl.la
2146endif
2147
2148check_DATA += \
2149 test/sys
2150
2151# packed sysfs test tree
2152test/sys:
2153 $(AM_V_at)$(MKDIR_P) $(dir $@)
2154 $(AM_V_GEN)tar -C test/ -xJf $(top_srcdir)/test/sys.tar.xz
2155
2156test-sys-distclean:
2157 -rm -rf test/sys
2158DISTCLEAN_LOCAL_HOOKS += test-sys-distclean
2159
2160EXTRA_DIST += \
2161 test/sys.tar.xz \
2162 test/udev-test.pl \
2163 test/rules-test.sh \
2164 test/rule-syntax-check.py
2165
2166# ------------------------------------------------------------------------------
2167ata_id_SOURCES = \
2168 src/udev/ata_id/ata_id.c
2169
2170ata_id_LDADD = \
2171 libudev-private.la \
2172 libsystemd-shared.la
2173
2174udevlibexec_PROGRAMS += \
2175 ata_id
2176
2177# ------------------------------------------------------------------------------
2178cdrom_id_SOURCES = \
2179 src/udev/cdrom_id/cdrom_id.c
2180
2181cdrom_id_LDADD = \
2182 libudev.la \
2183 libsystemd-shared.la
2184
2185udevlibexec_PROGRAMS += \
2186 cdrom_id
2187
2188dist_udevrules_DATA += \
2189 rules/60-cdrom_id.rules
2190
2191# ------------------------------------------------------------------------------
2192collect_SOURCES = \
2193 src/udev/collect/collect.c
2194
2195collect_LDADD = \
2196 libudev-private.la
2197
2198udevlibexec_PROGRAMS += \
2199 collect
2200
2201# ------------------------------------------------------------------------------
2202scsi_id_SOURCES =\
2203 src/udev/scsi_id/scsi_id.c \
2204 src/udev/scsi_id/scsi_serial.c \
2205 src/udev/scsi_id/scsi.h \
2206 src/udev/scsi_id/scsi_id.h
2207
2208scsi_id_LDADD = \
2209 libudev-private.la \
2210 libsystemd-shared.la
2211
2212udevlibexec_PROGRAMS += \
2213 scsi_id
2214
2215EXTRA_DIST += \
2216 src/udev/scsi_id/README
2217
2218# ------------------------------------------------------------------------------
2219v4l_id_SOURCES = \
2220 src/udev/v4l_id/v4l_id.c
2221
2222v4l_id_LDADD = \
2223 libudev.la
2224
2225udevlibexec_PROGRAMS += \
2226 v4l_id
2227
2228dist_udevrules_DATA += \
2229 rules/60-persistent-v4l.rules
2230
2231# ------------------------------------------------------------------------------
2232accelerometer_SOURCES = \
2233 src/udev/accelerometer/accelerometer.c
2234
2235accelerometer_LDADD = \
2236 libudev.la -lm \
2237 libsystemd-shared.la
2238
2239udevlibexec_PROGRAMS += \
2240 accelerometer
2241
2242dist_udevrules_DATA += \
2243 rules/61-accelerometer.rules
2244
2245# ------------------------------------------------------------------------------
2246if ENABLE_GUDEV
2247if ENABLE_GTK_DOC
2248SUBDIRS += \
2249 docs/gudev
2250endif
2251
2252libgudev_includedir = \
2253 $(includedir)/gudev-1.0/gudev
2254
2255libgudev_include_HEADERS = \
2256 src/gudev/gudev.h \
2257 src/gudev/gudevenums.h \
2258 src/gudev/gudevenumtypes.h \
2259 src/gudev/gudevtypes.h \
2260 src/gudev/gudevclient.h \
2261 src/gudev/gudevdevice.h \
2262 src/gudev/gudevenumerator.h
2263
2264lib_LTLIBRARIES += libgudev-1.0.la
2265
2266pkgconfiglib_DATA += \
2267 src/gudev/gudev-1.0.pc
2268
2269CLEANFILES += \
2270 src/gudev/gudev-1.0.pc
2271
2272libgudev_1_0_la_SOURCES = \
2273 src/gudev/gudevenums.h \
2274 src/gudev/gudevenumtypes.h \
2275 src/gudev/gudevenumtypes.h\
2276 src/gudev/gudevtypes.h \
2277 src/gudev/gudevclient.h \
2278 src/gudev/gudevclient.c \
2279 src/gudev/gudevdevice.h \
2280 src/gudev/gudevdevice.c \
2281 src/gudev/gudevenumerator.h \
2282 src/gudev/gudevenumerator.c \
2283 src/gudev/gudevprivate.h
2284
2285nodist_libgudev_1_0_la_SOURCES = \
2286 src/gudev/gudevmarshal.h \
2287 src/gudev/gudevmarshal.c \
2288 src/gudev/gudevenumtypes.h \
2289 src/gudev/gudevenumtypes.c
2290
2291BUILT_SOURCES += \
2292 $(nodist_libgudev_1_0_la_SOURCES)
2293
2294libgudev_1_0_la_CPPFLAGS = \
2295 $(AM_CPPFLAGS) \
2296 -I$(top_builddir)/src\
2297 -I$(top_srcdir)/src\
2298 -I$(top_builddir)/src/gudev \
2299 -I$(top_srcdir)/src/gudev \
2300 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
2301 -D_GUDEV_COMPILATION \
2302 -DG_LOG_DOMAIN=\"GUdev\"
2303
2304libgudev_1_0_la_CFLAGS = \
2305 $(AM_CFLAGS) \
2306 -fvisibility=default \
2307 $(GLIB_CFLAGS)
2308
2309libgudev_1_0_la_LIBADD = \
2310 libudev.la \
2311 $(GLIB_LIBS)
2312
2313libgudev_1_0_la_LDFLAGS = \
2314 $(AM_LDFLAGS) \
2315 -version-info $(LIBGUDEV_CURRENT):$(LIBGUDEV_REVISION):$(LIBGUDEV_AGE) \
2316 -export-dynamic -no-undefined \
2317 -export-symbols-regex '^g_udev_.*'
2318
2319src/gudev/gudevmarshal.h: src/gudev/gudevmarshal.list
2320 $(AM_V_at)$(MKDIR_P) $(dir $@)
2321 $(AM_V_GEN)glib-genmarshal $< --prefix=g_udev_marshal --header > $@
2322
2323src/gudev/gudevmarshal.c: src/gudev/gudevmarshal.list
2324 $(AM_V_at)$(MKDIR_P) $(dir $@)
2325 $(AM_V_GEN)echo '#include "gudevmarshal.h"' > $@ && \
2326 glib-genmarshal $< --prefix=g_udev_marshal --body >> $@
2327
2328src/gudev/gudevenumtypes.%: src/gudev/gudevenumtypes.%.template src/gudev/gudevenums.h
2329 $(AM_V_at)$(MKDIR_P) $(dir $@)
2330 $(AM_V_GEN)glib-mkenums --template $^ > $@
2331
2332if HAVE_INTROSPECTION
2333-include $(INTROSPECTION_MAKEFILE)
2334
2335src/gudev/GUdev-1.0.gir: libgudev-1.0.la
2336
2337src_gudev_GUdev_1_0_gir_INCLUDES = GObject-2.0
2338
2339src_gudev_GUdev_1_0_gir_CFLAGS = \
2340 $(INCLUDES) \
2341 -D_GUDEV_COMPILATION \
2342 -D_GUDEV_WORK_AROUND_DEV_T_BUG \
2343 -I$(top_srcdir)/src \
2344 -I$(top_builddir)/src \
2345 -I$(top_srcdir)/src/gdev \
2346 -I$(top_builddir)/src/gdev
2347
2348src_gudev_GUdev_1_0_gir_LIBS = libgudev-1.0.la
2349
2350src_gudev_GUdev_1_0_gir_SCANNERFLAGS = \
2351 --pkg-export=gudev-1.0 \
2352 --warn-all
2353
2354src_gudev_GUdev_1_0_gir_FILES = \
2355 src/gudev/gudev.h \
2356 src/gudev/gudevtypes.h \
2357 src/gudev/gudevenums.h \
2358 src/gudev/gudevenumtypes.h \
2359 src/gudev/gudevclient.h \
2360 src/gudev/gudevdevice.h \
2361 src/gudev/gudevenumerator.h \
2362 src/gudev/gudevclient.c \
2363 src/gudev/gudevdevice.c \
2364 src/gudev/gudevenumerator.c
2365
2366INTROSPECTION_GIRS = src/gudev/GUdev-1.0.gir
2367INTROSPECTION_SCANNER_ARGS = --c-include=gudev/gudev.h
2368
2369girdir = $(datadir)/gir-1.0
2370gir_DATA = \
2371 src/gudev/GUdev-1.0.gir
2372
2373typelibsdir = $(libdir)/girepository-1.0
2374typelibs_DATA = \
2375 src/gudev/GUdev-1.0.typelib
2376
2377CLEANFILES += $(gir_DATA) $(typelibs_DATA)
2378endif # HAVE_INTROSPECTION
2379
2380endif
2381
2382EXTRA_DIST += \
2383 src/gudev/gudev-1.0.pc.in \
2384 src/gudev/gudevmarshal.list \
2385 src/gudev/gudevenumtypes.h.template \
2386 src/gudev/gudevenumtypes.c.template \
2387 src/gudev/gjs-example.js \
2388 src/gudev/seed-example-enum.js \
2389 src/gudev/seed-example.js
2390
2391# ------------------------------------------------------------------------------
2392if ENABLE_KEYMAP
2393keymap_SOURCES = \
2394 src/udev/keymap/keymap.c
2395
2396keymap_CPPFLAGS = \
2397 $(AM_CPPFLAGS) -I src/udev/keymap
2398
2399keymap_LDADD = \
2400 libsystemd-shared.la
2401
2402nodist_keymap_SOURCES = \
2403 src/udev/keymap/keys-from-name.h \
2404 src/udev/keymap/keys-to-name.h
2405
2406BUILT_SOURCES += \
2407 $(nodist_keymap_SOURCES)
2408
2409udevlibexec_PROGRAMS += \
2410 keymap
2411
2412dist_doc_DATA += \
2413 src/udev/keymap/README.keymap.txt
2414
2415dist_udevrules_DATA += \
2416 src/udev/keymap/95-keymap.rules \
2417 src/udev/keymap/95-keyboard-force-release.rules
2418
2419dist_udevhome_SCRIPTS = \
2420 src/udev/keymap/findkeyboards \
2421 src/udev/keymap/keyboard-force-release.sh
2422
2423TESTS += \
2424 src/udev/keymap/check-keymaps.sh
2425
2426CLEANFILES += \
2427 src/udev/keymap/keys.txt \
2428 src/udev/keymap/keys-from-name.gperf \
2429 src/udev/keymap/keyboard-force-release.sh
2430
2431udevkeymapdir = $(udevlibexecdir)/keymaps
2432dist_udevkeymap_DATA = \
2433 keymaps/acer \
2434 keymaps/acer-aspire_5720 \
2435 keymaps/acer-aspire_8930 \
2436 keymaps/acer-aspire_5920g \
2437 keymaps/acer-aspire_6920 \
2438 keymaps/acer-travelmate_c300 \
2439 keymaps/asus \
2440 keymaps/compaq-e_evo \
2441 keymaps/dell \
2442 keymaps/dell-latitude-xt2 \
2443 keymaps/everex-xt5000 \
2444 keymaps/fujitsu-amilo_li_2732 \
2445 keymaps/fujitsu-amilo_pa_2548 \
2446 keymaps/fujitsu-amilo_pro_edition_v3505 \
2447 keymaps/fujitsu-amilo_pro_v3205 \
2448 keymaps/fujitsu-amilo_si_1520 \
2449 keymaps/fujitsu-esprimo_mobile_v5 \
2450 keymaps/fujitsu-esprimo_mobile_v6 \
2451 keymaps/genius-slimstar-320 \
2452 keymaps/hewlett-packard \
2453 keymaps/hewlett-packard-2510p_2530p \
2454 keymaps/hewlett-packard-compaq_elitebook \
2455 keymaps/hewlett-packard-pavilion \
2456 keymaps/hewlett-packard-presario-2100 \
2457 keymaps/hewlett-packard-tablet \
2458 keymaps/hewlett-packard-tx2 \
2459 keymaps/hewlett-packard_elitebook-8440p \
2460 keymaps/hewlett-packard_elitebook-8460p \
2461 keymaps/hewlett-packard-hdx9494nr \
2462 keymaps/ibm-thinkpad-usb-keyboard-trackpoint \
2463 keymaps/inventec-symphony_6.0_7.0 \
2464 keymaps/lenovo-3000 \
2465 keymaps/lenovo-ideapad \
2466 keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \
2467 keymaps/lenovo-thinkpad_x6_tablet \
2468 keymaps/lenovo-thinkpad_x200_tablet \
2469 keymaps/lg-x110 \
2470 keymaps/logitech-wave \
2471 keymaps/logitech-wave-cordless \
2472 keymaps/logitech-wave-pro-cordless \
2473 keymaps/maxdata-pro_7000 \
2474 keymaps/medion-fid2060 \
2475 keymaps/medionnb-a555 \
2476 keymaps/micro-star \
2477 keymaps/module-asus-w3j \
2478 keymaps/module-ibm \
2479 keymaps/module-lenovo \
2480 keymaps/module-sony \
2481 keymaps/module-sony-old \
2482 keymaps/module-sony-vgn \
2483 keymaps/module-sony-vpc \
2484 keymaps/olpc-xo \
2485 keymaps/onkyo \
2486 keymaps/oqo-model2 \
2487 keymaps/samsung-other \
2488 keymaps/samsung-series-9 \
2489 keymaps/samsung-sq1us \
2490 keymaps/samsung-sx20s \
2491 keymaps/toshiba-satellite_a100 \
2492 keymaps/toshiba-satellite_a110 \
2493 keymaps/toshiba-satellite_m30x \
2494 keymaps/zepto-znote
2495
2496udevkeymapforcereldir = $(udevlibexecdir)/keymaps/force-release
2497dist_udevkeymapforcerel_DATA = \
2498 keymaps-force-release/dell-touchpad \
2499 keymaps-force-release/dell-xps \
2500 keymaps-force-release/hp-other \
2501 keymaps-force-release/samsung-other \
2502 keymaps-force-release/samsung-series-9 \
2503 keymaps-force-release/common-volume-keys
2504
2505src/udev/keymap/keys.txt: Makefile
2506 $(AM_V_at)$(MKDIR_P) $(dir $@)
2507 $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/input.h - < /dev/null | $(AWK) '/^#define[ \t]+KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
2508
2509src/udev/keymap/keys-from-name.gperf: src/udev/keymap/keys.txt Makefile
2510 $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@
2511
2512src/udev/keymap/keys-from-name.h: src/udev/keymap/keys-from-name.gperf Makefile
2513 $(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@
2514
2515src/udev/keymap/keys-to-name.h: src/udev/keymap/keys.txt Makefile
2516 $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@
2517endif
2518
2519EXTRA_DIST += \
2520 src/udev/keymap/check-keymaps.sh \
2521 src/udev/keymap/keyboard-force-release.sh.in
2522
2523# ------------------------------------------------------------------------------
2524mtd_probe_SOURCES = \
2525 src/udev/mtd_probe/mtd_probe.c \
2526 src/udev/mtd_probe/mtd_probe.h \
2527 src/udev/mtd_probe/probe_smartmedia.c
2528
2529mtd_probe_CPPFLAGS = \
2530 $(AM_CPPFLAGS)
2531
2532dist_udevrules_DATA += \
2533 rules/75-probe_mtd.rules
2534
2535udevlibexec_PROGRAMS += \
2536 mtd_probe
2537
2538# ------------------------------------------------------------------------------
2539libsystemd_id128_la_SOURCES = \
2540 src/libsystemd-id128/sd-id128.c
2541
2542libsystemd_id128_la_CFLAGS = \
2543 $(AM_CFLAGS) \
2544 -fvisibility=hidden
2545
2546libsystemd_id128_la_LDFLAGS = \
2547 $(AM_LDFLAGS) \
2548 -version-info $(LIBSYSTEMD_ID128_CURRENT):$(LIBSYSTEMD_ID128_REVISION):$(LIBSYSTEMD_ID128_AGE) \
2549 -Wl,--version-script=$(top_srcdir)/src/libsystemd-id128/libsystemd-id128.sym
2550
2551libsystemd_id128_la_LIBADD = \
2552 libsystemd-shared.la \
2553 libsystemd-daemon-internal.la
2554
2555libsystemd_id128_internal_la_SOURCES = \
2556 $(libsystemd_id128_la_SOURCES)
2557
2558test_id128_SOURCES = \
2559 src/test/test-id128.c
2560
2561test_id128_LDADD = \
2562 libsystemd-shared.la \
2563 libsystemd-id128-internal.la
2564
2565tests += \
2566 test-id128
2567
2568pkginclude_HEADERS += \
2569 src/systemd/sd-id128.h
2570
2571lib_LTLIBRARIES += \
2572 libsystemd-id128.la
2573
2574noinst_LTLIBRARIES += \
2575 libsystemd-id128-internal.la
2576
2577pkgconfiglib_DATA += \
2578 src/libsystemd-id128/libsystemd-id128.pc
2579
2580# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
2581libsystemd-id128-install-hook:
2582 libname=libsystemd-id128.so && $(move-to-rootlibdir)
2583
2584libsystemd-id128-uninstall-hook:
2585 rm -f $(DESTDIR)$(rootlibdir)/libsystemd-id128.so*
2586
2587INSTALL_EXEC_HOOKS += libsystemd-id128-install-hook
2588UNINSTALL_EXEC_HOOKS += libsystemd-id128-uninstall-hook
2589
2590EXTRA_DIST += \
2591 src/libsystemd-id128/libsystemd-id128.pc.in \
2592 src/libsystemd-id128/libsystemd-id128.sym
2593
2594# ------------------------------------------------------------------------------
2595
2596rootlibexec_PROGRAMS += \
2597 systemd-activate
2598
2599systemd_activate_SOURCES = \
2600 src/activate/activate.c
2601
2602systemd_activate_LDADD = \
2603 libsystemd-shared.la \
2604 libsystemd-daemon.la
2605
2606# ------------------------------------------------------------------------------
2607systemd_journald_SOURCES = \
2608 src/journal/journald.c \
2609 src/journal/journald-server.h
2610
2611systemd_journald_LDADD = \
2612 libsystemd-journal-internal.la \
2613 libsystemd-shared.la \
2614 libsystemd-id128-internal.la
2615
2616systemd_cat_SOURCES = \
2617 src/journal/cat.c
2618
2619systemd_cat_LDADD = \
2620 libsystemd-shared.la \
2621 libsystemd-journal-internal.la
2622
2623journalctl_SOURCES = \
2624 src/journal/journalctl.c
2625
2626journalctl_CFLAGS = \
2627 $(AM_CFLAGS)
2628
2629journalctl_LDADD = \
2630 libsystemd-shared.la \
2631 libsystemd-journal-internal.la \
2632 libsystemd-id128-internal.la \
2633 libsystemd-logs.la
2634
2635if HAVE_ACL
2636journalctl_LDADD += \
2637 libsystemd-acl.la
2638endif
2639
2640if HAVE_QRENCODE
2641journalctl_SOURCES += \
2642 src/journal/journal-qrcode.c \
2643 src/journal/journal-qrcode.h
2644
2645journalctl_CFLAGS += \
2646 $(QRENCODE_CFLAGS)
2647
2648journalctl_LDADD += \
2649 $(QRENCODE_LIBS)
2650endif
2651
2652test_journal_SOURCES = \
2653 src/journal/test-journal.c
2654
2655test_journal_LDADD = \
2656 libsystemd-shared.la \
2657 libsystemd-journal-internal.la \
2658 libsystemd-id128-internal.la
2659
2660test_journal_send_SOURCES = \
2661 src/journal/test-journal-send.c
2662
2663test_journal_send_LDADD = \
2664 libsystemd-shared.la \
2665 libsystemd-journal-internal.la \
2666 libsystemd-id128-internal.la
2667
2668test_journal_syslog_SOURCES = \
2669 src/journal/test-journal-syslog.c
2670
2671test_journal_syslog_LDADD = \
2672 libsystemd-journal-internal.la \
2673 libsystemd-shared.la \
2674 libsystemd-id128-internal.la
2675
2676test_journal_match_SOURCES = \
2677 src/journal/test-journal-match.c
2678
2679test_journal_match_LDADD = \
2680 libsystemd-shared.la \
2681 libsystemd-journal-internal.la \
2682 libsystemd-id128-internal.la
2683
2684test_journal_enum_SOURCES = \
2685 src/journal/test-journal-enum.c
2686
2687test_journal_enum_LDADD = \
2688 libsystemd-shared.la \
2689 libsystemd-journal-internal.la \
2690 libsystemd-id128-internal.la
2691
2692test_journal_stream_SOURCES = \
2693 src/journal/test-journal-stream.c
2694
2695test_journal_stream_LDADD = \
2696 libsystemd-shared.la \
2697 libsystemd-journal-internal.la \
2698 libsystemd-id128-internal.la
2699
2700test_journal_verify_SOURCES = \
2701 src/journal/test-journal-verify.c
2702
2703test_journal_verify_LDADD = \
2704 libsystemd-shared.la \
2705 libsystemd-journal-internal.la \
2706 libsystemd-id128-internal.la
2707
2708test_mmap_cache_SOURCES = \
2709 src/journal/test-mmap-cache.c
2710
2711test_mmap_cache_LDADD = \
2712 libsystemd-shared.la \
2713 libsystemd-journal-internal.la
2714
2715test_catalog_SOURCES = \
2716 src/journal/test-catalog.c
2717
2718test_catalog_LDADD = \
2719 libsystemd-shared.la \
2720 libsystemd-label.la \
2721 libsystemd-journal-internal.la \
2722 libsystemd-id128-internal.la
2723
2724libsystemd_journal_la_SOURCES = \
2725 src/journal/sd-journal.c \
2726 src/systemd/sd-journal.h \
2727 src/journal/journal-file.c \
2728 src/journal/journal-file.h \
2729 src/journal/journal-vacuum.c \
2730 src/journal/journal-vacuum.h \
2731 src/journal/journal-verify.c \
2732 src/journal/journal-verify.h \
2733 src/journal/lookup3.c \
2734 src/journal/lookup3.h \
2735 src/journal/journal-send.c \
2736 src/journal/journal-def.h \
2737 src/journal/compress.h \
2738 src/journal/catalog.c \
2739 src/journal/catalog.h \
2740 src/journal/mmap-cache.c \
2741 src/journal/mmap-cache.h
2742
2743libsystemd_journal_la_CFLAGS = \
2744 $(AM_CFLAGS) \
2745 -fvisibility=hidden
2746
2747libsystemd_journal_la_LDFLAGS = \
2748 $(AM_LDFLAGS) \
2749 -version-info $(LIBSYSTEMD_JOURNAL_CURRENT):$(LIBSYSTEMD_JOURNAL_REVISION):$(LIBSYSTEMD_JOURNAL_AGE) \
2750 -Wl,--version-script=$(top_srcdir)/src/journal/libsystemd-journal.sym
2751
2752libsystemd_journal_la_LIBADD = \
2753 libsystemd-shared.la \
2754 libsystemd-label.la \
2755 libsystemd-daemon-internal.la \
2756 libsystemd-id128-internal.la
2757
2758libsystemd_journal_internal_la_SOURCES = \
2759 $(libsystemd_journal_la_SOURCES) \
2760 src/journal/journald-kmsg.c \
2761 src/journal/journald-kmsg.h \
2762 src/journal/journald-syslog.c \
2763 src/journal/journald-syslog.h \
2764 src/journal/journald-stream.c \
2765 src/journal/journald-stream.h \
2766 src/journal/journald-server.c \
2767 src/journal/journald-server.h \
2768 src/journal/journald-console.c \
2769 src/journal/journald-console.h \
2770 src/journal/journald-native.c \
2771 src/journal/journald-native.h \
2772 src/journal/journald-rate-limit.c \
2773 src/journal/journald-rate-limit.h \
2774 src/journal/journal-internal.h
2775
2776libsystemd_journal_internal_la_CFLAGS = \
2777 $(AM_CFLAGS)
2778
2779libsystemd_journal_internal_la_LIBADD = \
2780 libsystemd-label.la \
2781 libsystemd-audit.la \
2782 libsystemd-daemon.la \
2783 libudev.la \
2784 libsystemd-shared.la \
2785 libsystemd-label.la
2786
2787nodist_libsystemd_journal_internal_la_SOURCES = \
2788 src/journal/journald-gperf.c
2789
2790if ENABLE_LOGIND
2791libsystemd_journal_internal_la_LIBADD += \
2792 libsystemd-login-internal.la
2793endif
2794
2795if HAVE_ACL
2796libsystemd_journal_internal_la_LIBADD += \
2797 libsystemd-acl.la
2798endif
2799
2800if HAVE_XZ
2801libsystemd_journal_la_SOURCES += \
2802 src/journal/compress.c
2803
2804libsystemd_journal_la_CFLAGS += \
2805 $(XZ_CFLAGS)
2806
2807libsystemd_journal_la_LIBADD += \
2808 $(XZ_LIBS)
2809
2810libsystemd_journal_internal_la_CFLAGS += \
2811 $(XZ_CFLAGS)
2812
2813libsystemd_journal_internal_la_LIBADD += \
2814 $(XZ_LIBS)
2815
2816endif
2817
2818if HAVE_GCRYPT
2819libsystemd_journal_la_SOURCES += \
2820 src/journal/journal-authenticate.c \
2821 src/journal/journal-authenticate.h \
2822 src/journal/fsprg.c \
2823 src/journal/fsprg.h
2824
2825libsystemd_journal_la_CFLAGS += \
2826 $(GCRYPT_CFLAGS) \
2827 -Wno-pointer-arith
2828
2829libsystemd_journal_la_LIBADD += \
2830 $(GCRYPT_LIBS)
2831
2832libsystemd_journal_internal_la_CFLAGS += \
2833 $(GCRYPT_CFLAGS) \
2834 -Wno-pointer-arith
2835
2836libsystemd_journal_internal_la_LIBADD += \
2837 $(GCRYPT_LIBS)
2838endif
2839
2840# move lib from $(libdir) to $(rootlibdir) and update devel link, if
2841# needed. Also, grant read access to new journal files to members of
2842# "adm" and "wheel".
2843libsystemd-journal-install-hook:
2844 libname=libsystemd-journal.so && $(move-to-rootlibdir)
2845 -$(MKDIR_P) $(DESTDIR)/var/log/journal
2846 -chown 0:0 $(DESTDIR)/var/log/journal
2847 -chmod 755 $(DESTDIR)/var/log/journal
2848 -setfacl -nm g:adm:rx,d:g:adm:rx $(DESTDIR)/var/log/journal/
2849 -setfacl -nm g:wheel:rx,d:g:wheel:rx $(DESTDIR)/var/log/journal/
2850
2851libsystemd-journal-uninstall-hook:
2852 rm -f $(DESTDIR)$(rootlibdir)/libsystemd-journal.so*
2853
2854INSTALL_EXEC_HOOKS += libsystemd-journal-install-hook
2855UNINSTALL_EXEC_HOOKS += libsystemd-journal-uninstall-hook
2856
2857# ------------------------------------------------------------------------------
2858
2859# Update catalog on installation. Do not bother if installing
2860# in DESTDIR, since this is likely for packaging purposes.
2861catalog-update-hook:
2862 -test -n "$(DESTDIR)" || $(rootbindir)/journalctl --update-catalog
2863
2864INSTALL_DATA_HOOKS += \
2865 catalog-update-hook
2866
2867catalog-remove-hook:
2868 -test -n "$(DESTDIR)" || rm -f $(catalogstatedir)/database
2869
2870UNINSTALL_DATA_HOOKS += \
2871 catalog-remove-hook
2872
2873manual_tests += \
2874 test-journal-enum
2875
2876tests += \
2877 test-journal \
2878 test-journal-send \
2879 test-journal-syslog \
2880 test-journal-match \
2881 test-journal-verify \
2882 test-mmap-cache \
2883 $(NULL)
2884
2885pkginclude_HEADERS += \
2886 src/systemd/sd-journal.h \
2887 src/systemd/sd-messages.h
2888
2889lib_LTLIBRARIES += \
2890 libsystemd-journal.la
2891
2892noinst_LTLIBRARIES += \
2893 libsystemd-journal-internal.la
2894
2895rootlibexec_PROGRAMS += \
2896 systemd-journald
2897
2898rootbin_PROGRAMS += \
2899 journalctl
2900
2901bin_PROGRAMS += \
2902 systemd-cat
2903
2904dist_systemunit_DATA += \
2905 units/systemd-journald.socket
2906
2907nodist_systemunit_DATA += \
2908 units/systemd-journald.service \
2909 units/systemd-journal-flush.service
2910
2911dist_pkgsysconf_DATA += \
2912 src/journal/journald.conf
2913
2914pkgconfiglib_DATA += \
2915 src/journal/libsystemd-journal.pc
2916
2917dist_catalog_DATA = \
2918 catalog/systemd.catalog
2919
2920SOCKETS_TARGET_WANTS += \
2921 systemd-journald.socket
2922SYSINIT_TARGET_WANTS += \
2923 systemd-journald.service \
2924 systemd-journal-flush.service
2925
2926EXTRA_DIST += \
2927 src/journal/libsystemd-journal.pc.in \
2928 src/journal/libsystemd-journal.sym \
2929 units/systemd-journald.service.in \
2930 units/systemd-journal-flush.service.in \
2931 src/journal/journald-gperf.gperf
2932
2933CLEANFILES += \
2934 src/journal/journald-gperf.c
2935
2936# ------------------------------------------------------------------------------
2937if HAVE_MICROHTTPD
2938gatewayddocumentrootdir=$(pkgdatadir)/gatewayd
2939
2940rootlibexec_PROGRAMS += \
2941 systemd-journal-gatewayd
2942
2943systemd_journal_gatewayd_SOURCES = \
2944 src/journal/journal-gatewayd.c \
2945 src/journal/microhttpd-util.h \
2946 src/journal/microhttpd-util.c
2947
2948systemd_journal_gatewayd_LDADD = \
2949 libsystemd-shared.la \
2950 libsystemd-logs.la \
2951 libsystemd-journal-internal.la \
2952 libsystemd-id128-internal.la \
2953 libsystemd-daemon.la \
2954 libsystemd-bus.la \
2955 $(MICROHTTPD_LIBS)
2956
2957systemd_journal_gatewayd_CFLAGS = \
2958 -DDOCUMENT_ROOT=\"$(gatewayddocumentrootdir)\" \
2959 $(AM_CFLAGS) \
2960 $(MICROHTTPD_CFLAGS)
2961
2962dist_systemunit_DATA += \
2963 units/systemd-journal-gatewayd.socket
2964
2965nodist_systemunit_DATA += \
2966 units/systemd-journal-gatewayd.service
2967
2968dist_gatewayddocumentroot_DATA = \
2969 src/journal/browse.html
2970
2971endif
2972
2973EXTRA_DIST += \
2974 units/systemd-journal-gatewayd.service.in
2975
2976# ------------------------------------------------------------------------------
2977if ENABLE_COREDUMP
2978systemd_coredump_SOURCES = \
2979 src/journal/coredump.c
2980
2981systemd_coredump_LDADD = \
2982 libsystemd-journal-internal.la \
2983 libsystemd-label.la \
2984 libsystemd-shared.la
2985
2986if ENABLE_LOGIND
2987systemd_coredump_LDADD += \
2988 libsystemd-login-internal.la
2989endif
2990
2991rootlibexec_PROGRAMS += \
2992 systemd-coredump
2993
2994systemd_coredumpctl_SOURCES = \
2995 src/journal/coredumpctl.c
2996
2997systemd_coredumpctl_LDADD = \
2998 libsystemd-shared.la \
2999 libsystemd-journal.la
3000
3001bin_PROGRAMS += \
3002 systemd-coredumpctl
3003
3004dist_bashcompletion_DATA += \
3005 shell-completion/bash/systemd-coredumpctl
3006
3007sysctl_DATA = \
3008 sysctl.d/50-coredump.conf
3009
3010CLEANFILES += \
3011 sysctl.d/50-coredump.conf
3012endif
3013
3014EXTRA_DIST += \
3015 sysctl.d/50-coredump.conf.in
3016
3017# ------------------------------------------------------------------------------
3018if ENABLE_BINFMT
3019systemd_binfmt_SOURCES = \
3020 src/binfmt/binfmt.c
3021
3022systemd_binfmt_LDADD = \
3023 libsystemd-shared.la
3024
3025rootlibexec_PROGRAMS += \
3026 systemd-binfmt
3027
3028dist_systemunit_DATA += \
3029 units/proc-sys-fs-binfmt_misc.automount \
3030 units/proc-sys-fs-binfmt_misc.mount
3031
3032nodist_systemunit_DATA += \
3033 units/systemd-binfmt.service
3034
3035INSTALL_DIRS += \
3036 $(prefix)/lib/binfmt.d \
3037 $(sysconfdir)/binfmt.d
3038
3039SYSINIT_TARGET_WANTS += \
3040 systemd-binfmt.service \
3041 proc-sys-fs-binfmt_misc.automount
3042
3043endif
3044
3045EXTRA_DIST += \
3046 units/systemd-binfmt.service.in
3047
3048# ------------------------------------------------------------------------------
3049if ENABLE_VCONSOLE
3050systemd_vconsole_setup_SOURCES = \
3051 src/vconsole/vconsole-setup.c
3052
3053systemd_vconsole_setup_LDADD = \
3054 libsystemd-shared.la
3055
3056rootlibexec_PROGRAMS += \
3057 systemd-vconsole-setup
3058
3059nodist_systemunit_DATA += \
3060 units/systemd-vconsole-setup.service
3061
3062SYSINIT_TARGET_WANTS += \
3063 systemd-vconsole-setup.service
3064endif
3065
3066EXTRA_DIST += \
3067 units/systemd-vconsole-setup.service.in
3068
3069# ------------------------------------------------------------------------------
3070if ENABLE_READAHEAD
3071systemd_readahead_SOURCES = \
3072 src/readahead/readahead.c \
3073 src/readahead/readahead-collect.c \
3074 src/readahead/readahead-replay.c \
3075 src/readahead/readahead-analyze.c \
3076 src/readahead/readahead-common.c \
3077 src/readahead/readahead-common.h
3078
3079systemd_readahead_LDADD = \
3080 libsystemd-shared.la \
3081 libsystemd-daemon.la \
3082 libudev.la
3083
3084dist_doc_DATA += \
3085 src/readahead/sd-readahead.c \
3086 src/systemd/sd-readahead.h
3087
3088rootlibexec_PROGRAMS += \
3089 systemd-readahead
3090
3091dist_systemunit_DATA += \
3092 units/systemd-readahead-drop.service \
3093 units/systemd-readahead-done.timer
3094
3095nodist_systemunit_DATA += \
3096 units/systemd-readahead-collect.service \
3097 units/systemd-readahead-replay.service \
3098 units/systemd-readahead-done.service
3099
3100endif
3101
3102EXTRA_DIST += \
3103 units/systemd-readahead-collect.service.in \
3104 units/systemd-readahead-replay.service.in \
3105 units/systemd-readahead-done.service.in
3106
3107# ------------------------------------------------------------------------------
3108if ENABLE_BOOTCHART
3109systemd_bootchart_SOURCES = \
3110 src/bootchart/bootchart.c \
3111 src/bootchart/bootchart.h \
3112 src/bootchart/store.c \
3113 src/bootchart/store.h \
3114 src/bootchart/svg.c \
3115 src/bootchart/svg.h
3116
3117systemd_bootchart_LDADD = \
3118 libsystemd-shared.la \
3119 libsystemd-journal.la
3120
3121rootlibexec_PROGRAMS += \
3122 systemd-bootchart
3123
3124dist_pkgsysconf_DATA += \
3125 src/bootchart/bootchart.conf
3126endif
3127
3128# ------------------------------------------------------------------------------
3129if ENABLE_QUOTACHECK
3130rootlibexec_PROGRAMS += \
3131 systemd-quotacheck
3132
3133nodist_systemunit_DATA += \
3134 units/systemd-quotacheck.service
3135
3136systemd_quotacheck_SOURCES = \
3137 src/quotacheck/quotacheck.c
3138
3139systemd_quotacheck_LDADD = \
3140 libsystemd-shared.la
3141endif
3142
3143EXTRA_DIST += \
3144 units/systemd-quotacheck.service.in
3145
3146nodist_systemunit_DATA += \
3147 units/quotaon.service
3148
3149# ------------------------------------------------------------------------------
3150if ENABLE_RANDOMSEED
3151rootlibexec_PROGRAMS += \
3152 systemd-random-seed
3153
3154nodist_systemunit_DATA += \
3155 units/systemd-random-seed-save.service \
3156 units/systemd-random-seed-load.service
3157
3158systemd_random_seed_SOURCES = \
3159 src/random-seed/random-seed.c
3160
3161systemd_random_seed_LDADD = \
3162 libsystemd-label.la \
3163 libsystemd-shared.la
3164
3165SHUTDOWN_TARGET_WANTS += \
3166 systemd-random-seed-save.service
3167SYSINIT_TARGET_WANTS += \
3168 systemd-random-seed-load.service
3169
3170endif
3171
3172EXTRA_DIST += \
3173 units/systemd-random-seed-save.service.in \
3174 units/systemd-random-seed-load.service.in
3175
3176# ------------------------------------------------------------------------------
3177if HAVE_LIBCRYPTSETUP
3178rootlibexec_PROGRAMS += \
3179 systemd-cryptsetup
3180
3181systemgenerator_PROGRAMS += \
3182 systemd-cryptsetup-generator
3183
3184dist_systemunit_DATA += \
3185 units/cryptsetup.target
3186
3187systemd_cryptsetup_SOURCES = \
3188 src/cryptsetup/cryptsetup.c
3189
3190systemd_cryptsetup_CFLAGS = \
3191 $(AM_CFLAGS) \
3192 $(LIBCRYPTSETUP_CFLAGS)
3193
3194systemd_cryptsetup_LDADD = \
3195 libsystemd-label.la \
3196 libsystemd-shared.la \
3197 libudev.la \
3198 $(LIBCRYPTSETUP_LIBS)
3199
3200systemd_cryptsetup_generator_SOURCES = \
3201 src/cryptsetup/cryptsetup-generator.c
3202
3203systemd_cryptsetup_generator_LDADD = \
3204 libsystemd-label.la \
3205 libsystemd-shared.la
3206
3207SYSINIT_TARGET_WANTS += \
3208 cryptsetup.target
3209
3210endif
3211
3212# ------------------------------------------------------------------------------
3213if ENABLE_HOSTNAMED
3214systemd_hostnamed_SOURCES = \
3215 src/hostname/hostnamed.c
3216
3217systemd_hostnamed_CFLAGS = \
3218 $(AM_CFLAGS) \
3219 $(DBUS_CFLAGS)
3220
3221systemd_hostnamed_LDADD = \
3222 libsystemd-label.la \
3223 libsystemd-shared.la \
3224 libsystemd-daemon.la \
3225 libsystemd-dbus.la
3226
3227rootlibexec_PROGRAMS += \
3228 systemd-hostnamed
3229
3230nodist_systemunit_DATA += \
3231 units/systemd-hostnamed.service
3232
3233dist_dbuspolicy_DATA += \
3234 src/hostname/org.freedesktop.hostname1.conf
3235
3236dist_dbussystemservice_DATA += \
3237 src/hostname/org.freedesktop.hostname1.service
3238
3239polkitpolicy_files += \
3240 src/hostname/org.freedesktop.hostname1.policy
3241
3242dbusinterface_DATA += \
3243 org.freedesktop.hostname1.xml
3244
3245org.freedesktop.hostname1.xml: systemd-hostnamed
3246 $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.hostname1 $< $@.tmp && \
3247 $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
3248 $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
3249
3250SYSTEM_UNIT_ALIASES += \
3251 systemd-hostnamed.service dbus-org.freedesktop.hostname1.service
3252
3253hostnamectl_SOURCES = \
3254 src/hostname/hostnamectl.c
3255
3256hostnamectl_CFLAGS = \
3257 $(AM_CFLAGS) \
3258 $(DBUS_CFLAGS)
3259
3260hostnamectl_LDADD = \
3261 libsystemd-shared.la \
3262 libsystemd-dbus.la \
3263 libsystemd-id128-internal.la
3264
3265bin_PROGRAMS += \
3266 hostnamectl
3267
3268dist_bashcompletion_DATA += \
3269 shell-completion/bash/hostnamectl
3270
3271endif
3272
3273polkitpolicy_in_files += \
3274 src/hostname/org.freedesktop.hostname1.policy.in
3275
3276EXTRA_DIST += \
3277 units/systemd-hostnamed.service.in
3278
3279# ------------------------------------------------------------------------------
3280if ENABLE_LOCALED
3281systemd_localed_SOURCES = \
3282 src/locale/localed.c
3283
3284systemd_localed_CFLAGS = \
3285 $(AM_CFLAGS) \
3286 $(DBUS_CFLAGS)
3287
3288systemd_localed_LDADD = \
3289 libsystemd-label.la \
3290 libsystemd-shared.la \
3291 libsystemd-daemon.la \
3292 libsystemd-dbus.la
3293
3294nodist_systemunit_DATA += \
3295 units/systemd-localed.service
3296
3297rootlibexec_PROGRAMS += \
3298 systemd-localed
3299
3300dist_dbuspolicy_DATA += \
3301 src/locale/org.freedesktop.locale1.conf
3302
3303dist_dbussystemservice_DATA += \
3304 src/locale/org.freedesktop.locale1.service
3305
3306polkitpolicy_files += \
3307 src/locale/org.freedesktop.locale1.policy
3308
3309dbusinterface_DATA += \
3310 org.freedesktop.locale1.xml
3311
3312org.freedesktop.locale1.xml: systemd-localed
3313 $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.locale1 $< $@.tmp && \
3314 $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
3315 $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
3316
3317SYSTEM_UNIT_ALIASES += \
3318 systemd-localed.service dbus-org.freedesktop.locale1.service
3319
3320dist_pkgdata_DATA += \
3321 src/locale/kbd-model-map
3322
3323dist_noinst_SCRIPT = \
3324 src/locale/generate-kbd-model-map
3325
3326update-kbd-model-map: src/locale/generate-kbd-model-map
3327 $PYTHON $< > src/locale/kbd-model-map
3328
3329localectl_SOURCES = \
3330 src/locale/localectl.c
3331
3332localectl_CFLAGS = \
3333 $(AM_CFLAGS) \
3334 $(DBUS_CFLAGS)
3335
3336localectl_LDADD = \
3337 libsystemd-shared.la \
3338 libsystemd-dbus.la \
3339 libsystemd-id128-internal.la
3340
3341bin_PROGRAMS += \
3342 localectl
3343
3344dist_bashcompletion_DATA += \
3345 shell-completion/bash/localectl
3346
3347endif
3348
3349polkitpolicy_in_files += \
3350 src/locale/org.freedesktop.locale1.policy.in
3351
3352EXTRA_DIST += \
3353 units/systemd-localed.service.in
3354
3355# ------------------------------------------------------------------------------
3356if ENABLE_TIMEDATED
3357systemd_timedated_SOURCES = \
3358 src/timedate/timedated.c
3359
3360systemd_timedated_CFLAGS = \
3361 $(AM_CFLAGS) \
3362 $(DBUS_CFLAGS)
3363
3364systemd_timedated_LDADD = \
3365 libsystemd-label.la \
3366 libsystemd-shared.la \
3367 libsystemd-daemon.la \
3368 libsystemd-dbus.la
3369
3370rootlibexec_PROGRAMS += \
3371 systemd-timedated
3372
3373dist_dbussystemservice_DATA += \
3374 src/timedate/org.freedesktop.timedate1.service
3375
3376dist_dbuspolicy_DATA += \
3377 src/timedate/org.freedesktop.timedate1.conf
3378
3379nodist_systemunit_DATA += \
3380 units/systemd-timedated.service
3381
3382polkitpolicy_files += \
3383 src/timedate/org.freedesktop.timedate1.policy
3384
3385org.freedesktop.timedate1.xml: systemd-timedated
3386 $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.timedate1 $< $@.tmp && \
3387 $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
3388 $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
3389
3390dbusinterface_DATA += \
3391 org.freedesktop.timedate1.xml
3392
3393INSTALL_DIRS += \
3394 $(prefix)/lib/systemd/ntp-units.d \
3395 $(sysconfdir)/systemd/ntp-units.d
3396
3397SYSTEM_UNIT_ALIASES += \
3398 systemd-timedated.service dbus-org.freedesktop.timedate1.service
3399
3400timedatectl_SOURCES = \
3401 src/timedate/timedatectl.c
3402
3403timedatectl_CFLAGS = \
3404 $(AM_CFLAGS) \
3405 $(DBUS_CFLAGS)
3406
3407timedatectl_LDADD = \
3408 libsystemd-shared.la \
3409 libsystemd-dbus.la
3410
3411bin_PROGRAMS += \
3412 timedatectl
3413
3414dist_bashcompletion_DATA += \
3415 shell-completion/bash/timedatectl
3416endif
3417
3418polkitpolicy_in_files += \
3419 src/timedate/org.freedesktop.timedate1.policy.in
3420
3421EXTRA_DIST += \
3422 units/systemd-timedated.service.in
3423
3424# ------------------------------------------------------------------------------
3425if ENABLE_EFI
3426bootctl_SOURCES = \
3427 src/boot/boot.h \
3428 src/boot/boot-loader.h \
3429 src/boot/bootctl.c \
3430 src/boot/boot-loader.c \
3431 src/boot/boot-efi.c
3432
3433bootctl_LDADD = \
3434 libsystemd-shared.la \
3435 libsystemd-id128.la \
3436 libsystemd-daemon.la
3437
3438bin_PROGRAMS += \
3439 bootctl
3440endif
3441
3442# ------------------------------------------------------------------------------
3443if HAVE_MYHOSTNAME
3444libnss_myhostname_la_SOURCES = \
3445 src/nss-myhostname/nss-myhostname.c \
3446 src/nss-myhostname/ifconf.h \
3447 src/nss-myhostname/netlink.c
3448
3449libnss_myhostname_la_CFLAGS = \
3450 $(AM_CFLAGS)
3451
3452libnss_myhostname_la_LDFLAGS = \
3453 $(AM_LDFLAGS) \
3454 -module \
3455 -export-dynamic \
3456 -avoid-version \
3457 -shared \
3458 -shrext .so.2
3459
3460lib_LTLIBRARIES += \
3461 libnss_myhostname.la
3462endif
3463
3464# ------------------------------------------------------------------------------
3465if ENABLE_LOGIND
3466systemd_logind_SOURCES = \
3467 src/login/logind.c \
3468 src/login/logind.h \
3469 src/login/logind-dbus.c \
3470 src/login/logind-device.c \
3471 src/login/logind-device.h \
3472 src/login/logind-button.c \
3473 src/login/logind-button.h \
3474 src/login/logind-action.c \
3475 src/login/logind-action.h \
3476 src/login/logind-seat.c \
3477 src/login/logind-seat.h \
3478 src/login/logind-session.c \
3479 src/login/logind-session.h \
3480 src/login/logind-user.c \
3481 src/login/logind-user.h \
3482 src/login/logind-inhibit.c \
3483 src/login/logind-inhibit.h \
3484 src/login/logind-session-dbus.c \
3485 src/login/logind-seat-dbus.c \
3486 src/login/logind-user-dbus.c \
3487 src/login/logind-acl.h
3488
3489nodist_systemd_logind_SOURCES = \
3490 src/login/logind-gperf.c
3491
3492systemd_logind_CFLAGS = \
3493 $(AM_CFLAGS) \
3494 $(DBUS_CFLAGS)
3495
3496systemd_logind_LDADD = \
3497 libsystemd-label.la \
3498 libsystemd-audit.la \
3499 libsystemd-shared.la \
3500 libsystemd-daemon.la \
3501 libsystemd-dbus.la \
3502 libudev.la
3503
3504if HAVE_ACL
3505systemd_logind_SOURCES += \
3506 src/login/logind-acl.c
3507
3508systemd_logind_LDADD += \
3509 libsystemd-acl.la
3510endif
3511
3512systemd_user_sessions_SOURCES = \
3513 src/login/user-sessions.c
3514
3515systemd_user_sessions_LDADD = \
3516 libsystemd-shared.la
3517
3518rootlibexec_PROGRAMS += \
3519 systemd-logind \
3520 systemd-user-sessions
3521
3522loginctl_SOURCES = \
3523 src/login/loginctl.c \
3524 src/login/sysfs-show.c
3525
3526loginctl_CFLAGS = \
3527 $(AM_CFLAGS) \
3528 $(DBUS_CFLAGS)
3529
3530loginctl_LDADD = \
3531 libsystemd-shared.la \
3532 libsystemd-dbus.la \
3533 libudev.la
3534
3535rootbin_PROGRAMS += \
3536 loginctl
3537
3538dist_bashcompletion_DATA += \
3539 shell-completion/bash/loginctl
3540
3541systemd_inhibit_SOURCES = \
3542 src/login/inhibit.c
3543
3544systemd_inhibit_CFLAGS = \
3545 $(AM_CFLAGS) \
3546 $(DBUS_CFLAGS)
3547
3548systemd_inhibit_LDADD = \
3549 libsystemd-shared.la \
3550 libsystemd-dbus.la
3551
3552rootbin_PROGRAMS += \
3553 systemd-inhibit
3554
3555test_login_SOURCES = \
3556 src/login/test-login.c
3557
3558test_login_LDADD = \
3559 libsystemd-login-internal.la \
3560 libsystemd-shared.la
3561
3562test_inhibit_SOURCES = \
3563 src/login/test-inhibit.c
3564
3565test_inhibit_LDADD = \
3566 libsystemd-shared.la \
3567 libsystemd-dbus.la
3568
3569test_inhibit_CFLAGS = \
3570 $(AM_CFLAGS) \
3571 $(DBUS_CFLAGS)
3572
3573manual_tests += \
3574 test-login \
3575 test-inhibit
3576
3577libsystemd_login_la_SOURCES = \
3578 src/login/sd-login.c
3579
3580libsystemd_login_la_CFLAGS = \
3581 $(AM_CFLAGS) \
3582 -fvisibility=hidden
3583
3584libsystemd_login_la_LDFLAGS = \
3585 $(AM_LDFLAGS) \
3586 -version-info $(LIBSYSTEMD_LOGIN_CURRENT):$(LIBSYSTEMD_LOGIN_REVISION):$(LIBSYSTEMD_LOGIN_AGE) \
3587 -Wl,--version-script=$(top_srcdir)/src/login/libsystemd-login.sym
3588
3589libsystemd_login_la_LIBADD = \
3590 libsystemd-shared.la \
3591 libsystemd-daemon-internal.la
3592
3593libsystemd_login_internal_la_SOURCES = \
3594 $(libsystemd_login_la_SOURCES)
3595
3596if HAVE_PAM
3597pam_systemd_la_SOURCES = \
3598 src/login/pam-module.c
3599
3600pam_systemd_la_CFLAGS = \
3601 $(AM_CFLAGS) \
3602 $(PAM_CFLAGS) \
3603 $(DBUS_CFLAGS) \
3604 -fvisibility=hidden
3605
3606pam_systemd_la_LDFLAGS = \
3607 $(AM_LDFLAGS) \
3608 -module \
3609 -export-dynamic \
3610 -avoid-version \
3611 -shared \
3612 -export-symbols-regex '^pam_sm_.*'
3613
3614pam_systemd_la_LIBADD = \
3615 libsystemd-audit.la \
3616 libsystemd-dbus.la \
3617 libsystemd-shared.la \
3618 libsystemd-daemon-internal.la \
3619 $(PAM_LIBS)
3620
3621pamlib_LTLIBRARIES = \
3622 pam_systemd.la
3623endif
3624
3625# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
3626libsystemd-login-install-hook:
3627 libname=libsystemd-login.so && $(move-to-rootlibdir)
3628
3629libsystemd-login-uninstall-hook:
3630 rm -f $(DESTDIR)$(rootlibdir)/libsystemd-login.so*
3631
3632INSTALL_EXEC_HOOKS += libsystemd-login-install-hook
3633UNINSTALL_EXEC_HOOKS += libsystemd-login-uninstall-hook
3634
3635nodist_systemunit_DATA += \
3636 units/systemd-logind.service \
3637 units/systemd-user-sessions.service
3638
3639dist_dbussystemservice_DATA += \
3640 src/login/org.freedesktop.login1.service
3641
3642dist_dbuspolicy_DATA += \
3643 src/login/org.freedesktop.login1.conf
3644
3645dist_pkgsysconf_DATA += \
3646 src/login/logind.conf
3647
3648pkginclude_HEADERS += \
3649 src/systemd/sd-login.h
3650
3651lib_LTLIBRARIES += \
3652 libsystemd-login.la
3653
3654noinst_LTLIBRARIES += \
3655 libsystemd-login-internal.la
3656
3657pkgconfiglib_DATA += \
3658 src/login/libsystemd-login.pc
3659
3660polkitpolicy_files += \
3661 src/login/org.freedesktop.login1.policy
3662
3663INSTALL_DIRS += \
3664 $(systemdstatedir)
3665
3666MULTI_USER_TARGET_WANTS += \
3667 systemd-logind.service \
3668 systemd-user-sessions.service
3669
3670SYSTEM_UNIT_ALIASES += \
3671 systemd-logind.service dbus-org.freedesktop.login1.service
3672
3673systemd_multi_seat_x_SOURCES = \
3674 src/login/multi-seat-x.c
3675
3676systemd_multi_seat_x_LDADD = \
3677 libsystemd-label.la \
3678 libsystemd-shared.la
3679
3680rootlibexec_PROGRAMS += \
3681 systemd-multi-seat-x
3682
3683dist_udevrules_DATA += \
3684 src/login/70-uaccess.rules \
3685 src/login/70-power-switch.rules
3686
3687nodist_udevrules_DATA += \
3688 src/login/71-seat.rules \
3689 src/login/73-seat-late.rules
3690
3691CLEANFILES += \
3692 src/login/logind-gperf.c \
3693 src/login/71-seat.rules \
3694 src/login/73-seat-late.rules
3695endif
3696
3697polkitpolicy_in_files += \
3698 src/login/org.freedesktop.login1.policy.in
3699
3700EXTRA_DIST += \
3701 src/login/logind-gperf.gperf \
3702 src/login/libsystemd-login.pc.in \
3703 src/login/libsystemd-login.sym \
3704 src/login/71-seat.rules.in \
3705 src/login/73-seat-late.rules.in \
3706 units/systemd-logind.service.in \
3707 units/systemd-user-sessions.service.in
3708
3709# ------------------------------------------------------------------------------
3710if HAVE_PYTHON_DEVEL
3711pkgpyexec_LTLIBRARIES = \
3712 _journal.la \
3713 id128.la \
3714 _daemon.la \
3715 _reader.la \
3716 login.la
3717
3718_journal_la_SOURCES = \
3719 src/python-systemd/_journal.c
3720
3721_journal_la_CFLAGS = \
3722 $(AM_CFLAGS) \
3723 -fvisibility=default \
3724 $(PYTHON_CFLAGS)
3725
3726_journal_la_LDFLAGS = \
3727 $(AM_LDFLAGS) \
3728 -shared \
3729 -module \
3730 -avoid-version
3731
3732_journal_la_LIBADD = \
3733 $(PYTHON_LIBS) \
3734 libsystemd-journal.la
3735
3736id128_la_SOURCES = \
3737 src/python-systemd/id128.c \
3738 src/python-systemd/id128-constants.h \
3739 src/python-systemd/pyutil.c \
3740 src/python-systemd/pyutil.h
3741
3742id128_la_CFLAGS = \
3743 $(AM_CFLAGS) \
3744 -fvisibility=default \
3745 $(PYTHON_CFLAGS) \
3746 -I$(top_builddir)/src/python-systemd
3747
3748id128_la_LDFLAGS = \
3749 $(AM_LDFLAGS) \
3750 -shared \
3751 -module \
3752 -avoid-version
3753
3754id128_la_LIBADD = \
3755 $(PYTHON_LIBS) \
3756 libsystemd-id128.la
3757
3758_daemon_la_SOURCES = \
3759 src/python-systemd/_daemon.c \
3760 src/python-systemd/pyutil.c \
3761 src/python-systemd/pyutil.h
3762
3763_daemon_la_CFLAGS = \
3764 $(AM_CFLAGS) \
3765 -fvisibility=default \
3766 $(PYTHON_CFLAGS) \
3767 -I$(top_builddir)/src/python-systemd
3768
3769_daemon_la_LDFLAGS = \
3770 $(AM_LDFLAGS) \
3771 -shared \
3772 -module \
3773 -avoid-version
3774
3775_daemon_la_LIBADD = \
3776 $(PYTHON_LIBS) \
3777 libsystemd-daemon.la
3778
3779_reader_la_SOURCES = \
3780 src/python-systemd/_reader.c \
3781 src/python-systemd/pyutil.c \
3782 src/python-systemd/pyutil.h
3783
3784_reader_la_CFLAGS = \
3785 $(AM_CFLAGS) \
3786 -fvisibility=default \
3787 $(PYTHON_CFLAGS)
3788
3789_reader_la_LDFLAGS = \
3790 $(AM_LDFLAGS) \
3791 -shared \
3792 -module \
3793 -avoid-version
3794
3795_reader_la_LIBADD = \
3796 $(PYTHON_LIBS) \
3797 libsystemd-journal.la \
3798 libsystemd-id128.la \
3799 libsystemd-shared.la \
3800 libsystemd-daemon-internal.la
3801
3802login_la_SOURCES = \
3803 src/python-systemd/login.c \
3804 src/python-systemd/pyutil.c \
3805 src/python-systemd/pyutil.h
3806
3807login_la_CFLAGS = \
3808 $(AM_CFLAGS) \
3809 -fvisibility=default \
3810 $(PYTHON_CFLAGS)
3811
3812login_la_LDFLAGS = \
3813 $(AM_LDFLAGS) \
3814 -shared \
3815 -module \
3816 -avoid-version
3817
3818login_la_LIBADD = \
3819 $(PYTHON_LIBS) \
3820 libsystemd-journal.la \
3821 libsystemd-login.la \
3822 libsystemd-shared.la \
3823 libsystemd-daemon-internal.la
3824
3825dist_pkgpyexec_PYTHON = \
3826 src/python-systemd/journal.py \
3827 src/python-systemd/daemon.py \
3828 src/python-systemd/__init__.py
3829
3830src/python-systemd/id128-constants.h: src/systemd/sd-messages.h Makefile
3831 $(AM_V_at)$(MKDIR_P) $(dir $@)
3832 $(AM_V_GEN)$(SED) -n -r 's/,//g; s/#define (SD_MESSAGE_[A-Z0-9_]+)\s.*/add_id(m, "\1", \1) JOINER/p' <$< >$@
3833
3834BUILT_SOURCES += \
3835 src/python-systemd/id128-constants.h
3836
3837SPHINXOPTS = -D version=$(VERSION) -D release=$(VERSION)
3838sphinx-%:
3839 $(AM_V_at)test -n "$(SPHINX_BUILD)" || { echo " *** sphinx-build is not available"; exit 1; }
3840 $(AM_V_GEN)PYTHONPATH=$(DESTDIR)$(pyexecdir) LD_LIBRARY_PATH=$(DESTDIR)$(libdir) $(SPHINX_BUILD) -b $* $(SPHINXOPTS) $(top_srcdir)/src/python-systemd/docs $(top_builddir)/docs/html/python-systemd/
3841 $(AM_V_at)echo Output has been generated in $(abs_top_builddir)/docs/html/python-systemd/
3842
3843destdir-sphinx: all
3844 dir="$$(mktemp -d /tmp/systemd-install.XXXXXX)" && \
3845 $(MAKE) DESTDIR="$$dir" install && \
3846 $(MAKE) DESTDIR="$$dir" sphinx-html && \
3847 rm -rf "$$dir"
3848
3849endif
3850
3851CLEAN_LOCAL_HOOKS += clean-sphinx
3852
3853clean-sphinx:
3854 -rm -rf docs/html/python-systemd/
3855
3856# ------------------------------------------------------------------------------
3857substitutions = \
3858 '|rootlibexecdir=$(rootlibexecdir)|' \
3859 '|rootbindir=$(rootbindir)|' \
3860 '|bindir=$(bindir)|' \
3861 '|SYSTEMCTL=$(rootbindir)/systemctl|' \
3862 '|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \
3863 '|pkgsysconfdir=$(pkgsysconfdir)|' \
3864 '|SYSTEM_CONFIG_UNIT_PATH=$(pkgsysconfdir)/system|' \
3865 '|USER_CONFIG_UNIT_PATH=$(pkgsysconfdir)/user|' \
3866 '|pkgdatadir=$(pkgdatadir)|' \
3867 '|systemunitdir=$(systemunitdir)|' \
3868 '|userunitdir=$(userunitdir)|' \
3869 '|systempresetdir=$(systempresetdir)|' \
3870 '|userpresetdir=$(userpresetdir)|' \
3871 '|udevhwdbdir=$(udevhwdbdir)|' \
3872 '|udevrulesdir=$(udevrulesdir)|' \
3873 '|catalogdir=$(catalogdir)|' \
3874 '|tmpfilesdir=$(tmpfilesdir)|' \
3875 '|sysctldir=$(sysctldir)|' \
3876 '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
3877 '|PACKAGE_NAME=$(PACKAGE_NAME)|' \
3878 '|PACKAGE_URL=$(PACKAGE_URL)|' \
3879 '|RANDOM_SEED=$(localstatedir)/lib/random-seed|' \
3880 '|prefix=$(prefix)|' \
3881 '|exec_prefix=$(exec_prefix)|' \
3882 '|libdir=$(libdir)|' \
3883 '|includedir=$(includedir)|' \
3884 '|VERSION=$(VERSION)|' \
3885 '|rootprefix=$(rootprefix)|' \
3886 '|udevlibexecdir=$(udevlibexecdir)|' \
3887 '|SUSHELL=$(SUSHELL)|' \
3888 '|DEBUGTTY=$(DEBUGTTY)|' \
3889 '|KILL=$(KILL)|' \
3890 '|QUOTAON=$(QUOTAON)|' \
3891 '|QUOTACHECK=$(QUOTACHECK)|' \
3892 '|SYSTEM_SYSVINIT_PATH=$(sysvinitdir)|' \
3893 '|VARLOGDIR=$(varlogdir)|' \
3894 '|RC_LOCAL_SCRIPT_PATH_START=$(RC_LOCAL_SCRIPT_PATH_START)|' \
3895 '|RC_LOCAL_SCRIPT_PATH_STOP=$(RC_LOCAL_SCRIPT_PATH_STOP)|' \
3896 '|PYTHON=$(PYTHON)|' \
3897 '|PYTHON_BINARY=$(PYTHON_BINARY)|'
3898
3899SED_PROCESS = \
3900 $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
3901 $(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \
3902 < $< > $@
3903
3904units/%: units/%.in Makefile
3905 $(SED_PROCESS)
3906
3907man/%: man/%.in Makefile
3908 $(SED_PROCESS)
3909
3910sysctl.d/%: sysctl.d/%.in Makefile
3911 $(SED_PROCESS)
3912
3913%.pc: %.pc.in Makefile
3914 $(SED_PROCESS)
3915
3916src/core/macros.%: src/core/macros.%.in Makefile
3917 $(SED_PROCESS)
3918
3919src/%.policy.in: src/%.policy.in.in Makefile
3920 $(SED_PROCESS)
3921
3922%.rules: %.rules.in Makefile
3923 $(SED_PROCESS)
3924
3925%.sh: %.sh.in Makefile
3926 $(SED_PROCESS)
3927 $(AM_V_GEN)chmod +x $@
3928
3929src/%.c: src/%.gperf
3930 $(AM_V_at)$(MKDIR_P) $(dir $@)
3931 $(AM_V_GPERF)$(GPERF) < $< > $@
3932
3933src/%: src/%.m4
3934 $(AM_V_at)$(MKDIR_P) $(dir $@)
3935 $(AM_V_M4)$(M4) -P $(M4_DEFINES) < $< > $@
3936
3937units/%: units/%.m4 Makefile
3938 $(AM_V_M4)$(MKDIR_P) $(dir $@)
3939 $(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_SYSTEM=1 < $< > $@
3940
3941units/user/%: units/%.m4 Makefile
3942 $(AM_V_M4)$(MKDIR_P) $(dir $@)
3943 $(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_USER=1 < $< > $@
3944
3945if ENABLE_POLKIT
3946nodist_polkitpolicy_DATA = \
3947 $(polkitpolicy_files) \
3948 $(polkitpolicy_in_in_files:.policy.in.in=.policy)
3949endif
3950
3951EXTRA_DIST += \
3952 $(polkitpolicy_in_files) \
3953 $(polkitpolicy_in_in_files)
3954
3955CLEANFILES += \
3956 $(nodist_systemunit_DATA) \
3957 $(nodist_userunit_DATA) \
3958 $(pkgconfigdata_DATA) \
3959 $(pkgconfiglib_DATA) \
3960 $(nodist_polkitpolicy_DATA)
3961
3962# ------------------------------------------------------------------------------
3963if ENABLE_MANPAGES
3964man/custom-entities.ent: Makefile
3965 $(AM_V_GEN)$(MKDIR_P) $(dir $@)
3966 $(AM_V_GEN)(echo '<?xml version="1.0" encoding="utf-8" ?>' && \
3967 echo '$(subst '|,<!ENTITY ,$(subst =, ",$(subst |',">,$(substitutions))))') \
3968 > $@ # '
3969
3970DISTCLEANFILES += \
3971 man/custom-entities.ent
3972
3973XSLTPROC_FLAGS = \
3974 --nonet \
3975 --stringparam man.output.quietly 1 \
3976 --stringparam funcsynopsis.style ansi \
3977 --stringparam man.authors.section.enabled 0 \
3978 --stringparam man.copyright.section.enabled 0 \
3979 --stringparam systemd.version $(VERSION) \
3980 --path '$(builddir)/man:$(srcdir)/man'
3981
3982XSLTPROC_PROCESS_MAN = \
3983 $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-man.xsl $<
3984
3985XSLTPROC_PROCESS_HTML = \
3986 $(AM_V_XSLT)$(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(srcdir)/man/custom-html.xsl $<
3987
3988man/%.1: man/%.xml man/custom-man.xsl man/custom-entities.ent
3989 $(XSLTPROC_PROCESS_MAN)
3990
3991man/%.3: man/%.xml man/custom-man.xsl man/custom-entities.ent
3992 $(XSLTPROC_PROCESS_MAN)
3993
3994man/%.5: man/%.xml man/custom-man.xsl man/custom-entities.ent
3995 $(XSLTPROC_PROCESS_MAN)
3996
3997man/%.7: man/%.xml man/custom-man.xsl man/custom-entities.ent
3998 $(XSLTPROC_PROCESS_MAN)
3999
4000man/%.8: man/%.xml man/custom-man.xsl man/custom-entities.ent
4001 $(XSLTPROC_PROCESS_MAN)
4002
4003man/%.html: man/%.xml man/custom-html.xsl man/custom-entities.ent
4004 $(XSLTPROC_PROCESS_HTML)
4005
4006define html-alias
4007 $(AM_V_LN)$(LN_S) -f $(notdir $<) $@
4008endef
4009
4010endif
4011
4012EXTRA_DIST += \
4013 man/custom-html.xsl \
4014 man/custom-man.xsl
4015
4016# ------------------------------------------------------------------------------
4017DBUS_PREPROCESS = $(CPP) -P $(CFLAGS) $(DBUS_CFLAGS) -imacros dbus/dbus-protocol.h
4018
4019CLEANFILES += \
4020 $(dbusinterface_DATA)
4021
4022if HAVE_SYSV_COMPAT
4023sysvinit_DATA = \
4024 docs/sysvinit/README
4025
4026varlog_DATA = \
4027 docs/var-log/README
4028
4029docs/sysvinit/README: docs/sysvinit/README.in
4030 $(SED_PROCESS)
4031
4032docs/var-log/README: docs/var-log/README.in
4033 $(SED_PROCESS)
4034
4035CLEANFILES += \
4036 docs/sysvinit/README \
4037 docs/var-log/README
4038endif
4039
4040EXTRA_DIST += \
4041 docs/sysvinit/README.in \
4042 docs/var-log/README.in
4043
4044EXTRA_DIST += \
4045 shell-completion/systemd-zsh-completion.zsh
4046
4047SOCKETS_TARGET_WANTS += \
4048 systemd-initctl.socket \
4049 systemd-shutdownd.socket
4050
4051if HAVE_SYSV_COMPAT
4052RUNLEVEL1_TARGET_WANTS += \
4053 systemd-update-utmp-runlevel.service
4054RUNLEVEL2_TARGET_WANTS += \
4055 systemd-update-utmp-runlevel.service
4056RUNLEVEL3_TARGET_WANTS += \
4057 systemd-update-utmp-runlevel.service
4058RUNLEVEL4_TARGET_WANTS += \
4059 systemd-update-utmp-runlevel.service
4060RUNLEVEL5_TARGET_WANTS += \
4061 systemd-update-utmp-runlevel.service
4062endif
4063SHUTDOWN_TARGET_WANTS += \
4064 systemd-update-utmp-shutdown.service
4065LOCAL_FS_TARGET_WANTS += \
4066 systemd-remount-fs.service \
4067 systemd-fsck-root.service \
4068 tmp.mount
4069MULTI_USER_TARGET_WANTS += \
4070 getty.target \
4071 systemd-ask-password-wall.path
4072SYSINIT_TARGET_WANTS += \
4073 dev-hugepages.mount \
4074 dev-mqueue.mount \
4075 sys-kernel-config.mount \
4076 sys-kernel-debug.mount \
4077 sys-fs-fuse-connections.mount \
4078 systemd-tmpfiles-setup-dev.service \
4079 systemd-tmpfiles-setup.service \
4080 systemd-sysctl.service \
4081 systemd-ask-password-console.path
4082TIMERS_TARGET_WANTS += \
4083 systemd-tmpfiles-clean.timer
4084
4085if HAVE_SYSV_COMPAT
4086SYSTEM_UNIT_ALIASES += \
4087 poweroff.target runlevel0.target \
4088 rescue.target runlevel1.target \
4089 multi-user.target runlevel2.target \
4090 multi-user.target runlevel3.target \
4091 multi-user.target runlevel4.target \
4092 graphical.target runlevel5.target \
4093 reboot.target runlevel6.target
4094endif
4095
4096SYSTEM_UNIT_ALIASES += \
4097 graphical.target default.target \
4098 reboot.target ctrl-alt-del.target \
4099 getty@.service autovt@.service
4100
4101USER_UNIT_ALIASES += \
4102 $(systemunitdir)/shutdown.target shutdown.target \
4103 $(systemunitdir)/sockets.target sockets.target \
4104 $(systemunitdir)/timers.target timers.target \
4105 $(systemunitdir)/paths.target paths.target \
4106 $(systemunitdir)/bluetooth.target bluetooth.target \
4107 $(systemunitdir)/printer.target printer.target \
4108 $(systemunitdir)/sound.target sound.target \
4109 $(systemunitdir)/smartcard.target smartcard.target
4110
4111GENERAL_ALIASES += \
4112 $(systemunitdir)/remote-fs.target $(pkgsysconfdir)/system/multi-user.target.wants/remote-fs.target \
4113 $(systemunitdir)/getty@.service $(pkgsysconfdir)/system/getty.target.wants/getty@tty1.service \
4114 $(pkgsysconfdir)/user $(sysconfdir)/xdg/systemd/user \
4115 ../system-services/org.freedesktop.systemd1.service $(dbussessionservicedir)/org.freedesktop.systemd1.service
4116
4117if HAVE_SYSV_COMPAT
4118INSTALL_DIRS += \
4119 $(systemunitdir)/runlevel1.target.wants \
4120 $(systemunitdir)/runlevel2.target.wants \
4121 $(systemunitdir)/runlevel3.target.wants \
4122 $(systemunitdir)/runlevel4.target.wants \
4123 $(systemunitdir)/runlevel5.target.wants
4124endif
4125
4126INSTALL_DIRS += \
4127 $(tmpfilesdir) \
4128 $(sysconfdir)/tmpfiles.d \
4129 $(prefix)/lib/modules-load.d \
4130 $(sysconfdir)/modules-load.d \
4131 $(prefix)/lib/sysctl.d \
4132 $(sysconfdir)/sysctl.d \
4133 $(prefix)/lib/kernel/install.d \
4134 $(sysconfdir)/kernel/install.d \
4135 $(systemshutdowndir) \
4136 $(systemsleepdir) \
4137 $(systemgeneratordir) \
4138 $(usergeneratordir) \
4139 \
4140 $(userunitdir) \
4141 $(pkgsysconfdir)/system \
4142 $(pkgsysconfdir)/system/multi-user.target.wants \
4143 $(pkgsysconfdir)/system/getty.target.wants \
4144 $(pkgsysconfdir)/user \
4145 $(dbussessionservicedir) \
4146 $(sysconfdir)/xdg/systemd
4147
4148install-exec-hook: $(INSTALL_EXEC_HOOKS)
4149
4150uninstall-hook: $(UNINSTALL_DATA_HOOKS) $(UNINSTALL_EXEC_HOOKS)
4151
4152install-data-hook: $(INSTALL_DATA_HOOKS)
4153
4154distclean-local: $(DISTCLEAN_LOCAL_HOOKS)
4155
4156clean-local: $(CLEAN_LOCAL_HOOKS)
4157 rm -rf $(abs_srcdir)/install-tree
4158 rm -f $(abs_srcdir)/hwdb/usb.ids $(abs_srcdir)/hwdb/pci.ids $(abs_srcdir)/hwdb/oui.txt \
4159 $(abs_srcdir)/hwdb/iab.txt
4160
4161DISTCHECK_CONFIGURE_FLAGS = \
4162 --with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \
4163 --with-dbussessionservicedir=$$dc_install_base/$(dbussessionservicedir) \
4164 --with-dbussystemservicedir=$$dc_install_base/$(dbussystemservicedir) \
4165 --with-dbusinterfacedir=$$dc_install_base/$(dbusinterfacedir) \
4166 --with-bashcompletiondir=$$dc_install_base/$(bashcompletiondir) \
4167 --with-pamlibdir=$$dc_install_base/$(pamlibdir) \
4168 --with-rootprefix=$$dc_install_base \
4169 --disable-split-usr
4170
4171if HAVE_SYSV_COMPAT
4172DISTCHECK_CONFIGURE_FLAGS += \
4173 --with-sysvinit-path=$$dc_install_base/$(sysvinitdir) \
4174 --with-sysvrcnd-path=$$dc_install_base/$(sysvrcnddir)
4175else
4176DISTCHECK_CONFIGURE_FLAGS += \
4177 --with-sysvinit-path= \
4178 --with-sysvrcnd-path=
4179endif
4180
4181if ENABLE_GTK_DOC
4182DISTCHECK_CONFIGURE_FLAGS += \
4183 --enable-gtk-doc
4184endif
4185
4186hwdb-update:
4187 ( cd $(top_srcdir)/hwdb && \
4188 wget -N http://www.linux-usb.org/usb.ids \
4189 http://pci-ids.ucw.cz/v2.2/pci.ids \
4190 http://standards.ieee.org/develop/regauth/oui/oui.txt \
4191 http://standards.ieee.org/develop/regauth/iab/iab.txt && \
4192 ./ids-update.pl )
4193
4194kdbus-update:
4195 ( cd $(top_srcdir)/src/libsystemd-bus/ && \
4196 wget -N https://d-bus.googlecode.com/git/kdbus.h )
4197
4198upload: all distcheck
4199 cp -v systemd-$(VERSION).tar.xz /home/lennart/git.fedora/systemd/
4200 scp systemd-$(VERSION).tar.xz fdo:/srv/www.freedesktop.org/www/software/systemd/
4201 scp man/*.html tango:public/systemd-man/
4202
4203www_target = www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd
4204doc-sync: all destdir-sphinx
4205 gtkdoc-rebase --html-dir=docs/libudev/html --online
4206 rsync -rlv --delete docs/libudev/html/ --omit-dir-times $(www_target)/libudev/
4207 gtkdoc-rebase --html-dir=docs/gudev/html --online
4208 rsync -rlv --delete docs/gudev/html/ --omit-dir-times $(www_target)/gudev/
4209 rsync -rlv --delete-excluded --include="*.html" --exclude="*" --omit-dir-times man/ $(www_target)/man/
4210 rsync -rlv --delete --omit-dir-times docs/html/python-systemd/ $(www_target)/python-systemd/
4211
4212git-tag:
4213 git tag "v$(VERSION)" -m "systemd $(VERSION)"
4214
4215install-tree: all
4216 rm -rf $(abs_srcdir)/install-tree
4217 $(MAKE) install DESTDIR=$(abs_srcdir)/install-tree
4218 tree $(abs_srcdir)/install-tree
04219
=== added file '.pc/add-cgmanager-support/configure.ac'
--- .pc/add-cgmanager-support/configure.ac 1970-01-01 00:00:00 +0000
+++ .pc/add-cgmanager-support/configure.ac 2014-03-19 21:34:41 +0000
@@ -0,0 +1,978 @@
1#
2# This file is part of systemd.
3#
4# Copyright 2010-2012 Lennart Poettering
5# Copyright 2010-2012 Kay Sievers
6#
7# systemd is free software; you can redistribute it and/or modify it
8# under the terms of the GNU Lesser General Public License as published by
9# the Free Software Foundation; either version 2.1 of the License, or
10# (at your option) any later version.
11#
12# systemd is distributed in the hope that it will be useful, but
13# WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15# Lesser General Public License for more details.
16#
17# You should have received a copy of the GNU Lesser General Public License
18# along with systemd; If not, see <http://www.gnu.org/licenses/>.
19
20AC_PREREQ([2.64])
21
22AC_INIT([systemd],
23 [204],
24 [http://bugs.freedesktop.org/enter_bug.cgi?product=systemd],
25 [systemd],
26 [http://www.freedesktop.org/wiki/Software/systemd])
27
28AC_CONFIG_SRCDIR([src/core/main.c])
29AC_CONFIG_MACRO_DIR([m4])
30AC_CONFIG_HEADERS([config.h])
31AC_CONFIG_AUX_DIR([build-aux])
32
33AC_USE_SYSTEM_EXTENSIONS
34AC_SYS_LARGEFILE
35AC_PREFIX_DEFAULT([/usr])
36AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-dist-gzip dist-xz subdir-objects check-news])
37AM_SILENT_RULES([yes])
38AC_CANONICAL_HOST
39AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.])
40AS_IF([test "x$host_cpu" = "xmips" || test "x$host_cpu" = "xmipsel" ||
41 test "x$host_cpu" = "xmips64" || test "x$host_cpu" = "xmips64el"],
42 [AC_DEFINE(ARCH_MIPS, [], [Whether on mips arch])])
43
44LT_PREREQ(2.2)
45LT_INIT([disable-static])
46
47# i18n stuff for the PolicyKit policy files
48IT_PROG_INTLTOOL([0.40.0])
49
50GETTEXT_PACKAGE=systemd
51AC_SUBST(GETTEXT_PACKAGE)
52
53AC_PROG_MKDIR_P
54AC_PROG_LN_S
55AC_PROG_SED
56AC_PROG_GREP
57AC_PROG_AWK
58
59AC_PROG_CC
60AC_PROG_CC_C99
61AM_PROG_CC_C_O
62AC_PROG_GCC_TRADITIONAL
63
64AC_PATH_PROG([M4], [m4])
65AC_PATH_PROG([XSLTPROC], [xsltproc])
66
67AC_PATH_PROG([QUOTAON], [quotaon], [/sbin/quotaon])
68AC_PATH_PROG([QUOTACHECK], [quotacheck], [/sbin/quotacheck])
69
70AC_PATH_PROG([SETCAP], [setcap], [/sbin/setcap])
71
72AC_PATH_PROG([KILL], [kill], [/bin/kill])
73
74# gtkdocize greps for '^GTK_DOC_CHECK', so it needs to be on its own line
75m4_ifdef([GTK_DOC_CHECK], [
76GTK_DOC_CHECK([1.18],[--flavour no-tmpl])
77], [AM_CONDITIONAL([ENABLE_GTK_DOC], [false])])
78
79AS_IF([test "x$enable_gtk_doc" = "xyes" -a "x$XSLTPROC" = x], [
80 AC_MSG_ERROR([*** GTK doc requested but xsltproc not found])
81])
82
83m4_ifdef([GOBJECT_INTROSPECTION_CHECK], [
84GOBJECT_INTROSPECTION_CHECK([1.31.1])
85], [
86 AM_CONDITIONAL([HAVE_INTROSPECTION], [false])
87 enable_introspection=no])
88
89AC_CHECK_TOOL(OBJCOPY, objcopy)
90AC_CHECK_TOOL(STRINGS, strings)
91AC_CHECK_TOOL(GPERF, gperf)
92if test -z "$GPERF" ; then
93 AC_MSG_ERROR([*** gperf not found])
94fi
95
96CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
97 -pipe \
98 -Wall \
99 -Wextra \
100 -Wno-inline \
101 -Wundef \
102 "-Wformat=2 -Wformat-security -Wformat-nonliteral" \
103 -Wlogical-op \
104 -Wsign-compare \
105 -Wmissing-include-dirs \
106 -Wold-style-definition \
107 -Wpointer-arith \
108 -Winit-self \
109 -Wdeclaration-after-statement \
110 -Wfloat-equal \
111 -Wmissing-prototypes \
112 -Wstrict-prototypes \
113 -Wredundant-decls \
114 -Wmissing-declarations \
115 -Wmissing-noreturn \
116 -Wshadow \
117 -Wendif-labels \
118 -Wcast-align \
119 -Wstrict-aliasing=2 \
120 -Wwrite-strings \
121 -Wno-long-long \
122 -Wno-overlength-strings \
123 -Wno-unused-parameter \
124 -Wno-missing-field-initializers \
125 -Wno-unused-result \
126 -Werror=overflow \
127 -ffast-math \
128 -fno-common \
129 -fdiagnostics-show-option \
130 -fno-strict-aliasing \
131 -fvisibility=hidden \
132 -ffunction-sections \
133 -fdata-sections \
134 -fstack-protector \
135 --param=ssp-buffer-size=4])
136AC_SUBST([OUR_CFLAGS], $with_cflags)
137
138AS_CASE([$CFLAGS], [*-O[[12345g\ ]]*], [
139 CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
140 -Wp,-D_FORTIFY_SOURCE=2])], [
141 python_extra_cflags=-Wp,-U_FORTIFY_SOURCE
142 AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])])
143AC_SUBST([OUR_CPPFLAGS], $with_cppflags)
144
145CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
146 -Wl,--as-needed \
147 -Wl,--no-undefined \
148 -Wl,--gc-sections \
149 -Wl,-z,relro \
150 -Wl,-z,now])
151AC_SUBST([OUR_LDFLAGS], $with_ldflags)
152
153# ------------------------------------------------------------------------------
154# we use python to build the man page index, and for systemd-python
155have_python=no
156have_python_devel=no
157
158AC_ARG_WITH([python],
159 [AS_HELP_STRING([--without-python], [Disable building the man page index and systemd-python (default: test)])])
160
161AS_IF([test "x$with_python" != "xno"], [
162 AM_PATH_PYTHON(,, [:])
163 AS_IF([test "$PYTHON" != :], [have_python=yes])
164])
165AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
166AS_IF([test "x$PYTHON_BINARY" = "x"],
167 [AS_IF([test "x$have_python" = "xyes"],
168 [PYTHON_BINARY="$(which "$PYTHON")"],
169 [PYTHON_BINARY=/usr/bin/python])])
170AC_ARG_VAR(PYTHON_BINARY, [Python binary used to launch installed scripts])
171
172AS_IF([test "x$with_python" != "xno"], [
173 AC_PATH_PROG(PYTHON_CONFIG, python${PYTHON_VERSION}-config)
174 AS_IF([test -n "$PYTHON_CONFIG"], [
175 have_python_devel=yes
176 PYTHON_CFLAGS="$($PYTHON_CONFIG --cflags) $python_extra_cflags"
177 PYTHON_LIBS="$($PYTHON_CONFIG --ldflags)"
178 AC_SUBST(PYTHON_CFLAGS)
179 AC_SUBST(PYTHON_LIBS)
180 AC_PATH_PROGS(SPHINX_BUILD, sphinx-build-${PYTHON_VERSION} sphinx-build)
181 ])
182])
183AM_CONDITIONAL([HAVE_PYTHON_DEVEL], [test "$have_python_devel" = "yes"])
184
185# ------------------------------------------------------------------------------
186
187AC_SEARCH_LIBS([mq_open], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])])
188AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([*** Dynamic linking loader library not found])])
189
190save_LIBS="$LIBS"
191LIBS=
192AC_SEARCH_LIBS([cap_init], [cap], [], [AC_MSG_ERROR([*** POSIX caps library not found])])
193AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers not found])])
194CAP_LIBS="$LIBS"
195LIBS="$save_LIBS"
196AC_SUBST(CAP_LIBS)
197
198AC_CHECK_FUNCS([fanotify_init fanotify_mark])
199AC_CHECK_FUNCS([__secure_getenv secure_getenv])
200AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at], [], [], [[#include <sys/types.h>
201#include <unistd.h>
202#include <sys/mount.h>
203#include <fcntl.h>]])
204
205# This makes sure pkg.m4 is available.
206m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config])
207
208PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.3.2])
209
210# ------------------------------------------------------------------------------
211have_kmod=no
212AC_ARG_ENABLE(kmod, AS_HELP_STRING([--disable-kmod], [disable loadable modules support]))
213if test "x$enable_kmod" != "xno"; then
214 PKG_CHECK_MODULES(KMOD, [ libkmod >= 5 ],
215 [AC_DEFINE(HAVE_KMOD, 1, [Define if kmod is available]) have_kmod=yes], have_kmod=no)
216 if test "x$have_kmod" = xno -a "x$enable_kmod" = xyes; then
217 AC_MSG_ERROR([*** kmod support requested but libraries not found])
218 fi
219fi
220AM_CONDITIONAL(HAVE_KMOD, [test "$have_kmod" = "yes"])
221
222# ------------------------------------------------------------------------------
223have_blkid=no
224AC_ARG_ENABLE(blkid, AS_HELP_STRING([--disable-blkid], [disable blkid support]))
225if test "x$enable_blkid" != "xno"; then
226 PKG_CHECK_MODULES(BLKID, [ blkid >= 2.20 ],
227 [AC_DEFINE(HAVE_BLKID, 1, [Define if blkid is available]) have_blkid=yes], have_blkid=no)
228 if test "x$have_blkid" = xno -a "x$enable_blkid" = xyes; then
229 AC_MSG_ERROR([*** blkid support requested but libraries not found])
230 fi
231fi
232AM_CONDITIONAL(HAVE_BLKID, [test "$have_blkid" = "yes"])
233
234# ------------------------------------------------------------------------------
235have_ima=yes
236AC_ARG_ENABLE([ima], AS_HELP_STRING([--disable-ima],[Disable optional IMA support]),
237 [case "${enableval}" in
238 yes) have_ima=yes ;;
239 no) have_ima=no ;;
240 *) AC_MSG_ERROR(bad value ${enableval} for --disable-ima) ;;
241 esac],
242 [have_ima=yes])
243
244if test "x${have_ima}" != xno ; then
245 AC_DEFINE(HAVE_IMA, 1, [Define if IMA is available])
246fi
247
248# ------------------------------------------------------------------------------
249have_chkconfig=yes
250AC_ARG_ENABLE([chkconfig], AS_HELP_STRING([--disable-chkconfig],[Disable optional chkconfig support]),
251 [case "${enableval}" in
252 yes) have_chkconfig=yes ;;
253 no) have_chkconfig=no ;;
254 *) AC_MSG_ERROR(bad value ${enableval} for --disable-chkconfig) ;;
255 esac],
256 [AC_PATH_PROG(CHKCONFIG, chkconfig)
257 if test -z "$CHKCONFIG"; then
258 have_chkconfig=no
259 else
260 have_chkconfig=yes
261 fi])
262
263if test "x${have_chkconfig}" != xno ; then
264 AC_DEFINE(HAVE_CHKCONFIG, 1, [Define if CHKCONFIG is available])
265fi
266
267# ------------------------------------------------------------------------------
268have_selinux=no
269AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [Disable optional SELINUX support]))
270if test "x$enable_selinux" != "xno"; then
271 PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.1.9],
272 [AC_DEFINE(HAVE_SELINUX, 1, [Define if SELinux is available]) have_selinux=yes], have_selinux=no)
273 if test "x$have_selinux" = xno -a "x$enable_selinux" = xyes; then
274 AC_MSG_ERROR([*** SELinux support requested but libraries not found])
275 fi
276fi
277AM_CONDITIONAL(HAVE_SELINUX, [test "$have_selinux" = "yes"])
278
279AC_ARG_WITH(debug-shell,
280 AS_HELP_STRING([--with-debug-shell=PATH],
281 [Path to debug shell binary]),
282 [SUSHELL="$withval"],[
283 AS_IF([test "x${have_selinux}" != "xno"], [SUSHELL="/sbin/sushell"] , [SUSHELL="/bin/sh"])])
284
285AC_SUBST(SUSHELL)
286
287AC_ARG_WITH([debug-tty],
288 AS_HELP_STRING([--with-debug-tty=PATH],
289 [Specify the tty device for debug shell]),
290 [DEBUGTTY="$withval"],
291 [DEBUGTTY=/dev/tty9])
292
293AC_SUBST(DEBUGTTY)
294
295# ------------------------------------------------------------------------------
296have_xz=no
297AC_ARG_ENABLE(xz, AS_HELP_STRING([--disable-xz], [Disable optional XZ support]))
298if test "x$enable_xz" != "xno"; then
299 PKG_CHECK_MODULES(XZ, [ liblzma ],
300 [AC_DEFINE(HAVE_XZ, 1, [Define if XZ is available]) have_xz=yes], have_xz=no)
301 if test "x$have_xz" = xno -a "x$enable_xz" = xyes; then
302 AC_MSG_ERROR([*** Xz support requested but libraries not found])
303 fi
304fi
305AM_CONDITIONAL(HAVE_XZ, [test "$have_xz" = "yes"])
306
307# ------------------------------------------------------------------------------
308AC_ARG_ENABLE([tcpwrap],
309 AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]),
310 [case "${enableval}" in
311 yes) have_tcpwrap=yes ;;
312 no) have_tcpwrap=no ;;
313 *) AC_MSG_ERROR(bad value ${enableval} for --disable-tcpwrap) ;;
314 esac],
315 [have_tcpwrap=auto])
316
317if test "x${have_tcpwrap}" != xno ; then
318 ACX_LIBWRAP
319 if test "x${LIBWRAP_LIBS}" = x ; then
320 if test "x$have_tcpwrap" = xyes ; then
321 AC_MSG_ERROR([*** TCP wrappers support not found.])
322 fi
323 have_tcpwrap=no
324 else
325 have_tcpwrap=yes
326 fi
327else
328 LIBWRAP_LIBS=
329fi
330AC_SUBST(LIBWRAP_LIBS)
331
332# ------------------------------------------------------------------------------
333AC_ARG_ENABLE([pam],
334 AS_HELP_STRING([--disable-pam],[Disable optional PAM support]),
335 [case "${enableval}" in
336 yes) have_pam=yes ;;
337 no) have_pam=no ;;
338 *) AC_MSG_ERROR(bad value ${enableval} for --disable-pam) ;;
339 esac],
340 [have_pam=auto])
341
342if test "x${have_pam}" != xno ; then
343 AC_CHECK_HEADERS(
344 [security/pam_modules.h security/pam_modutil.h security/pam_ext.h],
345 [have_pam=yes],
346 [if test "x$have_pam" = xyes ; then
347 AC_MSG_ERROR([*** PAM headers not found.])
348 fi])
349
350 AC_CHECK_LIB(
351 [pam],
352 [pam_syslog],
353 [have_pam=yes],
354 [if test "x$have_pam" = xyes ; then
355 AC_MSG_ERROR([*** libpam not found.])
356 fi])
357
358 if test "x$have_pam" = xyes ; then
359 PAM_LIBS="-lpam -lpam_misc"
360 AC_DEFINE(HAVE_PAM, 1, [PAM available])
361 else
362 have_pam=no
363 fi
364else
365 PAM_LIBS=
366fi
367AC_SUBST(PAM_LIBS)
368AM_CONDITIONAL([HAVE_PAM], [test "x$have_pam" != xno])
369
370# ------------------------------------------------------------------------------
371AC_ARG_ENABLE([acl],
372 AS_HELP_STRING([--disable-acl],[Disable optional ACL support]),
373 [case "${enableval}" in
374 yes) have_acl=yes ;;
375 no) have_acl=no ;;
376 *) AC_MSG_ERROR(bad value ${enableval} for --disable-acl) ;;
377 esac],
378 [have_acl=auto])
379
380if test "x${have_acl}" != xno ; then
381 AC_CHECK_HEADERS(
382 [sys/acl.h acl/libacl.h],
383 [have_acl=yes],
384 [if test "x$have_acl" = xyes ; then
385 AC_MSG_ERROR([*** ACL headers not found.])
386 fi])
387
388 AC_CHECK_LIB(
389 [acl],
390 [acl_get_file],
391 [have_acl=yes],
392 [if test "x$have_acl" = xyes ; then
393 AC_MSG_ERROR([*** libacl not found.])
394 fi])
395
396 if test "x$have_acl" = xyes ; then
397 ACL_LIBS="-lacl"
398 AC_DEFINE(HAVE_ACL, 1, [ACL available])
399 else
400 have_acl=no
401 fi
402else
403 ACL_LIBS=
404fi
405AC_SUBST(ACL_LIBS)
406AM_CONDITIONAL([HAVE_ACL], [test "x$have_acl" != xno])
407
408# ------------------------------------------------------------------------------
409AC_ARG_ENABLE([xattr],
410 AS_HELP_STRING([--disable-xattr],[Disable optional XATTR support]),
411 [case "${enableval}" in
412 yes) have_xattr=yes ;;
413 no) have_xattr=no ;;
414 *) AC_MSG_ERROR(bad value ${enableval} for --disable-xattr) ;;
415 esac],
416 [have_xattr=auto])
417
418if test "x${have_xattr}" != xno ; then
419 AC_CHECK_HEADERS(
420 [attr/xattr.h],
421 [have_xattr=yes],
422 [if test "x$have_xattr" = xyes ; then
423 AC_MSG_ERROR([*** XATTR headers not found.])
424 fi])
425
426 AC_CHECK_LIB(
427 [attr],
428 [fsetxattr],
429 [have_xattr=yes],
430 [if test "x$have_xattr" = xyes ; then
431 AC_MSG_ERROR([*** libattr not found.])
432 fi])
433
434 if test "x$have_xattr" = xyes ; then
435 XATTR_LIBS="-lattr"
436 AC_DEFINE(HAVE_XATTR, 1, [XATTR available])
437 else
438 have_xattr=no
439 fi
440else
441 XATTR_LIBS=
442fi
443AC_SUBST(XATTR_LIBS)
444AM_CONDITIONAL([HAVE_XATTR], [test "x$have_xattr" != xno])
445
446# ------------------------------------------------------------------------------
447AC_ARG_ENABLE([gcrypt],
448 AS_HELP_STRING([--disable-gcrypt],[Disable optional GCRYPT support]),
449 [case "${enableval}" in
450 yes) have_gcrypt=yes ;;
451 no) have_gcrypt=no ;;
452 *) AC_MSG_ERROR(bad value ${enableval} for --disable-gcrypt) ;;
453 esac],
454 [have_gcrypt=auto])
455
456if test "x${have_gcrypt}" != xno ; then
457 AM_PATH_LIBGCRYPT(
458 [1.4.5],
459 [have_gcrypt=yes],
460 [if test "x$have_gcrypt" = xyes ; then
461 AC_MSG_ERROR([*** GCRYPT headers not found.])
462 fi])
463
464 if test "x$have_gcrypt" = xyes ; then
465 GCRYPT_LIBS="$LIBGCRYPT_LIBS"
466 GCRYPT_CFLAGS="$LIBGCRYPT_CFLAGS"
467 AC_DEFINE(HAVE_GCRYPT, 1, [GCRYPT available])
468 else
469 have_gcrypt=no
470 fi
471else
472 GCRYPT_LIBS=
473 GCRYPT_CFLAGS=
474fi
475AC_SUBST(GCRYPT_LIBS)
476AC_SUBST(GCRYPT_CFLAGS)
477AM_CONDITIONAL([HAVE_GCRYPT], [test "x$have_gcrypt" != xno])
478
479# ------------------------------------------------------------------------------
480AC_ARG_ENABLE([audit],
481 AS_HELP_STRING([--disable-audit],[Disable optional AUDIT support]),
482 [case "${enableval}" in
483 yes) have_audit=yes ;;
484 no) have_audit=no ;;
485 *) AC_MSG_ERROR(bad value ${enableval} for --disable-audit) ;;
486 esac],
487 [have_audit=auto])
488
489if test "x${have_audit}" != xno ; then
490 AC_CHECK_HEADERS(
491 [libaudit.h],
492 [have_audit=yes],
493 [if test "x$have_audit" = xyes ; then
494 AC_MSG_ERROR([*** AUDIT headers not found.])
495 fi])
496
497 AC_CHECK_LIB(
498 [audit],
499 [audit_open],
500 [have_audit=yes],
501 [if test "x$have_audit" = xyes ; then
502 AC_MSG_ERROR([*** libaudit not found.])
503 fi])
504
505 if test "x$have_audit" = xyes ; then
506 AUDIT_LIBS="-laudit"
507 AC_DEFINE(HAVE_AUDIT, 1, [AUDIT available])
508 else
509 have_audit=no
510 fi
511else
512 AUDIT_LIBS=
513fi
514AC_SUBST(AUDIT_LIBS)
515
516# ------------------------------------------------------------------------------
517have_libcryptsetup=no
518AC_ARG_ENABLE(libcryptsetup, AS_HELP_STRING([--disable-libcryptsetup], [disable libcryptsetup tools]))
519if test "x$enable_libcryptsetup" != "xno"; then
520 PKG_CHECK_MODULES(LIBCRYPTSETUP, [ libcryptsetup >= 1.4.2 ],
521 [AC_DEFINE(HAVE_LIBCRYPTSETUP, 1, [Define if libcryptsetup is available]) have_libcryptsetup=yes], have_libcryptsetup=no)
522 if test "x$have_libcryptsetup" = xno -a "x$enable_libcryptsetup" = xyes; then
523 AC_MSG_ERROR([*** libcryptsetup support requested but libraries not found])
524 fi
525fi
526AM_CONDITIONAL(HAVE_LIBCRYPTSETUP, [test "$have_libcryptsetup" = "yes"])
527
528# ------------------------------------------------------------------------------
529have_qrencode=no
530AC_ARG_ENABLE(qrencode, AS_HELP_STRING([--disable-qrencode], [disable qrencode support]))
531if test "x$enable_qrencode" != "xno"; then
532 PKG_CHECK_MODULES(QRENCODE, [ libqrencode ],
533 [AC_DEFINE(HAVE_QRENCODE, 1, [Define if qrencode is available]) have_qrencode=yes], have_qrencode=no)
534 if test "x$have_qrencode" = xno -a "x$enable_qrencode" = xyes; then
535 AC_MSG_ERROR([*** qrencode support requested but libraries not found])
536 fi
537fi
538AM_CONDITIONAL(HAVE_QRENCODE, [test "$have_qrencode" = "yes"])
539
540# ------------------------------------------------------------------------------
541have_microhttpd=no
542AC_ARG_ENABLE(microhttpd, AS_HELP_STRING([--disable-microhttpd], [disable microhttpd support]))
543if test "x$enable_microhttpd" != "xno"; then
544 PKG_CHECK_MODULES(MICROHTTPD, [libmicrohttpd >= 0.9.5],
545 [AC_DEFINE(HAVE_MICROHTTPD, 1, [Define if microhttpd is available]) have_microhttpd=yes], have_microhttpd=no)
546 if test "x$have_microhttpd" = xno -a "x$enable_microhttpd" = xyes; then
547 AC_MSG_ERROR([*** microhttpd support requested but libraries not found])
548 fi
549fi
550AM_CONDITIONAL(HAVE_MICROHTTPD, [test "$have_microhttpd" = "yes"])
551
552# ------------------------------------------------------------------------------
553have_binfmt=no
554AC_ARG_ENABLE(binfmt, AS_HELP_STRING([--disable-binfmt], [disable binfmt tool]))
555if test "x$enable_binfmt" != "xno"; then
556 have_binfmt=yes
557fi
558AM_CONDITIONAL(ENABLE_BINFMT, [test "$have_binfmt" = "yes"])
559
560# ------------------------------------------------------------------------------
561have_vconsole=no
562AC_ARG_ENABLE(vconsole, AS_HELP_STRING([--disable-vconsole], [disable vconsole tool]))
563if test "x$enable_vconsole" != "xno"; then
564 have_vconsole=yes
565fi
566AM_CONDITIONAL(ENABLE_VCONSOLE, [test "$have_vconsole" = "yes"])
567
568# ------------------------------------------------------------------------------
569have_readahead=no
570AC_ARG_ENABLE(readahead, AS_HELP_STRING([--disable-readahead], [disable readahead tools]))
571if test "x$enable_readahead" != "xno"; then
572 have_readahead=yes
573fi
574AM_CONDITIONAL(ENABLE_READAHEAD, [test "$have_readahead" = "yes"])
575
576# ------------------------------------------------------------------------------
577have_bootchart=no
578AC_ARG_ENABLE(bootchart, AS_HELP_STRING([--disable-bootchart], [disable bootchart tool]))
579if test "x$enable_bootchart" != "xno"; then
580 have_bootchart=yes
581fi
582AM_CONDITIONAL(ENABLE_BOOTCHART, [test "$have_bootchart" = "yes"])
583
584# ------------------------------------------------------------------------------
585have_quotacheck=no
586AC_ARG_ENABLE(quotacheck, AS_HELP_STRING([--disable-quotacheck], [disable quotacheck tools]))
587if test "x$enable_quotacheck" != "xno"; then
588 have_quotacheck=yes
589fi
590AM_CONDITIONAL(ENABLE_QUOTACHECK, [test "$have_quotacheck" = "yes"])
591
592# ------------------------------------------------------------------------------
593have_randomseed=no
594AC_ARG_ENABLE(randomseed, AS_HELP_STRING([--disable-randomseed], [disable randomseed tools]))
595if test "x$enable_randomseed" != "xno"; then
596 have_randomseed=yes
597fi
598AM_CONDITIONAL(ENABLE_RANDOMSEED, [test "$have_randomseed" = "yes"])
599
600# ------------------------------------------------------------------------------
601have_logind=no
602AC_ARG_ENABLE(logind, AS_HELP_STRING([--disable-logind], [disable login daemon]))
603if test "x$enable_logind" != "xno"; then
604 have_logind=yes
605fi
606AM_CONDITIONAL(ENABLE_LOGIND, [test "$have_logind" = "yes"])
607AS_IF([test "$have_logind" = "yes"], [ AC_DEFINE(HAVE_LOGIND, [1], [Logind support available]) ])
608
609# ------------------------------------------------------------------------------
610have_hostnamed=no
611AC_ARG_ENABLE(hostnamed, AS_HELP_STRING([--disable-hostnamed], [disable hostname daemon]))
612if test "x$enable_hostnamed" != "xno"; then
613 have_hostnamed=yes
614fi
615AM_CONDITIONAL(ENABLE_HOSTNAMED, [test "$have_hostnamed" = "yes"])
616
617# ------------------------------------------------------------------------------
618have_timedated=no
619AC_ARG_ENABLE(timedated, AS_HELP_STRING([--disable-timedated], [disable timedate daemon]))
620if test "x$enable_timedated" != "xno"; then
621 have_timedated=yes
622fi
623AM_CONDITIONAL(ENABLE_TIMEDATED, [test "$have_timedated" = "yes"])
624
625# ------------------------------------------------------------------------------
626have_localed=no
627AC_ARG_ENABLE(localed, AS_HELP_STRING([--disable-localed], [disable locale daemon]))
628if test "x$enable_localed" != "xno"; then
629 have_localed=yes
630fi
631AM_CONDITIONAL(ENABLE_LOCALED, [test "$have_localed" = "yes"])
632
633# ------------------------------------------------------------------------------
634have_coredump=no
635AC_ARG_ENABLE(coredump, AS_HELP_STRING([--disable-coredump], [disable coredump hook]))
636if test "x$enable_coredump" != "xno"; then
637 have_coredump=yes
638fi
639AM_CONDITIONAL(ENABLE_COREDUMP, [test "$have_coredump" = "yes"])
640
641# ------------------------------------------------------------------------------
642have_polkit=no
643AC_ARG_ENABLE(polkit, AS_HELP_STRING([--disable-polkit], [disable PolicyKit support]))
644if test "x$enable_polkit" != "xno"; then
645 AC_DEFINE(ENABLE_POLKIT, 1, [Define if PolicyKit support is to be enabled])
646 have_polkit=yes
647fi
648AM_CONDITIONAL(ENABLE_POLKIT, [test "x$have_polkit" = "xyes"])
649
650# ------------------------------------------------------------------------------
651have_efi=no
652AC_ARG_ENABLE(efi, AS_HELP_STRING([--disable-efi], [disable EFI support]))
653if test "x$enable_efi" != "xno"; then
654 AC_DEFINE(ENABLE_EFI, 1, [Define if EFI support is to be enabled])
655 have_efi=yes
656fi
657AM_CONDITIONAL(ENABLE_EFI, [test "x$have_efi" = "xyes"])
658
659# ------------------------------------------------------------------------------
660AC_ARG_WITH(rc-local-script-path-start,
661 AS_HELP_STRING([--with-rc-local-script-path-start=PATH],
662 [Path to /etc/rc.local]),
663 [RC_LOCAL_SCRIPT_PATH_START="$withval"],
664 [RC_LOCAL_SCRIPT_PATH_START="/etc/rc.local"])
665
666AC_ARG_WITH(rc-local-script-path-stop,
667 AS_HELP_STRING([--with-rc-local-script-path-stop=PATH],
668 [Path to /usr/sbin/halt.local]),
669 [RC_LOCAL_SCRIPT_PATH_STOP="$withval"],
670 [RC_LOCAL_SCRIPT_PATH_STOP="/usr/sbin/halt.local"])
671
672AC_DEFINE_UNQUOTED(RC_LOCAL_SCRIPT_PATH_START, ["$RC_LOCAL_SCRIPT_PATH_START"], [Path of /etc/rc.local script])
673AC_DEFINE_UNQUOTED(RC_LOCAL_SCRIPT_PATH_STOP, ["$RC_LOCAL_SCRIPT_PATH_STOP"], [Path of /usr/sbin/halt.local script])
674
675AC_SUBST(RC_LOCAL_SCRIPT_PATH_START)
676AC_SUBST(RC_LOCAL_SCRIPT_PATH_STOP)
677
678# ------------------------------------------------------------------------------
679AC_ARG_WITH(kbd-loadkeys,
680 AS_HELP_STRING([--with-kbd-loadkeys=PATH],
681 [Path to loadkeys]),
682 [KBD_LOADKEYS="$withval"],
683 [KBD_LOADKEYS="/bin/loadkeys"])
684
685AC_ARG_WITH(kbd-setfont,
686 AS_HELP_STRING([--with-kbd-setfont=PATH],
687 [Path to setfont]),
688 [KBD_SETFONT="$withval"],
689 [KBD_SETFONT="/bin/setfont"])
690
691AC_DEFINE_UNQUOTED(KBD_LOADKEYS, ["$KBD_LOADKEYS"], [Path of loadkeys])
692AC_DEFINE_UNQUOTED(KBD_SETFONT, ["$KBD_SETFONT"], [Path of setfont])
693
694AC_SUBST(KBD_LOADKEYS)
695AC_SUBST(KBD_SETFONT)
696
697AC_ARG_WITH(telinit,
698 AS_HELP_STRING([--with-telinit=PATH],
699 [Path to telinit]),
700 [TELINIT="$withval"],
701 [TELINIT="/lib/upstart/telinit"])
702
703AC_DEFINE_UNQUOTED(TELINIT, ["$TELINIT"], [Path to telinit])
704
705AC_SUBST(TELINIT)
706
707AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h])
708
709# ------------------------------------------------------------------------------
710have_myhostname=no
711AC_ARG_ENABLE(myhostname, AS_HELP_STRING([--disable-myhostname], [disable nss-myhostname support]))
712if test "x$enable_myhostname" != "xno"; then
713 AC_HEADER_STDC
714 AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h nss.h sys/ioctl.h])
715
716 AC_C_CONST
717 AC_TYPE_SIZE_T
718 AC_HEADER_TIME
719
720 AC_FUNC_MALLOC
721 AC_FUNC_SELECT_ARGTYPES
722 AC_CHECK_FUNCS([gethostbyaddr gethostbyname gettimeofday inet_ntoa memset select socket strcspn strdup strerror strncasecmp strcasecmp strspn])
723
724 have_myhostname=yes
725fi
726AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"])
727
728# ------------------------------------------------------------------------------
729AC_ARG_WITH(firmware-path,
730 AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]],
731 [Firmware search path (default="")]),
732 [], [with_firmware_path=""])
733OLD_IFS=$IFS
734IFS=:
735for i in $with_firmware_path; do
736 if test "x${FIRMWARE_PATH}" = "x"; then
737 FIRMWARE_PATH="\\\"${i}/\\\""
738 else
739 FIRMWARE_PATH="${FIRMWARE_PATH}, \\\"${i}/\\\""
740 fi
741done
742IFS=$OLD_IFS
743AC_SUBST(FIRMWARE_PATH)
744AS_IF([test "x${FIRMWARE_PATH}" != "x"], [ AC_DEFINE(HAVE_FIRMWARE, 1, [Define if FIRMWARE is available]) ])
745AM_CONDITIONAL(ENABLE_FIRMWARE, [test "x${FIRMWARE_PATH}" != "x"])
746
747# ------------------------------------------------------------------------------
748AC_ARG_ENABLE([gudev],
749 AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support @<:@default=enabled@:>@]),
750 [], [enable_gudev=yes])
751AS_IF([test "x$enable_gudev" = "xyes"], [ PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0 gio-2.0]) ])
752AM_CONDITIONAL([ENABLE_GUDEV], [test "x$enable_gudev" = "xyes"])
753AS_IF([test "x$enable_gudev" = "xyes"], [ AC_DEFINE(HAVE_GLIB, 1, [Define if glib is available]) ])
754
755# ------------------------------------------------------------------------------
756AC_ARG_ENABLE([keymap],
757 AS_HELP_STRING([--disable-keymap], [disable keymap fixup support @<:@default=enabled@:>@]),
758 [], [enable_keymap=yes])
759AS_IF([test "x$enable_keymap" = "xyes"], [
760 AC_PATH_PROG([GPERF], [gperf])
761 if test -z "$GPERF"; then
762 AC_MSG_ERROR([gperf is needed])
763 fi
764
765 AC_CHECK_HEADER([linux/input.h], [:], AC_MSG_ERROR([kernel headers not found]))
766 AC_SUBST([INCLUDE_PREFIX], [$(echo '#include <linux/input.h>' | eval $ac_cpp -E - | sed -n '/linux\/input.h/ {s:.*"\(.*\)/linux/input.h".*:\1:; p; q}')])
767])
768AM_CONDITIONAL([ENABLE_KEYMAP], [test "x$enable_keymap" = "xyes"])
769
770# ------------------------------------------------------------------------------
771have_manpages=no
772AC_ARG_ENABLE(manpages, AS_HELP_STRING([--disable-manpages], [disable manpages]))
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches