chiark / gitweb /
build-sys: create "compatibility libraries" section
[elogind.git] / Makefile.am
index 8a897cddd444d2e94f99f0f8812be13675d6a660..769d24a90aae7e4ac3abfcdea1c44ea54fe2513c 100644 (file)
@@ -44,7 +44,7 @@ LIBGUDEV_REVISION=3
 LIBGUDEV_AGE=1
 
 LIBSYSTEMD_LOGIN_CURRENT=9
-LIBSYSTEMD_LOGIN_REVISION=1
+LIBSYSTEMD_LOGIN_REVISION=2
 LIBSYSTEMD_LOGIN_AGE=9
 
 LIBSYSTEMD_DAEMON_CURRENT=0
@@ -189,7 +189,9 @@ AM_CPPFLAGS = \
        -I $(top_srcdir)/src/udev \
        -I $(top_srcdir)/src/udev/net \
        -I $(top_builddir)/src/udev \
-       -I $(top_srcdir)/src/libsystemd \
+       -I $(top_srcdir)/src/libsystemd/sd-bus \
+       -I $(top_srcdir)/src/libsystemd/sd-event \
+       -I $(top_srcdir)/src/libsystemd/sd-rtnl \
        $(OUR_CPPFLAGS)
 
 AM_CFLAGS = $(OUR_CFLAGS)
@@ -1802,14 +1804,7 @@ systemctl_LDADD = \
        libsystemd-units.la \
        libsystemd-label.la \
        libsystemd-internal.la \
-       libsystemd-logs.la
-
-if ENABLE_LOGIND
-systemctl_LDADD += \
-       libsystemd-login-internal.la
-endif
-
-systemctl_LDADD += \
+       libsystemd-logs.la \
        libsystemd-journal-internal.la \
        libsystemd-id128-internal.la \
        libsystemd-daemon-internal.la \
@@ -1984,56 +1979,60 @@ libsystemd_la_SOURCES = \
        src/systemd/sd-event.h \
        src/systemd/sd-rtnl.h \
        src/systemd/sd-resolve.h \
