chiark / gitweb /
nss-myhostname: move local address listing logic into shared, so that we can make...
[elogind.git] / Makefile.am
index dea0633a95246c9c95658860018f5b0608fa18c1..50e31dbe2d1917b45d96777b83b96c7fa0dd456c 100644 (file)
@@ -35,16 +35,16 @@ SUBDIRS = . po
 # Keep the test-suite.log
 .PRECIOUS: $(TEST_SUITE_LOG) Makefile
 
-LIBUDEV_CURRENT=5
-LIBUDEV_REVISION=1
-LIBUDEV_AGE=4
+LIBUDEV_CURRENT=6
+LIBUDEV_REVISION=0
+LIBUDEV_AGE=5
 
 LIBGUDEV_CURRENT=2
 LIBGUDEV_REVISION=0
 LIBGUDEV_AGE=2
 
 LIBSYSTEMD_CURRENT=3
-LIBSYSTEMD_REVISION=0
+LIBSYSTEMD_REVISION=1
 LIBSYSTEMD_AGE=3
 
 # The following four libraries only exist for compatibility reasons,
@@ -90,6 +90,8 @@ userpresetdir=$(prefix)/lib/systemd/user-preset
 tmpfilesdir=$(prefix)/lib/tmpfiles.d
 sysusersdir=$(prefix)/lib/sysusers.d
 sysctldir=$(prefix)/lib/sysctl.d
+binfmtdir=$(prefix)/lib/binfmt.d
+modulesloaddir=$(prefix)/lib/modules-load.d
 networkdir=$(rootprefix)/lib/systemd/network
 pkgincludedir=$(includedir)/systemd
 systemgeneratordir=$(rootlibexecdir)/system-generators
@@ -104,7 +106,6 @@ udevrulesdir=$(udevlibexecdir)/rules.d
 udevhwdbdir=$(udevlibexecdir)/hwdb.d
 catalogdir=$(prefix)/lib/systemd/catalog
 kernelinstalldir = $(prefix)/lib/kernel/install.d
-ntpunitsdir=$(prefix)/lib/systemd/ntp-units.d
 
 # And these are the special ones for /
 rootprefix=@rootprefix@
@@ -185,6 +186,8 @@ AM_CPPFLAGS = \
        -DPOLKIT_AGENT_BINARY_PATH=\"$(bindir)/pkttyagent\" \
        -DQUOTACHECK=\"$(QUOTACHECK)\" \
        -DKEXEC=\"$(KEXEC)\" \
+       -DLIBDIR=\"$(libdir)\" \
+       -DROOTLIBDIR=\"$(rootlibdir)\" \
        -I $(top_srcdir)/src \
        -I $(top_builddir)/src/shared \
        -I $(top_srcdir)/src/shared \
@@ -333,7 +336,8 @@ rootbin_PROGRAMS = \
        systemd-notify \
        systemd-ask-password \
        systemd-tty-ask-password-agent \
-       systemd-machine-id-setup
+       systemd-machine-id-setup \
+       systemd-escape
 
 bin_PROGRAMS = \
        systemd-cgls \
@@ -342,7 +346,8 @@ bin_PROGRAMS = \
        systemd-detect-virt \
        systemd-delta \
        systemd-analyze \
-       systemd-run
+       systemd-run \
+       systemd-path
 
 dist_bin_SCRIPTS = \
        src/kernel-install/kernel-install
@@ -371,7 +376,8 @@ rootlibexec_PROGRAMS = \
 systemgenerator_PROGRAMS = \
        systemd-getty-generator \
        systemd-fstab-generator \
-       systemd-system-update-generator
+       systemd-system-update-generator \
+       systemd-debug-generator
 
 dist_bashcompletion_DATA = \
        shell-completion/bash/busctl \
@@ -721,6 +727,8 @@ libsystemd_shared_la_SOURCES = \
        src/shared/path-util.h \
        src/shared/time-util.c \
        src/shared/time-util.h \
