chiark / gitweb /
binfmt: move sources to subdirectory
[elogind.git] / Makefile.am
index f1e0b05a8d312ae69e54c088c5b57c0d33543925..5f7b505a3af2bd8852af0c1e5c3e72540e3ebf5c 100644 (file)
@@ -1,6 +1,7 @@
 #  This file is part of systemd.
 #
-#  Copyright 2010 Lennart Poettering
+#  Copyright 2011 Lennart Poettering
+#  Copyright 2011 Kay Sievers
 #
 #  systemd is free software; you can redistribute it and/or modify it
 #  under the terms of the GNU General Public License as published by
@@ -62,6 +63,13 @@ systemgeneratordir=$(rootlibexecdir)/system-generators
 systemshutdowndir=$(rootlibexecdir)/system-shutdown
 systemunitdir=$(rootdir)/lib/systemd/system
 
+CLEANFILES =
+EXTRA_DIST =
+INSTALL_EXEC_HOOKS =
+UNINSTALL_EXEC_HOOKS =
+INSTALL_DATA_HOOKS =
+polkitpolicy_in_files =
+
 AM_CPPFLAGS = \
        -include $(top_builddir)/config.h \
        -DSYSTEM_CONFIG_FILE=\"$(pkgsysconfdir)/system.conf\" \
@@ -144,7 +152,6 @@ endif
 rootbin_PROGRAMS = \
        systemd \
        systemctl \
-       systemd-loginctl \
        systemd-notify \
        systemd-ask-password \
        systemd-tty-ask-password-agent \
@@ -188,30 +195,8 @@ rootlibexec_PROGRAMS = \
        systemd-ac-power \
        systemd-detect-virt \
        systemd-sysctl \
-       systemd-logind \
-       systemd-uaccess \
        systemd-journald
 
-if ENABLE_BINFMT
-rootlibexec_PROGRAMS += \
-       systemd-binfmt
-endif
-
-if ENABLE_HOSTNAMED
-rootlibexec_PROGRAMS += \
-       systemd-hostnamed
-endif
-
-if ENABLE_TIMEDATED
-rootlibexec_PROGRAMS += \
-       systemd-timedated
-endif
-
-if ENABLE_LOCALED
-rootlibexec_PROGRAMS += \
-       systemd-localed
-endif
-
 systemgenerator_PROGRAMS = \
        systemd-getty-generator
 
@@ -225,13 +210,11 @@ endif
 
 lib_LTLIBRARIES = \
        libsystemd-daemon.la \
-       libsystemd-login.la \
        libsystemd-id128.la \
        libsystemd-journal.la
 
 pkginclude_HEADERS = \
        src/sd-daemon.h \
-       src/login/sd-login.h \
        src/sd-id128.h \
        src/journal/sd-journal.h
 
@@ -245,7 +228,6 @@ noinst_PROGRAMS = \
        test-cgroup \
        test-env-replace \
        test-strv \
-       test-login \
        test-install \
        test-id128 \
        test-journal
@@ -257,49 +239,15 @@ endif
 
 dist_pkgsysconf_DATA = \
        src/system.conf \
-       src/user.conf \
-       src/login/systemd-logind.conf
+       src/user.conf
 
 dist_dbuspolicy_DATA = \
-       src/org.freedesktop.systemd1.conf \
-       src/login/org.freedesktop.login1.conf
-
-if ENABLE_HOSTNAMED
-dist_dbuspolicy_DATA += \
-       src/org.freedesktop.hostname1.conf
-endif
-
-if ENABLE_TIMEDATED
-dist_dbuspolicy_DATA += \
-       src/org.freedesktop.timedate1.conf
-endif
-
-if ENABLE_LOCALED
-dist_dbuspolicy_DATA += \
-       src/org.freedesktop.locale1.conf
-endif
+       src/org.freedesktop.systemd1.conf
 
 dist_dbussystemservice_DATA = \
-       src/org.freedesktop.systemd1.service \
-       src/login/org.freedesktop.login1.service
-
-if ENABLE_HOSTNAMED
-dist_dbussystemservice_DATA += \
-       src/org.freedesktop.hostname1.service
-endif
-
-if ENABLE_TIMEDATED
-dist_dbussystemservice_DATA += \
-       src/org.freedesktop.timedate1.service
-endif
-
-if ENABLE_LOCALED
-dist_dbussystemservice_DATA += \
-       src/org.freedesktop.locale1.service
-endif
+       src/org.freedesktop.systemd1.service
 
 dist_udevrules_DATA = \
