PR merged
https://gitlab.nic.cz/knot/knot-dns/-/merge_requests/1808.patch
From bd5df719f331c5aa78fbd1ca1dadfe6dd727b94d Mon Sep 17 00:00:00 2001
From: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
Date: Fri, 19 Sep 2025 10:36:55 +0200
Subject: [PATCH] Make redis fully optional

Add options :
*client (only) for a knot package
*module (only) for a redis-knot package
--- a/configure.ac
+++ b/configure.ac
@@ -261,21 +261,23 @@ AS_IF([test "$enable_reuseport" = yes],[
 
 # Redis zone backend support
 AC_ARG_ENABLE([redis],
-   AS_HELP_STRING([--enable-redis=auto|yes|no], [enable Redis support [default=auto]]),
+   AS_HELP_STRING([--enable-redis=auto|yes|client|module|no], [enable Redis support [default=auto]]),
    [], [enable_redis=auto])
 
 PKG_CHECK_MODULES([hiredis], [hiredis], [have_hiredis=yes], [have_hiredis=no])
 
 AS_CASE([$enable_redis],
-   [auto], [AS_IF([test "$have_hiredis" = "yes"], [enable_redis=yes], [enable_redis=no])],
-   [yes],  [AS_IF([test "$have_hiredis" = "yes"], [enable_redis=yes], [AC_MSG_ERROR([libhiredis not available])])],
+   [auto],   [AS_IF([test "$have_hiredis" = "yes"], [enable_redis=yes], [enable_redis=no])],
+   [yes],    [AS_IF([test "$have_hiredis" = "yes"], [enable_redis=yes], [AC_MSG_ERROR([libhiredis not available])])],
+   [client], [AS_IF([test "$have_hiredis" = "yes"], [enable_redis=client], [AC_MSG_ERROR([libhiredis not available])])],
+   [module], [AS_IF([test "$enable_shared" = "yes"], [enable_redis=module], [AC_MSG_ERROR([link mode has to be 'shared'])])],
    [no], [],
    [*], [AC_MSG_ERROR([Invalid value of --enable-redis.])]
 )
 AM_CONDITIONAL([ENABLE_REDIS], [test "$enable_redis" != "no"])
-AM_CONDITIONAL([ENABLE_REDIS_MODULE], [test "$enable_redis" != "no" && test "$enable_shared" = "yes"])
+AM_CONDITIONAL([ENABLE_REDIS_MODULE], [test "$enable_redis" != "no" && test "$enable_redis" != "client" && test "$enable_shared" = "yes"])
 
-AS_IF([test "$enable_redis" = yes],[
+AS_IF([test "$enable_redis" = yes -o "$enable_redis" = client],[
    AC_DEFINE([ENABLE_REDIS], [1], [Enable Redis support.])
    AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <hiredis/hiredis.h>
                                      #if (HIREDIS_MAJOR < 1) || (HIREDIS_MAJOR == 1 && HIREDIS_MINOR < 1)
@@ -283,7 +285,7 @@ AS_IF([test "$enable_redis" = yes],[
                                      #endif]])],
                   [AC_DEFINE([ENABLE_REDIS_TLS], [1], [Enable Redis TLS support.])],
                   [enable_redis="yes (no TLS)"])
-   AS_IF([test "$enable_shared" = yes],[
+   AS_IF([test "$enable_redis" = yes && test "$enable_shared" = yes],[
       enable_redis="${enable_redis} module"
    ])
 ])
@@ -515,7 +517,7 @@ PKG_CHECK_MODULES([lmdb], [lmdb >= 0.9.15], [], [
   CPPFLAGS="$save_CPPFLAGS"
   LIBS="$save_LIBS"
 
-  AS_IF([test "$have_lmdb" = "no"], [
+  AS_IF([test "$have_lmdb" = "no" && test "$enable_redis" != "module"], [
     AC_MSG_ERROR([lmdb library not found])
   ])
 ])
-- 
GitLab

