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 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 #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