-       src/70-uaccess.rules \
        src/71-seat.rules
 
 nodist_udevrules_DATA = \
@@ -321,21 +269,6 @@ dbusinterface_DATA = \
        org.freedesktop.systemd1.Swap.xml \
        org.freedesktop.systemd1.Path.xml
 
-if ENABLE_HOSTNAMED
-dbusinterface_DATA += \
-       org.freedesktop.hostname1.xml
-endif
-
-if ENABLE_TIMEDATED
-dbusinterface_DATA += \
-       org.freedesktop.timedate1.xml
-endif
-
-if ENABLE_LOCALED
-dbusinterface_DATA += \
-       org.freedesktop.locale1.xml
-endif
-
 dist_bashcompletion_DATA = \
        src/systemd-bash-completion.sh
 
@@ -409,12 +342,6 @@ dist_systemunit_DATA += \
        units/var-lock.mount
 endif
 
-if ENABLE_BINFMT
-dist_systemunit_DATA += \
-       units/proc-sys-fs-binfmt_misc.automount \
-       units/proc-sys-fs-binfmt_misc.mount
-endif
-
 nodist_systemunit_DATA = \
        units/getty@.service \
        units/serial-getty@.service \
@@ -422,7 +349,6 @@ nodist_systemunit_DATA = \
        units/systemd-initctl.service \
        units/systemd-stdout-syslog-bridge.service \
        units/systemd-shutdownd.service \
-       units/systemd-logind.service \
        units/systemd-journald.service \
        units/systemd-kmsg-syslogd.service \
        units/systemd-modules-load.service \
@@ -451,26 +377,6 @@ nodist_systemunit_DATA = \
        units/rescue.service \
        units/user@.service
 
-if ENABLE_BINFMT
-nodist_systemunit_DATA += \
-       units/systemd-binfmt.service
-endif
-
-if ENABLE_HOSTNAMED
-nodist_systemunit_DATA += \
-       units/systemd-hostnamed.service
-endif
-
-if ENABLE_TIMEDATED
-nodist_systemunit_DATA += \
-       units/systemd-timedated.service
-endif
-
-if ENABLE_LOCALED
-nodist_systemunit_DATA += \
-       units/systemd-localed.service
-endif
-
 dist_userunit_DATA = \
        units/user/default.target \
        units/user/exit.target
@@ -478,7 +384,7 @@ dist_userunit_DATA = \
 nodist_userunit_DATA = \
        units/user/exit.service
 
-EXTRA_DIST = \
+EXTRA_DIST += \
        units/getty@.service.m4 \
        units/serial-getty@.service.m4 \
        units/console-shell.service.m4 \
@@ -486,7 +392,6 @@ EXTRA_DIST = \
        units/systemd-initctl.service.in \
        units/systemd-stdout-syslog-bridge.service.in \
        units/systemd-shutdownd.service.in \
-       units/systemd-logind.service.in \
        units/systemd-journald.service.in \
        units/systemd-kmsg-syslogd.service.in \
        units/systemd-modules-load.service.in \
@@ -516,11 +421,9 @@ EXTRA_DIST = \
        units/user@.service.in \
        systemd.pc.in \
        libsystemd-daemon.pc.in \
-       libsystemd-login.pc.in \
        libsystemd-id128.pc.in \
        libsystemd-journal.pc.in \
        src/libsystemd-daemon.sym \
-       src/login/libsystemd-login.sym \
        src/libsystemd-id128.sym \
        src/journal/libsystemd-journal.sym \
        introspect.awk \
@@ -528,26 +431,6 @@ EXTRA_DIST = \
        src/99-systemd.rules.in \
        man/custom-html.xsl
 
-if ENABLE_BINFMT
-EXTRA_DIST += \
-       units/systemd-binfmt.service.in
-endif
-
-if ENABLE_HOSTNAMED
-EXTRA_DIST += \
-       units/systemd-hostnamed.service.in
-endif
-
-if ENABLE_TIMEDATED
-EXTRA_DIST += \
-       units/systemd-timedated.service.in
-endif
-
-if ENABLE_LOCALED
-EXTRA_DIST += \
-       units/systemd-localed.service.in
-endif
-
 if TARGET_FEDORA
 dist_systemunit_DATA += \
        units/fedora/prefdm.service \