+       src/shared/locale-util.c \
+       src/shared/locale-util.h \
        src/shared/hashmap.c \
        src/shared/hashmap.h \
        src/shared/siphash24.c \
@@ -813,8 +821,6 @@ libsystemd_shared_la_SOURCES = \
        src/shared/bus-label.c \
        src/shared/bus-label.h \
        src/shared/gpt.h \
-       src/shared/generator.h \
-       src/shared/generator.c \
        src/shared/clean-ipc.h \
        src/shared/clean-ipc.c \
        src/shared/login-shared.c \
@@ -826,7 +832,9 @@ libsystemd_shared_la_SOURCES = \
        src/shared/eventfd-util.c \
        src/shared/eventfd-util.h \
        src/shared/copy.c \
-       src/shared/copy.h
+       src/shared/copy.h \
+       src/shared/base-filesystem.c \
+       src/shared/base-filesystem.h
 
 nodist_libsystemd_shared_la_SOURCES = \
        src/shared/errno-from-name.h \
@@ -836,7 +844,8 @@ nodist_libsystemd_shared_la_SOURCES = \
 
 libsystemd_shared_la_CFLAGS = \
        $(AM_CFLAGS) \
-       $(SECCOMP_CFLAGS)
+       $(SECCOMP_CFLAGS) \
+       -pthread
 
 # ------------------------------------------------------------------------------
 noinst_LTLIBRARIES += \
@@ -868,7 +877,11 @@ libsystemd_label_la_SOURCES = \
        src/shared/fileio-label.c \
        src/shared/fileio-label.h \
        src/shared/dev-setup.c \
-       src/shared/dev-setup.h
+       src/shared/dev-setup.h \
+       src/shared/dropin.c \
+       src/shared/dropin.h \
+       src/shared/generator.h \
+       src/shared/generator.c
 
 libsystemd_label_la_CFLAGS = \
        $(AM_CFLAGS) \
@@ -1242,7 +1255,11 @@ tests += \
        test-xml \
        test-architecture \
        test-socket-util \
-       test-fdset
+       test-fdset \
+       test-conf-files \
+       test-capability \
+       test-async \
+       test-ratelimit
 
 EXTRA_DIST += \
        test/sched_idle_bad.service \
@@ -1346,12 +1363,31 @@ test_utf8_SOURCES = \
 test_utf8_LDADD = \
        libsystemd-shared.la
 
+test_capability_SOURCES = \
+       src/test/test-capability.c
+
+test_capability_LDADD = \
+       libsystemd-shared.la \
+       libsystemd-capability.la
+
+test_async_SOURCES = \
+       src/test/test-async.c
+
+test_async_LDADD = \
+       libsystemd-shared.la
+
 test_fdset_SOURCES = \
        src/test/test-fdset.c
 
 test_fdset_LDADD = \
        libsystemd-core.la
 
+test_ratelimit_SOURCES = \
+       src/test/test-ratelimit.c
+
+test_ratelimit_LDADD = \
+       libsystemd-shared.la
+
 test_util_SOURCES = \
        src/test/test-util.c
 
@@ -1599,12 +1635,18 @@ test_sched_prio_LDADD = \
        libsystemd-core.la \
        $(RT_LIBS)
 
+test_conf_files_SOURCES = \
+       src/test/test-conf-files.c
+
+test_conf_files_LDADD = \
+       libsystemd-shared.la
+
 # ------------------------------------------------------------------------------
 ## .PHONY so it always rebuilds it
 .PHONY: coverage lcov-run lcov-report coverage-sync
 
 # run lcov from scratch, always
-coverage:
+coverage: all
        $(MAKE) lcov-run
        $(MAKE) lcov-report
 
@@ -1813,17 +1855,50 @@ nodist_systemunit_DATA += \
 SYSINIT_TARGET_WANTS += \
        systemd-sysusers.service
 