-       src/libsystemd/sd-bus.c \
-       src/libsystemd/bus-control.c \
-       src/libsystemd/bus-control.h \
-       src/libsystemd/bus-error.c \
-       src/libsystemd/bus-error.h \
-       src/libsystemd/bus-internal.c \
-       src/libsystemd/bus-internal.h \
-       src/libsystemd/bus-socket.c \
-       src/libsystemd/bus-socket.h \
-       src/libsystemd/bus-kernel.c \
-       src/libsystemd/bus-kernel.h \
-       src/libsystemd/bus-container.c \
-       src/libsystemd/bus-container.h \
-       src/libsystemd/bus-message.c \
-       src/libsystemd/bus-message.h \
-       src/libsystemd/bus-creds.c \
-       src/libsystemd/bus-creds.h \
-       src/libsystemd/bus-signature.c \
-       src/libsystemd/bus-signature.h \
-       src/libsystemd/bus-type.c \
-       src/libsystemd/bus-type.h \
-       src/libsystemd/bus-match.c \
-       src/libsystemd/bus-match.h \
-       src/libsystemd/bus-bloom.c \
-       src/libsystemd/bus-bloom.h \
-       src/libsystemd/bus-introspect.c \
-       src/libsystemd/bus-introspect.h \
-       src/libsystemd/bus-objects.c \
-       src/libsystemd/bus-objects.h \
-       src/libsystemd/bus-gvariant.c \
-       src/libsystemd/bus-gvariant.h \
-       src/libsystemd/bus-convenience.c \
-       src/libsystemd/kdbus.h \
-       src/libsystemd/sd-memfd.c \
-       src/libsystemd/bus-util.c \
-       src/libsystemd/bus-util.h \
-       src/libsystemd/sd-utf8.c \
-       src/libsystemd/sd-event.c \
-       src/libsystemd/event-util.h \
-       src/libsystemd/bus-protocol.h \
-       src/libsystemd/sd-rtnl.c \
-       src/libsystemd/rtnl-internal.h \
-       src/libsystemd/rtnl-message.c \
-       src/libsystemd/rtnl-util.h \
-       src/libsystemd/rtnl-util.c \
-       src/libsystemd/sd-resolve.c \
-       src/libsystemd/resolve-util.h
+       src/systemd/sd-login.h \
+       src/libsystemd/sd-bus/sd-bus.c \
+       src/libsystemd/sd-bus/bus-control.c \
+       src/libsystemd/sd-bus/bus-control.h \
+       src/libsystemd/sd-bus/bus-error.c \
+       src/libsystemd/sd-bus/bus-error.h \
+       src/libsystemd/sd-bus/bus-internal.c \
+       src/libsystemd/sd-bus/bus-internal.h \
+       src/libsystemd/sd-bus/bus-socket.c \
+       src/libsystemd/sd-bus/bus-socket.h \
+       src/libsystemd/sd-bus/bus-kernel.c \
+       src/libsystemd/sd-bus/bus-kernel.h \
+       src/libsystemd/sd-bus/bus-container.c \
+       src/libsystemd/sd-bus/bus-container.h \
+       src/libsystemd/sd-bus/bus-message.c \
+       src/libsystemd/sd-bus/bus-message.h \
+       src/libsystemd/sd-bus/bus-creds.c \
+       src/libsystemd/sd-bus/bus-creds.h \
+       src/libsystemd/sd-bus/bus-signature.c \
+       src/libsystemd/sd-bus/bus-signature.h \
+       src/libsystemd/sd-bus/bus-type.c \
+       src/libsystemd/sd-bus/bus-type.h \
+       src/libsystemd/sd-bus/bus-match.c \
+       src/libsystemd/sd-bus/bus-match.h \
+       src/libsystemd/sd-bus/bus-bloom.c \
+       src/libsystemd/sd-bus/bus-bloom.h \
+       src/libsystemd/sd-bus/bus-introspect.c \
+       src/libsystemd/sd-bus/bus-introspect.h \
+       src/libsystemd/sd-bus/bus-objects.c \
+       src/libsystemd/sd-bus/bus-objects.h \
+       src/libsystemd/sd-bus/bus-gvariant.c \
+       src/libsystemd/sd-bus/bus-gvariant.h \
+       src/libsystemd/sd-bus/bus-convenience.c \
+       src/libsystemd/sd-bus/bus-util.c \
+       src/libsystemd/sd-bus/bus-util.h \
+       src/libsystemd/sd-bus/bus-protocol.h \
+       src/libsystemd/sd-bus/kdbus.h \
+       src/libsystemd/sd-bus/sd-memfd.c \
+       src/libsystemd/sd-utf8/sd-utf8.c \
+       src/libsystemd/sd-event/sd-event.c \
+       src/libsystemd/sd-event/event-util.h \
+       src/libsystemd/sd-rtnl/sd-rtnl.c \
+       src/libsystemd/sd-rtnl/rtnl-internal.h \
+       src/libsystemd/sd-rtnl/rtnl-message.c \
+       src/libsystemd/sd-rtnl/rtnl-util.h \
+       src/libsystemd/sd-rtnl/rtnl-util.c \
+       src/libsystemd/sd-resolve/sd-resolve.c \
+       src/libsystemd/sd-resolve/resolve-util.h \
+       src/login/sd-login.c \
+       src/login/login-shared.c \
+       src/login/login-shared.h
 
 nodist_libsystemd_la_SOURCES = \
-       src/libsystemd/bus-error-mapping.c
+       src/libsystemd/sd-bus/bus-error-mapping.c
 
 libsystemd_la_LIBADD = \
        libsystemd-id128-internal.la \
@@ -2054,13 +2053,13 @@ pkgconfiglib_DATA += \
        src/libsystemd/libsystemd.pc
 
 EXTRA_DIST += \
-       src/libsystemd/bus-error-mapping.gperf \
-       src/libsystemd/libsystemd.pc.in \
-       src/libsystemd/DIFFERENCES \
-       src/libsystemd/GVARIANT-SERIALIZATION
+       src/libsystemd/sd-bus/bus-error-mapping.gperf \
+       src/libsystemd/sd-bus/DIFFERENCES \
+       src/libsystemd/sd-bus/GVARIANT-SERIALIZATION \
+       src/libsystemd/libsystemd.pc.in
 
 CLEANFILES += \