@@ -621,29 +504,9 @@ pkgconfigdata_DATA = \
 
 pkgconfiglib_DATA = \
        libsystemd-daemon.pc \
-       libsystemd-login.pc \
        libsystemd-id128.pc \
        libsystemd-journal.pc
 
-# Passed through intltool only
-polkitpolicy_in_files = \
-       src/login/org.freedesktop.login1.policy.in
-
-if ENABLE_HOSTNAMED
-polkitpolicy_in_files += \
-       src/org.freedesktop.hostname1.policy.in
-endif
-
-if ENABLE_TIMEDATED
-polkitpolicy_in_files += \
-       src/org.freedesktop.timedate1.policy.in
-endif
-
-if ENABLE_LOCALED
-polkitpolicy_in_files += \
-       src/org.freedesktop.locale1.policy.in
-endif
-
 # First passed through sed, followed by intltool
 polkitpolicy_in_in_files = \
        src/org.freedesktop.systemd1.policy.in.in
@@ -792,12 +655,6 @@ EXTRA_DIST += \
        src/pager.h \
        src/sysfs-show.h \
        src/polkit.h \
-       src/login/logind.h \
-       src/login/logind-device.h \
-       src/login/logind-seat.h \
-       src/login/logind-session.h \
-       src/login/logind-user.h \
-       src/login/logind-acl.h \
        src/dbus-loop.h \
        src/spawn-agent.h \
        src/journal/journal-def.h \
@@ -836,14 +693,12 @@ MANPAGES = \
        man/daemon.7 \
        man/sd-daemon.7 \
        man/sd-readahead.7 \
-       man/sd-login.7 \
        man/runlevel.8 \
        man/telinit.8 \
        man/halt.8 \
        man/shutdown.8 \
        man/pam_systemd.8 \
        man/systemd.conf.5 \
-       man/systemd-logind.conf.5 \
        man/tmpfiles.d.5 \
        man/hostname.5 \
        man/timezone.5 \
@@ -855,18 +710,11 @@ MANPAGES = \
        man/modules-load.d.5 \
        man/sysctl.d.5 \
        man/systemd-ask-password.1 \
-       man/systemd-loginctl.1 \
        man/sd_pid_get_session.3 \
        man/sd_uid_get_state.3 \
        man/sd_session_is_active.3 \
        man/sd_seat_get_active.3 \
-       man/sd_get_seats.3 \
-       man/sd_login_monitor_new.3
-
-if ENABLE_BINFMT
-MANPAGES += \
-       man/binfmt.d.5
-endif
+       man/sd_get_seats.3
 
 MANPAGES_ALIAS = \
        man/reboot.8 \
@@ -886,10 +734,7 @@ MANPAGES_ALIAS = \
        man/sd_seat_get_sessions.3 \
        man/sd_seat_can_multi_session.3 \
        man/sd_get_sessions.3 \
-       man/sd_get_uids.3 \
-       man/sd_login_monitor_unref.3 \
-       man/sd_login_monitor_flush.3 \
-       man/sd_login_monitor_get_fd.3
+       man/sd_get_uids.3
 
 man/reboot.8: man/halt.8
 man/poweroff.8: man/halt.8
@@ -909,9 +754,6 @@ man/sd_seat_get_sessions.3: man/sd_seat_get_active.3
 man/sd_seat_can_multi_session.3: man/sd_seat_get_active.3
 man/sd_get_sessions.3: man/sd_get_seats.3
 man/sd_get_uids.3: man/sd_get_seats.3
-man/sd_login_monitor_unref.3: man/sd_login_monitor_new.3
-man/sd_login_monitor_flush.3: man/sd_login_monitor_new.3
-man/sd_login_monitor_get_fd.3: man/sd_login_monitor_new.3
 
 dist_man_MANS = \
        $(MANPAGES) \
@@ -1017,16 +859,6 @@ test_strv_CFLAGS = \
 test_strv_LDADD = \
        libsystemd-basic.la
 
-test_login_SOURCES = \
-       src/login/test-login.c
-
-test_login_CFLAGS = \
-       $(AM_CFLAGS)
-
-test_login_LDADD = \
-       libsystemd-basic.la \
-       libsystemd-login.la
-
 test_install_SOURCES = \
        src/test-install.c \
        src/install.c \
