]> git.ipfire.org Git - zone-sync.git/commitdiff
configure: Link against libdns and libisc
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 11 May 2026 08:30:53 +0000 (08:30 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 11 May 2026 08:30:53 +0000 (08:30 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Makefile.am
configure.ac

index 66406014dfc29c58e446da12caf302fd12668173..f939990fd898409c4d6ef15650cd0b37493c622c 100644 (file)
@@ -61,9 +61,11 @@ zone_sync_CPPFLAGS = \
        $(AM_CPPFLAGS)
 
 zone_sync_CFLAGS = \
-       $(AM_CFLAGS)
+       $(AM_CFLAGS) \
+       $(BIND_CFLAGS)
 
 zone_sync_LDFLAGS = \
        $(AM_LDFLAGS)
 
-zone_sync_LDADD =
+zone_sync_LDADD = \
+       $(BIND_LIBS)
index 1e55ca62ede1ddd5d5cc1b1da6ff185d4826c799..b982b1d3e21f983f8e66b74776894e199bb52a8a 100644 (file)
@@ -129,6 +129,34 @@ AC_CHECK_HEADERS([ \
 
 AC_CHECK_FUNCS([])
 
+# --- BIND 9 libdns / libisc ---------------------------------------------
+
+# uv is BIND 9.20's event loop backend; OpenSSL for crypto/TLS;
+# pthread for the netmgr; dl for dlopen used by plugins/dst.
+PKG_CHECK_MODULES([LIBUV], [libuv])
+PKG_CHECK_MODULES([OPENSSL], [openssl])
+AX_PTHREAD([], [AC_MSG_ERROR([pthread support is required])])
+
+# libisc and libdns themselves — no .pc files, so link-test directly.
+# Order matters: libdns depends on libisc.
+BIND_LIBS="-ldns -lisc $LIBUV_LIBS $OPENSSL_LIBS $PTHREAD_LIBS -ldl"
+
+saved_LIBS="$LIBS"
+LIBS="$BIND_LIBS $LIBS"
+AC_MSG_CHECKING([whether libdns/libisc link])
+AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+               [[#include <isc/mem.h>
+                 #include <dns/xfrin.h>]],
+               [[isc_mem_t *m = NULL; (void)dns_xfrin_shutdown; (void)m;]])],
+       [AC_MSG_RESULT([yes])],
+       [AC_MSG_RESULT([no])
+               AC_MSG_ERROR([cannot link against libdns/libisc])])
+LIBS="$saved_LIBS"
+
+AC_SUBST([BIND_LIBS])
+AC_SUBST([BIND_CFLAGS], ["$LIBUV_CFLAGS $OPENSSL_CFLAGS $PTHREAD_CFLAGS"])
+
 AC_CONFIG_FILES([
        Makefile
 ])