-       src/libsystemd/bus-error-mapping.c
+       src/libsystemd/sd-bus/bus-error-mapping.c
 
 lib_LTLIBRARIES += \
        libsystemd.la
@@ -2078,8 +2077,8 @@ noinst_LTLIBRARIES += \
        libsystemd-internal.la
 
 libsystemd_dump_la_SOURCES = \
-       src/libsystemd/bus-dump.c \
-       src/libsystemd/bus-dump.h
+       src/libsystemd/sd-bus/bus-dump.c \
+       src/libsystemd/sd-bus/bus-dump.h
 
 libsystemd_dump_la_CFLAGS = \
        $(AM_CFLAGS) \
@@ -2113,7 +2112,7 @@ bin_PROGRAMS += \
        busctl
 
 test_bus_marshal_SOURCES = \
-       src/libsystemd/test-bus-marshal.c
+       src/libsystemd/sd-bus/test-bus-marshal.c
 
 test_bus_marshal_LDADD = \
        libsystemd-internal.la \
@@ -2133,14 +2132,14 @@ test_bus_marshal_CFLAGS = \
        $(CAP_CFLAGS)
 
 test_bus_signature_SOURCES = \
-       src/libsystemd/test-bus-signature.c
+       src/libsystemd/sd-bus/test-bus-signature.c
 
 test_bus_signature_LDADD = \
        libsystemd-shared.la \
        libsystemd-internal.la
 
 test_bus_chat_SOURCES = \
-       src/libsystemd/test-bus-chat.c
+       src/libsystemd/sd-bus/test-bus-chat.c
 
 test_bus_chat_CFLAGS = \
        $(AM_CFLAGS) \
@@ -2153,7 +2152,7 @@ test_bus_chat_LDADD = \
        libsystemd-shared.la
 
 test_bus_cleanup_SOURCES = \
-       src/libsystemd/test-bus-cleanup.c
+       src/libsystemd/sd-bus/test-bus-cleanup.c
 
 test_bus_cleanup_LDADD = \
        libsystemd-internal.la \
@@ -2162,7 +2161,7 @@ test_bus_cleanup_LDADD = \
        libsystemd-shared.la
 
 test_bus_server_SOURCES = \
-       src/libsystemd/test-bus-server.c
+       src/libsystemd/sd-bus/test-bus-server.c
 
 test_bus_server_CFLAGS = \
        $(AM_CFLAGS) \
@@ -2175,7 +2174,7 @@ test_bus_server_LDADD = \
        libsystemd-shared.la
 
 test_bus_objects_SOURCES = \
-       src/libsystemd/test-bus-objects.c
+       src/libsystemd/sd-bus/test-bus-objects.c
 
 test_bus_objects_CFLAGS = \
        $(AM_CFLAGS) \
@@ -2192,7 +2191,7 @@ test_bus_objects_LDADD = \
        $(CAP_LIBS)
 
 test_bus_error_SOURCES = \
-       src/libsystemd/test-bus-error.c
+       src/libsystemd/sd-bus/test-bus-error.c
 
 test_bus_error_LDADD = \
        libsystemd-internal.la \
@@ -2201,7 +2200,7 @@ test_bus_error_LDADD = \
        libsystemd-shared.la
 
 test_bus_gvariant_SOURCES = \
-       src/libsystemd/test-bus-gvariant.c
+       src/libsystemd/sd-bus/test-bus-gvariant.c
 
 test_bus_gvariant_LDADD = \
        libsystemd-internal.la \
@@ -2219,7 +2218,7 @@ test_bus_gvariant_CFLAGS = \
        $(CAP_CFLAGS)
 
 test_bus_creds_SOURCES = \
-       src/libsystemd/test-bus-creds.c
+       src/libsystemd/sd-bus/test-bus-creds.c
 
 test_bus_creds_LDADD = \
        libsystemd-internal.la \