@@ -1181,8 +1013,54 @@ systemd_shutdownd_LDADD = \
        libsystemd-basic.la \
        libsystemd-daemon.la
 
+dist_pkgdata_DATA = \
+       src/kbd-model-map
+
+dist_noinst_SCRIPT = \
+       src/generate-kbd-model-map
+
+# ------------------------------------------------------------------------------
+if ENABLE_BINFMT
+systemd_binfmt_SOURCES = \
+       src/binfmt/binfmt.c
+
+systemd_binfmt_LDADD = \
+       libsystemd-basic.la
+
+rootlibexec_PROGRAMS += \
+       systemd-binfmt
+
+dist_systemunit_DATA += \
+       units/proc-sys-fs-binfmt_misc.automount \
+       units/proc-sys-fs-binfmt_misc.mount
+
+nodist_systemunit_DATA += \
+       units/systemd-binfmt.service
+
+binfmt-install-data-hook:
+       $(MKDIR_P) -m 0755 \
+               $(DESTDIR)$(prefix)/lib/binfmt.d \
+               $(DESTDIR)$(sysconfdir)/binfmt.d
+       ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
+               rm -f systemd-binfmt.service \
+                       proc-sys-fs-binfmt_misc.automount && \
+               $(LN_S) ../systemd-binfmt.service systemd-binfmt.service && \
+               $(LN_S) ../proc-sys-fs-binfmt_misc.automount proc-sys-fs-binfmt_misc.automount )
+
+INSTALL_DATA_HOOKS += \
+       binfmt-install-data-hook
+
+MANPAGES += \
+       man/binfmt.d.5
+
+EXTRA_DIST += \
+       units/systemd-binfmt.service.in
+endif
+
+# ------------------------------------------------------------------------------
+if ENABLE_HOSTNAMED
 systemd_hostnamed_SOURCES = \
-       src/hostnamed.c \
+       src/hostname/hostnamed.c \
        src/dbus-common.c \
        src/polkit.c
 
@@ -1195,8 +1073,45 @@ systemd_hostnamed_LDADD = \
        libsystemd-daemon.la \
        $(DBUS_LIBS)
 
+rootlibexec_PROGRAMS += \
+       systemd-hostnamed
+
+nodist_systemunit_DATA += \
+       units/systemd-hostnamed.service
+
+dist_dbuspolicy_DATA += \
+       src/hostname/org.freedesktop.hostname1.conf
+
+dist_dbussystemservice_DATA += \
+       src/hostname/org.freedesktop.hostname1.service
+
+polkitpolicy_in_files += \
+       src/hostname/org.freedesktop.hostname1.policy.in
+
+dbusinterface_DATA += \
+       org.freedesktop.hostname1.xml
+
+org.freedesktop.hostname1.xml: systemd-hostnamed
+       $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.hostname1 $< $@.tmp && \
+               $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
+               $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
+
+hostnamed-install-data-hook:
+       ( cd $(DESTDIR)$(systemunitdir) && \
+               rm -f dbus-org.freedesktop.hostname1.service && \
+               $(LN_S) systemd-hostnamed.service dbus-org.freedesktop.hostname1.service )
+
+INSTALL_DATA_HOOKS += \
+       hostnamed-install-data-hook
+
+EXTRA_DIST += \
+       units/systemd-hostnamed.service.in
+endif
+
+# ------------------------------------------------------------------------------
+if ENABLE_LOCALED
 systemd_localed_SOURCES = \
-       src/localed.c \
+       src/locale/localed.c \
        src/dbus-common.c \
        src/polkit.c
 
@@ -1209,14 +1124,45 @@ systemd_localed_LDADD = \
        libsystemd-daemon.la \
        $(DBUS_LIBS)
 
-dist_pkgdata_DATA = \
-       src/kbd-model-map
+nodist_systemunit_DATA += \
+       units/systemd-localed.service
 