-nodist_sysusers_DATA = \
+dist_sysusers_DATA = \
        sysusers.d/systemd.conf
 
+nodist_sysusers_DATA = \
+       sysusers.d/basic.conf
+
 EXTRA_DIST += \
        units/systemd-sysusers.service.in \
-       sysusers.d/systemd.conf.in
+       sysusers.d/basic.conf.in
+
+CLEANFILES += \
+       sysusers.d/basic.conf
 
 INSTALL_DIRS += \
        $(sysusersdir)
 endif
 
+# ------------------------------------------------------------------------------
+if ENABLE_FIRSTBOOT
+systemd_firstboot_SOURCES = \
+       src/firstboot/firstboot.c
+
+systemd_firstboot_LDADD = \
+       libsystemd-units.la \
+       libsystemd-label.la \
+       libsystemd-capability.la \
+       libsystemd-internal.la \
+       libsystemd-shared.la \
+       -lcrypt
+
+rootbin_PROGRAMS += \
+       systemd-firstboot
+
+nodist_systemunit_DATA += \
+       units/systemd-firstboot.service
+
+EXTRA_DIST += \
+       units/systemd-firstboot.service.in
+
+SYSINIT_TARGET_WANTS += \
+       systemd-firstboot.service
+
+endif
+
 # ------------------------------------------------------------------------------
 systemd_machine_id_setup_SOURCES = \
        src/machine-id-setup/machine-id-setup-main.c \
@@ -1891,6 +1966,14 @@ systemd_getty_generator_LDADD = \
        libsystemd-label.la \
        libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
+systemd_debug_generator_SOURCES = \
+       src/debug-generator/debug-generator.c
+
+systemd_debug_generator_LDADD = \
+       libsystemd-label.la \
+       libsystemd-shared.la
+
 # ------------------------------------------------------------------------------
 systemd_fstab_generator_SOURCES = \
        src/fstab-generator/fstab-generator.c \
@@ -2025,6 +2108,13 @@ systemd_cgroups_agent_LDADD = \
        libsystemd-shared.la
 
 # ------------------------------------------------------------------------------
+systemd_escape_SOURCES = \
+       src/escape/escape.c
+
+systemd_escape_LDADD = \
+       libsystemd-shared.la
+
+# -----------------------------------------------------------------------------
 systemctl_SOURCES = \
        src/systemctl/systemctl.c
 
@@ -2045,6 +2135,14 @@ systemd_notify_LDADD = \
        libsystemd-internal.la \
        libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
+systemd_path_SOURCES = \
+       src/path/path.c
+
+systemd_path_LDADD = \
+       libsystemd-internal.la \
+       libsystemd-shared.la
+
 # ------------------------------------------------------------------------------
 systemd_ask_password_SOURCES = \
        src/ask-password/ask-password.c
@@ -2170,6 +2268,7 @@ libsystemd_internal_la_SOURCES = \
        src/systemd/sd-login.h \
        src/systemd/sd-id128.h \
        src/systemd/sd-daemon.h \
+       src/systemd/sd-path.h \
        src/libsystemd/sd-bus/sd-bus.c \
        src/libsystemd/sd-bus/bus-control.c \
        src/libsystemd/sd-bus/bus-control.h \
@@ -2221,9 +2320,12 @@ libsystemd_internal_la_SOURCES = \
        src/libsystemd/sd-rtnl/rtnl-types.c \
        src/libsystemd/sd-rtnl/rtnl-util.h \
        src/libsystemd/sd-rtnl/rtnl-util.c \
+       src/libsystemd/sd-rtnl/local-addresses.h \
+       src/libsystemd/sd-rtnl/local-addresses.c \
        src/libsystemd/sd-id128/sd-id128.c \
        src/libsystemd/sd-daemon/sd-daemon.c \
