X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile.am;h=06d4fcf233951bc12013e592c101d11cd87bd321;hp=55a945b65b7b40acaba9fad0b559f1be5e64c1fe;hb=780896a4f1ec7e36c8f72c866ba9693d790f9741;hpb=d23284faa9a4d78410b939d42d20b6da3e475f87 diff --git a/Makefile.am b/Makefile.am index 55a945b65..06d4fcf23 100644 --- a/Makefile.am +++ b/Makefile.am @@ -163,6 +163,7 @@ AM_CPPFLAGS = \ -DSYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH=\"$(rootbindir)/systemd-tty-ask-password-agent\" \ -DSYSTEMD_STDIO_BRIDGE_BINARY_PATH=\"$(bindir)/systemd-stdio-bridge\" \ -DROOTPREFIX=\"$(rootprefix)\" \ + -DRANDOM_SEED_DIR=\"$(localstatedir)/lib/systemd/\" \ -DRANDOM_SEED=\"$(localstatedir)/lib/systemd/random-seed\" \ -DSYSTEMD_CRYPTSETUP_PATH=\"$(rootlibexecdir)/systemd-cryptsetup\" \ -DSYSTEM_GENERATOR_PATH=\"$(systemgeneratordir)\" \ @@ -176,6 +177,7 @@ AM_CPPFLAGS = \ -DQUOTACHECK=\"$(QUOTACHECK)\" \ -DKEXEC=\"$(KEXEC)\" \ -I $(top_srcdir)/src \ + -I $(top_builddir)/src/shared \ -I $(top_srcdir)/src/shared \ -I $(top_srcdir)/src/network \ -I $(top_srcdir)/src/login \ @@ -646,6 +648,8 @@ test_rtnl_SOURCES = \ test_rtnl_LDADD = \ libsystemd-rtnl.la \ + libsystemd-bus-internal.la \ + libsystemd-id128-internal.la \ libsystemd-shared.la tests += test-rtnl @@ -659,16 +663,19 @@ libsystemd_shared_la_SOURCES = \ src/shared/linux/fanotify.h \ src/shared/linux/seccomp.h \ src/shared/linux/seccomp-bpf.h \ + src/shared/ioprio.h \ src/shared/missing.h \ src/shared/list.h \ src/shared/macro.h \ src/shared/def.h \ + src/shared/sparse-endian.h \ + src/shared/refcnt.h \ + src/shared/udev-util.h \ + src/shared/bus-errors.h \ src/shared/device-nodes.c \ src/shared/device-nodes.h \ - src/shared/sparse-endian.h \ src/shared/util.c \ src/shared/util.h \ - src/shared/udev-util.h \ src/shared/virt.c \ src/shared/virt.h \ src/shared/efivars.c \ @@ -709,7 +716,6 @@ libsystemd_shared_la_SOURCES = \ src/shared/gunicode.h \ src/shared/pager.c \ src/shared/pager.h \ - src/shared/ioprio.h \ src/shared/socket-util.c \ src/shared/socket-util.h \ src/shared/conf-files.c \ @@ -745,7 +751,6 @@ libsystemd_shared_la_SOURCES = \ src/shared/acpi-fpdt.c \ src/shared/boot-timestamps.h \ src/shared/boot-timestamps.c \ - src/shared/refcnt.h \ src/shared/mkdir.c \ src/shared/mkdir.h \ src/shared/smack-util.c \ @@ -757,22 +762,13 @@ libsystemd_shared_la_SOURCES = \ src/shared/ptyfwd.c \ src/shared/ptyfwd.h \ src/shared/net-util.c \ - src/shared/net-util.h - -#------------------------------------------------------------------------------- -noinst_LTLIBRARIES += \ - libsystemd-dbus.la + src/shared/net-util.h \ + src/shared/errno-list.c \ + src/shared/errno-list.h -libsystemd_dbus_la_SOURCES = \ - src/shared/dbus-common.c \ - src/shared/dbus-common.h - -libsystemd_dbus_la_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - -libsystemd_dbus_la_LIBADD = \ - $(DBUS_LIBS) +nodist_libsystemd_shared_la_SOURCES = \ + src/shared/errno-from-name.h \ + src/shared/errno-to-name.h # ------------------------------------------------------------------------------ noinst_LTLIBRARIES += \ @@ -789,8 +785,7 @@ libsystemd_units_la_SOURCES = \ src/shared/specifier.h libsystemd_units_la_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) + $(AM_CFLAGS) # ------------------------------------------------------------------------------ noinst_LTLIBRARIES += \ @@ -950,6 +945,8 @@ libsystemd_core_la_SOURCES = \ src/core/dbus-kill.h \ src/core/dbus-cgroup.c \ src/core/dbus-cgroup.h \ + src/core/dbus-client-track.c \ + src/core/dbus-client-track.h \ src/core/cgroup.c \ src/core/cgroup.h \ src/core/selinux-access.c \ @@ -979,7 +976,6 @@ libsystemd_core_la_SOURCES = \ src/core/securebits.h \ src/core/initreq.h \ src/core/special.h \ - src/core/bus-errors.h \ src/core/build.h \ src/core/sysfs-show.h \ src/core/switch-root.h \ @@ -1007,7 +1003,6 @@ nodist_libsystemd_core_la_SOURCES = \ libsystemd_core_la_CFLAGS = \ $(AM_CFLAGS) \ - $(DBUS_CFLAGS) \ $(LIBWRAP_CFLAGS) \ $(PAM_CFLAGS) \ $(AUDIT_CFLAGS) \ @@ -1018,12 +1013,13 @@ libsystemd_core_la_LIBADD = \ libsystemd-capability.la \ libsystemd-units.la \ libsystemd-label.la \ - libsystemd-dbus.la \ libsystemd-audit.la \ libsystemd-id128-internal.la \ libsystemd-daemon-internal.la \ libudev-internal.la \ libsystemd-shared.la \ + libsystemd-rtnl.la \ + libsystemd-bus-internal.la \ $(LIBWRAP_LIBS) \ $(PAM_LIBS) \ $(AUDIT_LIBS) \ @@ -1042,11 +1038,15 @@ CLEANFILES += \ src/core/load-fragment-gperf.c \ src/core/load-fragment-gperf-nulstr.c \ src/core/syscall-list.txt \ - src/core/syscall-from-name.gperf + src/core/syscall-from-name.gperf \ + src/shared/errno-list.txt \ + src/shared/errno-from-name.gperf BUILT_SOURCES += \ src/core/syscall-from-name.h \ - src/core/syscall-to-name.h + src/core/syscall-to-name.h \ + src/shared/errno-from-name.h \ + src/shared/errno-to-name.h src/core/syscall-list.txt: Makefile $(AM_V_at)$(MKDIR_P) $(dir $@) @@ -1062,16 +1062,28 @@ src/core/syscall-from-name.h: src/core/syscall-from-name.gperf Makefile src/core/syscall-to-name.h: src/core/syscall-list.txt Makefile $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const syscall_names[] = { "} { printf "[SYSCALL_TO_INDEX(__NR_%s)] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ + $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const syscall_names[] = { "} { printf "[SYSCALL_TO_INDEX(__NR_%s)] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ + +src/shared/errno-list.txt: Makefile + $(AM_V_at)$(MKDIR_P) $(dir $@) + $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+[0-9]/ { print $$2; }' > $@ + +src/shared/errno-from-name.gperf: src/shared/errno-list.txt Makefile + $(AM_V_at)$(MKDIR_P) $(dir $@) + $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct errno_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, %s\n", $$1, $$1 }' < $< > $@ + +src/shared/errno-from-name.h: src/shared/errno-from-name.gperf Makefile + $(AM_V_at)$(MKDIR_P) $(dir $@) + $(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_errno -H hash_errno_name -p -C < $< > $@ + +src/shared/errno-to-name.h: src/shared/errno-list.txt Makefile + $(AM_V_at)$(MKDIR_P) $(dir $@) + $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@ # ------------------------------------------------------------------------------ systemd_SOURCES = \ src/core/main.c -systemd_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - systemd_LDADD = \ libsystemd-core.la \ $(RT_LIBS) @@ -1135,6 +1147,7 @@ tests += \ test-calendarspec \ test-strip-tab-ansi \ test-cgroup-util \ + test-cgroup-mask \ test-prioq \ test-fileio \ test-time \ @@ -1162,10 +1175,6 @@ test_device_nodes_LDADD = \ test_engine_SOURCES = \ src/test/test-engine.c -test_engine_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_engine_LDADD = \ libsystemd-core.la \ $(RT_LIBS) @@ -1173,10 +1182,6 @@ test_engine_LDADD = \ test_job_type_SOURCES = \ src/test/test-job-type.c -test_job_type_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_job_type_LDADD = \ libsystemd-core.la \ $(RT_LIBS) @@ -1187,10 +1192,6 @@ test_ns_SOURCES = \ test_ns_LDADD = \ libsystemd-core.la -test_ns_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_loopback_SOURCES = \ src/test/test-loopback.c @@ -1217,10 +1218,6 @@ endif test_unit_name_SOURCES = \ src/test/test-unit-name.c -test_unit_name_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_unit_name_LDADD = \ libsystemd-core.la \ $(RT_LIBS) @@ -1228,10 +1225,6 @@ test_unit_name_LDADD = \ test_unit_file_SOURCES = \ src/test/test-unit-file.c -test_unit_file_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_unit_file_LDADD = \ libsystemd-core.la \ $(RT_LIBS) @@ -1270,10 +1263,6 @@ test_tables_SOURCES = \ src/test/test-tables.c \ src/shared/test-tables.h -test_tables_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_tables_LDADD = \ libsystemd-logs.la \ libsystemd-journal-internal.la \ @@ -1354,6 +1343,18 @@ test_cgroup_LDADD = \ libsystemd-label.la \ libsystemd-shared.la +test_cgroup_mask_SOURCES = \ + src/test/test-cgroup-mask.c + +test_cgroup_mask_CFLAGS = \ + $(AM_CFLAGS) \ + $(DBUS_CFLAGS) \ + -D"STR(s)=\#s" -D"TEST_DIR=STR($(abs_top_srcdir)/test/)" + +test_cgroup_mask_LDADD = \ + libsystemd-core.la \ + $(RT_LIBS) + test_cgroup_util_SOURCES = \ src/test/test-cgroup-util.c @@ -1397,10 +1398,6 @@ test_strxcpyx_LDADD = \ test_install_SOURCES = \ src/test/test-install.c -test_install_CFLAGS = \ - $(AM_CFLAGS) \ - $(DBUS_CFLAGS) - test_install_LDADD = \ libsystemd-units.la \ libsystemd-label.la \ @@ -1418,7 +1415,6 @@ test_sched_prio_SOURCES = \ test_sched_prio_CFLAGS = \ $(AM_CFLAGS) \ - $(DBUS_CFLAGS) \ -D"STR(s)=\#s" -D"TEST_DIR=STR($(abs_top_srcdir)/test/)" test_sched_prio_LDADD = \ @@ -1730,6 +1726,10 @@ bootctl_LDADD = \ bin_PROGRAMS += \ bootctl + +dist_zshcompletion_DATA += \ + shell-completion/zsh/_bootctl + endif # ------------------------------------------------------------------------------ @@ -1847,7 +1847,8 @@ systemd_nspawn_LDADD = \ libsystemd-bus-internal.la \ libsystemd-id128-internal.la \ libsystemd-daemon-internal.la \ - libsystemd-shared.la + libsystemd-shared.la \ + libsystemd-rtnl.la # ------------------------------------------------------------------------------ systemd_run_SOURCES = \ @@ -1881,6 +1882,7 @@ systemd_tty_ask_password_agent_LDADD = \ # ------------------------------------------------------------------------------ libsystemd_daemon_la_SOURCES = \ + src/libsystemd-daemon/libsystemd-daemon.sym \ src/libsystemd-daemon/sd-daemon.c libsystemd_daemon_internal_la_SOURCES = \ @@ -1926,11 +1928,11 @@ pkgconfiglib_DATA += \ src/libsystemd-daemon/libsystemd-daemon.pc EXTRA_DIST += \ - src/libsystemd-daemon/libsystemd-daemon.pc.in \ - src/libsystemd-daemon/libsystemd-daemon.sym + src/libsystemd-daemon/libsystemd-daemon.pc.in # ------------------------------------------------------------------------------ libsystemd_bus_la_SOURCES = \ + src/libsystemd-bus/libsystemd-bus.sym \ src/systemd/sd-bus.h \ src/systemd/sd-bus-protocol.h \ src/systemd/sd-bus-vtable.h \ @@ -1991,8 +1993,7 @@ pkgconfiglib_DATA += \ src/libsystemd-bus/libsystemd-bus.pc EXTRA_DIST += \ - src/libsystemd-bus/libsystemd-bus.pc.in \ - src/libsystemd-bus/libsystemd-bus.sym + src/libsystemd-bus/libsystemd-bus.pc.in lib_LTLIBRARIES += \ libsystemd-bus.la @@ -2006,6 +2007,17 @@ libsystemd_bus_internal_la_CFLAGS = \ noinst_LTLIBRARIES += \ libsystemd-bus-internal.la +libsystemd_bus_dump_la_SOURCES = \ + src/libsystemd-bus/bus-dump.c \ + src/libsystemd-bus/bus-dump.h + +libsystemd_bus_dump_la_CFLAGS = \ + $(AM_CFLAGS) + $(CAP_CFLAGS) + +noinst_LTLIBRARIES += \ + libsystemd-bus-dump.la + tests += \ test-bus-marshal \ test-bus-signature \ @@ -2019,6 +2031,7 @@ tests += \ test-bus-zero-copy \ test-bus-introspect \ test-bus-objects \ + test-bus-error \ test-event bin_PROGRAMS += \ @@ -2032,13 +2045,17 @@ test_bus_marshal_LDADD = \ libsystemd-id128-internal.la \ libsystemd-daemon-internal.la \ libsystemd-shared.la \ + libsystemd-bus-dump.la \ + libsystemd-capability.la \ $(GLIB_LIBS) \ - $(DBUS_LIBS) + $(DBUS_LIBS) \ + $(CAP_LIBS) test_bus_marshal_CFLAGS = \ $(AM_CFLAGS) \ $(GLIB_CFLAGS) \ - $(DBUS_CFLAGS) + $(DBUS_CFLAGS) \ + $(CAP_CFLAGS) test_bus_signature_SOURCES = \ src/libsystemd-bus/test-bus-signature.c @@ -2078,9 +2095,22 @@ test_bus_objects_SOURCES = \ test_bus_objects_CFLAGS = \ $(AM_CFLAGS) \ + $(CAP_CFLAGS) \ -pthread test_bus_objects_LDADD = \ + libsystemd-bus-internal.la \ + libsystemd-id128-internal.la \ + libsystemd-daemon-internal.la \ + libsystemd-shared.la \ + libsystemd-bus-dump.la \ + libsystemd-capability.la \ + $(CAP_LIBS) + +test_bus_error_SOURCES = \ + src/libsystemd-bus/test-bus-error.c + +test_bus_error_LDADD = \ libsystemd-bus-internal.la \ libsystemd-id128-internal.la \ libsystemd-daemon-internal.la \ @@ -2102,7 +2132,14 @@ test_bus_kernel_LDADD = \ libsystemd-bus-internal.la \ libsystemd-id128-internal.la \ libsystemd-daemon-internal.la \ - libsystemd-shared.la + libsystemd-shared.la \ + libsystemd-bus-dump.la \ + libsystemd-capability.la \ + $(CAP_LIBS) + +test_bus_kernel_CFLAGS = \ + $(AM_CFLAGS) \ + $(CAP_CFLAGS) test_bus_kernel_bloom_SOURCES = \ src/libsystemd-bus/test-bus-kernel-bloom.c @@ -2136,7 +2173,14 @@ test_bus_zero_copy_LDADD = \ libsystemd-bus-internal.la \ libsystemd-id128-internal.la \ libsystemd-daemon-internal.la \ - libsystemd-shared.la + libsystemd-shared.la \ + libsystemd-bus-dump.la \ + libsystemd-capability.la \ + $(CAP_LIBS) + +test_bus_zero_copy_CFLAGS = \ + $(AM_CFLAGS) \ + $(CAP_CFLAGS) test_bus_introspect_SOURCES = \ src/libsystemd-bus/test-bus-introspect.c @@ -2161,7 +2205,14 @@ busctl_LDADD = \ libsystemd-bus-internal.la \ libsystemd-id128-internal.la \ libsystemd-daemon-internal.la \ - libsystemd-shared.la + libsystemd-shared.la \ + libsystemd-bus-dump.la \ + libsystemd-capability.la \ + $(CAP_LIBS) + +busctl_CFLAGS = \ + $(AM_CFLAGS) \ + $(CAP_CFLAGS) # ------------------------------------------------------------------------------ if ENABLE_GTK_DOC @@ -2180,6 +2231,7 @@ lib_LTLIBRARIES += \ libudev.la libudev_la_SOURCES =\ + src/libudev/libudev.sym \ src/libudev/libudev-private.h \ src/libudev/libudev.c \ src/libudev/libudev-list.c \ @@ -2209,8 +2261,7 @@ pkgconfiglib_DATA += \ src/libudev/libudev.pc EXTRA_DIST += \ - src/libudev/libudev.pc.in \ - src/libudev/libudev.sym + src/libudev/libudev.pc.in CLEANFILES += \ src/libudev/libudev.pc \ @@ -2751,9 +2802,6 @@ mtd_probe_SOURCES = \ src/udev/mtd_probe/mtd_probe.h \ src/udev/mtd_probe/probe_smartmedia.c -mtd_probe_CPPFLAGS = \ - $(AM_CPPFLAGS) - dist_udevrules_DATA += \ rules/75-probe_mtd.rules @@ -2762,6 +2810,7 @@ udevlibexec_PROGRAMS += \ # ------------------------------------------------------------------------------ libsystemd_id128_la_SOURCES = \ + src/libsystemd-id128/libsystemd-id128.sym \ src/libsystemd-id128/sd-id128.c libsystemd_id128_la_CFLAGS = \ @@ -2774,6 +2823,7 @@ libsystemd_id128_la_LDFLAGS = \ -Wl,--version-script=$(top_srcdir)/src/libsystemd-id128/libsystemd-id128.sym libsystemd_id128_la_LIBADD = \ + libsystemd-daemon-internal.la \ libsystemd-shared.la libsystemd_id128_internal_la_SOURCES = \ @@ -2813,8 +2863,7 @@ INSTALL_EXEC_HOOKS += libsystemd-id128-install-hook UNINSTALL_EXEC_HOOKS += libsystemd-id128-uninstall-hook EXTRA_DIST += \ - src/libsystemd-id128/libsystemd-id128.pc.in \ - src/libsystemd-id128/libsystemd-id128.sym + src/libsystemd-id128/libsystemd-id128.pc.in # ------------------------------------------------------------------------------ @@ -2944,6 +2993,7 @@ test_catalog_LDADD = \ libsystemd-journal-core.la libsystemd_journal_la_SOURCES = \ + src/journal/libsystemd-journal.sym \ src/journal/sd-journal.c \ src/systemd/sd-journal.h \ src/systemd/_sd-common.h \ @@ -3151,6 +3201,7 @@ pkgconfiglib_DATA += \ src/journal/libsystemd-journal.pc dist_catalog_DATA = \ + catalog/systemd-fr.catalog \ catalog/systemd.catalog SOCKETS_TARGET_WANTS += \ @@ -3161,7 +3212,6 @@ SYSINIT_TARGET_WANTS += \ EXTRA_DIST += \ src/journal/libsystemd-journal.pc.in \ - src/journal/libsystemd-journal.sym \ units/systemd-journald.service.in \ units/systemd-journal-flush.service.in \ src/journal/journald-gperf.gperf @@ -3772,6 +3822,7 @@ EXTRA_DIST += \ endif # ------------------------------------------------------------------------------ +if ENABLE_NETWORKD rootlibexec_PROGRAMS += \ systemd-networkd @@ -3789,7 +3840,8 @@ nodist_systemd_networkd_SOURCES = \ systemd_networkd_LDADD = \ libudev-internal.la \ - libsystemd-bus.la \ + libsystemd-bus-internal.la \ + libsystemd-id128-internal.la \ libsystemd-rtnl.la \ libsystemd-shared.la @@ -3811,7 +3863,8 @@ test_network_SOURCES = \ test_network_LDADD = \ libudev-internal.la \ - libsystemd-bus.la \ + libsystemd-bus-internal.la \ + libsystemd-id128-internal.la \ libsystemd-rtnl.la \ libsystemd-shared.la @@ -3823,6 +3876,7 @@ EXTRA_DIST += \ CLEANFILES += \ src/network/networkd-gperf.c +endif # ------------------------------------------------------------------------------ if ENABLE_LOGIND @@ -3838,7 +3892,6 @@ systemd_logind_LDADD = \ libsystemd_logind_core_la_SOURCES = \ src/login/logind-core.c \ - src/login/logind-dbus.c \ src/login/logind-device.c \ src/login/logind-device.h \ src/login/logind-button.c \ @@ -3855,6 +3908,7 @@ libsystemd_logind_core_la_SOURCES = \ src/login/logind-user.h \ src/login/logind-inhibit.c \ src/login/logind-inhibit.h \ + src/login/logind-dbus.c \ src/login/logind-session-dbus.c \ src/login/logind-seat-dbus.c \ src/login/logind-user-dbus.c \ @@ -3964,6 +4018,7 @@ tests += \ 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 \ @@ -4099,7 +4154,6 @@ polkitpolicy_in_files += \ EXTRA_DIST += \ src/login/logind-gperf.gperf \ src/login/libsystemd-login.pc.in \ - src/login/libsystemd-login.sym \ src/login/71-seat.rules.in \ src/login/73-seat-late.rules.in \ units/systemd-logind.service.in \ @@ -4286,6 +4340,7 @@ substitutions = \ '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \ '|PACKAGE_NAME=$(PACKAGE_NAME)|' \ '|PACKAGE_URL=$(PACKAGE_URL)|' \ + '|RANDOM_SEED_DIR=$(localstatedir)/lib/systemd/|' \ '|RANDOM_SEED=$(localstatedir)/lib/systemd/random-seed|' \ '|prefix=$(prefix)|' \ '|exec_prefix=$(exec_prefix)|' \ @@ -4620,23 +4675,25 @@ install-tree: all # Let's run all tests of the test suite, but under valgrind. Let's # exclude the one perl script we have in there valgrind-tests: $(TESTS) - for f in $(TESTS) ; do \ - [ "$$f" == "$${f/.pl/}" ] && libtool --mode=execute valgrind --leak-check=full --error-exitcode=55 $(builddir)/$$f ; \ + $(AM_V_GEN)for f in $(filter-out %.pl, $^); do \ + echo "Running $$f"; \ + libtool --mode=execute valgrind -q --leak-check=full --max-stackframe=4194400 --error-exitcode=55 $(builddir)/$$f ; \ done -exported: $(lib_LTLIBRARIES) - $(AM_V_GEN)for f in $(lib_LTLIBRARIES) ; do \ - nm -g --defined-only $(builddir)/.libs/"$${f/.la/.so}" 2>&1 /dev/null | grep " T " | cut -d" " -f3 ; \ - done > $@ +exported-%: % + $(AM_V_GEN)nm -g --defined-only $(builddir)/.libs/$(<:.la=.so) 2>&1 /dev/null | grep " T " | cut -d" " -f3 > $@ + +exported: $(addprefix exported-, $(lib_LTLIBRARIES)) + $(AM_V_GEN)cat $^ > $@ check-api-docs: exported man - for symbol in `cat exported` ; do \ + $(AM_V_GEN)for symbol in `cat exported` ; do \ if test -f $(builddir)/man/$$symbol.html ; then \ echo " Symbol $$symbol() is documented." ; \ else \ echo "‣ Symbol $$symbol() lacks documentation." ; \ fi ; \ - done + done OBJECT_VARIABLES:=$(filter %_OBJECTS,$(.VARIABLES)) ALL_OBJECTS:=$(foreach v,$(OBJECT_VARIABLES),$($(v))) @@ -4652,3 +4709,99 @@ CLEANFILES += \ check-api-unused: defined undefined exported ( cat exported undefined ) | sort -u | diff -u - defined | grep ^+ | grep -v ^+++ | cut -c2- + +# Stupid test that everything purported to be exported really is + +define generate-sym-test + $(AM_V_at)$(MKDIR_P) $(dir $@) + $(AM_V_at)printf '#include \n' > $@ + $(AM_V_at)printf '#include "%s"\n' $(notdir $(filter %.h, $^)) >> $@ + $(AM_V_at)printf 'void* functions[] = {\n' >> $@ + $(AM_V_GEN)sed -r -n 's/^ +([a-zA-Z0-9_]+);/\1,/p' $< >> $@ + $(AM_V_at)printf '};\nint main(void) {\n' >> $@ + $(AM_V_at)printf 'unsigned i; for (i=0;i> $@ + $(AM_V_at)printf 'return 0; }\n' >> $@ +endef + +test-libsystemd-bus-sym.c: \ + src/libsystemd-bus/libsystemd-bus.sym \ + src/systemd/sd-bus.h \ + src/systemd/sd-utf8.h \ + Makefile + $(generate-sym-test) + +test-libsystemd-daemon-sym.c: \ + src/libsystemd-daemon/libsystemd-daemon.sym \ + src/systemd/sd-daemon.h \ + Makefile + $(generate-sym-test) + +test-libsystemd-id128-sym.c: \ + src/libsystemd-id128/libsystemd-id128.sym \ + src/systemd/sd-id128.h \ + Makefile + $(generate-sym-test) + +test-libsystemd-journal-sym.c: \ + src/journal/libsystemd-journal.sym \ + src/systemd/sd-journal.h \ + Makefile + $(generate-sym-test) + +test-libsystemd-login-sym.c: \ + src/login/libsystemd-login.sym \ + src/systemd/sd-login.h \ + Makefile + $(generate-sym-test) + +test-libudev-sym.c: \ + src/libudev/libudev.sym \ + src/udev/udev.h \ + Makefile + $(generate-sym-test) + +test_libsystemd_bus_sym_SOURCES = \ + test-libsystemd-bus-sym.c +test_libsystemd_bus_sym_LDADD = \ + libsystemd-bus.la + +test_libsystemd_daemon_sym_SOURCES = \ + test-libsystemd-daemon-sym.c +test_libsystemd_daemon_sym_LDADD = \ + libsystemd-daemon.la + +test_libsystemd_id128_sym_SOURCES = \ + test-libsystemd-id128-sym.c +test_libsystemd_id128_sym_LDADD = \ + libsystemd-id128.la + +test_libsystemd_journal_sym_SOURCES = \ + test-libsystemd-journal-sym.c +test_libsystemd_journal_sym_LDADD = \ + libsystemd-journal.la + +test_libsystemd_login_sym_SOURCES = \ + test-libsystemd-login-sym.c +test_libsystemd_login_sym_LDADD = \ + libsystemd-login.la + +test_libudev_sym_SOURCES = \ + test-libudev-sym.c +test_libudev_sym_LDADD = \ + libudev.la + +BUILT_SOURCES += \ + $(test_libsystemd_bus_sym_SOURCES) \ + $(test_libsystemd_daemon_sym_SOURCES) \ + $(test_libsystemd_id128_sym_SOURCES) \ + $(test_libsystemd_journal_sym_SOURCES) \ + $(test_libsystemd_login_sym_SOURCES) \ + $(test_libudev_sym_SOURCES) + +tests += \ + test-libsystemd-bus-sym \ + test-libsystemd-daemon-sym \ + test-libsystemd-id128-sym \ + test-libsystemd-journal-sym \ + test-libsystemd-login-sym \ + test-libudev-sym