-dist_noinst_SCRIPT = \
-       src/generate-kbd-model-map
+rootlibexec_PROGRAMS += \
+       systemd-localed
+
+dist_dbuspolicy_DATA += \
+       src/locale/org.freedesktop.locale1.conf
+
+dist_dbussystemservice_DATA += \
+       src/locale/org.freedesktop.locale1.service
+
+polkitpolicy_in_files += \
+       src/locale/org.freedesktop.locale1.policy.in
+
+dbusinterface_DATA += \
+       org.freedesktop.locale1.xml
+
+org.freedesktop.locale1.xml: systemd-localed
+       $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.locale1 $< $@.tmp && \
+               $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
+               $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
+
+localed-install-data-hook:
+       ( cd $(DESTDIR)$(systemunitdir) && \
+               rm -f dbus-org.freedesktop.locale1.service && \
+               $(LN_S) systemd-localed.service dbus-org.freedesktop.locale1.service )
+
+INSTALL_DATA_HOOKS += \
+       localed-install-data-hook
+
+EXTRA_DIST += \
+       units/systemd-localed.service.in
+endif
 
+# ------------------------------------------------------------------------------
+if ENABLE_TIMEDATED
 systemd_timedated_SOURCES = \
-       src/timedated.c \
+       src/timedate/timedated.c \
        src/dbus-common.c \
        src/polkit.c
 
@@ -1229,6 +1175,43 @@ systemd_timedated_LDADD = \
        libsystemd-daemon.la \
        $(DBUS_LIBS)
 
+rootlibexec_PROGRAMS += \
+       systemd-timedated
+
+dist_dbussystemservice_DATA += \
+       src/timedate/org.freedesktop.timedate1.service
+
+dist_dbuspolicy_DATA += \
+       src/timedate/org.freedesktop.timedate1.conf
+
+nodist_systemunit_DATA += \
+       units/systemd-timedated.service
+
+polkitpolicy_in_files += \
+       src/timedate/org.freedesktop.timedate1.policy.in
+
+org.freedesktop.timedate1.xml: systemd-timedated
+       $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.timedate1 $< $@.tmp && \
+               $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
+               $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
+
+dbusinterface_DATA += \
+       org.freedesktop.timedate1.xml
+
+timedated-install-data-hook:
+       ( cd $(DESTDIR)$(systemunitdir) && \
+               rm -f dbus-org.freedesktop.timedate1.service  && \
+               $(LN_S) systemd-timedated.service dbus-org.freedesktop.timedate1.service )
+
+INSTALL_DATA_HOOKS += \
+       timedated-install-data-hook
+
+EXTRA_DIST += \
+       units/systemd-timedated.service.in
+endif
+
+# ------------------------------------------------------------------------------
+if ENABLE_LOGIND
 systemd_logind_SOURCES = \
        src/login/logind.c \
        src/login/logind-dbus.c \
@@ -1247,8 +1230,11 @@ systemd_logind_SOURCES = \
 nodist_systemd_logind_SOURCES = \
        src/login/logind-gperf.c
 
-EXTRA_DIST += \
-       src/login/logind-gperf.gperf
+if HAVE_ACL
+systemd_logind_SOURCES += \
+       src/login/logind-acl.c \
+       src/acl-util.c
+endif
 
 systemd_logind_CPPFLAGS = \
        $(AM_CPPFLAGS) \
@@ -1267,14 +1253,114 @@ systemd_logind_LDADD = \
        $(UDEV_LIBS) \
        $(ACL_LIBS)
 