-       src/libsystemd/sd-login/sd-login.c
+       src/libsystemd/sd-login/sd-login.c \
+       src/libsystemd/sd-path/sd-path.c
 
 nodist_libsystemd_internal_la_SOURCES = \
        src/libsystemd/libsystemd.sym \
@@ -2326,7 +2428,8 @@ pkginclude_HEADERS += \
        src/systemd/sd-utf8.h \
        src/systemd/sd-event.h \
        src/systemd/sd-rtnl.h \
-       src/systemd/sd-resolve.h
+       src/systemd/sd-resolve.h \
+       src/systemd/sd-path.h
 endif
 
 lib_LTLIBRARIES += \
@@ -2595,7 +2698,18 @@ libsystemd_network_la_SOURCES = \
        src/libsystemd-network/ipv4ll-packet.c \
        src/libsystemd-network/ipv4ll-internal.h \
        src/libsystemd-network/network-internal.c \
-       src/libsystemd-network/network-internal.h
+       src/libsystemd-network/network-internal.h \
+       src/systemd/sd-icmp6-nd.h \
+       src/systemd/sd-dhcp6-client.h \
+       src/systemd/sd-dhcp6-lease.h \
+       src/libsystemd-network/sd-icmp6-nd.c \
+       src/libsystemd-network/sd-dhcp6-client.c \
+       src/libsystemd-network/dhcp6-internal.h \
+       src/libsystemd-network/dhcp6-protocol.h \
+       src/libsystemd-network/dhcp6-network.c \
+       src/libsystemd-network/dhcp6-option.c \
+       src/libsystemd-network/dhcp6-lease-internal.h \
+       src/libsystemd-network/sd-dhcp6-lease.c
 
 libsystemd_network_la_LIBADD = \
        libudev-internal.la \
@@ -2645,11 +2759,34 @@ test_ipv4ll_LDADD = \
        libsystemd-internal.la \
        libsystemd-shared.la
 
+test_icmp6_rs_SOURCES = \
+       src/systemd/sd-dhcp6-client.h \
+       src/systemd/sd-icmp6-nd.h \
+       src/libsystemd-network/dhcp6-internal.h \
+       src/libsystemd-network/test-icmp6-rs.c
+
+test_icmp6_rs_LDADD = \
+       libsystemd-network.la \
+       libsystemd-internal.la \
+       libsystemd-shared.la
+
+test_dhcp6_client_SOURCES = \
+       src/systemd/sd-dhcp6-client.h \
+       src/libsystemd-network/dhcp6-internal.h \
+       src/libsystemd-network/test-dhcp6-client.c
+
+test_dhcp6_client_LDADD = \
+       libsystemd-network.la \
+       libsystemd-internal.la \
+       libsystemd-shared.la
+
 tests += \
        test-dhcp-option \
        test-dhcp-client \
        test-dhcp-server \
-       test-ipv4ll
+       test-ipv4ll \
+       test-icmp6-rs \
+       test-dhcp6-client
 
 # ------------------------------------------------------------------------------
 if ENABLE_GTK_DOC
@@ -3111,6 +3248,7 @@ CLEANFILES += \
        src/gudev/gudev-1.0.pc
 
 libgudev_1_0_la_SOURCES = \
+       src/gudev/libgudev-1.0.sym \
        src/gudev/gudevenums.h \
        src/gudev/gudevenumtypes.h \
        src/gudev/gudevenumtypes.h\
@@ -3154,8 +3292,9 @@ libgudev_1_0_la_LIBADD = \
 libgudev_1_0_la_LDFLAGS = \
        $(AM_LDFLAGS) \
        -version-info $(LIBGUDEV_CURRENT):$(LIBGUDEV_REVISION):$(LIBGUDEV_AGE) \
-       -export-dynamic -no-undefined \
-       -export-symbols-regex '^g_udev_.*'
+       -export-dynamic \
+       -no-undefined \
+       -Wl,--version-script=$(top_srcdir)/src/gudev/libgudev-1.0.sym
 
 src/gudev/gudevmarshal.h: src/gudev/gudevmarshal.list
        $(AM_V_at)$(MKDIR_P) $(dir $@)
