]> granicus.if.org Git - pdns/commitdiff
dnsdist: patch the systemd.m4
authorPieter Lexis <pieter.lexis@powerdns.com>
Tue, 12 Apr 2016 13:41:47 +0000 (15:41 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Tue, 12 Apr 2016 20:27:21 +0000 (22:27 +0200)
This patch is twofold:
1 - It detects the correct library for sd-daemon (either
libsystemd-daemon (systemd pre-209) or libsystemd (systemd post-209)
2 - Detection of the library and files is only run once, even when
systemd support detection is automatic (when using AX_AVAILABLE_SYSTEMD)

pdns/dnsdistdist/m4/systemd.m4

index 0256f473c9412e80c440d94ec73baac84d4cbfec..68d1cda00def7640b2b02ed1e7c8d6f95b7f3caa 100644 (file)
@@ -41,14 +41,12 @@ AC_DEFUN([AX_ALLOW_SYSTEMD_OPTS], [
 ])
 
 AC_DEFUN([AX_CHECK_SYSTEMD_LIBS], [
-       AC_CHECK_HEADER([systemd/sd-daemon.h], [
-           AC_CHECK_LIB([systemd], [sd_listen_fds], [libsystemd="y"])
-       ])
+       AC_REQUIRE([AX_CHECK_SYSTEMD_DETECT_AND_ENABLE])
        AS_IF([test "x$libsystemd" = x], [
            AC_MSG_ERROR([Unable to find a suitable libsystemd library])
        ])
 
-       PKG_CHECK_MODULES([SYSTEMD], [libsystemd])
+       PKG_CHECK_MODULES([SYSTEMD], [$libsystemd_daemon])
        dnl pkg-config older than 0.24 does not set these for
        dnl PKG_CHECK_MODULES() worth also noting is that as of version 208
        dnl of systemd pkg-config --cflags currently yields no extra flags yet.
@@ -96,9 +94,15 @@ AC_DEFUN([AX_CHECK_SYSTEMD], [
        ],[systemd=n])
 ])
 
-AC_DEFUN([AX_CHECK_SYSTEMD_ENABLE_AVAILABLE], [
+AC_DEFUN([AX_CHECK_SYSTEMD_DETECT_AND_ENABLE], [
        AC_CHECK_HEADER([systemd/sd-daemon.h], [
-           AC_CHECK_LIB([systemd], [sd_listen_fds], [systemd="y"])
+               for libname in systemd-daemon systemd; do
+                       AC_CHECK_LIB([$libname], [sd_listen_fds], [
+                               libsystemd_daemon="lib$libname"
+                               systemd=y
+                               libsystemd=y
+                       ])
+               done
        ])
 ])
 
@@ -121,6 +125,6 @@ dnl to have systemd build libraries it will be enabled. You can always force
 dnl disable with --disable-systemd
 AC_DEFUN([AX_AVAILABLE_SYSTEMD], [
        AX_ALLOW_SYSTEMD_OPTS()
-       AX_CHECK_SYSTEMD_ENABLE_AVAILABLE()
+       AX_CHECK_SYSTEMD_DETECT_AND_ENABLE()
        AX_CHECK_SYSTEMD()
 ])