+rootlibexec_PROGRAMS += \
+       systemd-logind
+
+systemd_loginctl_SOURCES = \
+       src/login/loginctl.c \
+       src/dbus-common.c \
+       src/cgroup-show.c \
+       src/cgroup-util.c \
+       src/pager.c \
+       src/sysfs-show.c
+
+systemd_loginctl_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(DBUS_CFLAGS) \
+       $(UDEV_CFLAGS)
+
+systemd_loginctl_LDADD = \
+       libsystemd-basic.la \
+       $(DBUS_LIBS) \
+       $(UDEV_LIBS)
+
+rootbin_PROGRAMS += \
+       systemd-loginctl
+
+test_login_SOURCES = \
+       src/login/test-login.c
+
+test_login_LDADD = \
+       libsystemd-basic.la \
+       libsystemd-login.la
+
+noinst_PROGRAMS += \
+       test-login
+
+libsystemd_login_la_SOURCES = \
+       src/login/sd-login.c \
+       src/cgroup-util.c
+
+libsystemd_login_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       -fvisibility=hidden
+
+libsystemd_login_la_LDFLAGS = \
+       -shared \
+       -version-info $(LIBSYSTEMD_LOGIN_CURRENT):$(LIBSYSTEMD_LOGIN_REVISION):$(LIBSYSTEMD_LOGIN_AGE) \
+       -Wl,--version-script=$(top_srcdir)/src/login/libsystemd-login.sym
+
+libsystemd_login_la_LIBADD = \
+       libsystemd-basic.la
+
+# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
+libsystemd-login-install-hook:
+       if test "$(libdir)" != "$(rootlibdir)"; then \
+               mkdir -p $(DESTDIR)$(rootlibdir) && \
+               so_img_name=$$(readlink $(DESTDIR)$(libdir)/libsystemd-login.so) && \
+               so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
+               ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libsystemd-login.so && \
+               mv $(DESTDIR)$(libdir)/libsystemd-login.so.* $(DESTDIR)$(rootlibdir); \
+       fi
+
+INSTALL_EXEC_HOOKS += \
+       libsystemd-login-install-hook
+
+libsystemd-login-uninstall-hook:
+       rm -f $(DESTDIR)$(rootlibdir)/libsystemd-login.so*
+
+UNINSTALL_EXEC_HOOKS += \
+       libsystemd-login-uninstall-hook
+
+nodist_systemunit_DATA += \
+       units/systemd-logind.service
+
+dist_dbussystemservice_DATA += \
+       src/login/org.freedesktop.login1.service
+
+dist_dbuspolicy_DATA += \
+       src/login/org.freedesktop.login1.conf
+
+dist_pkgsysconf_DATA += \
+       src/login/systemd-logind.conf
+
+pkginclude_HEADERS += \
+       src/login/sd-login.h
+
+lib_LTLIBRARIES += \
+       libsystemd-login.la
+
+pkgconfiglib_DATA += \
+       libsystemd-login.pc
+
+polkitpolicy_in_files += \
+       src/login/org.freedesktop.login1.policy.in
+
+logind-install-data-hook:
+       ( cd $(DESTDIR)$(systemunitdir) && \
+               rm -f dbus-org.freedesktop.login1.service && \
+               $(LN_S) systemd-logind.service dbus-org.freedesktop.login1.service)
+       ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \
+               rm -f systemd-logind.service && \
+               $(LN_S) ../systemd-logind.service systemd-logind.service )
+
+INSTALL_DATA_HOOKS += \
+       logind-install-data-hook
+
 systemd_uaccess_SOURCES = \
        src/login/uaccess.c
 
 if HAVE_ACL
-systemd_logind_SOURCES += \
-       src/login/logind-acl.c \
-       src/acl-util.c
-
 systemd_uaccess_SOURCES += \
        src/login/logind-acl.c \
        src/acl-util.c
@@ -1292,6 +1378,44 @@ systemd_uaccess_LDADD = \
        $(UDEV_LIBS) \
        $(ACL_LIBS)
 
+rootlibexec_PROGRAMS += \
+       systemd-uaccess
+
+dist_udevrules_DATA += \
+       src/70-uaccess.rules
+
+MANPAGES += \
+       man/systemd-logind.conf.5 \
+       man/sd-login.7 \
+       man/systemd-loginctl.1 \
+       man/sd_login_monitor_new.3
+
+MANPAGES_ALIAS += \
+       man/sd_login_monitor_unref.3 \
+       man/sd_login_monitor_flush.3 \
+       man/sd_login_monitor_get_fd.3
+
+man/sd_login_monitor_unref.3: man/sd_login_monitor_new.3
+man/sd_login_monitor_flush.3: man/sd_login_monitor_new.3
+man/sd_login_monitor_get_fd.3: man/sd_login_monitor_new.3
+
+EXTRA_DIST += \
+       src/login/logind-gperf.gperf \
+       units/systemd-logind.service.in \
+       libsystemd-login.pc.in \
+       src/login/libsystemd-login.sym \
+       src/login/logind.h \
+       src/login/logind-device.h \
+       src/login/logind-seat.h \
+       src/login/logind-session.h \
+       src/login/logind-user.h \
+       src/login/logind-acl.h
+
+CLEANFILES += \
+       src/login/logind-gperf.c
+endif
+# ------------------------------------------------------------------------------
+
 systemd_shutdown_SOURCES = \
        src/mount-setup.c \
        src/umount.c \
@@ -1343,15 +1467,6 @@ systemd_sysctl_CFLAGS = \
 systemd_sysctl_LDADD = \
        libsystemd-basic.la
 