@@ -3429,6 +3568,20 @@ test_catalog_CPPFLAGS = \
 test_catalog_LDADD = \
        libsystemd-journal-core.la
 
+test_compress_SOURCES = \
+       src/journal/test-compress.c
+
+test_compress_LDADD = \
+       libsystemd-journal-internal.la \
+       libsystemd-shared.la
+
+test_compress_benchmark_SOURCES = \
+       src/journal/test-compress-benchmark.c
+
+test_compress_benchmark_LDADD = \
+       libsystemd-journal-internal.la \
+       libsystemd-shared.la
+
 libsystemd_journal_core_la_SOURCES = \
        src/journal/journald-kmsg.c \
        src/journal/journald-kmsg.h \
@@ -3511,6 +3664,10 @@ tests += \
        test-mmap-cache \
        test-catalog
 
+tests += \
+       test-compress \
+       test-compress-benchmark
+
 pkginclude_HEADERS += \
        src/systemd/sd-journal.h \
        src/systemd/sd-messages.h \
@@ -3542,10 +3699,10 @@ libsystemd_journal_internal_la_CFLAGS = \
 
 libsystemd_journal_internal_la_LIBADD =
 
-if HAVE_XZ
 libsystemd_journal_internal_la_SOURCES += \
        src/journal/compress.c
 
+if HAVE_XZ
 libsystemd_journal_internal_la_CFLAGS += \
        $(XZ_CFLAGS)
 
@@ -3553,6 +3710,11 @@ libsystemd_journal_internal_la_LIBADD += \
        $(XZ_LIBS)
 endif
 
+if HAVE_LZ4
+libsystemd_journal_internal_la_LIBADD += \
+       -llz4
+endif
+
 if HAVE_GCRYPT
 libsystemd_journal_internal_la_SOURCES += \
        src/journal/journal-authenticate.c \
@@ -3678,7 +3840,9 @@ systemd_socket_proxyd_LDADD = \
 # ------------------------------------------------------------------------------
 if ENABLE_COREDUMP
 systemd_coredump_SOURCES = \
-       src/journal/coredump.c
+       src/journal/coredump.c \
+       src/journal/coredump-vacuum.c \
+       src/journal/coredump-vacuum.h
 
 systemd_coredump_LDADD = \
        libsystemd-journal-internal.la \
@@ -3686,25 +3850,57 @@ systemd_coredump_LDADD = \
        libsystemd-internal.la \
        libsystemd-shared.la
 
+if HAVE_ELFUTILS
+systemd_coredump_SOURCES += \
+       src/journal/stacktrace.c \
+       src/journal/stacktrace.h
+
+systemd_coredump_LDADD += \
+       $(ELFUTILS_LIBS)
+endif
+
 rootlibexec_PROGRAMS += \
        systemd-coredump
 
-systemd_coredumpctl_SOURCES = \
+dist_pkgsysconf_DATA += \
+       src/journal/coredump.conf
+
+if HAVE_ACL
+systemd_coredump_LDADD += \
+       libsystemd-acl.la
+endif
+
+coredumpctl_SOURCES = \
        src/journal/coredumpctl.c
 
-systemd_coredumpctl_LDADD = \
+coredumpctl_LDADD = \
        libsystemd-journal-internal.la \
        libsystemd-internal.la \
        libsystemd-shared.la
 
 bin_PROGRAMS += \
-       systemd-coredumpctl
+       coredumpctl
+
+manual_tests += \
+       test-coredump-vacuum
+
+test_coredump_vacuum_SOURCES = \
+       src/journal/test-coredump-vacuum.c  \
+       src/journal/coredump-vacuum.c \
+       src/journal/coredump-vacuum.h
+
+test_coredump_vacuum_LDADD = \
+       libsystemd-internal.la \
+       libsystemd-shared.la
 
 dist_bashcompletion_DATA += \