@@ -2230,7 +2229,7 @@ test_bus_creds_LDADD = \
        libsystemd-capability.la
 
 test_bus_match_SOURCES = \
-       src/libsystemd/test-bus-match.c
+       src/libsystemd/sd-bus/test-bus-match.c
 
 test_bus_match_LDADD = \
        libsystemd-internal.la \
@@ -2239,7 +2238,7 @@ test_bus_match_LDADD = \
        libsystemd-shared.la
 
 test_bus_kernel_SOURCES = \
-       src/libsystemd/test-bus-kernel.c
+       src/libsystemd/sd-bus/test-bus-kernel.c
 
 test_bus_kernel_LDADD = \
        libsystemd-internal.la \
@@ -2255,7 +2254,7 @@ test_bus_kernel_CFLAGS = \
        $(CAP_CFLAGS)
 
 test_bus_kernel_bloom_SOURCES = \
-       src/libsystemd/test-bus-kernel-bloom.c
+       src/libsystemd/sd-bus/test-bus-kernel-bloom.c
 
 test_bus_kernel_bloom_LDADD = \
        libsystemd-internal.la \
@@ -2264,7 +2263,7 @@ test_bus_kernel_bloom_LDADD = \
        libsystemd-shared.la
 
 test_bus_kernel_benchmark_SOURCES = \
-       src/libsystemd/test-bus-kernel-benchmark.c
+       src/libsystemd/sd-bus/test-bus-kernel-benchmark.c
 
 test_bus_kernel_benchmark_LDADD = \
        libsystemd-internal.la \
@@ -2273,14 +2272,14 @@ test_bus_kernel_benchmark_LDADD = \
        libsystemd-shared.la
 
 test_bus_memfd_SOURCES = \
-       src/libsystemd/test-bus-memfd.c
+       src/libsystemd/sd-bus/test-bus-memfd.c
 
 test_bus_memfd_LDADD = \
        libsystemd-internal.la \
        libsystemd-shared.la
 
 test_bus_zero_copy_SOURCES = \
-       src/libsystemd/test-bus-zero-copy.c
+       src/libsystemd/sd-bus/test-bus-zero-copy.c
 
 test_bus_zero_copy_LDADD = \
        libsystemd-internal.la \
@@ -2296,14 +2295,14 @@ test_bus_zero_copy_CFLAGS = \
        $(CAP_CFLAGS)
 
 test_bus_introspect_SOURCES = \
-       src/libsystemd/test-bus-introspect.c
+       src/libsystemd/sd-bus/test-bus-introspect.c
 
 test_bus_introspect_LDADD = \
        libsystemd-shared.la \
        libsystemd-internal.la
 
 test_event_SOURCES = \
-       src/libsystemd/test-event.c
+       src/libsystemd/sd-event/test-event.c
 
 test_event_LDADD = \
        libsystemd-internal.la \
@@ -2312,7 +2311,7 @@ test_event_LDADD = \
        libsystemd-shared.la
 
 test_rtnl_SOURCES = \
-       src/libsystemd/test-rtnl.c
+       src/libsystemd/sd-rtnl/test-rtnl.c
 
 test_rtnl_LDADD = \
        libsystemd-internal.la \
@@ -2322,7 +2321,7 @@ test_rtnl_LDADD = \
 
 test_resolve_SOURCES = \
        src/systemd/sd-resolve.h \
-       src/libsystemd/test-resolve.c
+       src/libsystemd/sd-resolve/test-resolve.c
 
 test_resolve_LDADD = \
        libsystemd-internal.la \
@@ -2333,7 +2332,7 @@ test_resolve_CFLAGS = \
        -pthread
 
 busctl_SOURCES = \
-       src/libsystemd/busctl.c
+       src/libsystemd/sd-bus/busctl.c
 
 busctl_LDADD = \
        libsystemd-internal.la \
@@ -3270,11 +3269,6 @@ libsystemd_journal_core_la_LIBADD = \
        libsystemd-id128-internal.la \
        libsystemd-shared.la
 
-if ENABLE_LOGIND
-libsystemd_journal_core_la_LIBADD += \
-       libsystemd-login-internal.la
-endif
-
 if HAVE_ACL
 libsystemd_journal_core_la_LIBADD += \
        libsystemd-acl.la