-systemd_binfmt_SOURCES = \
-       src/binfmt.c
-
-systemd_binfmt_CFLAGS = \
-       $(AM_CFLAGS)
-
-systemd_binfmt_LDADD = \
-       libsystemd-basic.la
-
 systemd_fsck_SOURCES = \
        src/fsck.c \
        src/dbus-common.c
@@ -1522,24 +1637,6 @@ systemctl_LDADD = \
        libsystemd-daemon.la \
        $(DBUS_LIBS)
 
-systemd_loginctl_SOURCES = \
-       src/login/loginctl.c \
-       src/dbus-common.c \
-       src/cgroup-show.c \
-       src/cgroup-util.c \
-       src/pager.c \
-       src/sysfs-show.c
-
-systemd_loginctl_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(DBUS_CFLAGS) \
-       $(UDEV_CFLAGS)
-
-systemd_loginctl_LDADD = \
-       libsystemd-basic.la \
-       $(DBUS_LIBS) \
-       $(UDEV_LIBS)
-
 systemd_notify_SOURCES = \
        src/notify.c \
        src/sd-readahead.c
@@ -1723,35 +1820,6 @@ libsystemd-daemon-install-hook:
 libsystemd-daemon-uninstall-hook:
        rm -f $(DESTDIR)$(rootlibdir)/libsystemd-daemon.so*
 
-libsystemd_login_la_SOURCES = \
-       src/login/sd-login.c \
-       src/cgroup-util.c
-
-libsystemd_login_la_CFLAGS = \
-       $(AM_CFLAGS) \
-       -fvisibility=hidden
-
-libsystemd_login_la_LDFLAGS = \
-       -shared \
-       -version-info $(LIBSYSTEMD_LOGIN_CURRENT):$(LIBSYSTEMD_LOGIN_REVISION):$(LIBSYSTEMD_LOGIN_AGE) \
-       -Wl,--version-script=$(top_srcdir)/src/login/libsystemd-login.sym
-
-libsystemd_login_la_LIBADD = \
-       libsystemd-basic.la
-
-# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
-libsystemd-login-install-hook:
-       if test "$(libdir)" != "$(rootlibdir)"; then \
-               mkdir -p $(DESTDIR)$(rootlibdir) && \
-               so_img_name=$$(readlink $(DESTDIR)$(libdir)/libsystemd-login.so) && \
-               so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
-               ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libsystemd-login.so && \
-               mv $(DESTDIR)$(libdir)/libsystemd-login.so.* $(DESTDIR)$(rootlibdir); \
-       fi
-
-libsystemd-login-uninstall-hook:
-       rm -f $(DESTDIR)$(rootlibdir)/libsystemd-login.so*
-
 libsystemd_id128_la_SOURCES = \
        src/sd-id128.c
 
@@ -1877,7 +1945,7 @@ units/%: units/%.m4 Makefile
 units/user/%: units/%.m4 Makefile
        $(M4_PROCESS_USER)
 
-CLEANFILES = \
+CLEANFILES += \
        $(nodist_systemunit_DATA) \
        $(nodist_userunit_DATA) \
        $(nodist_man_MANS) \
@@ -1889,8 +1957,7 @@ CLEANFILES = \
        src/99-systemd.rules \
        src/load-fragment-gperf.gperf \
        src/load-fragment-gperf.c \
-       src/load-fragment-gperf-nulstr.c \
-       src/login/logind-gperf.c
+       src/load-fragment-gperf-nulstr.c
 
 if HAVE_VALAC
 CLEANFILES += \
@@ -1970,25 +2037,10 @@ org.freedesktop.systemd1.%.xml: systemd
                $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
                $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
 
-org.freedesktop.hostname1.xml: systemd-hostnamed
-       $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.hostname1 $< $@.tmp && \
-               $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
-               $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
-
-org.freedesktop.locale1.xml: systemd-localed
-       $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.locale1 $< $@.tmp && \
-               $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
-               $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
-
-org.freedesktop.timedate1.xml: systemd-timedated
-       $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.timedate1 $< $@.tmp && \
-               $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \
-               $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp
-
 CLEANFILES += \
        $(dbusinterface_DATA)
 
-install-data-hook:
+systemd-install-data-hook:
        $(MKDIR_P) -m 0755 \
                $(DESTDIR)$(tmpfilesdir) \
                $(DESTDIR)$(sysconfdir)/tmpfiles.d \