-       shell-completion/bash/systemd-coredumpctl
+       shell-completion/bash/coredumpctl
 
 dist_zshcompletion_DATA += \
-       shell-completion/zsh/_systemd-coredumpctl
+       shell-completion/zsh/_coredumpctl
+
+GENERAL_ALIASES += \
+       $(bindir)/coredumpctl $(bindir)/systemd-coredumpctl
 
 sysctl_DATA = \
        sysctl.d/50-coredump.conf
@@ -4125,10 +4321,6 @@ dist_systemunit_DATA += \
 polkitpolicy_files += \
        src/timedate/org.freedesktop.timedate1.policy
 
-INSTALL_DIRS += \
-       $(prefix)/lib/systemd/ntp-units.d \
-       $(sysconfdir)/systemd/ntp-units.d
-
 SYSTEM_UNIT_ALIASES += \
        systemd-timedated.service dbus-org.freedesktop.timedate1.service
 
@@ -4188,6 +4380,9 @@ rootlibexec_PROGRAMS += \
 nodist_systemunit_DATA += \
        units/systemd-timesyncd.service
 
+GENERAL_ALIASES += \
+       $(systemunitdir)/systemd-timesyncd.service $(pkgsysconfdir)/system/multi-user.target.wants/systemd-timesyncd.service
+
 EXTRA_DIST += \
        units/systemd-timesyncd.service.in
 
@@ -4199,18 +4394,13 @@ EXTRA_DIST += \
 
 CLEANFILES += \
        src/timesync/timesyncd.conf
-
-dist_ntpunits_DATA = \
-       src/timesync/90-systemd.list
-
 endif
 
 # ------------------------------------------------------------------------------
 if HAVE_MYHOSTNAME
 libnss_myhostname_la_SOURCES = \
-       src/nss-myhostname/nss-myhostname.c \
-       src/nss-myhostname/ifconf.h \
-       src/nss-myhostname/netlink.c
+       src/nss-myhostname/nss-myhostname.sym \
+       src/nss-myhostname/nss-myhostname.c
 
 libnss_myhostname_la_LDFLAGS = \
        $(AM_LDFLAGS) \
@@ -4218,7 +4408,8 @@ libnss_myhostname_la_LDFLAGS = \
        -export-dynamic \
        -avoid-version \
        -shared \
-       -shrext .so.2
+       -shrext .so.2 \
+       -Wl,--version-script=$(top_srcdir)/src/nss-myhostname/nss-myhostname.sym
 
 libnss_myhostname_la_LIBADD = \
        libsystemd-shared.la \
@@ -4381,10 +4572,16 @@ libsystemd_networkd_core_la_SOURCES = \
        src/network/networkd-tunnel.c \
        src/network/networkd-veth.c \
        src/network/networkd-vxlan.c \
+       src/network/networkd-vlan.c \
+       src/network/networkd-macvlan.c \
+       src/network/networkd-dummy.c \
+       src/network/networkd-tuntap.c \
+       src/network/networkd-bond.c \
        src/network/networkd-network.c \
        src/network/networkd-address.c \
        src/network/networkd-route.c \
-       src/network/networkd-manager.c
+       src/network/networkd-manager.c \
+       src/network/networkd-address-pool.c
 
 nodist_libsystemd_networkd_core_la_SOURCES = \
        src/network/networkd-network-gperf.c \
@@ -4575,7 +4772,8 @@ tests += \
 
 if HAVE_PAM
 pam_systemd_la_SOURCES = \
-       src/login/pam-module.c
+       src/login/pam_systemd.sym \
+       src/login/pam_systemd.c
 
 pam_systemd_la_CFLAGS = \
        $(AM_CFLAGS) \
@@ -4588,7 +4786,7 @@ pam_systemd_la_LDFLAGS = \
        -export-dynamic \
        -avoid-version \
        -shared \
-       -export-symbols-regex '^pam_sm_.*'
+       -Wl,--version-script=$(top_srcdir)/src/login/pam_systemd.sym
 
 pam_systemd_la_LIBADD = \
        libsystemd-capability.la \
@@ -4703,10 +4901,12 @@ _journal_la_LIBADD = \
 
 id128_la_SOURCES = \
        src/python-systemd/id128.c \
-       src/python-systemd/id128-constants.h \
        src/python-systemd/pyutil.c \
        src/python-systemd/pyutil.h
 
+nodist_id128_la_SOURCES = \
+       src/python-systemd/id128-constants.h
+
 id128_la_CFLAGS = \
        $(AM_CFLAGS) \
        -fvisibility=default \
@@ -5001,7 +5201,11 @@ substitutions = \
        '|DNS_SERVERS=$(DNS_SERVERS)|' \
        '|systemuidmax=$(SYSTEM_UID_MAX)|' \
        '|systemgidmax=$(SYSTEM_GID_MAX)|' \
-       '|TTY_GID=$(TTY_GID)|'
+       '|TTY_GID=$(TTY_GID)|' \
+       '|systemsleepdir=$(systemsleepdir)|' \
+       '|systemshutdowndir=$(systemshutdowndir)|' \
+       '|binfmtdir=$(binfmtdir)|' \
+       '|modulesloaddir=$(modulesloaddir)|'
 
 SED_PROCESS = \
        $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
@@ -5053,7 +5257,7 @@ units/user/%: units/%.m4
        $(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_USER=1 < $< > $@
 
 if ENABLE_POLKIT
-nodist_polkitpolicy_DATA = \
+dist_polkitpolicy_DATA = \
        $(polkitpolicy_files) \
        $(polkitpolicy_in_in_files:.policy.in.in=.policy)
 endif
@@ -5286,11 +5490,34 @@ DISTCHECK_CONFIGURE_FLAGS += \
        --with-sysvrcnd-path=
 endif
 
+if HAVE_PYTHON
+DISTCHECK_CONFIGURE_FLAGS += \
+       --with-python
+endif
+
 if ENABLE_GTK_DOC
 DISTCHECK_CONFIGURE_FLAGS += \
        --enable-gtk-doc
 endif
 
+#
+# Require python when making dist
+#
+.PHONY: dist-check-python
+dist-check-python:
+if !HAVE_PYTHON
+       @echo "*** python and python-lxml module must be installed and enabled in order to make dist"
+       @false
+endif
+
+dist-check-compat-libs:
+if !ENABLE_COMPAT_LIBS
+       @echo "*** compat-libs must be enabled in order to make dist"
+       @false
+endif
+
+dist: dist-check-python dist-check-compat-libs
+
 # check "broken" platforms limited toolchains for link breakage before we release
 .PHONY: linkcheck
 linkcheck:
@@ -5352,7 +5579,7 @@ valgrind-tests: $(TESTS)
        done
 
 exported-%: %
-       $(AM_V_GEN)nm -g --defined-only $(builddir)/.libs/$(<:.la=.so) 2>&1 /dev/null | grep " T " | cut -d" " -f3 > $@
+       $(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 $^ > $@
@@ -5372,7 +5599,7 @@ ALL_OBJECTS:=$(foreach v,$(OBJECT_VARIABLES),$($(v)))
 
 undefined defined: $(ALL_OBJECTS)
        $(AM_V_GEN)for f in $(ALL_OBJECTS) ; do \
-               nm -g --$@-only `echo $(builddir)/"$$f" | sed -e 's,\([^/]*\).lo$$,.libs/\1.o,'` ; \
+               $(NM) -g --$@-only `echo $(builddir)/"$$f" | sed -e 's,\([^/]*\).lo$$,.libs/\1.o,'` ; \
        done | cut -c 20- | cut -d @ -f 1 | sort -u > $@
 
 CLEANFILES += \