@@ -3472,12 +3466,8 @@ systemd_coredump_SOURCES = \
 systemd_coredump_LDADD = \
        libsystemd-journal-internal.la \
        libsystemd-label.la \
-       libsystemd-shared.la
-
-if ENABLE_LOGIND
-systemd_coredump_LDADD += \
-       libsystemd-login-internal.la
-endif
+       libsystemd-shared.la \
+       libsystemd-internal.la
 
 rootlibexec_PROGRAMS += \
        systemd-coredump
@@ -4080,7 +4070,7 @@ systemd_networkd_SOURCES = \
        src/network/networkd.h \
        src/network/networkd.c \
        src/network/networkd-link.c \
-       src/network/networkd-bridge.c \
+       src/network/networkd-netdev.c \
        src/network/networkd-network.c \
        src/network/networkd-address.c \
        src/network/networkd-route.c \
@@ -4108,7 +4098,7 @@ test_network_SOURCES = \
        src/network/test-network.c \
        src/network/networkd.h \
        src/network/networkd-link.c \
-       src/network/networkd-bridge.c \
+       src/network/networkd-netdev.c \
        src/network/networkd-network.c \
        src/network/networkd-address.c \
        src/network/networkd-route.c \
@@ -4240,14 +4230,14 @@ test_login_SOURCES = \
        src/login/test-login.c
 
 test_login_LDADD = \
-       libsystemd-login-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 
 test_login_shared_SOURCES = \
        src/login/test-login-shared.c
 
 test_login_shared_LDADD = \
-       libsystemd-login-internal.la \
+       libsystemd-internal.la \
        libsystemd-shared.la
 
 test_inhibit_SOURCES = \
@@ -4273,29 +4263,6 @@ tests += \
        test-login-tables \
        test-login-shared
 
-libsystemd_login_la_SOURCES = \
-       src/login/libsystemd-login.sym \
-       src/login/sd-login.c \
-       src/systemd/sd-login.h \
-       src/login/login-shared.c \
-       src/login/login-shared.h
-
-libsystemd_login_la_CFLAGS = \
-       $(AM_CFLAGS) \
-       -fvisibility=hidden
-
-libsystemd_login_la_LDFLAGS = \
-       $(AM_LDFLAGS) \
-       -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-daemon-internal.la \
-       libsystemd-shared.la
-
-libsystemd_login_internal_la_SOURCES = \
-       $(libsystemd_login_la_SOURCES)
-
 if HAVE_PAM
 pam_systemd_la_SOURCES = \
        src/login/pam-module.c
@@ -4328,16 +4295,6 @@ dist_pamconf_DATA = \
        src/login/systemd-user
 endif
 
-# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
-libsystemd-login-install-hook:
-       libname=libsystemd-login.so && $(move-to-rootlibdir)
-
-libsystemd-login-uninstall-hook:
-       rm -f $(DESTDIR)$(rootlibdir)/libsystemd-login.so*
-
-INSTALL_EXEC_HOOKS += libsystemd-login-install-hook
-UNINSTALL_EXEC_HOOKS += libsystemd-login-uninstall-hook
-
 nodist_systemunit_DATA += \
        units/systemd-logind.service \
        units/systemd-user-sessions.service
@@ -4358,15 +4315,6 @@ dist_pkgsysconf_DATA += \
 pkginclude_HEADERS += \
        src/systemd/sd-login.h
 
-lib_LTLIBRARIES += \
-       libsystemd-login.la
-
-noinst_LTLIBRARIES += \
-       libsystemd-login-internal.la
-
-pkgconfiglib_DATA += \
-       src/login/libsystemd-login.pc
-
 polkitpolicy_files += \
        src/login/org.freedesktop.login1.policy
 
@@ -4416,7 +4364,7 @@ polkitpolicy_in_files += \
 
 EXTRA_DIST += \
        src/login/logind-gperf.gperf \
-       src/login/libsystemd-login.pc.in \
+       src/compat-libs/libsystemd-login.pc.in \
        src/login/71-seat.rules.in \
        src/login/73-seat-late.rules.in \
        units/systemd-logind.service.in \