@@ -1999,11 +2051,6 @@ install-data-hook:
                $(DESTDIR)$(systemshutdowndir) \
                $(DESTDIR)$(systemgeneratordir) \
                $(DESTDIR)$(usergeneratordir)
-if ENABLE_BINFMT
-       $(MKDIR_P) -m 0755 \
-               $(DESTDIR)$(prefix)/lib/binfmt.d \
-               $(DESTDIR)$(sysconfdir)/binfmt.d
-endif
        $(MKDIR_P) -m 0755 \
                $(DESTDIR)$(systemunitdir) \
                $(DESTDIR)$(userunitdir) \
@@ -2085,17 +2132,15 @@ endif
                $(LN_S) graphical.target runlevel5.target && \
                $(LN_S) reboot.target runlevel6.target )
        ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f default.target ctrl-alt-del.target dbus-org.freedesktop.login1.service autovt@.service && \
+               rm -f default.target ctrl-alt-del.target autovt@.service && \
                $(LN_S) graphical.target default.target && \
                $(LN_S) reboot.target ctrl-alt-del.target && \
-               $(LN_S) systemd-logind.service dbus-org.freedesktop.login1.service && \
                $(LN_S) getty@.service autovt@.service )
        ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \
-               rm -f getty.target systemd-user-sessions.service systemd-ask-password-wall.path systemd-logind.service && \
+               rm -f getty.target systemd-user-sessions.service systemd-ask-password-wall.path && \
                $(LN_S) ../getty.target getty.target && \
                $(LN_S) ../systemd-user-sessions.service systemd-user-sessions.service && \
-               $(LN_S) ../systemd-ask-password-wall.path systemd-ask-password-wall.path && \
-               $(LN_S) ../systemd-logind.service systemd-logind.service )
+               $(LN_S) ../systemd-ask-password-wall.path systemd-ask-password-wall.path)
        ( cd $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants && \
                rm -f getty@tty1.service && \
                $(LN_S) $(systemunitdir)/getty@.service getty@tty1.service )
@@ -2131,28 +2176,6 @@ endif
                $(LN_S) ../systemd-ask-password-console.path systemd-ask-password-console.path && \
                $(LN_S) ../systemd-kmsg-syslogd.service && \
                $(LN_S) ../cryptsetup.target cryptsetup.target )
-if ENABLE_BINFMT
-       ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
-               rm -f systemd-binfmt.service \
-                       proc-sys-fs-binfmt_misc.automount && \
-               $(LN_S) ../systemd-binfmt.service systemd-binfmt.service && \
-               $(LN_S) ../proc-sys-fs-binfmt_misc.automount proc-sys-fs-binfmt_misc.automount )
-endif
-if ENABLE_HOSTNAMED
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f dbus-org.freedesktop.hostname1.service && \
-               $(LN_S) systemd-hostnamed.service dbus-org.freedesktop.hostname1.service )
-endif
-if ENABLE_TIMEDATED
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f dbus-org.freedesktop.timedate1.service  && \
-               $(LN_S) systemd-timedated.service dbus-org.freedesktop.timedate1.service )
-endif
-if ENABLE_LOCALED
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f dbus-org.freedesktop.locale1.service && \
-               $(LN_S) systemd-localed.service dbus-org.freedesktop.locale1.service )
-endif
        ( cd $(DESTDIR)$(systemunitdir)/basic.target.wants && \
                rm -f systemd-tmpfiles-clean.timer && \
                $(LN_S) ../systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.timer )
@@ -2267,9 +2290,11 @@ if HAVE_SYSV_COMPAT
                $(LN_S) ../var-lock.mount var-lock.mount )
 endif
 
-install-exec-hook: libsystemd-daemon-install-hook libsystemd-login-install-hook
+install-exec-hook: libsystemd-daemon-install-hook $(INSTALL_EXEC_HOOKS)
+
+uninstall-hook: libsystemd-daemon-uninstall-hook $(UNINSTALL_EXEC_HOOKS)
 
-uninstall-hook: libsystemd-daemon-uninstall-hook libsystemd-login-uninstall-hook
+install-data-hook: systemd-install-data-hook $(INSTALL_DATA_HOOKS)
 
 DISTCHECK_CONFIGURE_FLAGS = \
        --with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \