From: Justin Erenkrantz Date: Fri, 17 Aug 2001 00:31:50 +0000 (+0000) Subject: Fix --enable-modules=all breakage with mod_auth_db and mod_auth_digest X-Git-Tag: 2.0.24~31 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=024d0191a578338d37e8543cce9c87891c761673;p=apache Fix --enable-modules=all breakage with mod_auth_db and mod_auth_digest by allowing a module to disable itself if its prerequisites are not met. This introduces the subtle nuance that if you request a module and you don't meet its prerequisites, it'll refuse to build itself. mod_ssl exits if its prerequisites are not met. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90261 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 94380a1dfb..44bc2510b5 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,9 @@ Changes with Apache 2.0.25-dev + *) Fix --enable-modules=all breakage with mod_auth_db and mod_auth_digest + by allowing a module to disable itself if its prerequisites are not + met. [Justin Erenkrantz] + *) Fix an assertion failure in mod_ssl when the keepalive timeout is reached. [Jeff Trawick] diff --git a/acinclude.m4 b/acinclude.m4 index d5c80009fd..21bf5d6cf8 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -217,6 +217,16 @@ AC_DEFUN(APACHE_MODULE,[ enable_$1=no fi fi + if test "$enable_$1" != "no"; then + dnl If we plan to enable it, allow the module to run some autoconf magic + dnl that may disable it because of missing dependencies. + ifelse([$6],,:,[AC_MSG_RESULT([checking dependencies]) + $6 + AC_MSG_CHECKING(whether to enable mod_$1) + if test "$enable_$1" = "no"; then + _apmod_extra_msg=" (disabled)" + fi]) + fi AC_MSG_RESULT($enable_$1$_apmod_extra_msg) if test "$enable_$1" != "no"; then case "$enable_$1" in @@ -231,7 +241,6 @@ AC_DEFUN(APACHE_MODULE,[ fi shared="";; esac - ifelse([$6],,:,[$6]) APACHE_MODPATH_ADD($1, $shared, $3) fi ])dnl diff --git a/modules/aaa/config.m4 b/modules/aaa/config.m4 index e425da32b3..a207aa6033 100644 --- a/modules/aaa/config.m4 +++ b/modules/aaa/config.m4 @@ -10,11 +10,15 @@ APACHE_MODULE(auth_anon, anonymous user access, , , most) APACHE_MODULE(auth_dbm, DBM-based access databases, , , most) APACHE_MODULE(auth_db, DB-based access databases, , , , [ - AC_CHECK_HEADERS(db.h) - AC_CHECK_LIB(db,main) + AC_CHECK_HEADERS(db.h,,enable_auth_db=no) + AC_CHECK_LIB(db,main,,enable_auth_db=no) ]) -APACHE_MODULE(auth_digest, RFC2617 Digest authentication, , , most) +APACHE_MODULE(auth_digest, RFC2617 Digest authentication, , , most, [ + AC_TRY_COMPILE([#include ], + [#if !APR_HAS_RANDOM #error You need APR random support to use auth_digest. #endif],, + enable_auth_digest=no) +]) APR_ADDTO(LT_LDFLAGS,-export-dynamic)