@@ -4534,7 +4482,7 @@ login_la_LDFLAGS = \
 login_la_LIBADD = \
        $(PYTHON_DEVEL_LIBS) \
        libsystemd-journal.la \
-       libsystemd-login.la \
+       libsystemd.la \
        libsystemd-daemon-internal.la \
        libsystemd-shared.la
 
@@ -4578,6 +4526,56 @@ clean-python:
        -rm -rf src/python-systemd/.libs src/python-systemd/*.l[ao]
        -rm -f _daemon.la id128.la _journal.la login.la _reader.la
 
+# ------------------------------------------------------------------------------
+if ENABLE_COMPAT_LIBS
+
+define generate-fake-lib
+       $(AM_V_at)$(MKDIR_P) $(dir $@)
+       $(AM_V_GEN)sed -r -n 's/^ +(sd_.*);/void new_\1(void);\n__asm__(".symver new_\1,\1@LIBSYSTEMD_209");\nstatic void (*resolve_\1(void)) (void) {\n\treturn new_\1;\n}\nvoid \1(void) __attribute__((ifunc("resolve_\1")));\nobsolete_lib(\1,$(notdir $(basename $<)));\n/p' <$< >$@
+endef
+
+libsystemd_login_la_SOURCES = \
+       libsystemd-login.c \
+       src/compat-libs/libsystemd-login.sym
+
+libsystemd_login_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       -fvisibility=default \
+       -imacros $(top_srcdir)/src/compat-libs/linkwarning.h \
+       -fno-lto
+
+libsystemd_login_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
+       -version-info $(LIBSYSTEMD_LOGIN_CURRENT):$(LIBSYSTEMD_LOGIN_REVISION):$(LIBSYSTEMD_LOGIN_AGE) \
+       -Wl,--version-script=$(top_srcdir)/src/compat-libs/libsystemd-login.sym
+
+libsystemd_login_la_LIBADD = \
+       libsystemd.la
+
+BUILT_SOURCES += \
+       libsystemd-login.c
+
+libsystemd-login.c: src/compat-libs/libsystemd-login.sym
+       $(generate-fake-lib)
+
+lib_LTLIBRARIES += \
+       libsystemd-login.la
+
+pkgconfiglib_DATA += \
+       src/compat-libs/libsystemd-login.pc
+
+# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
+libsystemd-login-install-hook:
+       libname=libsystemd-login.so && $(move-to-rootlibdir)
+
+libsystemd-login-uninstall-hook:
+       rm -f $(DESTDIR)$(rootlibdir)/libsystemd-login.so*
+
+INSTALL_EXEC_HOOKS += libsystemd-login-install-hook
+UNINSTALL_EXEC_HOOKS += libsystemd-login-uninstall-hook
+
+endif
+
 # ------------------------------------------------------------------------------
 substitutions = \
        '|rootlibexecdir=$(rootlibexecdir)|' \
@@ -4994,7 +4992,8 @@ endef
 test-libsystemd-sym.c: \
        src/libsystemd/libsystemd.sym \
        src/systemd/sd-bus.h \
-       src/systemd/sd-utf8.h
+       src/systemd/sd-utf8.h \
+       src/systemd/sd-login.h
        $(generate-sym-test)
 
 test-libsystemd-daemon-sym.c: \
@@ -5013,7 +5012,7 @@ test-libsystemd-journal-sym.c: \
        $(generate-sym-test)
 
 test-libsystemd-login-sym.c: \
-       src/login/libsystemd-login.sym \
+       src/compat-libs/libsystemd-login.sym \
        src/systemd/sd-login.h
        $(generate-sym-test)
 
@@ -5065,9 +5064,13 @@ tests += \
        test-libsystemd-daemon-sym \
        test-libsystemd-id128-sym \
        test-libsystemd-journal-sym \
-       test-libsystemd-login-sym \
        test-libudev-sym
 
+if ENABLE_COMPAT_LIBS
+tests += \
+       test-libsystemd-login-sym
+endif
+
 cppcheck:
        cppcheck --enable=all -q $(top_srcdir)